Created Modem control using KISS protocol extension (markdown)

master
sh123 2021-10-15 17:25:22 +03:00
rodzic 46797b475f
commit 600b940fad
1 zmienionych plików z 25 dodań i 0 usunięć

@ -0,0 +1,25 @@
When `EnableKissExtensions` configuration parameter is set to `true` modem will be able to handle SetHardware KISS command 6 for setting modem parameters and will send event about signal level with KISS command 7, both are operating on KISS port 0. This way client application (such as [Codec2 Walkie-Talkie](https://github.com/sh123/codec2_talkie)) can display signal levels and change modem parameters dynamically.
Payloads for commands are sent and expected as big endian and defined as:
```
// KISS SetHardware 6
struct SetHardware {
uint32_t freq;
uint32_t bw;
uint16_t sf;
uint16_t cr;
uint16_t pwr;
uint16_t sync;
uint8_t crc;
} __attribute__((packed));
// KISS command 7
struct SignalReport {
int16_t rssi;
int16_t snr; // snr * 100
} __attribute__((packed));
// KISS command 8
struct Reboot {
} __attribute__((packed));
```