Browse Source

add kiss radio env to most of the variants

Rastislav Vysoky 3 months ago
parent
commit
5beef490a0
69 changed files with 586 additions and 220 deletions
  1. 4 1
      examples/kiss_modem/main.cpp
  2. 5 0
      variants/ebyte_eora_s3/platformio.ini
  3. 4 0
      variants/gat562_30s_mesh_kit/platformio.ini
  4. 5 0
      variants/gat562_mesh_evb_pro/platformio.ini
  5. 4 0
      variants/gat562_mesh_tracker_pro/platformio.ini
  6. 4 0
      variants/gat562_mesh_watch13/platformio.ini
  7. 5 0
      variants/generic-e22/platformio.ini
  8. 5 0
      variants/heltec_ct62/platformio.ini
  9. 5 0
      variants/heltec_e213/platformio.ini
  10. 5 0
      variants/heltec_e290/platformio.ini
  11. 6 1
      variants/heltec_mesh_solar/platformio.ini
  12. 7 2
      variants/heltec_t096/platformio.ini
  13. 6 6
      variants/heltec_t114/platformio.ini
  14. 5 0
      variants/heltec_t190/platformio.ini
  15. 5 0
      variants/heltec_tracker/platformio.ini
  16. 6 1
      variants/heltec_tracker_v2/platformio.ini
  17. 5 0
      variants/heltec_v2/platformio.ini
  18. 0 4
      variants/heltec_v3/platformio.ini
  19. 5 0
      variants/heltec_v4/platformio.ini
  20. 5 0
      variants/heltec_wireless_paper/platformio.ini
  21. 9 4
      variants/ikoka_handheld_nrf/platformio.ini
  22. 15 0
      variants/ikoka_nano_nrf/platformio.ini
  23. 15 0
      variants/ikoka_stick_nrf/platformio.ini
  24. 6 1
      variants/keepteen_lt1/platformio.ini
  25. 5 0
      variants/lilygo_t3s3/platformio.ini
  26. 6 1
      variants/lilygo_t3s3_sx1276/platformio.ini
  27. 5 0
      variants/lilygo_tbeam_1w/platformio.ini
  28. 5 0
      variants/lilygo_tbeam_SX1262/platformio.ini
  29. 5 0
      variants/lilygo_tbeam_SX1276/platformio.ini
  30. 5 0
      variants/lilygo_tbeam_supreme_SX1262/platformio.ini
  31. 7 3
      variants/lilygo_tdeck/platformio.ini
  32. 5 0
      variants/lilygo_techo/platformio.ini
  33. 5 0
      variants/lilygo_techo_lite/platformio.ini
  34. 5 0
      variants/lilygo_tlora_c6/platformio.ini
  35. 5 0
      variants/lilygo_tlora_v2_1/platformio.ini
  36. 5 0
      variants/m5stack_unit_c6l/platformio.ini
  37. 6 1
      variants/mesh_pocket/platformio.ini
  38. 20 18
      variants/meshadventurer/platformio.ini
  39. 5 0
      variants/meshtiny/platformio.ini
  40. 175 171
      variants/minewsemi_me25ls01/platformio.ini
  41. 5 0
      variants/muziworks_r1_neo/platformio.ini
  42. 5 0
      variants/nano_g2_ultra/platformio.ini
  43. 5 0
      variants/nibble_screen_connect/platformio.ini
  44. 5 0
      variants/promicro/platformio.ini
  45. 5 0
      variants/rak11310/platformio.ini
  46. 5 0
      variants/rak3112/platformio.ini
  47. 5 0
      variants/rak3401/platformio.ini
  48. 5 0
      variants/rak3x72/platformio.ini
  49. 6 1
      variants/rak_wismesh_tag/platformio.ini
  50. 5 0
      variants/rpi_picow/platformio.ini
  51. 5 0
      variants/station_g2/platformio.ini
  52. 7 0
      variants/t1000-e/platformio.ini
  53. 20 0
      variants/tenstar_c3/platformio.ini
  54. 6 1
      variants/thinknode_m1/platformio.ini
  55. 7 0
      variants/thinknode_m2/platformio.ini
  56. 9 2
      variants/thinknode_m3/platformio.ini
  57. 5 0
      variants/thinknode_m5/platformio.ini
  58. 6 1
      variants/thinknode_m6/platformio.ini
  59. 5 0
      variants/tiny_relay/platformio.ini
  60. 5 0
      variants/waveshare_rp2040_lora/platformio.ini
  61. 7 0
      variants/wio-e5-dev/platformio.ini
  62. 8 1
      variants/wio-e5-mini/platformio.ini
  63. 5 0
      variants/wio-tracker-l1-eink/platformio.ini
  64. 5 0
      variants/wio-tracker-l1/platformio.ini
  65. 5 0
      variants/wio_wm1110/platformio.ini
  66. 5 0
      variants/xiao_c3/platformio.ini
  67. 5 0
      variants/xiao_c6/platformio.ini
  68. 5 0
      variants/xiao_rp2040/platformio.ini
  69. 5 0
      variants/xiao_s3_wio/platformio.ini

+ 4 - 1
examples/kiss_modem/main.cpp

@@ -10,7 +10,10 @@
   #include <LittleFS.h>
 #elif defined(ESP32)
   #include <SPIFFS.h>
+#else
+  #include <InternalFileSystem.h>
 #endif
+
 #if defined(KISS_UART_RX) && defined(KISS_UART_TX)
   #include <HardwareSerial.h>
 #endif
