A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/mcci-catena/arduino-lmic/issues/148 below:

GitHub ยท Where software is built

At present, there's a vestigial interrupt-handling configuration option. Comments in README.md indicate that it's configurable and not tested:

`#define LMIC_USE_INTERRUPTS` If defined, configures the library to use interrupts for detecting events from the transceiver. If left undefined, the library will poll for events from the transceiver. `LMIC_USE_INTERRUPTS` is not currently tested.

Commentary at https://github.com/mcci-catena/arduino-lmic#timing further discusses this, and suggests passing a timestamp from the ISR to the radio_irq_handler(). This is a really important point, especially when getting timing from the network (moving towards proper Class B support). We should do this by splitting radio_irq_handler() into two parts.

Note that in this code, the radio_irq_handler is really an event handler; the HAL is required to serialize it with any other calls into the LMIC.

void radio_irq_handler(void) {
    radio_irq_handler_v2(os_getTime());
}

void radio_irq_handler_v2(ostime_t now) {
   // body of existing handler after getting time.
}

Then HALs can migrate as they want to. The overhead from the extra subroutine call for old HALs is insignificant.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4