Skip to main content

Firmware Notes

This page collects some notes about the RF firmware, running on the EFR32FG23 chip on the board.

  • RAIL initialization fails with custom build system
    • This is because a LDMA transfer is set up, but something gets wonky with the initialization and the destination address mode is set to¬†decrement.
    • Most likely caused due to an ABI mismatch between the compiled RAIL library, and our code (or some headers?) compiled for the drivers, specifically the LDMA driver; current workaround is to monkeypatch the LDMA driver to never set the direction bits (thus completely ignoring the "broken" transfer struct)
  • Temperature sensor driver has cast to double
    • In TEMPDRV_GetTemp(), the 0.5 constant needs to have a f suffix to make it float, rather than double to compile with the enhanced warnings about upcasts