[riot-notifications] [RIOT-OS/RIOT] RDM: The 802.15.4 Radio HAL (#13943)

José Alamos notifications at github.com
Mon May 25 17:42:49 CEST 2020

> The "software ISR" (for SPI radios) is similar to the current "BH processor" and can be implemented on top of the HAL?

They don't represent exactly the same thing. Usually the Top-Bottom Halves pattern state that fast operations that can be run on ISR context are executed there (Top Half). The rest is offloaded to a thread (Bottom Half). For SoC radios, the Top Half runs the few lines that detect which state already occurred (TX_DONE, RX_DONE, etc) and then the Bottom Half executes whatever operations are required (fetch packet from radio, etc).

Since we cannot execute SPI instructions during ISR, we need to offload the "Top Half" task to thread context. This is what I mean with "Software ISR". NB if at some point we add an SPI API that works during ISR (e.g async SPI), we would be able to execute the Top Half part there.

> In case a radio needs a Bottom Half Processor, the "irq_handler" should still probably be fast enough in most cases to handle other events from other devices.

This is an implementation detail. There are high changes there's a single "event" thread that acts as Bottom Half processor for radios and other components too (MAC layers, etc). So, we wouldn't like to have blocking functions there (e.g fetching a packet).

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...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20200525/6a557174/attachment.htm>

More information about the notifications mailing list