How to know whether a MCU/Board supports LwMAC ?

Hi,

I was reading about LwMAC here ttps://riot-os.org/api/group__net__gnrc__lwmac.html.

Also reading the readme file of the gnrc_networking_mac example I noted that it states that currently it should work only on samr21-xpro board.

I'm wondering... which features should I search for in MCU/Boards in order to work with this module?

thanks,

Chris

Hi, Chris,

Also reading the readme file of the gnrc_networking_mac example I noted that it states that currently it should work only on samr21-xpro board.

Yes, since LwMAC has only been evaluated on samr21-xpro before, so to be secure, the developers (me and Daniel-krebs) stated that it currently only works with samr21-xpro.

I'm wondering... which features should I search for in MCU/Boards in order to work with this module?

Basically, the current version of LwMAC requires RTT (real-time timer) for supporting its low-duty cycling scheme. So, if you want to run (the current version in RIOT) LwMAC, you need RTT on your board (also with a frequency no less than 1k Hz of the RTT). :wink: And, that is it! Since LwMAC was developed with the general netdev (radio) APIs, you shouldn't need other (very specific) features for running LwMAC. (But, notice that, you radio driver should also have RX-start, RX-complete and TX-end interrupt events.)

PS: I have recently tested LwMAC on iotlab-m3 nodes (with some modifications on RTT and some timer APIs, cheat/bypass the compiler), and it works (with unicast and bcast). (But, principally, LwMAC currently don't support iotlab-m3, since iotlab-m3 has a RTT of only 1Hz, don't try it yourself).

On the other hand, we are on the way to make LwMAC more generic (support more boards), there are already some PRs about it. We will try to replace the timer source module (i.e., RTT) with the more general evtimer module (CPU timer). In short, after this work has been done (maybe in recent months), you will not even need RTT for running LwMAC. (actually, it will be like in an optional way, if the board has RTT, then use it; otherwise use evtimer).

Cheers! Shuguo

Hi Shuguo Zhuo,

The board that I'm working with has RTC support but do not support RTT.

Looking forward for the generic LwMac :wink:

thanks for the information.

Chris