sh123 2021-02-09 14:22:00 +02:00
commit af8af27d6a
1 zmienionych plików z 10 dodań i 8 usunięć

Wyświetl plik

@ -139,16 +139,12 @@ It is possible to use modem **in client mode** with other generic Linux AX25/APR
- Also, it might be useful to disable CRC check for LoRa packets with `cfg.LoraEnableCrc` parameter equal to `false`. Some broken bits in one speech frame will cause audio being scrambled, it might be better then longer gap when complete packet is dropped.
# KISS command extensions
When `EnableKissExtensions` configuration parameter is set to `true` modem will send signal level reports through KISS command `0x30` and client application will be able to control modem by using KISS command `0x10`, this way client application (such as [Codec2 Walkie-Talkie](https://github.com/sh123/codec2_talkie)) can display signal levels and change modem parameters dynamically.
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 are sent and expected as big endian and defined as:
Payloads for commands are sent and expected as big endian and defined as:
```
struct LoraSignalLevelEvent {
int16_t rssi;
int16_t snr;
} __attribute__((packed));
struct LoraControlCommand {
// KISS SetHardware 6
struct SetHardware {
uint32_t freq;
uint32_t bw;
uint16_t sf;
@ -157,6 +153,12 @@ Payloads are sent and expected as big endian and defined as:
uint16_t sync;
uint8_t crc;
} __attribute__((packed));
// KISS command 7
struct SignalReport {
int16_t rssi;
int16_t snr; // snr * 100
} __attribute__((packed));
```
# Test Results