|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2008-4-2 14:57:25
|
显示全部楼层
发现一个非常好的ZIGBEE代码
http://www.makingthings.com/ref/firmware/html/group___x_bee.html
XBee
[Controller]
Communicate with XBee (Zigbee) wireless modules via the Make Controller's serial port. More...
Modules
XBee Packet Types
The different types of packet that can be used with the XBee subsystem.
Functions
int XBee_SetActive (int state)
Controls the active state of the XBee subsystem.
int XBee_GetActive ()
Read the active state of the XBee subsystem.
int XBee_GetPacket (XBeePacket *packet, int timeout)
Receive an incoming XBee packet.
int XBee_SendPacket (XBeePacket *packet, int datalength)
Send an XBee packet.
void XBee_ResetPacket (XBeePacket *packet)
Initialize a packet before reading into it.
void XBeeConfig_SetPacketApiMode (int value)
Set a module into packet API mode.
int XBeeConfig_RequestPacketApiMode ()
Query whether the module is in API mode.
void XBee_CreateATCommandPacket (XBeePacket *packet, uint8 frameID, char *cmd, uint8 *params, uint8 datalength)
A convenience function for creating an AT command packet.
int XBeeConfig_RequestATResponse (char *cmd)
Query the address of the module.
void XBeeConfig_SetIO (int pin, int value)
Configure the IO settings on an XBee module.
int XBeeConfig_RequestIO (int pin)
Query the configuration of an IO pin.
bool XBee_CreateTX16Packet (XBeePacket *xbp, uint8 frameID, uint16 destination, uint8 options, uint8 *data, uint8 datalength)
Create a packet to be transmitted with a 16-bit address.
bool XBee_CreateTX64Packet (XBeePacket *xbp, uint8 frameID, uint64 destination, uint8 options, uint8 *data, uint8 datalength)
Create a packet to be transmitted with a 64-bit address.
bool XBee_ReadRX16Packet (XBeePacket *xbp, uint16 *srcAddress, uint8 *sigstrength, uint8 *options, uint8 **data, uint8 *datalength)
Unpack the info from an incoming packet with a 16-bit address.
bool XBee_ReadRX64Packet (XBeePacket *xbp, uint64 *srcAddress, uint8 *sigstrength, uint8 *options, uint8 **data, uint8 *datalength)
Unpack the info from an incoming packet with a 64-bit address.
bool XBee_ReadIO16Packet (XBeePacket *xbp, uint16 *srcAddress, uint8 *sigstrength, uint8 *options, int *samples)
Unpack the info from an incoming IO packet with a 16-bit address.
bool XBee_ReadIO64Packet (XBeePacket *xbp, uint64 *srcAddress, uint8 *sigstrength, uint8 *options, int *samples)
Unpack the info from an incoming IO packet with a 64-bit address.
bool XBee_ReadAtResponsePacket (XBeePacket *xbp, uint8 *frameID, char **command, uint8 *status, uint8 **data)
Unpack the info from an incoming AT Command Response packet.
bool XBee_ReadTXStatusPacket (XBeePacket *xbp, uint8 *frameID, uint8 *status)
Unpack the info from TX Status packet.
void XBeeConfig_WriteStateToMemory (void)
Save the configuration changes you've made on the module to memory.
void XBeeConfig_SetAddress (uint16 address)
Set this module's address.
int XBeeConfig_RequestAddress ()
Query the address of the module.
void XBeeConfig_SetPanID (uint16 id)
Set this PAN (Personal Area Network) ID.
int XBeeConfig_RequestPanID ()
Query the PAN ID of the module.
void XBeeConfig_SetChannel (uint8 channel)
Set the module's channel.
int XBeeConfig_RequestChannel ()
Query the channel of the module.
void XBeeConfig_SetSampleRate (uint16 rate)
Set the rate at which the module will sample its IO pins.
int XBeeConfig_RequestSampleRate ()
Query the sample rate of the module.
void XBee_IntToBigEndianArray (int value, uint8 *array)
Convert a 32-bit integer into a big endian array of 4 unsigned 8-bit integers.
--------------------------------------------------------------------------------
Detailed Description
Communicate with XBee (Zigbee) wireless modules via the Make Controller's serial port.
XBee modules from MaxStream are small, cheap ($19 each), wireless RF (radio frequency) modules that can easily be used with the Make Controller Kit to create projects that require wireless communication. Check http://www.maxstream.net/products/xbee/xbee-oem-rf-module-zigbee.php for more info.
Overview
XBee modules are ZigBee/IEEE 802.15.4 compliant and can operate in several modes:
Transparent serial port. Messages in one side magically end up at the other endpoint. Great for enabling wireless communication between 2 Make Controllers.
AT command mode. Send traditional AT commands to configure the module itself (as opposed to having the data go straight through via serial mode.
Packet (API) mode. Lower level communication that doesn't have to wait for the module to be in AT command mode. Check the XBee Packet Types for a description of how these packets are laid out. Be sure to call XBeeConfig_SetPacketApiMode before trying to do anything in this mode.
The general idea is that you have one XBee module connected directly to your Make Controller Kit, and then any number of other XBee modules that can communicate with it in order to get information to and from the Make Controller. Or, several Make Controllers can each have an XBee module connected in order to communicate wirelessly among themselves.
XBee modules also have some digital and analog I/O right on them, which means you can directly connect sensors to the XBee modules which will both read the values and send them wirelessly. Check the XBee doc for the appropriate commands to send in order to set this up.
API
The Make Controller API for working with the XBee modules makes use of the XBee Packet API. If you simply want to make use of the transparent serial port functionality, you don't need to deal with any of this - simply hook up the module to your Make Controller and start reading and writing over the serial port.
The XBee Packet API allows for much more flexible and powerful communication with the modules. It uses AT commands to configure the XBee module itself, and then a handful of Zigbee specified packet types can be sent and received. See XBee Packet Types for details on these packet types.
The XBeeConfig_ functions are convenient wrappers around some of the most common AT commands you might want to send. For any of the other AT commands, check the XBee documentation and create them using XBee_CreateATCommandPacket( ). These will always be send to the XBee module attached to the Make Controller. The XBee_ functions deal with sending and receiving messages to other XBee modules not connected to the Make Controller.
--------------------------------------------------------------------------------
Function Documentation
void XBee_CreateATCommandPacket ( XBeePacket * packet,
uint8 frameID,
char * cmd,
uint8 * params,
uint8 datalength
)
A convenience function for creating an AT command packet.
As per the XBee spec, AT Command packets that want to set/write a value must have 4 bytes of data. Packets that query the value of an AT parameter send 0 bytes of data. Note that multi-byte data must be sent big-endian (most significant byte first) - see XBee_IntToBigEndianArray( ).
Make sure you're in API mode before creating & sending packets - see XBeeConfig_SetPacketApiMode( ). See the XBee documentation for the official list of AT commands that the XBee modules understand.
Parameters:
packet The XBeePacket to create.
frameID The frame ID for this packet that subsequent response/status messages can refer to.
cmd The 2-character AT command.
params A pointer to the buffer containing the data to be sent.
datalength The number of bytes to send from the params buffer.
Returns:
An integer specifying the active state - 1 (active) or 0 (inactive).
Example - Writing
XBeePacket txPacket;
uint8 params[4];
XBee_IntToBigEndianArray( 1000, params ); // set our sampling rate to 1000
XBee_CreateATCommandPacket( &txPacket, 0, "IR", ¶ms, 4 ); // set the sampling rate of the IO pins
XBee_SendPacket( &txPacket, 4 );
Example - Reading
XBeePacket txPacket;
XBee_CreateATCommandPacket( &txPacket, 0, "IR", NULL, 0 ); // query the sampling rate of the IO pins
XBee_SendPacket( &txPacket, 0 );
// then we'll receive a response packet
Definition at line 384 of file xbee.c.
bool XBee_CreateTX16Packet ( XBeePacket * xbp,
uint8 frameID,
uint16 destination,
uint8 options,
uint8 * data,
uint8 datalength
)
Create a packet to be transmitted with a 16-bit address.
If the frameID is 0, you won't receive a TX Status message in response.
Parameters:
xbp The XBeePacket to create.
frameID The frame ID for this packet that subsequent response/status messages can refer to.
destination The destination address for this packet.
options The XBee options for this packet (0 if none).
data A pointer to the data to be sent in this packet.
datalength The number of bytes of data to be sent.
Returns:
True on success, false on failure.
Example
XBeePacket txPacket;
uint8 data[] = "ABC";
XBee_CreateTX16Packet( &txPacket, 0x52, 0, 0, data, 3 );
XBee_SendPacket( &txPacket, 3 );
Definition at line 492 of file xbee.c.
bool XBee_CreateTX64Packet ( XBeePacket * xbp,
uint8 frameID,
uint64 destination,
uint8 options,
uint8 * data,
uint8 datalength
)
Create a packet to be transmitted with a 64-bit address.
Parameters:
xbp The XBeePacket to create.
frameID The frame ID for this packet that subsequent response/status messages can refer to.
destination The destination address for this packet.
options The XBee options for this packet (0 if none).
data A pointer to the data to be sent in this packet.
datalength The number of bytes of data to be sent.
Returns:
True on success, false on failure.
Example
XBeePacket txPacket;
uint8 data[] = "ABCDE";
XBee_CreateTX16Packet( &txPacket, 0, 0, 0, data, 5 );
XBee_SendPacket( &txPacket, 5 );
Definition at line 525 of file xbee.c.
int XBee_GetActive ( void )
Read the active state of the XBee subsystem.
Returns:
An integer specifying the active state - 1 (active) or 0 (inactive).
Definition at line 121 of file xbee.c.
int XBee_GetPacket ( XBeePacket * packet,
int timeout
)
Receive an incoming XBee packet.
A single call to this will continue to read from the serial port as long as there are characters to read or until it times out. If a packet has not been completely received, call it repeatedly with the same packet.
Clear out a packet before reading into it with a call to XBee_ResetPacket( )
Parameters:
packet The XBeePacket to receive into.
timeout The number of milliseconds to wait for a packet to arrive. Set this to 0 to return as soon as there are no characters left to process.
Returns:
1 if a complete packet has been received, 0 if not.
See also:
XBeeConfig_SetPacketApiMode( )
Example
// we're inside a task here...
XBeePacket myPacket;
XBee_ResetPacket( &myPacket );
while( 1 )
{
if( XBee_GetPacket( &myPacket, 100 ) )
{
// process the new packet
XBee_ResetPacket( &myPacket ); // then clear it out before reading again
}
Sleep( 10 );
}
Definition at line 155 of file xbee.c.
void XBee_IntToBigEndianArray ( int value,
uint8 * array
)
Convert a 32-bit integer into a big endian array of 4 unsigned 8-bit integers.
This is mostly useful for sending AT Command packets.
Parameters:
value The value to convert.
array An array of 4 unsigned 8-bit integers (uint8). Be sure you have 4.
Example
see XBee_CreateATCommandPacket( ) for an example.
Definition at line 1059 of file xbee.c.
bool XBee_ReadAtResponsePacket ( XBeePacket * xbp,
uint8 * frameID,
char ** command,
uint8 * status,
uint8 ** data
)
Unpack the info from an incoming AT Command Response packet.
In response to a previous AT Command message, the module will send an AT Command Response message.
Pass NULL into any of the parameters you don't care about.
Parameters:
xbp The XBeePacket to read from.
frameID A pointer to a uint64 that will be filled up with the 16-bit address of this packet.
command A pointer to a uint8 that will be filled up with the signal strength of this packet.
status A pointer to a uint8 that will be filled up with the XBee options for this packet.
data A pointer that will be set to the data of this packet.
Returns:
True on success, false on failure.
Example
XBeePacket rxPacket;
if( XBee_GetPacket( &rxPacket, 0 ) )
{
uint8 frameID;
char* command;
uint8 status;
uint8* data;
if( XBee_ReadAtResponsePacket( &rxPacket, &frameID, command, &status, &data ) )
{
// then process the new packet here
XBee_ResetPacket( &rxPacket ); // and clear it out before reading again
}
}
Definition at line 782 of file xbee.c.
bool XBee_ReadIO16Packet ( XBeePacket * xbp,
uint16 * srcAddress,
uint8 * sigstrength,
uint8 * options,
int * samples
)
Unpack the info from an incoming IO packet with a 16-bit address.
When an XBee module has been given a sample rate, it will sample its IO pins according to their current configuration and send an IO packet with the sample data. This function will extract the sample info into an array of ints for you. There are 9 IO pins on the XBee modules, so be sure that the array you pass in has room for 9 ints.
Pass NULL into any of the parameters you don't care about.
Parameters:
xbp The XBeePacket to read from.
srcAddress A pointer to a uint16 that will be filled up with the 16-bit address of this packet.
sigstrength A pointer to a uint8 that will be filled up with the signal strength of this packet.
options A pointer to a uint8 that will be filled up with the XBee options for this packet.
samples A pointer to an array of ints that will be filled up with the sample values from this packet.
Returns:
True on success, false on failure.
See also:
XBeeConfig_SetSampleRate( ), XBeeConfig_SetIOs( )
Example
XBeePacket rxPacket;
if( XBee_GetPacket( &rxPacket, 0 ) )
{
uint16 src;
uint8 sigstrength;
int samples[9];
if( XBee_ReadIO16Packet( &rxPacket, &src, &sigstrength, NULL, samples ) )
{
// then process the new packet here
XBee_ResetPacket( &rxPacket ); // and clear it out before reading again
}
}
Definition at line 675 of file xbee.c.
bool XBee_ReadIO64Packet ( XBeePacket * xbp,
uint64 * srcAddress,
uint8 * sigstrength,
uint8 * options,
int * samples
)
Unpack the info from an incoming IO packet with a 64-bit address.
When an XBee module has been given a sample rate, it will sample its IO pins according to their current configuration and send an IO packet with the sample data. This function will extract the sample info into an array of ints for you. There are 9 IO pins on the XBee modules, so be sure that the array you pass in has room for 9 ints.
Pass NULL into any of the parameters you don't care about.
Parameters:
xbp The XBeePacket to read from.
srcAddress A pointer to a uint64 that will be filled up with the 16-bit address of this packet.
sigstrength A pointer to a uint8 that will be filled up with the signal strength of this packet.
options A pointer to a uint8 that will be filled up with the XBee options for this packet.
samples A pointer to an array of ints that will be filled up with the sample values from this packet.
Returns:
True on success, false on failure.
See also:
XBeeConfig_SetSampleRate( ), XBeeConfig_SetIOs( )
Example
XBeePacket rxPacket;
if( XBee_GetPacket( &rxPacket, 0 ) )
{
uint64 src;
uint8 sigstrength;
int samples[9];
if( XBee_ReadIO16Packet( &rxPacket, &src, &sigstrength, NULL, samples ) )
{
// then process the new packet here
XBee_ResetPacket( &rxPacket ); // and clear it out before reading again
}
}
Definition at line 728 of file xbee.c.
bool XBee_ReadRX16Packet ( XBeePacket * xbp,
uint16 * srcAddress,
uint8 * sigstrength,
uint8 * options,
uint8 ** data,
uint8 * datalength
)
Unpack the info from an incoming packet with a 16-bit address.
Pass NULL into any of the parameters you don't care about.
Parameters:
xbp The XBeePacket to read from.
srcAddress The 16-bit address of this packet.
sigstrength The signal strength of this packet.
options The XBee options for this packet.
data A pointer that will be set to the data of this packet.
datalength The length of data in this packet.
Returns:
True on success, false on failure.
Example
XBeePacket rxPacket;
if( XBee_GetPacket( &rxPacket, 0 ) )
{
uint16 src;
uint8 sigstrength;
uint8* data;
uint8 datalength;
if( XBee_ReadRX16Packet( &rxPacket, &src, &sigstrength, NULL, &data, &datalength ) )
{
// then process the new packet here
XBee_ResetPacket( &rxPacket ); // and clear it out before reading again
}
}
Definition at line 569 of file xbee.c.
bool XBee_ReadRX64Packet ( XBeePacket * xbp,
uint64 * srcAddress,
uint8 * sigstrength,
uint8 * options,
uint8 ** data,
uint8 * datalength
)
Unpack the info from an incoming packet with a 64-bit address.
Pass NULL into any of the parameters you don't care about.
Parameters:
xbp The XBeePacket to read from.
srcAddress The 64-bit address of this packet.
sigstrength The signal strength of this packet.
options The XBee options for this packet.
data A pointer that will be set to the data of this packet.
datalength The length of data in this packet.
Returns:
True on success, false on failure.
Example
XBeePacket rxPacket;
if( XBee_GetPacket( &rxPacket, 0 ) )
{
uint64 src;
uint8 sigstrength;
uint8* data;
uint8 datalength;
if( XBee_ReadRX64Packet( &rxPacket, &src, &sigstrength, NULL, &data, &datalength ) )
{
// then process the new packet here
XBee_ResetPacket( &rxPacket ); // and clear it out before reading again
}
}
Definition at line 619 of file xbee.c.
bool XBee_ReadTXStatusPacket ( XBeePacket * xbp,
uint8 * frameID,
uint8 * status
)
Unpack the info from TX Status packet.
When a TX is completed, the modules esnds a TX Status message. This indicates whether the packet was transmitted successfully or not. If the message you sent had a frameID of 0, a TX status message will not be generated.
Pass NULL into any of the parameters you don't care about.
Parameters:
xbp The XBeePacket to read from.
frameID A pointer to a uint8 that will be filled up with the frame ID of this packet.
status A pointer to a uint8 that will be filled up with the status of this packet.
Returns:
True on success, false on failure.
Example
XBeePacket rxPacket;
if( XBee_GetPacket( &rxPacket, 0 ) )
{
uint8 frameID;
uint8 status;
if( XBee_ReadTXStatusPacket( &rxPacket, &frameID, &status ) )
{
// then process the new packet here
XBee_ResetPacket( &rxPacket ); // and clear it out before reading again
}
}
Definition at line 823 of file xbee.c.
void XBee_ResetPacket ( XBeePacket * packet )
Initialize a packet before reading into it.
Parameters:
packet The XBeePacket to initialize.
See also:
XBee_GetPacket( )
Definition at line 274 of file xbee.c.
int XBee_SendPacket ( XBeePacket * packet,
int datalength
)
Send an XBee packet.
Use the following functions to create packets to be sent:
XBee_CreateTX16Packet( ) - create a data packet to be sent out wirelessly with a 16-bit address
XBee_CreateTX64Packet( ) - create a data packet to be sent out wirelessly with a 64-bit address
XBee_CreateATCommandPacket( ) - create an AT command to configure an attached XBee module
Parameters:
packet The XBeePacket to send.
datalength The length of the actual data being sent (not including headers, options, etc.)
Returns:
Zero on success.
See also:
XBeeConfig_SetPacketApiMode( )
Example
XBeePacket txPacket;
uint8 data[] = "ABC"; // 3 bytes of data
XBee_CreateTX16Packet( &txPacket, 0, 0, 0, data, 3 );
XBee_SendPacket( &txPacket, 3 );
Definition at line 232 of file xbee.c.
int XBee_SetActive ( int state )
Controls the active state of the XBee subsystem.
Parameters:
state Whether this subsystem is active or not
Returns:
Zero on success.
Definition at line 88 of file xbee.c.
int XBeeConfig_RequestAddress ( void )
Query the address of the module.
This will block for up to a 1/2 second waiting for a response from the XBee module.
Returns:
An integer corresponding to the address of the module, or negative number on failure.
Example
int address = XBeeConfig_RequestAddress( );
if( address >= 0 )
{
// then we have our address
}
Definition at line 897 of file xbee.c.
int XBeeConfig_RequestATResponse ( char * cmd )
Query the address of the module.
This will block for up to a 1/2 second waiting for a response from the XBee module.
Returns:
An integer corresponding to the address of the module, or negative number on failure.
Example
int address = XBeeConfig_RequestAddress( );
if( address >= 0 )
{
// then we have our address
}
Definition at line 410 of file xbee.c.
int XBeeConfig_RequestChannel ( void )
Query the channel of the module.
This will block for up to a 1/2 second waiting for a response from the XBee module.
Returns:
An integer corresponding to the channel of the module, or negative number on failure.
Example
int chan = XBeeConfig_RequestChannel( );
if( chan >= 0 )
{
// then we have our channel
}
Definition at line 994 of file xbee.c.
int XBeeConfig_RequestIO ( int pin )
Query the configuration of an IO pin.
See XBeeConfig_SetIO( ) for the possible return values. This will block for up to a 1/2 second waiting for a response from the XBee module.
Returns:
An integer corresponding to the config of the requested pin, or negative number on failure.
Example
int pin = XBeeConfig_RequestIO( 0 ); // request the configuration of pin 0
if( pin >= 0 )
{
// then we have our pin config
}
Definition at line 462 of file xbee.c.
int XBeeConfig_RequestPacketApiMode ( void )
Query whether the module is in API mode.
This will block for up to a 1/2 second waiting for a response from the XBee module.
Returns:
0 if off, 1 if enabled, 2 if enabled with escape characters.
Example
int mode = XBeeConfig_RequestPacketApiMode( );
if( mode >= 0 )
{
// then we have our mode
}
Definition at line 344 of file xbee.c.
int XBeeConfig_RequestPanID ( void )
Query the PAN ID of the module.
This will block for up to a 1/2 second waiting for a response from the XBee module.
Returns:
An integer corresponding to the PAN ID of the module, or negative number on failure.
Example
int panid = XBeeConfig_RequestPanID( );
if( panid >= 0 )
{
// then we have our pan id
}
Definition at line 944 of file xbee.c.
int XBeeConfig_RequestSampleRate ( void )
Query the sample rate of the module.
This will block for up to a 1/2 second waiting for a response from the XBee module.
Returns:
An integer corresponding to the sample rate of the module, or negative number on failure.
Example
int rate = XBeeConfig_RequestSampleRate( );
if( rate >= 0 )
{
// then we have our rate
}
Definition at line 1042 of file xbee.c.
void XBeeConfig_SetAddress ( uint16 address )
Set this module's address.
As with the other XBeeConfig functions, make sure you're in API mode before trying to use this function.
Parameters:
address An integer specifying the module's address.
Returns:
True on success, false on failure.
See also:
XBeeConfig_SetPacketApiMode( )
Example
XBeeConfig_SetPacketApiMode( );
XBeeConfig_SetAddress( 100 );
XBeeConfig_WriteStateToMemory( );
Definition at line 874 of file xbee.c.
void XBeeConfig_SetChannel ( uint8 channel )
Set the module's channel.
The channel is one of 3 addressing options available to the module - the others are the PAN ID and the destination address. In order for modules to communicate with each other, the modules must share the same channel number. Default is 0x0C.
This value can have the range 0x0B - 0x1A for XBee modules, and 0x0C - 0x17 for XBee-Pro modules.
As with the other XBeeConfig functions, make sure you're in API mode before trying to use this function.
Parameters:
channel A uint8 specifying the channel.
Returns:
True on success, false on failure.
See also:
XBeeConfig_SetPacketApiMode( )
Example
XBeeConfig_SetPacketApiMode( );
XBeeConfig_SetChannel( 0x0D );
Definition at line 971 of file xbee.c.
void XBeeConfig_SetIO ( int pin,
int value
)
Configure the IO settings on an XBee module.
IO pins can have one of 5 values:
XBEE_IO_DISABLED
XBEE_IO_ANALOGIN - Analog input (10-bit)
XBEE_IO_DIGITALIN - Digital input
XBEE_IO_DIGOUT_HIGH - Digital out high
XBEE_IO_DIGOUT_LOW - Digital out low
Parameters:
pin An integer specifying which pin to configure. There are 9 IO pins (numbered 0-8) on the XBee modules. Only channels 0-7 can be analog inputs - channel 8 can only operate as a digital in or out.
value An int specifying the behavior of this pin (options shown above).
Example
// set channel 0 to analog in
XBeeConfig_SetIO( 0, XBEE_IO_ANALOGIN );
Definition at line 435 of file xbee.c.
void XBeeConfig_SetPacketApiMode ( int value )
Set a module into packet API mode.
XBee modules are in transparent serial port mode by default. This allows you to work with them via the packet API.
When setting this on, the XBee module needs to wait 1 second after sending the command sequence before it's ready to receive any AT commands - this function will block for that amount of time. Once you turn it off, you won't get any responses to packets you send the module until you turn packet mode on again.
Parameters:
value 1 to turn packet mode on, 0 to turn it off.
Example
MyTask( void * p )
{
XBeeConfig_SetPacketApiMode( 1 ); // initialize the module to be in API mode
while( 1 )
{
// your task here.
}
}
Definition at line 306 of file xbee.c.
void XBeeConfig_SetPanID ( uint16 id )
Set this PAN (Personal Area Network) ID.
Only modules with matching PAN IDs can communicate with each other. Unique PAN IDs enable control of which RF packets are received by a module. Default is 0x3332.
As with the other XBeeConfig functions, make sure you're in API mode before trying to use this function.
Parameters:
id A uint16 specifying the PAN ID.
Returns:
True on success, false on failure.
See also:
XBeeConfig_SetPacketApiMode( )
Example
XBeeConfig_SetPacketApiMode( );
XBeeConfig_SetPanID( 0x1234 );
Definition at line 921 of file xbee.c.
void XBeeConfig_SetSampleRate ( uint16 rate )
Set the rate at which the module will sample its IO pins.
When the sample rate is set, the module will sample all its IO pins according to its current IO configuration and send a packet with the sample data. If this is set too low and the IO configuration is sampling too many channels, the RF module won't be able to keep up. You can also adjust how many samples are gathered before a packet is sent.
As with the other XBeeConfig functions, make sure you're in API mode before trying to use this function.
Parameters:
rate A uint16 specifying the sample rate in milliseconds.
Returns:
True on success, false on failure.
See also:
XBeeConfig_SetIOs( ), XBeeConfig_SetPacketApiMode( )
Example
XBeeConfig_SetPacketApiMode( );
XBeeConfig_SetSampleRate( 0x14 );
Definition at line 1019 of file xbee.c.
void XBeeConfig_WriteStateToMemory ( void )
Save the configuration changes you've made on the module to memory.
When you make configuration changes - setting the module to API mode, or configuring the sample rate, for example - those changes will be lost when the module restarts. Call this function to save the current state to non-volatile memory.
As with the other XBeeConfig functions, make sure you're in API mode before trying to use this function.
Returns:
True on success, false on failure.
See also:
XBeeConfig_SetPacketApiMode( )
Example
XBeeConfig_SetPacketApiMode( );
XBeeConfig_SetSampleRate( 100 );
XBeeConfig_WriteStateToMemory( );
Definition at line 850 of file xbee.c. |
|