src.dualinventive.com/dinet/sec-multi-proxy/libdi/include/di/drv/xbee/definitions.h

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 */