155 lines
6.1 KiB
C
Executable File
155 lines
6.1 KiB
C
Executable File
/**
|
|
* @ingroup XBee
|
|
* @defgroup xbee_defines xbee defines
|
|
* xbee defines
|
|
* @brief DI XBee driver modules
|
|
* @date March 30, 2017
|
|
* @author svlies
|
|
* @copyright 2017 Dual Inventive Technology Centre B.V.
|
|
*
|
|
* DI XBee driver modules
|
|
* @{
|
|
*/
|
|
|
|
#ifndef LIBDI_INCLUDE_LIBDI_DRV_XBEE_DEFINES_H
|
|
#define LIBDI_INCLUDE_LIBDI_DRV_XBEE_DEFINES_H
|
|
|
|
#define DI_DRV_XBEE_DEFAULT_BAUDRATE_9K6 3
|
|
#define DI_DRV_XBEE_DEFAULT_FRAME_MAX_FRAME_SIZE 64
|
|
#define DI_DRV_XBEE_DEFAULT_MAX_HOPS 0
|
|
#define DI_DRV_XBEE_DEFAULT_STOP_BITS 0
|
|
#define DI_DRV_XBEE_DEFAULT_SLEEP_PERIOD 0x4650
|
|
#define DI_DRV_XBEE_DEFAULT_WAKE_PERIOD 0x2710
|
|
#define DI_FW_XBEE_FRAME_START 0x7E
|
|
|
|
/* Default Digimesh*/
|
|
#define DI_DRV_XBEE_DEFAULT_NETWORK_TYPE 0xC0
|
|
|
|
/* Frametypes: */
|
|
enum di_drv_xbee_frame_types {
|
|
DI_DRV_XBEE_FT_AT_COMMAND = 0x08,/**<AT Command.*/
|
|
DI_DRV_XBEE_FT_AT_COMMAND_QUEUE_PARAMETER_VALUE = 0x09,/**<AT Command queue parameter value.*/
|
|
DI_DRV_XBEE_FT_TRANSMIT_REQUEST = 0x10,/**<Transmit request.*/
|
|
DI_DRV_XBEE_FT_EXPLICIT_ADDRESSING_COMMAND_FRAME = 0x11,/**<Explisit addressing command frame.*/
|
|
DI_DRV_XBEE_FT_REMOTE_AT_COMMAND_REQUEST = 0x17,/**<Remote at command request.*/
|
|
DI_DRV_XBEE_FT_AT_COMMAND_RESPONSE = 0x88,/**<At command response.*/
|
|
DI_DRV_XBEE_FT_MODEM_STATUS = 0x8A,/**<Modem status.*/
|
|
DI_DRV_XBEE_FT_TRANSMIT_STATUS = 0x8B,/**<Transmit status.*/
|
|
DI_DRV_XBEE_FT_ROUTE_INFORMATION_PACKET = 0x8D,/**<Route information packet.*/
|
|
DI_DRV_XBEE_FT_AGGREGATE_ADDRESSING_UPDATE = 0x8E,/**<Aggregate addressing uidate.*/
|
|
DI_DRV_XBEE_FT_RECEIVE_PACKET = 0x90,/**<Reveive packet.*/
|
|
DI_DRV_XBEE_FT_EXPLICIT_RX_INDICATOR = 0x91,/**<Explicit rx indicator.*/
|
|
DI_DRV_XBEE_FT_NODE_IDENTIFICATION_INDICATOR = 0x95,/**<Node identification indicator.*/
|
|
DI_DRV_XBEE_FT_REMOTE_COMMAND_RESPONSE = 0x97/**<Remote command response.*/
|
|
};
|
|
|
|
/* Network types: */
|
|
#define DI_DRV_XBEE_FT_POINT_MULTIPOINT 0x40
|
|
#define DI_DRV_XBEE_FT_REPEATER_MODE 0x80
|
|
#define DI_DRV_XBEE_FT_DIGIMESH 0xC0
|
|
|
|
enum di_drv_xbee_cmd_status {
|
|
DI_DRV_XBEE_FT_CMD_STATUS_OK = 0,/**<Ok.*/
|
|
DI_DRV_XBEE_FT_CMD_STATUS_ERROR = 1,/**<XBee error.*/
|
|
DI_DRV_XBEE_FT_CMD_STATUS_INVALID_COMMAND = 2,/**<Invalid command.*/
|
|
DI_DRV_XBEE_FT_CMD_STATUS_INVALID_PARAMETER = 3,/**<Inalid parameter.*/
|
|
DI_DRV_XBEE_FT_CMD_STATUS_NETWORK_WOKE_UP = 10,/**<Network woke up.*/
|
|
DI_DRV_XBEE_FT_CMD_STATUS_NETWORK_WENT_TO_SLEEP = 11/**<Network went to sleep.*/
|
|
};
|
|
|
|
/* AT special commands */
|
|
#define DI_DRV_XBEE_AT_APPLY_CHANGES "AC"
|
|
#define DI_DRV_XBEE_AT_SOFTWARE_RESET "FR"
|
|
#define DI_DRV_XBEE_AT_RESTORE_DEFAULTS "RE"
|
|
#define DI_DRV_XBEE_AT_WRITE "WR"
|
|
#define DI_DRV_XBEE_AT_RESTORE_COMPILED "R1"
|
|
|
|
/* MAC/PHY level AT commands */
|
|
#define DI_DRV_XBEE_AT_CHANNEL_MASK "CM"
|
|
#define DI_DRV_XBEE_AT_PREAMBLE_ID "HP"
|
|
#define DI_DRV_XBEE_AT_NETWORK_ID "ID"
|
|
#define DI_DRV_XBEE_AT_BROADCAST_MULTI_TRANSMIT "MT"
|
|
#define DI_DRV_XBEE_AT_POWER_LEVEL "PL"
|
|
#define DI_DRV_XBEE_AT_UNICAST_MAC_RETRIES "RR"
|
|
#define DI_DRV_XBEE_AT_ENERGY_DETECT "ED"
|
|
|
|
/* Diagnostics AT commands */
|
|
#define DI_DRV_XBEE_AT_BYTES_TRANSMITTED "BC"
|
|
#define DI_DRV_XBEE_AT_REVEIVED_SIGNAL_STRENGTH "DB"
|
|
#define DI_DRV_XBEE_AT_RECEIVED_ERROR_COUNT "ER"
|
|
#define DI_DRV_XBEE_AT_GOOD_PACKETS_RECEIVED "GD"
|
|
#define DI_DRV_XBEE_AT_MAC_ACK_TIMEOUTS "EA"
|
|
#define DI_DRV_XBEE_AT_TRANSMISSION_ERRORS "TR"
|
|
#define DI_DRV_XBEE_AT_MAC_UNICAST_TRANSMISSION_COUNT "UA"
|
|
#define DI_DRV_XBEE_AT_MACUNICAST_ONE_HOP_TIME "%H"
|
|
#define DI_DRV_XBEE_AT_MAC_BROADCAST_ONE_HOP_TIME "%8"
|
|
#define DI_DRV_XBEE_AT_RSSI_FOR_CHANNEL "RC"
|
|
#define DI_DRV_XBEE_AT_RESET_NUMBER "R#"
|
|
#define DI_DRV_XBEE_AT_TRANSMIT_ACKNOWLEDGMENT_ERRORS "TA"
|
|
|
|
/* Network AT commands */
|
|
#define DI_DRV_XBEE_AT_NODE_MESSAGING_OPTIONS "CE"
|
|
#define DI_DRV_XBEE_AT_BROADCAST_HOPS "BH"
|
|
#define DI_DRV_XBEE_AT_NETWORK_HOPS "NH"
|
|
#define DI_DRV_XBEE_AT_NETWORK_DELAY_SLOTS "NN"
|
|
#define DI_DRV_XBEE_AT_MESH_UNICAST_RETRIES "MR"
|
|
|
|
/* Addressing AT commands */
|
|
#define DI_DRV_XBEE_AT_SERIAL_NUMBER_HIGH "SH"
|
|
#define DI_DRV_XBEE_AT_SERIAL_NUMBER_LOW "SL"
|
|
#define DI_DRV_XBEE_AT_DESTINATION_ADDRESS_HIGH "DH"
|
|
#define DI_DRV_XBEE_AT_DESTINATION_ADDRESS_LOW "DL"
|
|
#define DI_DRV_XBEE_AT_TRANSMIT_OPTIONS "TO"
|
|
#define DI_DRV_XBEE_AT_NODE_IDENTIFIER "NI"
|
|
#define DI_DRV_XBEE_AT_NODE_DISCOVER_TIMEOUT "NT"
|
|
#define DI_DRV_XBEE_AT_NODE_DISCOVERY_OPTIONS "NO"
|
|
#define DI_DRV_XBEE_AT_CLUSTER_ID "CI"
|
|
#define DI_DRV_XBEE_AT_DESTINATION_ENDPOINT "DE"
|
|
#define DI_DRV_XBEE_AT_SOURCE_ENDPOINT "SE"
|
|
|
|
/* Addressing discovery/configuration AT commands*/
|
|
#define DI_DRV_XBEE_AT_AGGREGATOR_SUPPORT "AG"
|
|
#define DI_DRV_XBEE_AT_DISCOVER_NODE "DN"
|
|
#define DI_DRV_XBEE_AT_NETWORK_DISCOVER "ND"
|
|
#define DI_DRV_XBEE_AT_FIND_NEIGHBORS "FN"
|
|
#define DI_DRV_XBEE_AT_NETWORK_DISCOVERY_TIMEOUT "N?"
|
|
|
|
/* Security AT commands */
|
|
#define DI_DRV_XBEE_AT_SECURITY_ENABLE "EE"
|
|
#define DI_DRV_XBEE_AT_AES_ENCRYPTION_KEY "KY"
|
|
|
|
/* Serial Interfacing AT commands */
|
|
#define DI_DRV_XBEE_AT_BAUD_RATE "BD"
|
|
#define DI_DRV_XBEE_AT_PARITY "NB"
|
|
#define DI_DRV_XBEE_AT_STOP_BITS "SB"
|
|
#define DI_DRV_XBEE_AT_PACKETIZATION_TIMEOUT "RO"
|
|
#define DI_DRV_XBEE_AT_FLOW_CONTROL_THRESHOLD "FT"
|
|
#define DI_DRV_XBEE_AT_API_MODE "AP"
|
|
#define DI_DRV_XBEE_AT_API_OPTIONS "AO"
|
|
|
|
/* Sleep AT commands */
|
|
#define DI_DRV_XBEE_AT_SLEEP_MODE "SM"
|
|
#define DI_DRV_XBEE_AT_SLEEP_OPTIONS "SO"
|
|
#define DI_DRV_XBEE_AT_NUMBER_OF_SLEEP_PERIODS "SN"
|
|
#define DI_DRV_XBEE_AT_SLEEP_PERIOD "SP"
|
|
#define DI_DRV_XBEE_AT_WAKE_TIME "ST"
|
|
#define DI_DRV_XBEE_AT_WAKE_HOST "WH"
|
|
#define DI_DRV_XBEE_AT_SLEEP_STATUS "SS"
|
|
#define DI_DRV_XBEE_AT_OPERATIONAL_SLEEP_PERIOD "OS"
|
|
#define DI_DRV_XBEE_AT_OPERATIONAL_WAKE_PERIOD "OW"
|
|
#define DI_DRV_XBEE_AT_NUMBER_OF_MISSED_SYNCS "MS"
|
|
#define DI_DRV_XBEE_AT_MISSED_SYNC_COUNT "SQ"
|
|
|
|
/* Firmware AT commands */
|
|
#define DI_DRV_XBEE_AT_VERSION_LONG "VL"
|
|
#define DI_DRV_XBEE_AT_FIRMWARE_VERSION "VR"
|
|
#define DI_DRV_XBEE_AT_HARDWARE_VERSION "HV"
|
|
#define DI_DRV_XBEE_AT_HARDWARE_SERIES "HS"
|
|
#define DI_DRV_XBEE_AT_DEVICE_TYPE_IDENTIFIER "DD"
|
|
#define DI_DRV_XBEE_AT_MAXIMUM_RF_PAYLOAD_BYTES "NP"
|
|
#define DI_DRV_XBEE_AT_CONFIGURATION_CRC "CK"
|
|
|
|
/** @} */
|
|
|
|
#endif /* LIBDI_INCLUDE_LIBDI_DRV_XBEE_DEFINES_H */
|