@@ -29,7 +32,7 @@ void halt() {
 }
 
 void loadOrCreateIdentity() {
-#if defined(NRF52_PLATFORM)
+#if defined(NRF52_PLATFORM) || defined(STM32_PLATFORM)
   InternalFS.begin();
   IdentityStore store(InternalFS, "");
 #elif defined(ESP32)

+ 5 - 0
variants/ebyte_eora_s3/platformio.ini

@@ -135,3 +135,8 @@ build_src_filter = ${Ebyte_EoRa-S3.build_src_filter}
 lib_deps =
   ${Ebyte_EoRa-S3.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:Ebyte_EoRa-S3_kiss_modem]
+extends = Ebyte_EoRa-S3
+build_src_filter = ${Ebyte_EoRa-S3.build_src_filter}
+  +<../examples/kiss_modem/>

+ 4 - 0
variants/gat562_30s_mesh_kit/platformio.ini

@@ -112,3 +112,7 @@ lib_deps =
   densaugeo/base64 @ ~1.4.0
   end2endzone/NonBlockingRTTTL@^1.3.0
 
+[env:GAT562_30S_Mesh_Kit_kiss_modem]
+extends = GAT562_30S_Mesh_Kit
+build_src_filter = ${GAT562_30S_Mesh_Kit.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/gat562_mesh_evb_pro/platformio.ini

@@ -50,3 +50,8 @@ build_flags =
 ;  -D MESH_DEBUG=1
 build_src_filter = ${GAT562_Mesh_EVB_Pro.build_src_filter}
   +<../examples/simple_room_server>
+
+[env:GAT562_Mesh_EVB_Pro_kiss_modem]
+extends = GAT562_Mesh_EVB_Pro
+build_src_filter = ${GAT562_Mesh_EVB_Pro.build_src_filter}
+  +<../examples/kiss_modem/>

+ 4 - 0
variants/gat562_mesh_tracker_pro/platformio.ini

@@ -106,3 +106,7 @@ lib_deps =
   ${GAT562_Mesh_Tracker_Pro.lib_deps}
   densaugeo/base64 @ ~1.4.0
 
+[env:GAT562_Mesh_Tracker_Pro_kiss_modem]
+extends = GAT562_Mesh_Tracker_Pro
+build_src_filter = ${GAT562_Mesh_Tracker_Pro.build_src_filter}
+  +<../examples/kiss_modem/>

+ 4 - 0
variants/gat562_mesh_watch13/platformio.ini

@@ -87,3 +87,7 @@ lib_deps =
   ${GAT562_Mesh_Watch13.lib_deps}
   densaugeo/base64 @ ~1.4.0
 
+[env:GAT562_Mesh_Watch13_kiss_modem]
+extends = GAT562_Mesh_Watch13
+build_src_filter = ${GAT562_Mesh_Watch13.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/generic-e22/platformio.ini

@@ -95,6 +95,11 @@ lib_deps =
   ${Generic_E22.lib_deps}
   ${esp32_ota.lib_deps}
 
+[env:Generic_E22_kiss_modem]
+extends = Generic_E22
+build_src_filter = ${Generic_E22.build_src_filter}
+  +<../examples/kiss_modem/>
+
 [env:Generic_E22_sx1268_repeater]
 extends = Generic_E22
 build_src_filter = ${Generic_E22.build_src_filter}

+ 5 - 0
variants/heltec_ct62/platformio.ini

@@ -150,3 +150,8 @@ build_src_filter = ${Heltec_ct62.build_src_filter}
 lib_deps =
   ${Heltec_ct62.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:Heltec_ct62_kiss_modem]
+extends = Heltec_ct62
+build_src_filter = ${Heltec_ct62.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/heltec_e213/platformio.ini

@@ -166,3 +166,8 @@ lib_deps =
   ${Heltec_E213_base.lib_deps}
   ${esp32_ota.lib_deps}
   bakercp/CRC32 @ ^2.0.0
+
+[env:Heltec_E213_kiss_modem]
+extends = Heltec_E213_base
+build_src_filter = ${Heltec_E213_base.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/heltec_e290/platformio.ini

@@ -162,3 +162,8 @@ lib_deps =
   ${Heltec_E290_base.lib_deps}
   ${esp32_ota.lib_deps}
   bakercp/CRC32 @ ^2.0.0
+
+[env:Heltec_E290_kiss_modem]
+extends = Heltec_E290_base
+build_src_filter = ${Heltec_E290_base.build_src_filter}
+  +<../examples/kiss_modem/>

+ 6 - 1
variants/heltec_mesh_solar/platformio.ini

@@ -92,4 +92,9 @@ build_src_filter = ${Heltec_mesh_solar.build_src_filter}
   +<../examples/companion_radio/*.cpp>
 lib_deps =
   ${Heltec_mesh_solar.lib_deps}
-  densaugeo/base64 @ ~1.4.0
+  densaugeo/base64 @ ~1.4.0
+
+[env:Heltec_mesh_solar_kiss_modem]
+extends = Heltec_mesh_solar
+build_src_filter = ${Heltec_mesh_solar.build_src_filter}
+  +<../examples/kiss_modem/>

+ 7 - 2
variants/heltec_t096/platformio.ini

@@ -92,7 +92,7 @@ build_src_filter = ${Heltec_t096.build_src_filter}
 [env:Heltec_t096_room_server]
 extends = Heltec_t096
 build_src_filter = ${Heltec_t096.build_src_filter}
-  +<../examples/simple_room_server> 
+  +<../examples/simple_room_server>
 build_flags =
   ${Heltec_t096.build_flags}
   -D ADVERT_NAME='"Heltec_t096 Room"'
@@ -145,4 +145,9 @@ build_src_filter = ${Heltec_t096.build_src_filter}
   +<../examples/companion_radio/ui-new/*.cpp>
 lib_deps =
   ${Heltec_t096.lib_deps}
-  densaugeo/base64 @ ~1.4.0
+  densaugeo/base64 @ ~1.4.0
+
+[env:Heltec_t096_kiss_modem]
+extends = Heltec_t096
+build_src_filter = ${Heltec_t096.build_src_filter}
+  +<../examples/kiss_modem/>

+ 6 - 6
variants/heltec_t114/platformio.ini

@@ -50,7 +50,6 @@ upload_protocol = nrfutil
 extends = Heltec_t114
 build_src_filter = ${Heltec_t114.build_src_filter}
   +<../examples/simple_repeater>
-
 build_flags =
   ${Heltec_t114.build_flags}
   -D ADVERT_NAME='"Heltec_T114 Repeater"'
@@ -127,10 +126,6 @@ build_flags =
   -D DISPLAY_CLASS=NullDisplayDriver
   -D MAX_CONTACTS=350
   -D MAX_GROUP_CHANNELS=40
-;  -D BLE_PIN_CODE=123456
-;  -D BLE_DEBUG_LOGGING=1
-;  -D MESH_PACKET_LOGGING=1
-;  -D MESH_DEBUG=1
 build_src_filter = ${Heltec_t114.build_src_filter}
   +<helpers/nrf52/*.cpp>
   +<../examples/companion_radio/*.cpp>
@@ -251,4 +246,9 @@ build_src_filter = ${Heltec_t114_with_display.build_src_filter}
   +<../examples/companion_radio/ui-new/*.cpp>
 lib_deps =
   ${Heltec_t114_with_display.lib_deps}
-  densaugeo/base64 @ ~1.4.0
+  densaugeo/base64 @ ~1.4.0
+
+[env:Heltec_t114_kiss_modem]
+extends = Heltec_t114
+build_src_filter = ${Heltec_t114.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/heltec_t190/platformio.ini

@@ -153,3 +153,8 @@ build_src_filter = ${Heltec_T190_base.build_src_filter}
 lib_deps =
   ${Heltec_T190_base.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:Heltec_T190_kiss_modem]
+extends = Heltec_T190_base
+build_src_filter = ${Heltec_T190_base.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/heltec_tracker/platformio.ini

@@ -186,3 +186,8 @@ build_src_filter = ${Heltec_tracker_base.build_src_filter}
 lib_deps =
   ${Heltec_tracker_base.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:Heltec_Wireless_Tracker_kiss_modem]
+extends = Heltec_tracker_base
+build_src_filter = ${Heltec_tracker_base.build_src_filter}
+  +<../examples/kiss_modem/>

+ 6 - 1
variants/heltec_tracker_v2/platformio.ini

@@ -187,7 +187,7 @@ build_flags =
   -D WIFI_DEBUG_LOGGING=1
   -D WIFI_SSID='"myssid"'
   -D WIFI_PWD='"mypwd"'
-  -D OFFLINE_QUEUE_SIZE=256  
+  -D OFFLINE_QUEUE_SIZE=256
 ;  -D MESH_PACKET_LOGGING=1
 ;  -D MESH_DEBUG=1
 build_src_filter = ${Heltec_tracker_v2.build_src_filter}
@@ -217,3 +217,8 @@ build_src_filter = ${Heltec_tracker_v2.build_src_filter}
 lib_deps =
   ${Heltec_tracker_v2.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:heltec_tracker_v2_kiss_modem]
+extends = Heltec_tracker_v2
+build_src_filter = ${Heltec_tracker_v2.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/heltec_v2/platformio.ini

@@ -195,3 +195,8 @@ build_src_filter = ${Heltec_lora32_v2.build_src_filter}
 lib_deps =
   ${Heltec_lora32_v2.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:Heltec_v2_kiss_modem]
+extends = Heltec_lora32_v2
+build_src_filter = ${Heltec_lora32_v2.build_src_filter}
+  +<../examples/kiss_modem/>

+ 0 - 4
variants/heltec_v3/platformio.ini

@@ -371,9 +371,5 @@ lib_deps =
 
 [env:Heltec_v3_kiss_modem]
 extends = Heltec_lora32_v3
-build_flags =
-  ${Heltec_lora32_v3.build_flags}
 build_src_filter = ${Heltec_lora32_v3.build_src_filter}
   +<../examples/kiss_modem/>
-lib_deps =
-  ${Heltec_lora32_v3.lib_deps}

+ 5 - 0
variants/heltec_v4/platformio.ini

@@ -429,3 +429,8 @@ build_src_filter = ${heltec_v4_tft.build_src_filter}
 lib_deps =
   ${heltec_v4_tft.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:heltec_v4_kiss_modem]
+extends = Heltec_lora32_v4
+build_src_filter = ${Heltec_lora32_v4.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/heltec_wireless_paper/platformio.ini

@@ -165,3 +165,8 @@ lib_deps =
   ${Heltec_Wireless_Paper_base.lib_deps}
   ${esp32_ota.lib_deps}
   bakercp/CRC32 @ ^2.0.0
+
+[env:Heltec_Wireless_Paper_kiss_modem]
+extends = Heltec_Wireless_Paper_base
+build_src_filter = ${Heltec_Wireless_Paper_base.build_src_filter}
+  +<../examples/kiss_modem/>

+ 9 - 4
variants/ikoka_handheld_nrf/platformio.ini

@@ -86,8 +86,7 @@ build_src_filter = ${ikoka_handheld_nrf_ssd1306_companion.build_src_filter}
 
 [env:ikoka_handheld_nrf_e22_30dbm_repeater]
 extends = ikoka_handheld_nrf
-build_flags =
-  ${ikoka_handheld_nrf.build_flags}
+build_flags = ${ikoka_handheld_nrf.build_flags}
   -D ADVERT_NAME='"ikoka_handheld Repeater"'
   -D ADVERT_LAT=0.0
   -D ADVERT_LON=0.0
@@ -99,8 +98,7 @@ build_src_filter = ${ikoka_handheld_nrf.build_src_filter}
 
 [env:ikoka_handheld_nrf_e22_30dbm_room_server]
 extends = ikoka_handheld_nrf
-build_flags =
-  ${ikoka_handheld_nrf.build_flags}
+build_flags = ${ikoka_handheld_nrf.build_flags}
   -D ADVERT_NAME='"ikoka_handheld Room"'
   -D ADVERT_LAT=0.0
   -D ADVERT_LON=0.0
@@ -108,3 +106,10 @@ build_flags =
   -D LORA_TX_POWER=20
 build_src_filter = ${ikoka_handheld_nrf.build_src_filter}
   +<../examples/simple_room_server/*.cpp>
+
+[env:ikoka_handheld_nrf_kiss_modem]
+extends = ikoka_handheld_nrf
+build_flags = ${ikoka_handheld_nrf.build_flags}
+  -D LORA_TX_POWER=20
+build_src_filter = ${ikoka_handheld_nrf.build_src_filter}
+  +<../examples/kiss_modem/>

+ 15 - 0
variants/ikoka_nano_nrf/platformio.ini

@@ -279,3 +279,18 @@ build_flags =
 build_src_filter =
    ${ikoka_nano_nrf_room_server.build_src_filter}
    ${ikoka_nano_nrf_e22_33dbm.build_src_filter}
+
+[env:ikoka_nano_nrf_22dbm_kiss_modem]
+extends = ikoka_nano_nrf_e22_22dbm
+build_src_filter = ${ikoka_nano_nrf_e22_22dbm.build_src_filter}
+  +<../examples/kiss_modem/>
+
+[env:ikoka_nano_nrf_30dbm_kiss_modem]
+extends = ikoka_nano_nrf_e22_30dbm
+build_src_filter = ${ikoka_nano_nrf_e22_30dbm.build_src_filter}
+  +<../examples/kiss_modem/>
+
+[env:ikoka_nano_nrf_33dbm_kiss_modem]
+extends = ikoka_nano_nrf_e22_33dbm
+build_src_filter = ${ikoka_nano_nrf_e22_33dbm.build_src_filter}
+  +<../examples/kiss_modem/>

+ 15 - 0
variants/ikoka_stick_nrf/platformio.ini

@@ -290,3 +290,18 @@ build_flags =
 build_src_filter =
    ${ikoka_stick_nrf_room_server.build_src_filter}
    ${ikoka_stick_nrf_e22_33dbm.build_src_filter}
+
+[env:ikoka_stick_nrf_22dbm_kiss_modem]
+extends = ikoka_stick_nrf_e22_22dbm
+build_src_filter = ${ikoka_stick_nrf_e22_22dbm.build_src_filter}
+  +<../examples/kiss_modem/>
+
+[env:ikoka_stick_nrf_30dbm_kiss_modem]
+extends = ikoka_stick_nrf_e22_30dbm
+build_src_filter = ${ikoka_stick_nrf_e22_30dbm.build_src_filter}
+  +<../examples/kiss_modem/>
+
+[env:ikoka_stick_nrf_33dbm_kiss_modem]
+extends = ikoka_stick_nrf_e22_33dbm
+build_src_filter = ${ikoka_stick_nrf_e22_33dbm.build_src_filter}
+  +<../examples/kiss_modem/>

+ 6 - 1
variants/keepteen_lt1/platformio.ini

@@ -99,4 +99,9 @@ build_src_filter = ${KeepteenLT1.build_src_filter}
   +<../examples/companion_radio/ui-new/*.cpp>
 lib_deps = ${KeepteenLT1.lib_deps}
   adafruit/RTClib @ ^2.1.3
-  densaugeo/base64 @ ~1.4.0
+  densaugeo/base64 @ ~1.4.0
+
+[env:KeepteenLT1_kiss_modem]
+extends = KeepteenLT1
+build_src_filter = ${KeepteenLT1.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/lilygo_t3s3/platformio.ini

@@ -173,3 +173,8 @@ build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
 lib_deps =
   ${LilyGo_T3S3_sx1262.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:LilyGo_T3S3_sx1262_kiss_modem]
+extends = LilyGo_T3S3_sx1262
+build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
+  +<../examples/kiss_modem/>

+ 6 - 1
variants/lilygo_t3s3_sx1276/platformio.ini

@@ -168,4 +168,9 @@ build_src_filter = ${LilyGo_T3S3_sx1276.build_src_filter}
   +<../examples/companion_radio/ui-new/*.cpp>
 lib_deps =
   ${LilyGo_T3S3_sx1276.lib_deps}
-  densaugeo/base64 @ ~1.4.0
+  densaugeo/base64 @ ~1.4.0
+
+[env:LilyGo_T3S3_sx1276_kiss_modem]
+extends = LilyGo_T3S3_sx1276
+build_src_filter = ${LilyGo_T3S3_sx1276.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/lilygo_tbeam_1w/platformio.ini

@@ -192,3 +192,8 @@ build_src_filter = ${LilyGo_TBeam_1W.build_src_filter}
 lib_deps =
   ${LilyGo_TBeam_1W.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:LilyGo_TBeam_1W_kiss_modem]
+extends = LilyGo_TBeam_1W
+build_src_filter = ${LilyGo_TBeam_1W.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/lilygo_tbeam_SX1262/platformio.ini

@@ -133,3 +133,8 @@ build_src_filter = ${LilyGo_TBeam_SX1262.build_src_filter}
 lib_deps =
   ${LilyGo_TBeam_SX1262.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:Tbeam_SX1262_kiss_modem]
+extends = LilyGo_TBeam_SX1262
+build_src_filter = ${LilyGo_TBeam_SX1262.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/lilygo_tbeam_SX1276/platformio.ini

@@ -131,3 +131,8 @@ build_src_filter = ${LilyGo_TBeam_SX1276.build_src_filter}
 lib_deps =
   ${LilyGo_TBeam_SX1276.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:Tbeam_SX1276_kiss_modem]
+extends = LilyGo_TBeam_SX1276
+build_src_filter = ${LilyGo_TBeam_SX1276.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/lilygo_tbeam_supreme_SX1262/platformio.ini

@@ -158,3 +158,8 @@ build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
 lib_deps =
   ${T_Beam_S3_Supreme_SX1262.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:T_Beam_S3_Supreme_SX1262_kiss_modem]
+extends = T_Beam_S3_Supreme_SX1262
+build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
+  +<../examples/kiss_modem/>

+ 7 - 3
variants/lilygo_tdeck/platformio.ini

@@ -57,6 +57,7 @@ build_flags =
 build_src_filter = ${esp32_base.build_src_filter}
   +<../variants/lilygo_tdeck>
   +<helpers/sensors/*.cpp>
+  +<helpers/ui/ST7789LCDDisplay.cpp>
 lib_deps =
   ${esp32_base.lib_deps}
   ${sensor_base.lib_deps}
@@ -75,7 +76,6 @@ build_src_filter = ${LilyGo_TDeck.build_src_filter}
   +<helpers/ui/MomentaryButton.cpp>
   +<../examples/companion_radio/*.cpp>
   +<../examples/companion_radio/ui-new/*.cpp>
-  +<helpers/ui/ST7789LCDDisplay.cpp>
 lib_deps =
   ${LilyGo_TDeck.lib_deps}
   densaugeo/base64 @ ~1.4.0
@@ -94,7 +94,6 @@ build_src_filter = ${LilyGo_TDeck.build_src_filter}
   +<helpers/ui/MomentaryButton.cpp>
   +<../examples/companion_radio/*.cpp>
   +<../examples/companion_radio/ui-new/*.cpp>
-  +<helpers/ui/ST7789LCDDisplay.cpp>
 lib_deps =
   ${LilyGo_TDeck.lib_deps}
   densaugeo/base64 @ ~1.4.0
@@ -113,4 +112,9 @@ build_src_filter = ${LilyGo_TDeck.build_src_filter}
   +<helpers/ui/ST7789LCDDisplay.cpp>
 lib_deps =
   ${LilyGo_TDeck.lib_deps}
-  ${esp32_ota.lib_deps}
+  ${esp32_ota.lib_deps}
+
+[env:LilyGo_TDeck_kiss_modem]
+extends = LilyGo_TDeck
+build_src_filter = ${LilyGo_TDeck.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/lilygo_techo/platformio.ini

@@ -126,3 +126,8 @@ build_src_filter = ${LilyGo_T-Echo.build_src_filter}
 lib_deps =
   ${LilyGo_T-Echo.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:LilyGo_T-Echo_kiss_modem]
+extends = LilyGo_T-Echo
+build_src_filter = ${LilyGo_T-Echo.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/lilygo_techo_lite/platformio.ini

@@ -140,3 +140,8 @@ build_src_filter = ${nrf52_base.build_src_filter}
 lib_deps =
   ${LilyGo_T-Echo-Lite.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:LilyGo_T-Echo-Lite_kiss_modem]
+extends = LilyGo_T-Echo-Lite
+build_src_filter = ${LilyGo_T-Echo-Lite.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/lilygo_tlora_c6/platformio.ini

@@ -84,3 +84,8 @@ build_src_filter = ${tlora_c6.build_src_filter}
 lib_deps =
   ${tlora_c6.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:LilyGo_Tlora_C6_kiss_modem]
+extends = tlora_c6
+build_src_filter = ${tlora_c6.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/lilygo_tlora_v2_1/platformio.ini

@@ -192,3 +192,8 @@ build_flags =
 lib_deps =
   ${LilyGo_TLora_V2_1_1_6.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:LilyGo_TLora_V2_1_1_6_kiss_modem]
+extends = LilyGo_TLora_V2_1_1_6
+build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/m5stack_unit_c6l/platformio.ini

@@ -105,3 +105,8 @@ lib_deps =
   ${M5Stack_Unit_C6L.lib_deps}
   densaugeo/base64 @ ~1.4.0
   end2endzone/NonBlockingRTTTL@^1.3.0
+
+[env:M5Stack_Unit_C6L_kiss_modem]
+extends = M5Stack_Unit_C6L
+build_src_filter = ${M5Stack_Unit_C6L.build_src_filter}
+  +<../examples/kiss_modem/>

+ 6 - 1
variants/mesh_pocket/platformio.ini

@@ -109,4 +109,9 @@ build_src_filter = ${Mesh_pocket.build_src_filter}
   +<../examples/companion_radio/ui-new/*.cpp>
 lib_deps =
   ${Mesh_pocket.lib_deps}
-  densaugeo/base64 @ ~1.4.0
+  densaugeo/base64 @ ~1.4.0
+
+[env:Mesh_pocket_kiss_modem]
+extends = Mesh_pocket
+build_src_filter = ${Mesh_pocket.build_src_filter}
+  +<../examples/kiss_modem/>

+ 20 - 18
variants/meshadventurer/platformio.ini

@@ -29,6 +29,7 @@ build_flags =
 build_src_filter = ${esp32_base.build_src_filter}
   +<../variants/meshadventurer>
   +<helpers/ui/MomentaryButton.cpp>
+  +<helpers/ui/SSD1306Display.cpp>
 lib_deps =
   ${esp32_base.lib_deps}
   stevemarple/MicroNMEA @ ^2.0.6
@@ -38,7 +39,6 @@ lib_deps =
 extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}
   +<../examples/simple_repeater>
-  +<helpers/ui/SSD1306Display.cpp>
 build_flags =
   ${Meshadventurer.build_flags}
   -D RADIO_CLASS=CustomSX1262
@@ -60,7 +60,6 @@ lib_deps =
 ; build_src_filter = ${Meshadventurer.build_src_filter}
 ;   +<helpers/bridges/RS232Bridge.cpp>
 ;   +<../examples/simple_repeater>
-;   +<helpers/ui/SSD1306Display.cpp>
 ; build_flags =
 ;   ${Meshadventurer.build_flags}
 ;   -D RADIO_CLASS=CustomSX1262
@@ -86,7 +85,6 @@ extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}
   +<helpers/bridges/ESPNowBridge.cpp>
   +<../examples/simple_repeater>
-  +<helpers/ui/SSD1306Display.cpp>
 build_flags =
   ${Meshadventurer.build_flags}
   -D RADIO_CLASS=CustomSX1262
@@ -109,7 +107,6 @@ lib_deps =
 extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}
   +<../examples/simple_repeater>
-  +<helpers/ui/SSD1306Display.cpp>
 build_flags =
   ${Meshadventurer.build_flags}
   -D RADIO_CLASS=CustomSX1268
@@ -157,7 +154,6 @@ extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}
   +<helpers/bridges/ESPNowBridge.cpp>
   +<../examples/simple_repeater>
-  +<helpers/ui/SSD1306Display.cpp>
 build_flags =
   ${Meshadventurer.build_flags}
   -D RADIO_CLASS=CustomSX1268
@@ -179,8 +175,6 @@ lib_deps =
 [env:Meshadventurer_sx1262_companion_radio_usb]
 extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}
-  +<../examples/companion_radio/*.cpp>
-  +<helpers/ui/SSD1306Display.cpp>
   +<../examples/companion_radio/*.cpp>
   +<../examples/companion_radio/ui-new/*.cpp>
 build_flags =
@@ -200,9 +194,7 @@ lib_deps =
 [env:Meshadventurer_sx1262_companion_radio_ble]
 extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}
-  +<../examples/companion_radio/*.cpp>
   +<helpers/esp32/*.cpp>
-  +<helpers/ui/SSD1306Display.cpp>
   +<../examples/companion_radio/*.cpp>
   +<../examples/companion_radio/ui-new/*.cpp>
 build_flags =
@@ -235,7 +227,6 @@ build_flags =
 ;  -D MESH_DEBUG=1
 build_src_filter = ${Meshadventurer.build_src_filter}
   +<../examples/simple_secure_chat/main.cpp>
-  +<helpers/ui/SSD1306Display.cpp>
 lib_deps =
   ${Meshadventurer.lib_deps}
   densaugeo/base64 @ ~1.4.0
@@ -256,7 +247,6 @@ build_flags =
 ;  -D MESH_DEBUG=1
 build_src_filter = ${Meshadventurer.build_src_filter}
   +<../examples/simple_room_server>
-  +<helpers/ui/SSD1306Display.cpp>
 lib_deps =
   ${Meshadventurer.lib_deps}
   ${esp32_ota.lib_deps}
@@ -264,8 +254,6 @@ lib_deps =
 [env:Meshadventurer_sx1268_companion_radio_usb]
 extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}
-  +<../examples/companion_radio/*.cpp>
-  +<helpers/ui/SSD1306Display.cpp>
   +<../examples/companion_radio/*.cpp>
   +<../examples/companion_radio/ui-new/*.cpp>
 build_flags =
@@ -285,9 +273,7 @@ lib_deps =
 [env:Meshadventurer_sx1268_companion_radio_ble]
 extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}
-  +<../examples/companion_radio/*.cpp>
   +<helpers/esp32/*.cpp>
-  +<helpers/ui/SSD1306Display.cpp>
   +<../examples/companion_radio/*.cpp>
   +<../examples/companion_radio/ui-new/*.cpp>
 build_flags =
@@ -320,7 +306,6 @@ build_flags =
 ;  -D MESH_DEBUG=1
 build_src_filter = ${Meshadventurer.build_src_filter}
   +<../examples/simple_secure_chat/main.cpp>
-  +<helpers/ui/SSD1306Display.cpp>
 lib_deps =
   ${Meshadventurer.lib_deps}
   densaugeo/base64 @ ~1.4.0
@@ -341,7 +326,24 @@ build_flags =
 ;  -D MESH_DEBUG=1
 build_src_filter = ${Meshadventurer.build_src_filter}
   +<../examples/simple_room_server>
-  +<helpers/ui/SSD1306Display.cpp>
 lib_deps =
   ${Meshadventurer.lib_deps}
-  ${esp32_ota.lib_deps}
+  ${esp32_ota.lib_deps}
+
+[env:Meshadventurer_sx1262_kiss_modem]
+extends = Meshadventurer
+build_src_filter = ${Meshadventurer.build_src_filter}
+  +<../examples/kiss_modem/>
+build_flags = ${Meshadventurer.build_flags}
+  -D RADIO_CLASS=CustomSX1262
+  -D WRAPPER_CLASS=CustomSX1262Wrapper
+  -D LORA_TX_POWER=22
+
+[env:Meshadventurer_sx1268_kiss_modem]
+extends = Meshadventurer
+build_src_filter = ${Meshadventurer.build_src_filter}
+  +<../examples/kiss_modem/>
+build_flags = ${Meshadventurer.build_flags}
+  -D RADIO_CLASS=CustomSX1268
+  -D WRAPPER_CLASS=CustomSX1268Wrapper
+  -D LORA_TX_POWER=22

+ 5 - 0
variants/meshtiny/platformio.ini

@@ -67,3 +67,8 @@ build_src_filter = ${Meshtiny.build_src_filter}
 lib_deps =
   ${Meshtiny.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:Meshtiny_kiss_modem]
+extends = Meshtiny
+build_src_filter = ${Meshtiny.build_src_filter}
+  +<../examples/kiss_modem/>

+ 175 - 171
variants/minewsemi_me25ls01/platformio.ini

@@ -1,171 +1,175 @@
-; ----------------- NRF52 me25ls01---------------------
-[nrf52840_me25ls01]
-extends = nrf52_base
-platform_packages = framework-arduinoadafruitnrf52
-build_flags = ${nrf52_base.build_flags}
-  -I src/helpers/nrf52
-  -I lib/nrf52/s140_nrf52_7.3.0_API/include
-  -I lib/nrf52/s140_nrf52_7.3.0_API/include/nrf52
-lib_ignore =
-  BluetoothOTA
-  lib5b4
-lib_deps =
-  ${nrf52_base.lib_deps}
-  rweather/Crypto @ ^0.4.0
-
-[me25ls01]
-extends = nrf52840_me25ls01
-board = minewsemi_me25ls01
-board_build.ldscript = boards/nrf52840_s140_v7.ld
-build_flags = ${nrf52840_me25ls01.build_flags}
-  -I variants/minewsemi_me25ls01
-  -D me25ls01
-  -D PIN_USER_BTN=27
-  -D PIN_STATUS_LED=39
-  -D P_LORA_TX_LED=22
-  -D RADIO_CLASS=CustomLR1110
-  -D WRAPPER_CLASS=CustomLR1110Wrapper
-  -D LORA_TX_POWER=22
-  -D ENV_INCLUDE_GPS=0
-  -D ENV_INCLUDE_AHTX0=1
-  -D ENV_INCLUDE_BME280=1
-  -D ENV_INCLUDE_INA3221=1
-  -D ENV_INCLUDE_INA219=1
-build_src_filter = ${nrf52840_me25ls01.build_src_filter}
-  +<helpers/*.cpp>
-  +<../variants/minewsemi_me25ls01>
-  +<helpers/sensors>
-debug_tool = jlink
-upload_protocol = nrfutil
-lib_deps = ${nrf52840_me25ls01.lib_deps}
-  densaugeo/base64 @ ~1.4.0
-  stevemarple/MicroNMEA @ ^2.0.6
-  end2endzone/NonBlockingRTTTL@^1.3.0
-  adafruit/Adafruit SSD1306 @ ^2.5.13
-  adafruit/Adafruit INA3221 Library @ ^1.0.1
-  adafruit/Adafruit INA219 @ ^1.2.3
-  adafruit/Adafruit AHTX0 @ ^2.0.5
-  adafruit/Adafruit BME280 Library @ ^2.3.0  
-
-[env:Minewsemi_me25ls01_companion_radio_ble]
-extends = me25ls01
-board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld
-board_upload.maximum_size = 708608
-build_flags = ${me25ls01.build_flags}
-  -I examples/companion_radio/ui-orig
-  -D MAX_CONTACTS=350
-  -D MAX_GROUP_CHANNELS=40
-  -D BLE_PIN_CODE=123456
-;  -D BLE_DEBUG_LOGGING=1
-  -D MESH_PACKET_LOGGING=1
-  -D MESH_DEBUG=1
-  -D OFFLINE_QUEUE_SIZE=256
-  -D RX_BOOSTED_GAIN=true
-  -D RF_SWITCH_TABLE
-  -D DISPLAY_CLASS=NullDisplayDriver
-  ;-D PIN_BUZZER=25
-  ;-D PIN_BUZZER_EN=37      
-build_src_filter = ${me25ls01.build_src_filter}
-  +<helpers/nrf52/SerialBLEInterface.cpp>
-  +<../examples/companion_radio/*.cpp>
-  +<../examples/companion_radio/ui-orig/*.cpp>
-lib_deps = ${me25ls01.lib_deps}
-  adafruit/RTClib @ ^2.1.3
- 
-
-[env:Minewsemi_me25ls01_repeater]
-extends = me25ls01
-build_flags = ${me25ls01.build_flags}
-  -D MAX_CONTACTS=100
-  -D MAX_GROUP_CHANNELS=8
-  -D BLE_PIN_CODE=123456
-;  -D BLE_DEBUG_LOGGING=1
-  -D MESH_PACKET_LOGGING=1
-  -D MESH_DEBUG=1
-  -D OFFLINE_QUEUE_SIZE=256
-  -D RX_BOOSTED_GAIN=true
-  -D RF_SWITCH_TABLE
-  -D ADVERT_NAME='"ME25LS01 Repeater"'
-  -D ADVERT_LAT=0.0
-  -D ADVERT_LON=0.0
-  -D ADMIN_PASSWORD='"password"'
-  -D MAX_NEIGHBOURS=50
-  -D DISPLAY_CLASS=NullDisplayDriver
-build_src_filter = ${me25ls01.build_src_filter}
-  +<../examples/simple_repeater>
-lib_deps = ${me25ls01.lib_deps}
-  adafruit/RTClib @ ^2.1.3
-
-
-
-[env:Minewsemi_me25ls01_room_server]
-extends = me25ls01
-build_flags = ${me25ls01.build_flags}
-  -D MAX_CONTACTS=100
-  -D MAX_GROUP_CHANNELS=8
-;  -D BLE_PIN_CODE=123456
-;  -D BLE_DEBUG_LOGGING=1
-;  -D MESH_PACKET_LOGGING=1
-;  -D MESH_DEBUG=1
-  -D OFFLINE_QUEUE_SIZE=256
-  -D RX_BOOSTED_GAIN=true
-  -D RF_SWITCH_TABLE
-  -D ADVERT_NAME='"ME25LS01 Room"'
-  -D ADVERT_LAT=0.0
-  -D ADVERT_LON=0.0
-  -D ADMIN_PASSWORD='"password"'
-  -D ROOM_PASSWORD='"hello"'
-  -D MAX_NEIGHBOURS=50
-  -D DISPLAY_CLASS=NullDisplayDriver
-build_src_filter = ${me25ls01.build_src_filter}
-  +<../examples/simple_room_server>
-lib_deps = ${me25ls01.lib_deps}
-  adafruit/RTClib @ ^2.1.3
-
-[env:Minewsemi_me25ls01_terminal_chat]
-extends = me25ls01
-build_flags = ${me25ls01.build_flags}
-  -D MAX_CONTACTS=100
-  -D MAX_GROUP_CHANNELS=8
-  -D BLE_PIN_CODE=123456
-;  -D BLE_DEBUG_LOGGING=1
-  -D MESH_PACKET_LOGGING=1
-  -D MESH_DEBUG=1
-  -D OFFLINE_QUEUE_SIZE=256
-  -D RX_BOOSTED_GAIN=true
-  -D RF_SWITCH_TABLE
-  -D ADVERT_NAME='"ME25LS01 Chat"'
-  -D ADVERT_LAT=0.0
-  -D ADVERT_LON=0.0
-  -D ADMIN_PASSWORD='"password"'
-  -D ROOM_PASSWORD='"hello"'
-  -D MAX_NEIGHBOURS=50
-  -D DISPLAY_CLASS=NullDisplayDriver
-build_src_filter = ${me25ls01.build_src_filter}
-  +<../examples/simple_secure_chat/main.cpp>
-lib_deps = ${me25ls01.lib_deps}
-  adafruit/RTClib @ ^2.1.3
-
-[env:Minewsemi_me25ls01_companion_radio_usb]
-extends = me25ls01
-board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld
-board_upload.maximum_size = 708608
-build_flags = ${me25ls01.build_flags}
-  -I examples/companion_radio/ui-orig
-  -D MAX_CONTACTS=350
-  -D MAX_GROUP_CHANNELS=40
-  ;-D BLE_PIN_CODE=123456
-;  -D BLE_DEBUG_LOGGING=1
-  -D MESH_PACKET_LOGGING=1
-  -D MESH_DEBUG=1
-  -D OFFLINE_QUEUE_SIZE=256
-  -D RX_BOOSTED_GAIN=true
-  -D RF_SWITCH_TABLE
-  -D DISPLAY_CLASS=NullDisplayDriver
-build_src_filter = ${me25ls01.build_src_filter}
-  +<helpers/nrf52/*.cpp>
-  +<../examples/companion_radio/*.cpp>
-  +<../examples/companion_radio/ui-orig/*.cpp>
-lib_deps = ${me25ls01.lib_deps}
-  adafruit/RTClib @ ^2.1.3
-
+; ----------------- NRF52 me25ls01---------------------
+[nrf52840_me25ls01]
+extends = nrf52_base
+platform_packages = framework-arduinoadafruitnrf52
+build_flags = ${nrf52_base.build_flags}
+  -I src/helpers/nrf52
+  -I lib/nrf52/s140_nrf52_7.3.0_API/include
+  -I lib/nrf52/s140_nrf52_7.3.0_API/include/nrf52
+lib_ignore =
+  BluetoothOTA
+  lib5b4
+lib_deps =
+  ${nrf52_base.lib_deps}
+  rweather/Crypto @ ^0.4.0
+
+[me25ls01]
+extends = nrf52840_me25ls01
+board = minewsemi_me25ls01
+board_build.ldscript = boards/nrf52840_s140_v7.ld
+build_flags = ${nrf52840_me25ls01.build_flags}
+  -I variants/minewsemi_me25ls01
+  -D me25ls01
+  -D PIN_USER_BTN=27
+  -D PIN_STATUS_LED=39
+  -D P_LORA_TX_LED=22
+  -D RADIO_CLASS=CustomLR1110
+  -D WRAPPER_CLASS=CustomLR1110Wrapper
+  -D LORA_TX_POWER=22
+  -D ENV_INCLUDE_GPS=0
+  -D ENV_INCLUDE_AHTX0=1
+  -D ENV_INCLUDE_BME280=1
+  -D ENV_INCLUDE_INA3221=1
+  -D ENV_INCLUDE_INA219=1
+build_src_filter = ${nrf52840_me25ls01.build_src_filter}
+  +<helpers/*.cpp>
+  +<../variants/minewsemi_me25ls01>
+  +<helpers/sensors>
+debug_tool = jlink
+upload_protocol = nrfutil
+lib_deps = ${nrf52840_me25ls01.lib_deps}
+  densaugeo/base64 @ ~1.4.0
+  stevemarple/MicroNMEA @ ^2.0.6
+  end2endzone/NonBlockingRTTTL@^1.3.0
+  adafruit/Adafruit SSD1306 @ ^2.5.13
+  adafruit/Adafruit INA3221 Library @ ^1.0.1
+  adafruit/Adafruit INA219 @ ^1.2.3
+  adafruit/Adafruit AHTX0 @ ^2.0.5
+  adafruit/Adafruit BME280 Library @ ^2.3.0
+
+[env:Minewsemi_me25ls01_companion_radio_ble]
+extends = me25ls01
+board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld
+board_upload.maximum_size = 708608
+build_flags = ${me25ls01.build_flags}
+  -I examples/companion_radio/ui-orig
+  -D MAX_CONTACTS=350
+  -D MAX_GROUP_CHANNELS=40
+  -D BLE_PIN_CODE=123456
+;  -D BLE_DEBUG_LOGGING=1
+  -D MESH_PACKET_LOGGING=1
+  -D MESH_DEBUG=1
+  -D OFFLINE_QUEUE_SIZE=256
+  -D RX_BOOSTED_GAIN=true
+  -D RF_SWITCH_TABLE
+  -D DISPLAY_CLASS=NullDisplayDriver
+  ;-D PIN_BUZZER=25
+  ;-D PIN_BUZZER_EN=37
+build_src_filter = ${me25ls01.build_src_filter}
+  +<helpers/nrf52/SerialBLEInterface.cpp>
+  +<../examples/companion_radio/*.cpp>
+  +<../examples/companion_radio/ui-orig/*.cpp>
+lib_deps = ${me25ls01.lib_deps}
+  adafruit/RTClib @ ^2.1.3
+
+
+[env:Minewsemi_me25ls01_repeater]
+extends = me25ls01
+build_flags = ${me25ls01.build_flags}
+  -D MAX_CONTACTS=100
+  -D MAX_GROUP_CHANNELS=8
+  -D BLE_PIN_CODE=123456
+;  -D BLE_DEBUG_LOGGING=1
+  -D MESH_PACKET_LOGGING=1
+  -D MESH_DEBUG=1
+  -D OFFLINE_QUEUE_SIZE=256
+  -D RX_BOOSTED_GAIN=true
+  -D RF_SWITCH_TABLE
+  -D ADVERT_NAME='"ME25LS01 Repeater"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=50
+  -D DISPLAY_CLASS=NullDisplayDriver
+build_src_filter = ${me25ls01.build_src_filter}
+  +<../examples/simple_repeater>
+lib_deps = ${me25ls01.lib_deps}
+  adafruit/RTClib @ ^2.1.3
+
+
+
+[env:Minewsemi_me25ls01_room_server]
+extends = me25ls01
+build_flags = ${me25ls01.build_flags}
+  -D MAX_CONTACTS=100
+  -D MAX_GROUP_CHANNELS=8
+;  -D BLE_PIN_CODE=123456
+;  -D BLE_DEBUG_LOGGING=1
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+  -D OFFLINE_QUEUE_SIZE=256
+  -D RX_BOOSTED_GAIN=true
+  -D RF_SWITCH_TABLE
+  -D ADVERT_NAME='"ME25LS01 Room"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D ROOM_PASSWORD='"hello"'
+  -D MAX_NEIGHBOURS=50
+  -D DISPLAY_CLASS=NullDisplayDriver
+build_src_filter = ${me25ls01.build_src_filter}
+  +<../examples/simple_room_server>
+lib_deps = ${me25ls01.lib_deps}
+  adafruit/RTClib @ ^2.1.3
+
+[env:Minewsemi_me25ls01_terminal_chat]
+extends = me25ls01
+build_flags = ${me25ls01.build_flags}
+  -D MAX_CONTACTS=100
+  -D MAX_GROUP_CHANNELS=8
+  -D BLE_PIN_CODE=123456
+;  -D BLE_DEBUG_LOGGING=1
+  -D MESH_PACKET_LOGGING=1
+  -D MESH_DEBUG=1
+  -D OFFLINE_QUEUE_SIZE=256
+  -D RX_BOOSTED_GAIN=true
+  -D RF_SWITCH_TABLE
+  -D ADVERT_NAME='"ME25LS01 Chat"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D ROOM_PASSWORD='"hello"'
+  -D MAX_NEIGHBOURS=50
+  -D DISPLAY_CLASS=NullDisplayDriver
+build_src_filter = ${me25ls01.build_src_filter}
+  +<../examples/simple_secure_chat/main.cpp>
+lib_deps = ${me25ls01.lib_deps}
+  adafruit/RTClib @ ^2.1.3
+
+[env:Minewsemi_me25ls01_companion_radio_usb]
+extends = me25ls01
+board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld
+board_upload.maximum_size = 708608
+build_flags = ${me25ls01.build_flags}
+  -I examples/companion_radio/ui-orig
+  -D MAX_CONTACTS=350
+  -D MAX_GROUP_CHANNELS=40
+  ;-D BLE_PIN_CODE=123456
+;  -D BLE_DEBUG_LOGGING=1
+  -D MESH_PACKET_LOGGING=1
+  -D MESH_DEBUG=1
+  -D OFFLINE_QUEUE_SIZE=256
+  -D RX_BOOSTED_GAIN=true
+  -D RF_SWITCH_TABLE
+  -D DISPLAY_CLASS=NullDisplayDriver
+build_src_filter = ${me25ls01.build_src_filter}
+  +<helpers/nrf52/*.cpp>
+  +<../examples/companion_radio/*.cpp>
+  +<../examples/companion_radio/ui-orig/*.cpp>
+lib_deps = ${me25ls01.lib_deps}
+  adafruit/RTClib @ ^2.1.3
+
+[env:Minewsemi_me25ls01_kiss_modem]
+extends = me25ls01
+build_src_filter = ${me25ls01.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/muziworks_r1_neo/platformio.ini

@@ -130,3 +130,8 @@ build_flags =
   -D MESH_DEBUG=1
 build_src_filter = ${R1Neo.build_src_filter}
   +<../examples/simple_sensor>
+
+[env:R1Neo_kiss_modem]
+extends = R1Neo
+build_src_filter = ${R1Neo.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/nano_g2_ultra/platformio.ini

@@ -91,3 +91,8 @@ lib_deps =
   adafruit/Adafruit GFX Library @ ^1.12.1
   stevemarple/MicroNMEA @ ^2.0.6
   end2endzone/NonBlockingRTTTL@^1.3.0
+
+[env:Nano_G2_Ultra_kiss_modem]
+extends = Nano_G2_Ultra
+build_src_filter = ${Nano_G2_Ultra.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/nibble_screen_connect/platformio.ini

@@ -159,3 +159,8 @@ lib_deps =
   ${nibble_screen_connect_base.lib_deps}
   densaugeo/base64 @ ~1.4.0
 
+
+[env:nibble_screen_connect_kiss_modem]
+extends = nibble_screen_connect_base
+build_src_filter = ${nibble_screen_connect_base.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/promicro/platformio.ini

@@ -171,3 +171,8 @@ build_src_filter = ${Promicro.build_src_filter}
   +<../examples/simple_sensor>
 lib_deps =
   ${Promicro.lib_deps}
+
+[env:ProMicro_kiss_modem]
+extends = Promicro
+build_src_filter = ${Promicro.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/rak11310/platformio.ini

@@ -132,3 +132,8 @@ build_src_filter = ${rak11310.build_src_filter}
   +<../examples/simple_secure_chat/main.cpp>
 lib_deps = ${rak11310.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:RAK_11310_kiss_modem]
+extends = rak11310
+build_src_filter = ${rak11310.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/rak3112/platformio.ini

@@ -204,3 +204,8 @@ build_src_filter = ${rak3112.build_src_filter}
 lib_deps =
   ${rak3112.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:RAK_3112_kiss_modem]
+extends = rak3112
+build_src_filter = ${rak3112.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/rak3401/platformio.ini

@@ -126,3 +126,8 @@ build_flags =
 build_src_filter = ${rak3401.build_src_filter}
   +<helpers/ui/SSD1306Display.cpp>
   +<../examples/simple_sensor>
+
+[env:RAK_3401_kiss_modem]
+extends = rak3401
+build_src_filter = ${rak3401.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/rak3x72/platformio.ini

@@ -41,3 +41,8 @@ build_src_filter = ${rak3x72.build_src_filter}
   +<../examples/companion_radio/*.cpp>
 lib_deps = ${rak3x72.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:RAK_3x72_kiss_modem]
+extends = rak3x72
+build_src_filter = ${rak3x72.build_src_filter}
+  +<../examples/kiss_modem/>

+ 6 - 1
variants/rak_wismesh_tag/platformio.ini

@@ -118,4 +118,9 @@ build_flags =
 ;  -D MESH_PACKET_LOGGING=1
   -D MESH_DEBUG=1
 build_src_filter = ${rak4631.build_src_filter}
-  +<../examples/simple_sensor>
+  +<../examples/simple_sensor>
+
+[env:RAK_WisMesh_Tag_kiss_modem]
+extends = rak_wismesh_tag
+build_src_filter = ${rak_wismesh_tag.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/rpi_picow/platformio.ini

@@ -106,3 +106,8 @@ build_src_filter = ${rpi_picow.build_src_filter}
   +<../examples/simple_secure_chat/main.cpp>
 lib_deps = ${rpi_picow.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:PicoW_kiss_modem]
+extends = rpi_picow
+build_src_filter = ${rpi_picow.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/station_g2/platformio.ini

@@ -238,3 +238,8 @@ build_src_filter = ${Station_G2.build_src_filter}
 lib_deps =
   ${Station_G2.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:Station_G2_kiss_modem]
+extends = Station_G2
+build_src_filter = ${Station_G2.build_src_filter}
+  +<../examples/kiss_modem/>

+ 7 - 0
variants/t1000-e/platformio.ini

@@ -117,3 +117,10 @@ lib_deps = ${t1000-e.lib_deps}
   densaugeo/base64 @ ~1.4.0
   stevemarple/MicroNMEA @ ^2.0.6
   end2endzone/NonBlockingRTTTL@^1.3.0
+
+[env:t1000e_kiss_modem]
+extends = t1000-e
+build_src_filter = ${t1000-e.build_src_filter}
+  +<../examples/kiss_modem/>
+lib_deps = ${t1000-e.lib_deps}
+  stevemarple/MicroNMEA @ ^2.0.6

+ 20 - 0
variants/tenstar_c3/platformio.ini

@@ -161,3 +161,23 @@ build_flags =
 lib_deps =
   ${Tenstar_esp32_C3.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:Tenstar_C3_sx1262_kiss_modem]
+extends = Tenstar_esp32_C3
+build_src_filter = ${Tenstar_esp32_C3.build_src_filter}
+  +<../examples/kiss_modem/>
+build_flags =
+  ${Tenstar_esp32_C3.build_flags}
+  -D RADIO_CLASS=CustomSX1262
+  -D WRAPPER_CLASS=CustomSX1262Wrapper
+  -D LORA_TX_POWER=22
+
+[env:Tenstar_C3_sx1268_kiss_modem]
+extends = Tenstar_esp32_C3
+build_src_filter = ${Tenstar_esp32_C3.build_src_filter}
+  +<../examples/kiss_modem/>
+build_flags =
+  ${Tenstar_esp32_C3.build_flags}
+  -D RADIO_CLASS=CustomSX1268
+  -D WRAPPER_CLASS=CustomSX1268Wrapper
+  -D LORA_TX_POWER=22

+ 6 - 1
variants/thinknode_m1/platformio.ini

@@ -127,4 +127,9 @@ lib_deps =
   densaugeo/base64 @ ~1.4.0
   zinggjm/GxEPD2 @ 1.6.2
   bakercp/CRC32 @ ^2.0.0
-  end2endzone/NonBlockingRTTTL@^1.3.0
+  end2endzone/NonBlockingRTTTL@^1.3.0
+
+[env:ThinkNode_M1_kiss_modem]
+extends = ThinkNode_M1
+build_src_filter = ${ThinkNode_M1.build_src_filter}
+  +<../examples/kiss_modem/>

+ 7 - 0
variants/thinknode_m2/platformio.ini

@@ -209,3 +209,10 @@ build_src_filter = ${ThinkNode_M2.build_src_filter}
 lib_deps =
   ${ThinkNode_M2.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:ThinkNode_M2_kiss_modem]
+extends = ThinkNode_M2
+build_flags = ${ThinkNode_M2.build_flags}
+  -UPIN_BUZZER
+build_src_filter = ${ThinkNode_M2.build_src_filter}
+  +<../examples/kiss_modem/>

+ 9 - 2
variants/thinknode_m3/platformio.ini

@@ -17,11 +17,11 @@ build_flags = ${nrf52_base.build_flags}
   -D RF_SWITCH_TABLE
   -D RX_BOOSTED_GAIN=true
   -D P_LORA_BUSY=43
-  -D P_LORA_SCLK=45 
+  -D P_LORA_SCLK=45
   -D P_LORA_NSS=44
   -D P_LORA_DIO_1=40
   -D P_LORA_MISO=47
-  -D P_LORA_MOSI=46 
+  -D P_LORA_MOSI=46
   -D P_LORA_RESET=42
   -D P_LORA_TX_LED=PIN_LED_BLUE
   -D P_LORA_TX_LED_ON=LOW
@@ -119,3 +119,10 @@ lib_deps = ${ThinkNode_M3.lib_deps}
   densaugeo/base64 @ ~1.4.0
   stevemarple/MicroNMEA @ ^2.0.6
   end2endzone/NonBlockingRTTTL@^1.3.0
+
+[env:ThinkNode_M3_kiss_modem]
+extends = ThinkNode_M3
+build_src_filter = ${ThinkNode_M3.build_src_filter}
+  +<../examples/kiss_modem/>
+lib_deps = ${ThinkNode_M3.lib_deps}
+  stevemarple/MicroNMEA @ ^2.0.6

+ 5 - 0
variants/thinknode_m5/platformio.ini

@@ -227,3 +227,8 @@ lib_deps =
   ${ThinkNode_M5.lib_deps}
   densaugeo/base64 @ ~1.4.0
   end2endzone/NonBlockingRTTTL@^1.3.0
+
+[env:ThinkNode_M5_kiss_modem]
+extends = ThinkNode_M5
+build_src_filter = ${ThinkNode_M5.build_src_filter}
+  +<../examples/kiss_modem/>

+ 6 - 1
variants/thinknode_m6/platformio.ini

@@ -116,4 +116,9 @@ build_src_filter = ${ThinkNode_M6.build_src_filter}
 lib_deps =
   ${ThinkNode_M6.lib_deps}
   densaugeo/base64 @ ~1.4.0
-  end2endzone/NonBlockingRTTTL@^1.3.0
+  end2endzone/NonBlockingRTTTL@^1.3.0
+
+[env:ThinkNode_M6_kiss_modem]
+extends = ThinkNode_M6
+build_src_filter = ${ThinkNode_M6.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/tiny_relay/platformio.ini

@@ -48,3 +48,8 @@ build_src_filter = ${Tiny_Relay.build_src_filter}
   +<../examples/companion_radio/*.cpp>
 lib_deps = ${Tiny_Relay.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:Tiny_Relay_kiss_modem]
+extends = Tiny_Relay
+build_src_filter = ${Tiny_Relay.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/waveshare_rp2040_lora/platformio.ini

@@ -131,3 +131,8 @@ build_src_filter = ${waveshare_rp2040_lora.build_src_filter}
   +<../examples/simple_secure_chat/main.cpp>
 lib_deps = ${waveshare_rp2040_lora.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:waveshare_rp2040_lora_kiss_modem]
+extends = waveshare_rp2040_lora
+build_src_filter = ${waveshare_rp2040_lora.build_src_filter}
+  +<../examples/kiss_modem/>

+ 7 - 0
variants/wio-e5-dev/platformio.ini

@@ -5,6 +5,8 @@ board_upload.maximum_size = 229376 ; 32kb for FS
 build_flags = ${stm32_base.build_flags}
   -D RADIO_CLASS=CustomSTM32WLx
   -D WRAPPER_CLASS=CustomSTM32WLxWrapper
+  -D LORA_TX_POWER=22
+  -D SX126X_CURRENT_LIMIT=140
   -D SPI_INTERFACES_COUNT=0
   -D RX_BOOSTED_GAIN=true
   -D PIN_SERIAL_RX=PB7
@@ -48,3 +50,8 @@ build_src_filter = ${lora_e5.build_src_filter}
   +<../examples/companion_radio/*.cpp>
 lib_deps = ${lora_e5.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:wio-e5_kiss_modem]
+extends = lora_e5
+build_src_filter = ${lora_e5.build_src_filter}
+  +<../examples/kiss_modem/>

+ 8 - 1
variants/wio-e5-mini/platformio.ini

@@ -7,6 +7,8 @@ build_flags = ${stm32_base.build_flags}
   -D WRAPPER_CLASS=CustomSTM32WLxWrapper
   -D SPI_INTERFACES_COUNT=0
   -D RX_BOOSTED_GAIN=true
+  -D LORA_TX_POWER=22
+  -D SX126X_CURRENT_LIMIT=140
   -D P_LORA_TX_LED=LED_RED
   -D PIN_USER_BTN=USER_BTN
   -I variants/wio-e5-mini
@@ -40,10 +42,15 @@ build_flags = ${lora_e5_mini.build_flags}
   -I examples/companion_radio/ui-orig
   -D LORA_TX_POWER=22
   -D MAX_CONTACTS=100
-  -D MAX_GROUP_CHANNELS=8  
+  -D MAX_GROUP_CHANNELS=8
   -D DISPLAY_CLASS=NullDisplayDriver
 build_src_filter = ${lora_e5_mini.build_src_filter}
   +<../examples/companion_radio/*.cpp>
   +<../examples/companion_radio/ui-orig/*.cpp>
 lib_deps = ${lora_e5_mini.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:wio-e5-mini_kiss_modem]
+extends = lora_e5_mini
+build_src_filter = ${lora_e5_mini.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/wio-tracker-l1-eink/platformio.ini

@@ -68,3 +68,8 @@ lib_deps = ${WioTrackerL1Eink.lib_deps}
   densaugeo/base64 @ ~1.4.0
   end2endzone/NonBlockingRTTTL@^1.3.0
 debug_tool=stlink
+
+[env:WioTrackerL1Eink_kiss_modem]
+extends = WioTrackerL1Eink
+build_src_filter = ${WioTrackerL1Eink.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/wio-tracker-l1/platformio.ini

@@ -111,3 +111,8 @@ lib_deps = ${WioTrackerL1.lib_deps}
   adafruit/RTClib @ ^2.1.3
   densaugeo/base64 @ ~1.4.0
   end2endzone/NonBlockingRTTTL@^1.3.0
+
+[env:WioTrackerL1_kiss_modem]
+extends = WioTrackerL1
+build_src_filter = ${WioTrackerL1.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/wio_wm1110/platformio.ini

@@ -84,3 +84,8 @@ build_src_filter = ${wio_wm1110.build_src_filter}
 lib_deps =
   ${wio_wm1110.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:wio_wm1110_kiss_modem]
+extends = wio_wm1110
+build_src_filter = ${wio_wm1110.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/xiao_c3/platformio.ini

@@ -128,3 +128,8 @@ lib_deps =
   ${Xiao_esp32_C3.lib_deps}
   ${esp32_ota.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:Xiao_C3_kiss_modem]
+extends = Xiao_esp32_C3
+build_src_filter = ${Xiao_esp32_C3.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/xiao_c6/platformio.ini

@@ -184,3 +184,8 @@ build_src_filter = ${WHY2025_badge.build_src_filter}
 lib_deps =
   ${WHY2025_badge.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:Xiao_C6_kiss_modem]
+extends = Xiao_C6
+build_src_filter = ${Xiao_C6.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/xiao_rp2040/platformio.ini

@@ -108,3 +108,8 @@ build_src_filter = ${Xiao_rp2040.build_src_filter}
   +<../examples/simple_secure_chat/main.cpp>
 lib_deps = ${Xiao_rp2040.lib_deps}
   densaugeo/base64 @ ~1.4.0
+
+[env:Xiao_rp2040_kiss_modem]
+extends = Xiao_rp2040
+build_src_filter = ${Xiao_rp2040.build_src_filter}
+  +<../examples/kiss_modem/>

+ 5 - 0
variants/xiao_s3_wio/platformio.ini

@@ -234,3 +234,8 @@ build_flags =
 lib_deps =
   ${Xiao_S3_WIO.lib_deps}
   ${esp32_ota.lib_deps}
+
+[env:Xiao_S3_WIO_kiss_modem]
+extends = Xiao_S3_WIO
+build_src_filter = ${Xiao_S3_WIO.build_src_filter}
+  +<../examples/kiss_modem/>