Add Python KISS client and integration test framework

- test/kiss_client.py: Full-featured KISS modem client library
  Supports all 14 config commands, KISS frame encoding/decoding,
  signal quality reporting, packet send/receive
  Can communicate over serial ports or file-like objects (stdin/stdout)

- test/test_integration.py: Integration test suite using kiss_client.py
  Tests radio configuration, parameter setting, KISS frame encoding/decoding
  Designed to run against modem or simulator
  Run with: python3 test/test_integration.py

- test/main_simulator.cpp: Hardware simulator scaffold for native platform
  Mocks SX126X radio with configurable state
  Communicates via stdin/stdout for easy testing
  Note: Full compilation requires Arduino.h mock (future work)

Verified: seeed_xiao_s3_wio_sx1262 and heltec_v3 still build without errors
This commit is contained in:
Maze X
2026-03-27 17:46:33 +01:00
parent 2924c8e792
commit 20b3aae1e3
4 changed files with 885 additions and 0 deletions

View File

@@ -59,6 +59,10 @@ build_flags =
; KISS serial baud rate
-DKISS_BAUD=115200
build_src_filter =
+<*>
-<main_simulator.cpp>
; ------------------------------------------------------------------
; Native test environment — run unit tests on host
; ------------------------------------------------------------------
@@ -69,3 +73,12 @@ test_build_src = yes
build_flags =
-std=c99
build_src_filter = +<*> -<main.cpp> -<radio.cpp>
; ------------------------------------------------------------------
; Native simulator environment — runs modem on host with stdio I/O
; ------------------------------------------------------------------
[env:native]
platform = native
build_flags =
-std=c99
build_src_filter = +<main_simulator.cpp>