Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: DigiLogger
Fork of XBeeLib_vs by
Diff: XBee/XBee.cpp
- Revision:
- 6:06522f3a6642
- Parent:
- 5:da2ea7a76243
--- a/XBee/XBee.cpp Thu Mar 31 11:39:30 2016 +0200
+++ b/XBee/XBee.cpp Thu Jul 28 10:17:20 2016 +0200
@@ -295,38 +295,40 @@
const ApiFrame::ApiFrameType frame_type = (ApiFrame::ApiFrameType)data;
switch (frame_type)
{
- case ApiFrame::AtCmdResp: /**< AtCmdResp */
- case ApiFrame::RemoteCmdResp: /**< RemoteCmdResp */
- case ApiFrame::TxStatusZB: /**< TxStatusZB: Only for ZigBee modules */
- case ApiFrame::TxStatus: /**< TxStatus */
+ case ApiFrame::AtCmdResp:
+ case ApiFrame::RemoteCmdResp:
+ case ApiFrame::TxStatusZBDM:
+ case ApiFrame::TxStatus:
framebuf = &_framebuf_syncr;
break;
- case ApiFrame::RxPacket64Bit: /**< RxPacket64Bit: Only for 802.15.4 modules */
- case ApiFrame::RxPacket16Bit: /**< RxPacket16Bit: Only for 802.15.4 modules */
- case ApiFrame::Io64Bit: /**< Io64Bit: Only for 802.15.4 modules */
- case ApiFrame::Io16Bit: /**< Io16Bit */
- case ApiFrame::AtModemStatus: /**< AtModemStatus */
- case ApiFrame::RxPacketAO0: /**< RxPacketAO0: Only for ZigBee modules */
- case ApiFrame::IoSampleRxZB: /**< IoSampleRxZB: Only for ZigBee modules */
+ case ApiFrame::RxPacket64Bit:
+ case ApiFrame::RxPacket16Bit:
+ case ApiFrame::Io64Bit:
+ case ApiFrame::Io16Bit:
+ case ApiFrame::AtModemStatus:
+ case ApiFrame::RxPacketAO0:
+ case ApiFrame::IoSampleRxZBDM:
framebuf = &_framebuf_app;
break;
- case ApiFrame::RxPacketAO1: /**< RxPacketAO1: Only for ZigBee modules */
- case ApiFrame::SensorRxIndAO0: /**< SensorRxIndAO0: Only for ZigBee modules */
- case ApiFrame::NodeIdentIndAO0: /**< NodeIdentIndAO0: Only for ZigBee modules */
- case ApiFrame::OtaFwUpStatus: /**< OtaFwUpStatus */
- case ApiFrame::RouteRecInd: /**< RouteRecInd */
- case ApiFrame::Many2OneRRInd: /**< Many2OneRRInd */
- case ApiFrame::TxReq64Bit: /**< TxReq64Bit: Only for 802.15.4 modules */
- case ApiFrame::TxReq16Bit: /**< TxReq16Bit: Only for 802.15.4 modules */
- case ApiFrame::AtCmd: /**< AtCmd */
- case ApiFrame::AtCmdQueuePV: /**< AtCmdQueuePV */
- case ApiFrame::TxReqZB: /**< TxReqZB: Only for ZigBee modules */
- case ApiFrame::ExpAddrCmd: /**< ExpAddrCmd: Only for ZigBee modules */
- case ApiFrame::RemoteCmdReq: /**< RemoteCmdReq */
- case ApiFrame::CreateSrcRoute: /**< CreateSrcRoute */
- case ApiFrame::Invalid: /**< Invalid */
+ case ApiFrame::RxPacketAO1:
+ case ApiFrame::SensorRxIndAO0:
+ case ApiFrame::NodeIdentIndAO0:
+ case ApiFrame::OtaFwUpStatus:
+ case ApiFrame::RouteRecInd:
+ case ApiFrame::Many2OneRRInd:
+ case ApiFrame::TxReq64Bit:
+ case ApiFrame::TxReq16Bit:
+ case ApiFrame::AtCmd:
+ case ApiFrame::AtCmdQueuePV:
+ case ApiFrame::TxReqZBDM:
+ case ApiFrame::ExpAddrCmd:
+ case ApiFrame::RemoteCmdReq:
+ case ApiFrame::CreateSrcRoute:
+ case ApiFrame::Invalid:
+ case ApiFrame::RouteInfo:
+ case ApiFrame::AggregateAddr:
framebuf = NULL;
break;
}
@@ -365,13 +367,13 @@
const ApiFrame::ApiFrameType frame_type = (ApiFrame::ApiFrameType)frame_cached[0];
switch (frame_type)
{
- case ApiFrame::RemoteCmdResp: /**< RemoteCmdResp */
- case ApiFrame::TxStatusZB: /**< TxStatusZB: Only for ZigBee modules */
- case ApiFrame::TxStatus: /**< TxStatus */
+ case ApiFrame::RemoteCmdResp:
+ case ApiFrame::TxStatusZBDM:
+ case ApiFrame::TxStatus:
framebuf = &_framebuf_syncr;
break;
- case ApiFrame::AtCmdResp: /**< AtCmdResp */
+ case ApiFrame::AtCmdResp:
if ((frame_cached[1] != _node_by_ni_frame_id ) && (frame_cached[2] == 'N') && (data == 'D'))
{
framebuf = &_framebuf_app;
@@ -380,31 +382,33 @@
}
break;
- case ApiFrame::RxPacket64Bit: /**< RxPacket64Bit: Only for 802.15.4 modules */
- case ApiFrame::RxPacket16Bit: /**< RxPacket16Bit: Only for 802.15.4 modules */
- case ApiFrame::Io64Bit: /**< Io64Bit: Only for 802.15.4 modules */
- case ApiFrame::Io16Bit: /**< Io16Bit */
- case ApiFrame::AtModemStatus: /**< AtModemStatus */
- case ApiFrame::RxPacketAO0: /**< RxPacketAO0: Only for ZigBee modules */
- case ApiFrame::IoSampleRxZB: /**< IoSampleRxZB: Only for ZigBee modules */
+ case ApiFrame::RxPacket64Bit:
+ case ApiFrame::RxPacket16Bit:
+ case ApiFrame::Io64Bit:
+ case ApiFrame::Io16Bit:
+ case ApiFrame::AtModemStatus:
+ case ApiFrame::RxPacketAO0:
+ case ApiFrame::IoSampleRxZBDM:
framebuf = &_framebuf_app;
break;
- case ApiFrame::RxPacketAO1: /**< RxPacketAO1: Only for ZigBee modules */
- case ApiFrame::SensorRxIndAO0: /**< SensorRxIndAO0: Only for ZigBee modules */
- case ApiFrame::NodeIdentIndAO0: /**< NodeIdentIndAO0: Only for ZigBee modules */
- case ApiFrame::OtaFwUpStatus: /**< OtaFwUpStatus */
- case ApiFrame::RouteRecInd: /**< RouteRecInd */
- case ApiFrame::Many2OneRRInd: /**< Many2OneRRInd */
- case ApiFrame::TxReq64Bit: /**< TxReq64Bit: Only for 802.15.4 modules */
- case ApiFrame::TxReq16Bit: /**< TxReq16Bit: Only for 802.15.4 modules */
- case ApiFrame::AtCmd: /**< AtCmd */
- case ApiFrame::AtCmdQueuePV: /**< AtCmdQueuePV */
- case ApiFrame::TxReqZB: /**< TxReqZB: Only for ZigBee modules */
- case ApiFrame::ExpAddrCmd: /**< ExpAddrCmd: Only for ZigBee modules */
- case ApiFrame::RemoteCmdReq: /**< RemoteCmdReq */
- case ApiFrame::CreateSrcRoute: /**< CreateSrcRoute */
- case ApiFrame::Invalid: /**< Invalid */
+ case ApiFrame::RxPacketAO1:
+ case ApiFrame::SensorRxIndAO0:
+ case ApiFrame::NodeIdentIndAO0:
+ case ApiFrame::OtaFwUpStatus:
+ case ApiFrame::RouteRecInd:
+ case ApiFrame::Many2OneRRInd:
+ case ApiFrame::TxReq64Bit:
+ case ApiFrame::TxReq16Bit:
+ case ApiFrame::AtCmd:
+ case ApiFrame::AtCmdQueuePV:
+ case ApiFrame::TxReqZBDM:
+ case ApiFrame::ExpAddrCmd:
+ case ApiFrame::RemoteCmdReq:
+ case ApiFrame::CreateSrcRoute:
+ case ApiFrame::Invalid:
+ case ApiFrame::RouteInfo:
+ case ApiFrame::AggregateAddr:
framebuf = NULL;
break;
}
@@ -760,6 +764,9 @@
} else if (hw_version_msb == XB900HP_NZ) {
return DigiPoint;
} else if (hw_version_msb == XBP24C_TH_DIP || hw_version_msb == XB24C_TH_DIP || hw_version_msb == XBP24C_S2C_SMT) {
+ if (fw_4_bytes_len && fw_nibble_3 == 9) {
+ return DigiMesh;
+ }
if (fw_4_bytes_len && fw_nibble_3 == 5) {
return SmartEnergy;
}
@@ -787,12 +794,12 @@
/* Wait for the transmit status response packet */
resp_frame = get_this_api_frame(frame->get_frame_id(),
- ApiFrame::TxStatusZB, ApiFrame::TxStatus);
+ ApiFrame::TxStatusZBDM, ApiFrame::TxStatus);
if (resp_frame == NULL) {
return resp;
}
- uint8_t index = resp_frame->get_frame_type() == ApiFrame::TxStatusZB ?
+ uint8_t index = resp_frame->get_frame_type() == ApiFrame::TxStatusZBDM ?
TX_STATUS_OFFSET_ZB : TX_STATUS_OFFSET_802;
resp = (TxStatus)resp_frame->get_data_at(index);
