Procházet zdrojové kódy

Add ESPNow bridge configurations for all ESP32 targets

João Brázio před 11 měsíci
rodič
revize
1c93c162a1

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

@@ -47,6 +47,53 @@ lib_deps =
   ${Generic_E22.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Generic_E22_sx1262_repeater_bridge_rs232]
+; extends = Generic_E22
+; build_src_filter = ${Generic_E22.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater/main.cpp>
+; build_flags =
+;   ${Generic_E22.build_flags}
+;   -D RADIO_CLASS=CustomSX1262
+;   -D WRAPPER_CLASS=CustomSX1262Wrapper
+;   -D LORA_TX_POWER=22
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; lib_deps =
+;   ${Generic_E22.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Generic_E22_sx1262_repeater_bridge_espnow]
+extends = Generic_E22
+build_src_filter = ${Generic_E22.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater/main.cpp>
+build_flags =
+  ${Generic_E22.build_flags}
+  -D RADIO_CLASS=CustomSX1262
+  -D WRAPPER_CLASS=CustomSX1262Wrapper
+  -D LORA_TX_POWER=22
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+lib_deps =
+  ${Generic_E22.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Generic_E22_sx1268_repeater]
 extends = Generic_E22
 build_src_filter = ${Generic_E22.build_src_filter}
@@ -66,3 +113,50 @@ build_flags =
 lib_deps =
   ${Generic_E22.lib_deps}
   ${esp32_ota.lib_deps}
+
+; [env:Generic_E22_sx1268_repeater_bridge_rs232]
+; extends = Generic_E22
+; build_src_filter = ${Generic_E22.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater/main.cpp>
+; build_flags =
+;   ${Generic_E22.build_flags}
+;   -D RADIO_CLASS=CustomSX1268
+;   -D WRAPPER_CLASS=CustomSX1268Wrapper
+;   -D LORA_TX_POWER=22
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; lib_deps =
+;   ${Generic_E22.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Generic_E22_sx1268_repeater_bridge_espnow]
+extends = Generic_E22
+build_src_filter = ${Generic_E22.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater/main.cpp>
+build_flags =
+  ${Generic_E22.build_flags}
+  -D RADIO_CLASS=CustomSX1268
+  -D WRAPPER_CLASS=CustomSX1268Wrapper
+  -D LORA_TX_POWER=22
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+lib_deps =
+  ${Generic_E22.lib_deps}
+  ${esp32_ota.lib_deps}

+ 41 - 0
variants/heltec_ct62/platformio.ini

@@ -49,6 +49,47 @@ lib_deps =
   ${Heltec_ct62.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Heltec_ct62_repeater_bridge_rs232]
+; extends = Heltec_ct62
+; build_flags =
+;   ${Heltec_ct62.build_flags}
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${Heltec_ct62.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${Heltec_ct62.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Heltec_ct62_repeater_bridge_espnow]
+extends = Heltec_ct62
+build_flags =
+  ${Heltec_ct62.build_flags}
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Heltec_ct62.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${Heltec_ct62.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Heltec_ct62_companion_radio_usb]
 extends = Heltec_ct62
 build_flags =

+ 45 - 0
variants/heltec_e213/platformio.ini

@@ -93,6 +93,51 @@ lib_deps =
   ${Heltec_E213_base.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Heltec_E213_repeater_bridge_rs232]
+; extends = Heltec_E213_base
+; build_flags =
+;   ${Heltec_E213_base.build_flags}
+;   -D DISPLAY_CLASS=E213Display
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${Heltec_E213_base.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<helpers/ui/E213Display.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${Heltec_E213_base.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Heltec_E213_repeater_bridge_espnow]
+extends = Heltec_E213_base
+build_flags =
+  ${Heltec_E213_base.build_flags}
+  -D DISPLAY_CLASS=E213Display
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Heltec_E213_base.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<helpers/ui/E213Display.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${Heltec_E213_base.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Heltec_E213_room_server]
 extends = Heltec_E213_base
 build_flags =

+ 45 - 0
variants/heltec_e290/platformio.ini

@@ -89,6 +89,51 @@ lib_deps =
   ${Heltec_E290_base.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Heltec_E290_repeater_bridge_rs232]
+; extends = Heltec_E290_base
+; build_flags =
+;   ${Heltec_E290_base.build_flags}
+;   -D DISPLAY_CLASS=E290Display
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${Heltec_E290_base.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<helpers/ui/E290Display.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${Heltec_E290_base.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Heltec_E290_repeater_bridge_espnow]
+extends = Heltec_E290_base
+build_flags =
+  ${Heltec_E290_base.build_flags}
+  -D DISPLAY_CLASS=E290Display
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Heltec_E290_base.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<helpers/ui/E290Display.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${Heltec_E290_base.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Heltec_E290_room_server]
 extends = Heltec_E290_base
 build_flags =

+ 41 - 0
variants/heltec_t190/platformio.ini

@@ -94,6 +94,47 @@ lib_deps =
   ${Heltec_T190_base.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Heltec_T190_repeater_bridge_rs232]
+; extends = Heltec_T190_base
+; build_flags =
+;   ${Heltec_T190_base.build_flags}
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${Heltec_T190_base.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${Heltec_T190_base.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Heltec_T190_repeater_bridge_espnow]
+extends = Heltec_T190_base
+build_flags =
+  ${Heltec_T190_base.build_flags}
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Heltec_T190_base.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${Heltec_T190_base.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Heltec_T190_room_server]
 extends = Heltec_T190_base
 build_flags =

+ 47 - 0
variants/heltec_tracker/platformio.ini

@@ -80,6 +80,53 @@ lib_deps =
   ${Heltec_tracker_base.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Heltec_Wireless_Tracker_repeater_bridge_rs232]
+; extends = Heltec_tracker_base
+; build_flags =
+;   ${Heltec_tracker_base.build_flags}
+;   -D DISPLAY_ROTATION=1
+;   -D DISPLAY_CLASS=ST7735Display
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${Heltec_tracker_base.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<helpers/ui/ST7735Display.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${Heltec_tracker_base.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Heltec_Wireless_Tracker_repeater_bridge_espnow]
+extends = Heltec_tracker_base
+build_flags =
+  ${Heltec_tracker_base.build_flags}
+  -D DISPLAY_ROTATION=1
+  -D DISPLAY_CLASS=ST7735Display
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Heltec_tracker_base.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<helpers/ui/ST7735Display.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${Heltec_tracker_base.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Heltec_Wireless_Tracker_room_server]
 extends = Heltec_tracker_base
 build_flags =

+ 47 - 0
variants/heltec_v2/platformio.ini

@@ -40,6 +40,53 @@ lib_deps =
   ${Heltec_lora32_v2.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Heltec_v2_repeater_bridge_rs232]
+; extends = Heltec_lora32_v2
+; build_flags =
+;   ${Heltec_lora32_v2.build_flags}
+;   -D DISPLAY_CLASS=SSD1306Display
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${Heltec_lora32_v2.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<helpers/ui/SSD1306Display.cpp>
+;   +<helpers/ui/MomentaryButton.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${Heltec_lora32_v2.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Heltec_v2_repeater_bridge_espnow]
+extends = Heltec_lora32_v2
+build_flags =
+  ${Heltec_lora32_v2.build_flags}
+  -D DISPLAY_CLASS=SSD1306Display
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Heltec_lora32_v2.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<helpers/ui/SSD1306Display.cpp>
+  +<helpers/ui/MomentaryButton.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${Heltec_lora32_v2.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Heltec_v2_room_server]
 extends = Heltec_lora32_v2
 build_flags =

+ 45 - 0
variants/heltec_wireless_paper/platformio.ini

@@ -68,6 +68,51 @@ lib_deps =
   ${Heltec_Wireless_Paper_base.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Heltec_Wireless_Paper_repeater_bridge_rs232]
+; extends = Heltec_Wireless_Paper_base
+; build_flags =
+;   ${Heltec_Wireless_Paper_base.build_flags}
+;   -D DISPLAY_CLASS=E213Display
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${Heltec_Wireless_Paper_base.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<helpers/ui/E213Display.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${Heltec_Wireless_Paper_base.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Heltec_Wireless_Paper_repeater_bridge_espnow]
+extends = Heltec_Wireless_Paper_base
+build_flags =
+  ${Heltec_Wireless_Paper_base.build_flags}
+  -D DISPLAY_CLASS=E213Display
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Heltec_Wireless_Paper_base.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<helpers/ui/E213Display.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${Heltec_Wireless_Paper_base.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Heltec_Wireless_Paper_room_server]
 extends = Heltec_Wireless_Paper_base
 build_flags =

+ 45 - 0
variants/lilygo_t3s3/platformio.ini

@@ -52,6 +52,51 @@ lib_deps =
   ${LilyGo_T3S3_sx1262.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:LilyGo_T3S3_sx1262_Repeater_bridge_rs232]
+; extends = LilyGo_T3S3_sx1262
+; build_flags =
+;   ${LilyGo_T3S3_sx1262.build_flags}
+;   -D DISPLAY_CLASS=SSD1306Display
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<helpers/ui/SSD1306Display.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${LilyGo_T3S3_sx1262.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:LilyGo_T3S3_sx1262_Repeater_bridge_espnow]
+extends = LilyGo_T3S3_sx1262
+build_flags =
+  ${LilyGo_T3S3_sx1262.build_flags}
+  -D DISPLAY_CLASS=SSD1306Display
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<helpers/ui/SSD1306Display.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${LilyGo_T3S3_sx1262.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:LilyGo_T3S3_sx1262_terminal_chat]
 extends = LilyGo_T3S3_sx1262
 build_flags =

+ 45 - 0
variants/lilygo_t3s3_sx1276/platformio.ini

@@ -50,6 +50,51 @@ lib_deps =
   ${LilyGo_T3S3_sx1276.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:LilyGo_T3S3_sx1276_Repeater_bridge_rs232]
+; extends = LilyGo_T3S3_sx1276
+; build_flags =
+;   ${LilyGo_T3S3_sx1276.build_flags}
+;   -D DISPLAY_CLASS=SSD1306Display
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+;   ; -D MESH_PACKET_LOGGING=1
+;   ; -D MESH_DEBUG=1
+; build_src_filter = ${LilyGo_T3S3_sx1276.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<helpers/ui/SSD1306Display.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${LilyGo_T3S3_sx1276.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:LilyGo_T3S3_sx1276_Repeater_bridge_espnow]
+extends = LilyGo_T3S3_sx1276
+build_flags =
+  ${LilyGo_T3S3_sx1276.build_flags}
+  -D DISPLAY_CLASS=SSD1306Display
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+  ; -D MESH_PACKET_LOGGING=1
+  ; -D MESH_DEBUG=1
+build_src_filter = ${LilyGo_T3S3_sx1276.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<helpers/ui/SSD1306Display.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${LilyGo_T3S3_sx1276.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:LilyGo_T3S3_sx1276_terminal_chat]
 extends = LilyGo_T3S3_sx1276
 build_flags =

+ 41 - 0
variants/lilygo_tbeam_SX1262/platformio.ini

@@ -74,6 +74,47 @@ lib_deps =
   ${LilyGo_TBeam_SX1262.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Tbeam_SX1262_repeater_bridge_rs232]
+; extends = LilyGo_TBeam_SX1262
+; build_flags =
+;   ${LilyGo_TBeam_SX1262.build_flags}
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${LilyGo_TBeam_SX1262.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${LilyGo_TBeam_SX1262.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Tbeam_SX1262_repeater_bridge_espnow]
+extends = LilyGo_TBeam_SX1262
+build_flags =
+  ${LilyGo_TBeam_SX1262.build_flags}
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${LilyGo_TBeam_SX1262.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${LilyGo_TBeam_SX1262.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Tbeam_SX1262_room_server]
 extends = LilyGo_TBeam_SX1262
 build_flags =

+ 43 - 0
variants/lilygo_tbeam_SX1276/platformio.ini

@@ -72,6 +72,49 @@ lib_deps =
   ${LilyGo_TBeam_SX1276.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Tbeam_SX1276_repeater_bridge_rs232]
+; extends = LilyGo_TBeam_SX1276
+; build_flags =
+;   ${LilyGo_TBeam_SX1276.build_flags}
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D PERSISTANT_GPS=1
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${LilyGo_TBeam_SX1276.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${LilyGo_TBeam_SX1276.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Tbeam_SX1276_repeater_bridge_espnow]
+extends = LilyGo_TBeam_SX1276
+build_flags =
+  ${LilyGo_TBeam_SX1276.build_flags}
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D PERSISTANT_GPS=1
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${LilyGo_TBeam_SX1276.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${LilyGo_TBeam_SX1276.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Tbeam_SX1276_room_server]
 extends = LilyGo_TBeam_SX1276
 build_flags =

+ 41 - 0
variants/lilygo_tbeam_supreme_SX1262/platformio.ini

@@ -52,6 +52,47 @@ lib_deps =
   ${T_Beam_S3_Supreme_SX1262.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:T_Beam_S3_Supreme_SX1262_repeater_bridge_rs232]
+; extends = T_Beam_S3_Supreme_SX1262
+; build_flags =
+;   ${T_Beam_S3_Supreme_SX1262.build_flags}
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0
+;   -D ADVERT_LON=0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${T_Beam_S3_Supreme_SX1262.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:T_Beam_S3_Supreme_SX1262_repeater_bridge_espnow]
+extends = T_Beam_S3_Supreme_SX1262
+build_flags =
+  ${T_Beam_S3_Supreme_SX1262.build_flags}
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0
+  -D ADVERT_LON=0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${T_Beam_S3_Supreme_SX1262.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:T_Beam_S3_Supreme_SX1262_room_server]
 extends = T_Beam_S3_Supreme_SX1262
 build_flags =

+ 1 - 1
variants/lilygo_tlora_v2_1/platformio.ini

@@ -198,7 +198,7 @@ build_flags =
   -D MAX_NEIGHBOURS=8
   -D WITH_ESPNOW_BRIDGE=1
   -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
-  -D MESH_PACKET_LOGGING=1
+;  -D MESH_PACKET_LOGGING=1
 ;  -D MESH_DEBUG=1
 ;  -D CORE_DEBUG_LEVEL=3
 lib_deps =

+ 98 - 0
variants/meshadventurer/platformio.ini

@@ -54,6 +54,55 @@ lib_deps =
   ${Meshadventurer.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Meshadventurer_sx1262_repeater_bridge_rs232]
+; extends = Meshadventurer
+; 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
+;   -D WRAPPER_CLASS=CustomSX1262Wrapper
+;   -D LORA_TX_POWER=22
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; lib_deps =
+;   ${Meshadventurer.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Meshadventurer_sx1262_repeater_bridge_espnow]
+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
+  -D WRAPPER_CLASS=CustomSX1262Wrapper
+  -D LORA_TX_POWER=22
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+lib_deps =
+  ${Meshadventurer.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Meshadventurer_sx1268_repeater]
 extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}
@@ -75,6 +124,55 @@ lib_deps =
   ${Meshadventurer.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Meshadventurer_sx1268_repeater_bridge_rs232]
+; extends = Meshadventurer
+; 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=CustomSX1268
+;   -D WRAPPER_CLASS=CustomSX1268Wrapper
+;   -D LORA_TX_POWER=22
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; lib_deps =
+;   ${Meshadventurer.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Meshadventurer_sx1268_repeater_bridge_espnow]
+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
+  -D WRAPPER_CLASS=CustomSX1268Wrapper
+  -D LORA_TX_POWER=22
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+lib_deps =
+  ${Meshadventurer.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Meshadventurer_sx1262_companion_radio_usb]
 extends = Meshadventurer
 build_src_filter = ${Meshadventurer.build_src_filter}

+ 84 - 0
variants/station_g2/platformio.ini

@@ -45,6 +45,47 @@ lib_deps =
   ${Station_G2.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Station_G2_repeater_bridge_rs232]
+; extends = Station_G2
+; build_flags =
+;   ${Station_G2.build_flags}
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${Station_G2.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${Station_G2.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Station_G2_repeater_bridge_espnow]
+extends = Station_G2
+build_flags =
+  ${Station_G2.build_flags}
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Station_G2.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${Station_G2.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Station_G2_logging_repeater]
 extends = Station_G2
 build_flags =
@@ -64,6 +105,49 @@ lib_deps =
   ${Station_G2.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Station_G2_logging_repeater_bridge_rs232]
+; extends = Station_G2
+; build_flags =
+;   ${Station_G2.build_flags}
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D MESH_PACKET_LOGGING=1
+;   -D SX126X_RX_BOOSTED_GAIN=1
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_DEBUG=1
+; build_src_filter = ${Station_G2.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater>
+; lib_deps =
+;   ${Station_G2.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Station_G2_logging_repeater_bridge_espnow]
+extends = Station_G2
+build_flags =
+  ${Station_G2.build_flags}
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D MESH_PACKET_LOGGING=1
+  -D SX126X_RX_BOOSTED_GAIN=1
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_DEBUG=1
+build_src_filter = ${Station_G2.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater>
+lib_deps =
+  ${Station_G2.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Station_G2_room_server]
 extends = Station_G2
 build_src_filter = ${Station_G2.build_src_filter}

+ 96 - 0
variants/tenstar_c3/platformio.ini

@@ -44,6 +44,55 @@ lib_deps =
   ${Tenstar_esp32_C3.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Tenstar_C3_Repeater_sx1262_bridge_rs232]
+; extends = Tenstar_esp32_C3
+; build_src_filter = ${Tenstar_esp32_C3.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater/main.cpp>
+; build_flags =
+;   ${Tenstar_esp32_C3.build_flags}
+;   -D RADIO_CLASS=CustomSX1262
+;   -D WRAPPER_CLASS=CustomSX1262Wrapper
+;   -D SX126X_RX_BOOSTED_GAIN=1
+;   -D LORA_TX_POWER=22
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; lib_deps =
+;   ${Tenstar_esp32_C3.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Tenstar_C3_Repeater_sx1262_bridge_espnow]
+extends = Tenstar_esp32_C3
+build_src_filter = ${Tenstar_esp32_C3.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater/main.cpp>
+build_flags =
+  ${Tenstar_esp32_C3.build_flags}
+  -D RADIO_CLASS=CustomSX1262
+  -D WRAPPER_CLASS=CustomSX1262Wrapper
+  -D SX126X_RX_BOOSTED_GAIN=1
+  -D LORA_TX_POWER=22
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+lib_deps =
+  ${Tenstar_esp32_C3.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Tenstar_C3_Repeater_sx1268]
 extends = Tenstar_esp32_C3
 build_src_filter = ${Tenstar_esp32_C3.build_src_filter}
@@ -63,3 +112,50 @@ build_flags =
 lib_deps =
   ${Tenstar_esp32_C3.lib_deps}
   ${esp32_ota.lib_deps}
+
+; [env:Tenstar_C3_Repeater_sx1268_bridge_rs232]
+; extends = Tenstar_esp32_C3
+; build_src_filter = ${Tenstar_esp32_C3.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater/main.cpp>
+; build_flags =
+;   ${Tenstar_esp32_C3.build_flags}
+;   -D RADIO_CLASS=CustomSX1268
+;   -D WRAPPER_CLASS=CustomSX1268Wrapper
+;   -D LORA_TX_POWER=22
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+;  ; -D MESH_PACKET_LOGGING=1
+;  ; -D MESH_DEBUG=1
+; lib_deps =
+;   ${Tenstar_esp32_C3.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Tenstar_C3_Repeater_sx1268_bridge_espnow]
+extends = Tenstar_esp32_C3
+build_src_filter = ${Tenstar_esp32_C3.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater/main.cpp>
+build_flags =
+  ${Tenstar_esp32_C3.build_flags}
+  -D RADIO_CLASS=CustomSX1268
+  -D WRAPPER_CLASS=CustomSX1268Wrapper
+  -D LORA_TX_POWER=22
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+ ; -D MESH_PACKET_LOGGING=1
+ ; -D MESH_DEBUG=1
+lib_deps =
+  ${Tenstar_esp32_C3.lib_deps}
+  ${esp32_ota.lib_deps}

+ 41 - 0
variants/xiao_s3_wio/platformio.ini

@@ -44,6 +44,47 @@ lib_deps =
   ${Xiao_S3_WIO.lib_deps}
   ${esp32_ota.lib_deps}
 
+; [env:Xiao_S3_WIO_Repeater_bridge_rs232]
+; extends = Xiao_S3_WIO
+; build_src_filter = ${Xiao_S3_WIO.build_src_filter}
+;   +<helpers/bridges/RS232Bridge.cpp>
+;   +<../examples/simple_repeater/main.cpp>
+; build_flags =
+;   ${Xiao_S3_WIO.build_flags}
+;   -D ADVERT_NAME='"RS232 Bridge"'
+;   -D ADVERT_LAT=0.0
+;   -D ADVERT_LON=0.0
+;   -D ADMIN_PASSWORD='"password"'
+;   -D MAX_NEIGHBOURS=8
+;   -D WITH_RS232_BRIDGE=Serial2
+;   -D WITH_RS232_BRIDGE_RX=5
+;   -D WITH_RS232_BRIDGE_TX=6
+; ;  -D MESH_PACKET_LOGGING=1
+; ;  -D MESH_DEBUG=1
+; lib_deps =
+;   ${Xiao_S3_WIO.lib_deps}
+;   ${esp32_ota.lib_deps}
+
+[env:Xiao_S3_WIO_Repeater_bridge_espnow]
+extends = Xiao_S3_WIO
+build_src_filter = ${Xiao_S3_WIO.build_src_filter}
+  +<helpers/bridges/ESPNowBridge.cpp>
+  +<../examples/simple_repeater/main.cpp>
+build_flags =
+  ${Xiao_S3_WIO.build_flags}
+  -D ADVERT_NAME='"ESPNow Bridge"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+  -D WITH_ESPNOW_BRIDGE=1
+  -D WITH_ESPNOW_BRIDGE_SECRET='"shared-secret"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+lib_deps =
+  ${Xiao_S3_WIO.lib_deps}
+  ${esp32_ota.lib_deps}
+
 [env:Xiao_S3_WIO_room_server]
 extends = Xiao_S3_WIO
 build_src_filter = ${Xiao_S3_WIO.build_src_filter}