Define a standard API for radio transceivers' drivers #916
Labels
Type: enhancement
The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Type: question
The issue poses a question regarding usage of RIOT
It seems to me that having a standard API (i.e. an interface, or more precisely--since we're using C language--a
struct
of function pointers) that all drivers for radio transceivers have to comply to, would be a welcome addition.It would considerably ease the task of developing MAC/RDC protocols, that actually need to control directly radio transceivers for acceptable efficiency.
It should also simplify the interface with the 'transceiver' module, which currently uses message passing for control. The message passing method is elegant and flexible, but is quite RAM-hungry; on low-end devices (like MSP430, which only have some Kbytes of RAM) this could quickly become an issue, if we want to develop heavyweight applications (e.g. with many threads and especially their stack space) along with advanced radio communication (with MAC, routing and so on).
Most of these drivers already have a very similar set of "public" functions, so the adaptation shouldn't be long nor hard.
The text was updated successfully, but these errors were encountered: