[riot-notifications] [RIOT-OS/RIOT] drivers/cc110x: Complete rewrite from scratch (#10340)
notifications at github.com
Thu Feb 7 12:55:55 CET 2019
> And I really wanted to avoid making this radio driver PR a dependency of such thing.
OK, the big question then is how to achieve this. I see the following options:
1) Declare that the driver is behaving correctly, as it does signal the current state using events. When the driver is asked to send a frame during TX, it correctly returns `-EBUSY`. It would be up to the use of the driver to either use the events to synchronize TX, or to try calling send again when `-EBUSY` was returned.
2) Add a workaround to the driver:
a) Waste at least 1KiB of RAM and put frames into a FIFO when TX is already in progress
b) Do some magic with thread flags which increases complexity and ROM size, while reducing readability of the code
c) Block when send is called during TX, disable interrupts for the GDO pins, poll the GDO pins actively and call the ISR from that thread context on change of the GDO pins. This would waste CPU cycles and increase power consumption
Btw: https://github.com/RIOT-OS/RIOT/pull/10403 seems to indeed wait for TX to complete, but it seems to not handle ISR while TX is ongoing. If my observation is correct, this would not solve the issue at hand.
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the notifications