RIOT adaption of the "radio" bsp module definitions. More...
RIOT adaption of the "radio" bsp module definitions.
The radio adaptation runs in an own thread with the highest priority (THREAD_PRIORITY_MAIN - 4
) and maps to RIOT's netdev
API.
Hardware MAC layer features such as CSMA/CA, ACK handling and retransmissions are handled by OpenWSN, so the radio driver must support disabling AUTOACK and CSMA handling by the hardware. Frame filtering must as well be disabled.
The radio adaptation preloads the buffer so NETOPT_PRELOADING
must be supported.
OpenWSN needs to be notified when a frame reception/transmission stats and when it ends. Therefore radio drivers need to support the following netdev events:
- `NETDEV_EVENT_RX_STARTED` - `NETDEV_EVENT_TX_STARTED` - `NETDEV_EVENT_RX_COMPLETE` - `NETDEV_EVENT_TX_COMPLETE`
OpenWSN expects to recover crc information on every received frame even if it will simply drop frames with invalid crc. The stack can function correctly if radio drivers automatically drop frames with an invalid crc (i.e. the stack doesn't get notified about these frames), but it might print the following error if using openwsn_serial
:
[IEEE802154E] wdDataDuration overflows while at state 19 in slotOffset 0
Definition in file openwsn_radio.h.
Go to the source code of this file.
Data Structures | |
struct | openwsn_radio_t |
OpenWSN radio variables structure. More... | |
int | openwsn_radio_init (void *radio_dev) |
Initialize OpenWSN radio. | |
int openwsn_radio_init | ( | void * | radio_dev | ) |
Initialize OpenWSN radio.
[in] | radio_dev | pointer to a dev interface |