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: CircularBuffer FixedLengthList
Dependents: XBeeApiTest XBeeApiSimpleATCmdsExample XBeeApiBroadcastExample XBeeApiBroadcastExampleRTOS ... more
Diff: Remote/XBeeDeviceRemoteAt.hpp
- Revision:
- 55:610aa4a2ed3b
- Parent:
- 53:7b65422d7a32
- Child:
- 56:7fe74b03e6b1
diff -r 9f5b7652943e -r 610aa4a2ed3b Remote/XBeeDeviceRemoteAt.hpp
--- a/Remote/XBeeDeviceRemoteAt.hpp Mon Jul 28 14:13:20 2014 +0000
+++ b/Remote/XBeeDeviceRemoteAt.hpp Sat Aug 02 16:41:14 2014 +0000
@@ -68,10 +68,26 @@
or not */
bool m_applyChanges;
+ /** Keep track of which type of addressing we're using for transmitted frames */
+ XBeeDevice::XBeeApiAddrType_t m_addressingType;
+
+ /** Set m_snLow/m_snHigh or m_sourceAddress depending on the parameters specified and
+ set up suplementary attributes such as the addressing type to be used
+
+ \param p_addr16Bit 16-bit address of the remote XBee (or XBEE_BROADCAST_ADDR for broadcast or XBEE_USE_64BIT_ADDR to use 64-bit addressing (see p_addr64Bit)
+ \param p_addr64Bit 64-bit address of the remote XBee, only used in the case that the 16-bit address is XBEE_USE_64BIT_ADDR
+ */
+ void setAddress( const uint16_t& p_addr16Bit,
+ const uint64_t& p_addr64Bit = 0 );
+
public:
- /* TODO: doc */
- /** Constructor */
+ /** Constructor
+
+ \param p_device Pointer to the XBee device used to communicate with the remote XBee
+ \param p_addr16Bit 16-bit address of the remote XBee (or XBEE_BROADCAST_ADDR for broadcast or XBEE_USE_64BIT_ADDR to use 64-bit addressing (see p_addr64Bit)
+ \param p_addr64Bit 64-bit address of the remote XBee, only used in the case that the 16-bit address is XBEE_USE_64BIT_ADDR
+ \param p_applyChanges Indicate whether or not changes should be applied with each message/method call. Seed setApplyChanges() */
XBeeDeviceRemoteAt( XBeeDevice* p_device,
const uint16_t& p_addr16Bit,
const uint64_t& p_addr64Bit = 0,
@@ -88,6 +104,26 @@
\param Specified whether or not the settings should be applied when the command is sent to the remote device */
void setApplyChanges( const bool p_apply );
+
+ /** Set the type of addressing used for transmitted frames to the remote XBee. If specifying 16-bit addressing then the
+ remote node's 16-bit address must be known. If specifying 64-bit addressing then the remote node's 64-bit address must
+ be known. The addresses are learned either by specifying them to the constructor or by successful requests via
+ requestSourceAddress (16-bit) or requestSerialNumber (64-bit), or by using reassociate()
+
+ \param p_type The type of addressing to use for future transmitted frames
+ \returns true in the case that the address type was succesfully changed,
+ false in the case that the address type could not be changed, either because p_type was not valid
+ or because the appropriate address wasn't known */
+ bool setAddressingType( const XBeeDevice::XBeeApiAddrType_t p_type );
+
+ /** Reassociated this object with a new remote XBee (or update the addressing used). Calling this method will reset
+ any cached values held within the object associated with the remote XBee's settings.
+
+ \param p_addr16Bit 16-bit address of the remote XBee (or XBEE_BROADCAST_ADDR for broadcast or XBEE_USE_64BIT_ADDR to use 64-bit addressing (see p_addr64Bit)
+ \param p_addr64Bit 64-bit address of the remote XBee, only used in the case that the 16-bit address is XBEE_USE_64BIT_ADDR
+ */
+ void reassociate( const uint16_t& p_addr16Bit,
+ const uint64_t& p_addr64Bit = 0 );
};
#endif
\ No newline at end of file