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
Revision 8:b5f4a0e92249, committed 2016-07-29
- Comitter:
- hbujanda
- Date:
- Fri Jul 29 12:10:38 2016 +0200
- Parent:
- 7:3ac2a461ce76
- Child:
- 9:780db84ce891
- Commit message:
- Automatic upload
Changed in this revision
--- a/DigiLogger.lib Thu Jul 28 15:36:36 2016 +0200 +++ b/DigiLogger.lib Fri Jul 29 12:10:38 2016 +0200 @@ -1,1 +1,1 @@ -http://developer.mbed.org/teams/Digi-International-Inc/code/DigiLogger/# +http://developer.mbed.org/teams/Digi-International-Inc/code/DigiLogger/#58c5158b5120
--- a/XBee/XBee.h Thu Jul 28 15:36:36 2016 +0200
+++ b/XBee/XBee.h Fri Jul 29 12:10:38 2016 +0200
@@ -326,6 +326,9 @@
#define XBEEZB_ND_OPTION_APPEND_DD (1 << 0)
#define XBEEZB_ND_OPTION_SELF_RESPONSE (1 << 1)
#define XBEE802_ND_OPTION_SELF_RESPONSE (1 << 0)
+#define XBEEDM_ND_OPTION_APPEND_DD (1 << 0)
+#define XBEEDM_ND_OPTION_SELF_RESPONSE (1 << 1)
+#define XBEEDM_ND_OPTION_INCLUDE_RSSI (1 << 2)
/** config_node_discovery - configures the node discovery operation
*
@@ -335,6 +338,9 @@
* XBEE802_ND_OPTION_SELF_RESPONSE - to allow the module self responding (802.15.4 only)
* XBEEZB_ND_OPTION_SELF_RESPONSE - to allow the module self responding (ZigBee only)
* XBEEZB_ND_OPTION_APPEND_DD - to append the DD value to the response (ZigBee only)
+ * XBEEDM_ND_OPTION_INCLUDE_RSSI - to include RSSI information in response (DigiMesh only)
+ * XBEEDM_ND_OPTION_SELF_RESPONSE - to allow the module self responding (DigiMesh only)
+ * XBEEDM_ND_OPTION_APPEND_DD - to append the DD value to the response (DigiMesh only)
* @returns
* Success if the operation was successful,
* Failure otherwise
--- a/XBee802/XBee802.cpp Thu Jul 28 15:36:36 2016 +0200
+++ b/XBee802/XBee802.cpp Fri Jul 29 12:10:38 2016 +0200
@@ -137,6 +137,17 @@
return Success;
}
+RadioStatus XBee802::set_tc_link_key(const uint8_t * const key, const uint16_t length)
+{
+ if (key == NULL || length == 0 || length > 16) {
+ return Failure;
+ }
+ AtCmdFrame::AtCmdResp cmdresp;
+
+ cmdresp = set_param("KY", key, length);
+ return cmdresp == AtCmdFrame::AtCmdRespOk ? Success : Failure;
+}
+
RadioStatus XBee802::get_node_discovery_timeout(uint16_t * const timeout_ms)
{
AtCmdFrame::AtCmdResp cmdresp;
--- a/XBee802/XBee802.h Thu Jul 28 15:36:36 2016 +0200
+++ b/XBee802/XBee802.h Fri Jul 29 12:10:38 2016 +0200
@@ -141,6 +141,16 @@
*/
RadioStatus set_network_address(uint16_t addr);
+ /** set_tc_link_key - Sets key used for encryption and decryption (ZigBee trust center link key).
+ * It is not recommended to set the key programmatically, because it could be read through the raw serial port bits.
+ * @param key pointer to the 128-bit AES key
+ * @param length size of the buffer pointed by 'key'
+ * @returns
+ * Success if the operation was successful,
+ * Failure otherwise
+ */
+ RadioStatus set_tc_link_key(const uint8_t * const key, const uint16_t length);
+
/** register_node_discovery_cb - registers the callback function that will be called
* when the responses to the node discovery command arrive
*
--- a/XBeeDM/XBeeDM.cpp Thu Jul 28 15:36:36 2016 +0200
+++ b/XBeeDM/XBeeDM.cpp Fri Jul 29 12:10:38 2016 +0200
@@ -102,6 +102,17 @@
return Success;
}
+RadioStatus XBeeDM::set_tc_link_key(const uint8_t * const key, const uint16_t length)
+{
+ if (key == NULL || length == 0 || length > 16) {
+ return Failure;
+ }
+ AtCmdFrame::AtCmdResp cmdresp;
+
+ cmdresp = set_param("KY", key, length);
+ return cmdresp == AtCmdFrame::AtCmdRespOk ? Success : Failure;
+}
+
RadioStatus XBeeDM::get_node_discovery_timeout(uint16_t * const timeout_ms)
{
AtCmdFrame::AtCmdResp cmdresp;
@@ -125,25 +136,6 @@
return status;
}
-RadioStatus XBeeDM::set_network_security_key(const uint8_t * const key, const uint16_t length)
-{
- if (key == NULL || length == 0 || length > 16) {
- return Failure;
- }
- AtCmdFrame::AtCmdResp cmdresp;
-
- cmdresp = set_param("NK", key, length);
- return cmdresp == AtCmdFrame::AtCmdRespOk ? Success : Failure;
-}
-
-RadioStatus XBeeDM::set_encryption_options(const uint8_t options)
-{
- AtCmdFrame::AtCmdResp cmdresp;
-
- cmdresp = set_param("EO", options);
- return cmdresp == AtCmdFrame::AtCmdRespOk ? Success : Failure;
-}
-
void XBeeDM::radio_status_update(AtCmdFrame::ModemStatus modem_status)
{
/* Update the radio status variables */
@@ -223,11 +215,6 @@
return RemoteXBeeDM(addr64);
}
-XBeeDM::AssocStatus XBeeDM::get_assoc_status(void)
-{
- return (AssocStatus)get_AI();
-}
-
void XBeeDM::register_node_discovery_cb(node_discovery_dm_cb_t function)
{
if (_nd_handler == NULL) {
--- a/XBeeDM/XBeeDM.h Thu Jul 28 15:36:36 2016 +0200
+++ b/XBeeDM/XBeeDM.h Fri Jul 29 12:10:38 2016 +0200
@@ -45,25 +45,6 @@
DIO12 = 12 /**< DIO12 pin */
};
- enum AssocStatus {
- ErrorReading = -1, /**< Error occurred when reading parameter. */
- Joined = 0x00, /**< Successfully formed or joined a network. (Coordinators form a network, routers and end devices join a network.) */
- NoPANs = 0x21, /**< Scan found no PANs */
- NoValidPAN = 0x22, /**< Scan found no valid PANs based on current SC and ID settings */
- JoinNotAllowed = 0x23, /**< Valid Coordinator or Routers found, but they are not allowing joining (NJ expired). */
- NoBeacons = 0x24, /**< No joinable beacons were found. */
- Unexpected = 0x25, /**< Unexpected state, node should not be attempting to join at this time. */
- JoinFailed = 0x27, /**< Node Joining attempt failed (typically due to incompatible security settings). */
- CoordStartFail = 0x2A, /**< Coordinator start attempt failed */
- CheckingCoord = 0x2B, /**< Checking for an existing coordinator. */
- LeaveFail = 0x2C, /**< Attempt to leave the network failed. */
- JoinNoResponse = 0xAB, /**< Attempted to join a device that did not respond. */
- SecKeyUnsec = 0xAC, /**< Secure join error - network security key received unsecured. */
- SecKeyNotRec = 0xAD, /**< Secure join error - network security key not received. */
- SecBadKey = 0xAF, /**< Secure join error - joining device does not have the right preconfigured link key. */
- Scanning = 0xFF /**< Scanning for a ZigBee network (routers and end devices). */
- };
-
/** Class constructor
* @param tx the TX pin of the UART that will interface the XBee module
* @param rx the RX pin of the UART that will interface the XBee module
@@ -123,7 +104,7 @@
*/
RadioStatus get_network_id(uint16_t * const network_id);
- /** set_network_security_key - (Coordinator only) Set the 128-bit AES network encryption key. If set to 0 (default), the module will select a random network key.
+ /** set_tc_link_key - Sets key used for encryption and decryption (ZigBee trust center link key).
* It is not recommended to set the key programmatically, because it could be read through the raw serial port bits.
* @param key pointer to the 128-bit AES key
* @param length size of the buffer pointed by 'key'
@@ -131,19 +112,7 @@
* Success if the operation was successful,
* Failure otherwise
*/
- RadioStatus set_network_security_key(const uint8_t * const key, const uint16_t length);
-
-#define XBEE_DM_ENC_OPT_SEND_KEY_ON_JOIN 0x01
-#define XBEE_DM_ENC_OPT_USE_TRUST_CENTER 0x02
- /** set_encryption_options - Configure options for encryption. Unused option bits should be set to 0. Options include:
- * - XBEE_DM_ENC_OPT_SEND_KEY_ON_JOIN - Send the security key unsecured over-the-air during joins
- * - XBEE_DM_ENC_OPT_USE_TRUST_CENTER - Use trust center (coordinator only)
- * @param options bit mask with the encryption options
- * @returns
- * Success if the operation was successful,
- * Failure otherwise
- */
- RadioStatus set_encryption_options(const uint8_t options);
+ RadioStatus set_tc_link_key(const uint8_t * const key, const uint16_t length);
/** register_node_discovery_cb - registers the callback function that will be called
* when the responses to the node discovery command arrive
@@ -219,12 +188,6 @@
*/
TxStatus send_data_to_coordinator(const uint8_t *const data, uint16_t len, bool syncr = true);
- /** get_assoc_status - returns current network association status. This wraps AI parameter, for more information refer to moudle's Reference Manual.
- *
- * @returns an AssocStatus with current network association status.
- */
- AssocStatus get_assoc_status(void);
-
/** get_remote_node_by_id - searches for a device in the network with the specified Node Identifier.
*
* @param node_id node id of the device we are looking for
--- a/XBeeLib.h Thu Jul 28 15:36:36 2016 +0200 +++ b/XBeeLib.h Fri Jul 29 12:10:38 2016 +0200 @@ -16,7 +16,7 @@ #ifndef __XBEE_H_ #define __XBEE_H_ -#define XB_LIBRARY_VERSION 0x01010000U +#define XB_LIBRARY_VERSION 0x01010100U #define XB_MAJOR_VERSION ((XB_LIBRARY_VERSION >> 24) & 0xFFU) #define XB_MINOR_VERSION ((XB_LIBRARY_VERSION >> 16) & 0xFFU) #define XB_PATCH_LEVEL ((XB_LIBRARY_VERSION >> 8) & 0xFFU)
--- a/XBeeZB/XBeeZB.cpp Thu Jul 28 15:36:36 2016 +0200
+++ b/XBeeZB/XBeeZB.cpp Fri Jul 29 12:10:38 2016 +0200
@@ -261,6 +261,17 @@
return cmdresp == AtCmdFrame::AtCmdRespOk ? Success : Failure;
}
+RadioStatus XBeeZB::set_tc_link_key(const uint8_t * const key, const uint16_t length)
+{
+ if (key == NULL || length == 0 || length > 16) {
+ return Failure;
+ }
+ AtCmdFrame::AtCmdResp cmdresp;
+
+ cmdresp = set_param("KY", key, length);
+ return cmdresp == AtCmdFrame::AtCmdRespOk ? Success : Failure;
+}
+
void XBeeZB::radio_status_update(AtCmdFrame::ModemStatus modem_status)
{
/* Update the radio status variables */
--- a/XBeeZB/XBeeZB.h Thu Jul 28 15:36:36 2016 +0200
+++ b/XBeeZB/XBeeZB.h Fri Jul 29 12:10:38 2016 +0200
@@ -211,6 +211,16 @@
*/
RadioStatus set_encryption_options(const uint8_t options);
+ /** set_tc_link_key - Sets key used for encryption and decryption (ZigBee trust center link key).
+ * It is not recommended to set the key programmatically, because it could be read through the raw serial port bits.
+ * @param key pointer to the 128-bit AES key
+ * @param length size of the buffer pointed by 'key'
+ * @returns
+ * Success if the operation was successful,
+ * Failure otherwise
+ */
+ RadioStatus set_tc_link_key(const uint8_t * const key, const uint16_t length);
+
/** register_node_discovery_cb - registers the callback function that will be called
* when the responses to the node discovery command arrive
*
