:orphan:

GPIO Output
===========

**From:** Generic

**Class:** :py:class:`herosdevices.core.gpio.GPIOOutput`


**Driver Quality Index:** beta


A single GPIO configured as output.

The access to the GPIO is based on libgpiod and thus uses the standard linux kernel interface
(i.e. /dev/gpiochip* devices).

.. tab-set:: 


   .. tab-item:: Arguments
   
   
      Bold arguments are mandatory. For more information on the listed arguments refer to the class             documentation: :py:class:`herosdevices.core.gpio.GPIOOutput` If parameters appear in this             list but not in the class definition, please recursively check the linked base classes for the             definition of the parameter.
      
      
      .. list-table:: 
         :widths: 50 50 50 100
         :header-rows: 1
      
         * - Argument
           - Type
           - Default Value
           - Description
         * - **gpiochip**
           - **<class 'int'>**
           - 
           - number of the gpiochip as exposed by the linux kernel.
         * - **pin**
           - **<class 'int'>**
           - 
           - number of the GPIO pin
         * - drive
           - <class 'str'>
           - PUSH_PULL
           - how to drive the GPIO pin. Possible values: PUSH_PULL (default), OPEN_SOURCE, OPEN_DRAIN
      

   .. tab-item:: Example JSON for BOSS
   
      The following JSON strings can be used to start a HERO device representation of             :py:class:`GPIOOutput <herosdevices.core.gpio.GPIOOutput>` using             `BOSS <https://boss-eb4966.gitlab.io/>`_.
      
      .. code-block:: json
      
         {
             "_id": "gpio-out-test",
             "classname": "herosdevices.core.gpio.GPIOOutput",
             "arguments": {
                 "gpiochip": 0,
                 "pin": 25
             },
             "datasource": {
                 "async": false,
                 "interval": 5
             }
         }
      
      :sup:`from examples/generic/gpio-output.json` 
      
      
      .. code-block:: json
      
         {
             "_id": "my_GPIOOutput",
             "classname": "herosdevices.core.gpio.GPIOOutput",
             "arguments": {
                 "gpiochip": "<class 'int'>",
                 "pin": "<class 'int'>",
                 "drive": "PUSH_PULL"
             }
         }
      
      :sup:`generated from signature`
   .. tab-item:: Inheritance
   
   
      .. inheritance-diagram:: herosdevices.core.gpio.GPIOOutput
      
