[riot-devel] Working with radio transceivers

Oleg Hahm oliver.hahm at inria.fr
Mon Mar 24 18:40:23 CET 2014


Hi Kévin!

> - there is currently no way to perform a quick check for the availability of
> radio medium ("Clear Channel Assessment");
Yes, that's only implemented as a part of the CC110X driver, (not the _ng
version), but is currently not part of the general interface.

> - working with the 'transceiver' module is done by sending and receiving
> messages to/from the corresponding thread (the one whose ID is stored in
> 'transceiver_pid'.
Correct. Or if you need a more abstract interface, use net_if. However, I
don't know how sensible it is to implement the MAC protocol on top of this
module.

Hauke, Martine, and me had recently some discussions about re-designing the
radio driver interface.

Currently the layout is like:

    -----------------------------
    |         Application       |
    |---------------------------|
    |                           |
    |        Network stack      |
    |      (e.g. UDP+6LoWPAN)   |
    |---------------------------|
    |           net_if          |
    |---------------------------|
    |         Transceiver       |
    |---------------------------|
    |        Radio driver       |
    |  (including MAC protocol) |
    -----------------------------

One option could be to totally omit the transceiver module and just specify a
common interface for every radio driver. Still, I would envision to have the
MAC protocol to implemented below the net_if module (directly as part of the
driver or stand-alone), since timings are crucial here.

Cheers,
Oleg
-- 
printk("%s: TDR is ga-ga (status %04x)\n", ...);
        linux-2.6.6/drivers/net/eexpress.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.riot-os.org/pipermail/devel/attachments/20140324/0b3ae4d4/attachment.sig>


More information about the devel mailing list