deki-lora sends and receives LoRa packets through a Semtech SX1262, the radio
on the LilyGO T-Deck Plus and most of the current LoRa modules. Put
SX1262LoRaComponent in the boot scene with the radio’s pins; game code finds
it through DekiLoRa::GetCurrent(), calls Send(), and takes what arrived
from Receive(), with its RSSI and SNR.
The radio listens whenever it is not sending. It can share an SPI bus the display already uses, as on the T-Deck, and with its interrupt line (DIO1) wired it only touches that bus when it has something to say, so a frame on its way to the display is never held up by a radio with nothing to report.
The duty cycle is enforced, not documented: 1% by default, Europe’s rule for
868 MHz, worked out from each packet’s time on air. A Send() that would go
over it is refused, and MillisecondsUntilCanSend() says how long to wait.
Frequency, power, spreading factor, bandwidth and coding rate are all
properties; set them for the band where the device will be used, such as
915 MHz in the Americas.
ESP-IDF only for now. The source and its README are on GitHub.
