********************
Rabbit XBee GPIO
********************

.. index:: devices; rabbit; Rabbit XBee GPIO

Overview
====================

XBee Rabbit General-Purpose I/O (GPIO) Client creates channels based upon the results of a
GPIO discovery query to the BL4S100.

Configuration
====================

A typical Rabbit XBee GPIO configuration block looks like this::

    - name: rabbit_gpio0
      driver: devices.rabbit.xbee_gpio_client:XBeeGPIOClient
      settings:
          xbee_device_manager: <instance name>
          extended_address: <XBee module address>
          poll_rate: 2.0

Settings
--------------------

xbee_device_manager (required)
    Name of the XBee_device_manager device declared in the devices
    section. This setting is necessary because this device will configure all
    the XBee devices.

extended_address (required)
    MAC address of the BL4S100's XBee module.

    Notice that the value must have an exclamation sign at end and
    is between quotes.

poll_rate (optional)
    The number of seconds between each GPIO polling. If the GPIO server is pushing data,
    this should either be set to 0, or not set at all.

Channels
====================

The driver creates a channel for each signal based upon the results of a
GPIO discovery query to the target device.


