Files
lorakiss/platformio.ini
Maze X 20b3aae1e3 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
2026-03-27 17:46:33 +01:00

85 lines
2.7 KiB
INI

; Root PlatformIO configuration for LoRa KISS modem (20 boards)
; Board-specific environments are in hardware/<vendor>/<board>/platformio.ini
; SoC shared settings are in soc/<soc>/platformio.ini
[platformio]
default_envs =
heltec_v3
rak_rak4631
heltec_v2
extra_configs =
soc/esp32/platformio.ini
soc/esp32s3/platformio.ini
soc/nrf52/platformio.ini
hardware/heltec/t114/platformio.ini
hardware/heltec/ct62/platformio.ini
hardware/heltec/e213/platformio.ini
hardware/heltec/e290/platformio.ini
hardware/heltec/mesh_solar/platformio.ini
hardware/heltec/t190/platformio.ini
hardware/heltec/tracker/platformio.ini
hardware/heltec/tracker_v2/platformio.ini
hardware/heltec/v2/platformio.ini
hardware/heltec/v3/platformio.ini
hardware/heltec/v4/platformio.ini
hardware/lilygo/t_beam_1w/platformio.ini
hardware/lilygo/t_beam_sx1262/platformio.ini
hardware/lilygo/t_beam_sx1276/platformio.ini
hardware/lilygo/t_beam_supreme/platformio.ini
hardware/seeed/xiao_s3_wio_sx1262/platformio.ini
hardware/rak/rak11310/platformio.ini
hardware/rak/rak3112/platformio.ini
hardware/rak/rak3401/platformio.ini
hardware/rak/rak3x72/platformio.ini
hardware/rak/rak4631/platformio.ini
; ------------------------------------------------------------------
; Base environment — all board envs extend this.
; Provides: RadioLib dependency, default LoRa parameters.
; ------------------------------------------------------------------
[env:base]
lib_deps =
jgromes/RadioLib@^6.6.0
monitor_speed = 115200
build_flags =
; Treat warnings as errors in our code, but not in third-party
-Wall -Werror -Wno-error=unused-function
; C99 for KISS implementation
-std=c99
; Default LoRa radio parameters — override per-board as needed
-DLORA_FREQ_KHZ=868000UL
-DLORA_BW_HZ=125000UL
-DLORA_SF=7
-DLORA_CR=5
-DLORA_POWER_DBM=14
-DLORA_SYNCWORD=0x12
; KISS serial baud rate
-DKISS_BAUD=115200
build_src_filter =
+<*>
-<main_simulator.cpp>
; ------------------------------------------------------------------
; Native test environment — run unit tests on host
; ------------------------------------------------------------------
[env:test]
platform = native
test_framework = googletest
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>