📄 rf_library.h
字号:
/** \page page_cc2511_rf_library CC2511 RF Library
* \brief Simple radio framework intended to be used between CC2511 USB Dongle and CC2510 external devices.
*
* This RF framework will set up the radio and provide simple framework for
* binding one or multiple CC2510 external devices to a CC2511 USB Dongle, and transferring data between the devices. \n
*
* The framework:
* \li Use acknowledge messages and sequence bit for guarantied lossless, error free data transfer.
* \li Is completely interrupt driven and has a set of hooks / callback functions that notify the main
* application when data is received or another RF event occurs.
* \li Use a 32 bit addresses to identify the different devices. (24 bit network address and 8 bit node address)
* \li Addresses are distributed by the CC2511 USB Dongle when a CC2510 remote unit send a bind request to it.
* \li Have kiss-binding, e.g. will only bind to devices close to the CC2511 USB Dongle. No need for a button on the dongle.
* \li Power saving on the remote devices is easily implemented.
*
* Only communication between one or multiple CC2510 remote device(s) and a CC2511 USB Dongle is supported.
* Communication between CC2510 remote devices is not supported.
*
* The framework leave the CC2511 USB Dongle in RX all the time, only replying to messages from the other devices.
* While the remote devices initiates all the communication. This makes it easy to save power on the remote unit. \n
* This is done under the assumption that the dongle, which is connected to a PC has an "unlimited" power supply,
* while the remote unit may be battery powered.
*
* The packet format is fixed, and the same for all packets. See figure below \image html Packet_format.gif
* The different byte fields are defined in the \c RF_PACKET struct.
*
* The RF framework will require exclusive use of the following resources on the CC2510 / CC2511.
* \li DMA channel 0.
* \li Timer 2 and the Timer 2 interrupt.
* \li Radio and the RF interrupt.
* \li The CLKCON.TICKSPD must not be changed after initializing the RF modules.
*
* None of the interrupts in the RF framework are time critical, if they are delayed nothing will crash.
* However if interrupts are delayed packets may be lost and have to be retransmitted, resulting in a lower throughput.
*
* The RF framework consists of two modules:
* \li RF USB Dongle protocol for CC2511 (rfud), this module should be implemented on the CC2511 USB Dongle.
* \li RF Remote Unit protocol for CC2510 (rfru), this module should be implemented on the CC2510 external device
*
* To use the framework:
* \li On the CC2510 see \ref module_rfru "RF Remote Unit protocol for CC2510 (rfru)".
* \li On the CC2511 USB Dongle see \ref module_rfud "RF USB Dongle protocol for CC2511 (rfud)".
* @{
* @}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -