deki-lora는 LilyGO T-Deck Plus와 현재 대부분의 LoRa 모듈에 들어 있는 무선 칩인 Semtech SX1262를 통해 LoRa 패킷을 송수신합니다. 무선 칩의 핀과 함께 SX1262LoRaComponent를 부트 씬에 넣으면, 게임 코드는 DekiLoRa::GetCurrent()로 이를 찾아 Send()를 호출하고, 수신된 패킷을 RSSI 및 SNR과 함께 Receive()로 받습니다.
무선 칩은 송신하지 않을 때는 항상 수신 대기합니다. T-Deck처럼 디스플레이가 이미 사용하는 SPI 버스를 공유할 수 있으며, 인터럽트 라인(DIO1)이 연결되어 있으면 보낼 것이 있을 때만 그 버스를 사용합니다. 그래서 디스플레이로 가는 프레임이 보고할 것이 없는 무선 칩 때문에 지연되는 일은 없습니다.
듀티 사이클은 문서로만 안내하는 것이 아니라 실제로 강제됩니다. 기본값은 유럽의 868 MHz 규정인 1%이며, 각 패킷의 전파 시간(time on air)으로 계산합니다. 이를 초과하게 되는 Send()는 거부되며, MillisecondsUntilCanSend()가 얼마나 기다려야 하는지 알려 줍니다. 주파수, 출력, 확산 계수, 대역폭, 코딩 레이트는 모두 프로퍼티입니다. 아메리카 대륙의 915 MHz처럼, 장치를 사용할 지역의 대역에 맞게 설정하세요.
현재는 ESP-IDF 전용입니다. 소스와 README는 GitHub에 있습니다.
