John Bailey / XBeeApi

Dependencies:   CircularBuffer FixedLengthList

Dependents:   XBeeApiTest XBeeApiSimpleATCmdsExample XBeeApiBroadcastExample XBeeApiBroadcastExampleRTOS ... more

Committer:
johnb
Date:
Fri Aug 08 11:59:52 2014 +0000
Revision:
56:7fe74b03e6b1
Parent:
48:48397bedf95d
Add support for setting up encrypted communications; Re-jig XBeeApiCmdAt virtual functions to make inheritance by XBeeDeviceRemoteAt cleaner.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
johnb 8:1b48b619d7f6 1 /**
johnb 8:1b48b619d7f6 2 @file
johnb 8:1b48b619d7f6 3 @brief Functions to help with XBee configuration
johnb 8:1b48b619d7f6 4
johnb 8:1b48b619d7f6 5 @author John Bailey
johnb 8:1b48b619d7f6 6
johnb 8:1b48b619d7f6 7 @copyright Copyright 2014 John Bailey
johnb 8:1b48b619d7f6 8
johnb 8:1b48b619d7f6 9 @section LICENSE
johnb 8:1b48b619d7f6 10
johnb 8:1b48b619d7f6 11 Licensed under the Apache License, Version 2.0 (the "License");
johnb 8:1b48b619d7f6 12 you may not use this file except in compliance with the License.
johnb 8:1b48b619d7f6 13 You may obtain a copy of the License at
johnb 8:1b48b619d7f6 14
johnb 8:1b48b619d7f6 15 http://www.apache.org/licenses/LICENSE-2.0
johnb 8:1b48b619d7f6 16
johnb 8:1b48b619d7f6 17 Unless required by applicable law or agreed to in writing, software
johnb 8:1b48b619d7f6 18 distributed under the License is distributed on an "AS IS" BASIS,
johnb 8:1b48b619d7f6 19 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
johnb 8:1b48b619d7f6 20 See the License for the specific language governing permissions and
johnb 8:1b48b619d7f6 21 limitations under the License.
johnb 8:1b48b619d7f6 22
johnb 8:1b48b619d7f6 23 */
johnb 8:1b48b619d7f6 24
johnb 8:1b48b619d7f6 25 #if !defined XBEEAPISETUPHELPER_HPP
johnb 8:1b48b619d7f6 26 #define XBEEAPISETUPHELPER_HPP
johnb 8:1b48b619d7f6 27
johnb 8:1b48b619d7f6 28 #include "XBeeDevice.hpp"
johnb 8:1b48b619d7f6 29 #include "XBeeApiCmdAt.hpp"
johnb 8:1b48b619d7f6 30
johnb 48:48397bedf95d 31 /** Enum to represent the different network modes that the XBee may be configured to */
johnb 8:1b48b619d7f6 32 typedef enum {
johnb 48:48397bedf95d 33 /** Peer-to-peer mode, not dependent upon master/slave relationships */
johnb 8:1b48b619d7f6 34 XBEE_NETWORK_TYPE_P2P,
johnb 8:1b48b619d7f6 35 XBEE_NETWORK_TYPE_NON_BEACON,
johnb 8:1b48b619d7f6 36 XBEE_NETWORK_TYPE_UNKNOWN
johnb 8:1b48b619d7f6 37 } XBeeNetworkType_e;
johnb 8:1b48b619d7f6 38
johnb 8:1b48b619d7f6 39 /** Set the XBee to use the P2P networking model. Thie helper function
johnb 8:1b48b619d7f6 40 assumes that the XBee device and the passed XBeeApiCmdAt-type object have already
johnb 8:1b48b619d7f6 41 been configured.
johnb 8:1b48b619d7f6 42
johnb 8:1b48b619d7f6 43 This function will block until the settings have been successfully applied or a failure
johnb 8:1b48b619d7f6 44 has been encountered.
johnb 8:1b48b619d7f6 45
johnb 8:1b48b619d7f6 46 \param p_xbeeCmd Pointer to an XBeeApiCmdAt object which has already been registered
johnb 8:1b48b619d7f6 47 as a decoder with an XBee device.
johnb 8:1b48b619d7f6 48 \param p_id Network ID to use
johnb 8:1b48b619d7f6 49 \param p_chan Channel to use
johnb 38:291aee9eb900 50 \return true in the case that the XBee was configured, false in the case that a problem
johnb 38:291aee9eb900 51 was encountered
johnb 8:1b48b619d7f6 52 */
johnb 38:291aee9eb900 53 extern bool xbeeSetNetworkTypeP2P( XBeeApiCmdAt* const p_xbeeCmd,
johnb 8:1b48b619d7f6 54 const XBeeApiCmdAt::panId_t p_id,
johnb 8:1b48b619d7f6 55 const XBeeApiCmdAt::channel_t p_chan );
johnb 8:1b48b619d7f6 56
johnb 8:1b48b619d7f6 57 #endif /* !defined( XBEEAPISETUPHELPER_HPP ) */