.. _xbee-serial-terminal:

********************
XBee Serial Terminal
********************

.. index:: devices; xbee; XBee Serial Terminal

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

XBee Serial Terminal is meant to be an example driver that shows how to
use the 'xbee_serial' driver.  It requires a connection from the XBee serial
device to a different serial port, say COM1/COM2 on your PC, using a
crossover cable.

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

A typical XBee Serial Terminal configuration block looks like this::

    - name: serial_loopback
      driver: devices.xbee.xbee_devices.xbee_serial_terminal:XBeeSerialTerminal
      settings:
          xbee_device_manager: <instance name>
          extended_address: <XBee module address>
          baudrate: 9600
          parity: none
          stopbits: 1
          hardwareflowcontrol: False
          enable_low_battery: Off

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

xbee_device_manager (required)
    The name of an XBeeDeviceManager instance to manage this device.

extended_address (required)
    The extended address of the XBee Sensor device you would like to
    monitor.

baudrate (optional, default: 9600)
    Acceptable integer baud rates are from 8 through 921600. If not set,
    the default value of 9600 will be used.

parity (optional, default: none)
    Acceptable parity values are the follow
    strings:

    * none
    * even
    * odd
    * mark

stopbits (optional, default: 1)
    Acceptable stopbit values are:

    * 1
    * 2

    .. Note::
        Some XBee/ZigBee Serial firmware does not support setting the stop bit 
        value. In these cases, the stop bit will always be 1.

hardwareflowcontrol (optional, default: False)
    Acceptable hardware flow control values are:

    * **True:** Will set RTS/CTS flow control.
    * **False:** Will turn OFF RTS/CTS flow control.
    
enable_low_battery (optional, default: Off)
    Force an adapter to enable support for battery-monitor pin. It should be 
    only enabled if the adapter is using internal batteries. Acceptable
    enable_low_battery values are:

    * **On:** Will turn ON low battery support.
    * **Off:** Will turn OFF low battery support.

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

read (Get, type: string)
    This channel shows any data received from the device.

write (Get/Set, type: string)
    The serial plot that will be sent to the device.

low_battery (Get, type: bool)
    Low battery indication condition as reported by the adapter.
    This will be only added if adapter is using internal batteries. 
    See enable_low_battery setting.
