From b8867d3f27d2183d729f8ba098d357670116b9cd Mon Sep 17 00:00:00 2001 From: sh123 Date: Mon, 8 Feb 2021 20:37:08 +0200 Subject: [PATCH] Update README.md --- README.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b34d823..730923a 100644 --- a/README.md +++ b/README.md @@ -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