2 KISS Extended API
sh123 edited this page 2023-03-15 16:07:56 +02:00

KISS command extensions are used for radio module control and signal report events on port 0, command for radio control is defined as 6 (KISS SetHardware) and signal report command as 7. Radio modules/modems can implement these commands, so they will be controllable from the application and application will be able to show signal levels on S-meter.

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 RebootModem {
  } __attribute__((packed));

  // KISS command 9
  struct Telemetry {
    int16_t batteryVoltage;
  } __attribute__((packed));