[env:Ebyte_EoRa-S3_Repeater_mqtt]
extends = Ebyte_EoRa-S3
board_build.partitions = min_spiffs.csv
build_flags =
  ${Ebyte_EoRa-S3.build_flags}
  -D DISPLAY_CLASS=SSD1306Display
  -D ADVERT_NAME='"EORA_S3-1262 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Ebyte_EoRa-S3.build_src_filter}
  +<helpers/ui/SSD1306Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Ebyte_EoRa-S3.lib_deps}
  ${esp32_ota.lib_deps}

[env:Generic_E22_sx1262_repeater_mqtt]
extends = Generic_E22
board_build.partitions = min_spiffs.csv ; get around 4mb flash limit
build_src_filter = ${Generic_E22.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${Generic_E22.build_flags}
  -D RADIO_CLASS=CustomSX1262
  -D WRAPPER_CLASS=CustomSX1262Wrapper
  -D LORA_TX_POWER=22
  -D ADVERT_NAME='"E22 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${Generic_E22.lib_deps}
  ${esp32_ota.lib_deps}

[env:Generic_E22_sx1268_repeater_mqtt]
extends = Generic_E22
board_build.partitions = min_spiffs.csv ; get around 4mb flash limit
build_src_filter = ${Generic_E22.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${Generic_E22.build_flags}
  -D RADIO_CLASS=CustomSX1268
  -D WRAPPER_CLASS=CustomSX1268Wrapper
  -D LORA_TX_POWER=22
  -D ADVERT_NAME='"E22 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${Generic_E22.lib_deps}
  ${esp32_ota.lib_deps}

[env:Heltec_E213_repeater_mqtt]
extends = Heltec_E213_base
build_flags =
  ${Heltec_E213_base.build_flags}
  -D DISPLAY_CLASS=E213Display
  -D ADVERT_NAME='"Heltec E213 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Heltec_E213_base.build_src_filter}
  +<helpers/ui/E213Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Heltec_E213_base.lib_deps}
  ${esp32_ota.lib_deps}
  bakercp/CRC32 @ ^2.0.0

[env:Heltec_E290_repeater_mqtt]
extends = Heltec_E290_base
build_flags =
  ${Heltec_E290_base.build_flags}
  -D DISPLAY_CLASS=E290Display
  -D ADVERT_NAME='"Heltec E290 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Heltec_E290_base.build_src_filter}
  +<helpers/ui/E290Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Heltec_E290_base.lib_deps}
  ${esp32_ota.lib_deps}
  bakercp/CRC32 @ ^2.0.0

[env:Heltec_T190_repeater_mqtt]
extends = Heltec_T190_base
build_flags =
  ${Heltec_T190_base.build_flags}
  -D ADVERT_NAME='"Heltec T190 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Heltec_T190_base.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Heltec_T190_base.lib_deps}
  ${esp32_ota.lib_deps}

[env:heltec_tracker_v2_repeater_mqtt]
extends = Heltec_tracker_v2
build_flags =
  ${Heltec_tracker_v2.build_flags}
  -D DISPLAY_CLASS=ST7735Display
  -D ADVERT_NAME='"Heltec Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
  +<helpers/ui/ST7735Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Heltec_tracker_v2.lib_deps}
  ${esp32_ota.lib_deps}
  bakercp/CRC32 @ ^2.0.0

[env:Heltec_v2_repeater_mqtt]
extends = Heltec_lora32_v2
build_flags =
  ${Heltec_lora32_v2.build_flags}
  -D DISPLAY_CLASS=SSD1306Display
  -D ADVERT_NAME='"Heltec Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Heltec_lora32_v2.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/ui/SSD1306Display.cpp>
  +<helpers/ui/MomentaryButton.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Heltec_lora32_v2.lib_deps}
  ${esp32_ota.lib_deps}

[env:Heltec_v3_repeater_mqtt]
extends = Heltec_lora32_v3
build_flags =
  ${Heltec_lora32_v3.build_flags}
  -D DISPLAY_CLASS=SSD1306Display
  -D ADVERT_NAME='"Heltec Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  +<helpers/ui/SSD1306Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Heltec_lora32_v3.lib_deps}
  ${esp32_ota.lib_deps}
  bakercp/CRC32 @ ^2.0.0

[env:heltec_v4_repeater_mqtt]
extends = heltec_v4_oled
build_flags =
  ${heltec_v4_oled.build_flags}
  -D DISPLAY_CLASS=SSD1306Display
  -D ADVERT_NAME='"Heltec MQTT Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
  -D ARDUINO_USB_CDC_ON_BOOT=1
build_src_filter = ${heltec_v4_oled.build_src_filter}
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
  +<helpers/ui/SSD1306Display.cpp>
  +<../examples/simple_repeater>
lib_deps =
  ${heltec_v4_oled.lib_deps}
  ${esp32_ota.lib_deps}
  bakercp/CRC32 @ ^2.0.0

[env:heltec_v4_tft_repeater_mqtt]
extends = heltec_v4_tft
build_flags =
  ${heltec_v4_tft.build_flags}
  -D DISPLAY_CLASS=ST7789LCDDisplay
  -D ADVERT_NAME='"Heltec Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${heltec_v4_tft.build_src_filter}
  +<helpers/ui/ST7789LCDDisplay.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${heltec_v4_tft.lib_deps}
  ${esp32_ota.lib_deps}
  bakercp/CRC32 @ ^2.0.0

[env:Heltec_Wireless_Paper_repeater_mqtt]
extends = Heltec_Wireless_Paper_base
build_flags =
  ${Heltec_Wireless_Paper_base.build_flags}
  -D DISPLAY_CLASS=E213Display
  -D ADVERT_NAME='"Heltec WP Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Heltec_Wireless_Paper_base.build_src_filter}
  +<helpers/ui/E213Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Heltec_Wireless_Paper_base.lib_deps}
  ${esp32_ota.lib_deps}
  bakercp/CRC32 @ ^2.0.0

[env:Heltec_Wireless_Tracker_repeater_mqtt]
extends = Heltec_tracker_base
build_flags =
  ${Heltec_tracker_base.build_flags}
  -D DISPLAY_ROTATION=1
  -D DISPLAY_CLASS=ST7735Display
  -D ADVERT_NAME='"Heltec Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Heltec_tracker_base.build_src_filter}
  +<helpers/ui/ST7735Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Heltec_tracker_base.lib_deps}
  ${esp32_ota.lib_deps}

[env:Heltec_WSL3_repeater_mqtt]
extends = Heltec_lora32_v3
build_flags =
  ${Heltec_lora32_v3.build_flags}
  -D ADVERT_NAME='"Heltec Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Heltec_lora32_v3.lib_deps}
  ${esp32_ota.lib_deps}
  bakercp/CRC32 @ ^2.0.0

[env:LilyGo_T3S3_sx1262_repeater_mqtt]
extends = LilyGo_T3S3_sx1262
board_build.partitions = min_spiffs.csv ; get around 4mb flash limit
build_flags =
  ${LilyGo_T3S3_sx1262.build_flags}
  -D DISPLAY_CLASS=SSD1306Display
  -D ADVERT_NAME='"T3S3-1262 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
  +<helpers/ui/SSD1306Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${LilyGo_T3S3_sx1262.lib_deps}
  ${esp32_ota.lib_deps}

[env:LilyGo_T3S3_sx1276_repeater_mqtt]
extends = LilyGo_T3S3_sx1276
board_build.partitions = min_spiffs.csv ; get around 4mb flash limit
build_flags =
  ${LilyGo_T3S3_sx1276.build_flags}
  -D DISPLAY_CLASS=SSD1306Display
  -D ADVERT_NAME='"T3S3-1276 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${LilyGo_T3S3_sx1276.build_src_filter}
  +<helpers/ui/SSD1306Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${LilyGo_T3S3_sx1276.lib_deps}
  ${esp32_ota.lib_deps}

[env:LilyGo_TBeam_1W_repeater_mqtt]
extends = LilyGo_TBeam_1W
build_flags =
  ${LilyGo_TBeam_1W.build_flags}
  -D ADVERT_NAME='"T-Beam 1W Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D PERSISTANT_GPS=1
  -D ENV_SKIP_GPS_DETECT=1
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${LilyGo_TBeam_1W.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${LilyGo_TBeam_1W.lib_deps}
  ${esp32_ota.lib_deps}

[env:LilyGo_TDeck_repeater_mqtt]
extends = LilyGo_TDeck
build_flags =
  ${LilyGo_TDeck.build_flags}
  -D ADVERT_NAME='"TDeck Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${LilyGo_TDeck.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/ui/ST7789LCDDisplay.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${LilyGo_TDeck.lib_deps}
  ${esp32_ota.lib_deps}

[env:LilyGo_Tlora_C6_repeater_mqtt]
extends = tlora_c6
build_src_filter = ${tlora_c6.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${tlora_c6.build_flags}
  -D ADVERT_NAME='"Tlora C6 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${tlora_c6.lib_deps}

[env:M5Stack_Unit_C6L_repeater_mqtt]
extends = M5Stack_Unit_C6L
build_src_filter = ${M5Stack_Unit_C6L.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${M5Stack_Unit_C6L.build_flags}
  -D ADVERT_NAME='"Unit C6L Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${M5Stack_Unit_C6L.lib_deps}

[env:Meshadventurer_sx1262_repeater_mqtt]
extends = Meshadventurer
build_src_filter = ${Meshadventurer.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/ui/SSD1306Display.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${Meshadventurer.build_flags}
  -D RADIO_CLASS=CustomSX1262
  -D WRAPPER_CLASS=CustomSX1262Wrapper
  -D LORA_TX_POWER=22
  -D ADVERT_NAME='"Meshadventurer Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${Meshadventurer.lib_deps}
  ${esp32_ota.lib_deps}

[env:Meshadventurer_sx1268_repeater_mqtt]
extends = Meshadventurer
build_src_filter = ${Meshadventurer.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/ui/SSD1306Display.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${Meshadventurer.build_flags}
  -D RADIO_CLASS=CustomSX1268
  -D WRAPPER_CLASS=CustomSX1268Wrapper
  -D LORA_TX_POWER=22
  -D ADVERT_NAME='"Meshadventurer Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${Meshadventurer.lib_deps}
  ${esp32_ota.lib_deps}

[env:Meshimi_repeater_mqtt]
extends = Meshimi
build_src_filter = ${Meshimi.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${Meshimi.build_flags}
  -D ADVERT_NAME='"Meshimi Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${Meshimi.lib_deps}

[env:nibble_screen_connect_repeater_mqtt]
extends = nibble_screen_connect_base
board_build.partitions = min_spiffs.csv ; get around 4mb flash limit
build_flags =
  ${nibble_screen_connect_base.build_flags}
  -D DISPLAY_CLASS=SSD1306Display
  -D ADVERT_NAME='"Nibble Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${nibble_screen_connect_base.build_src_filter}
  +<helpers/ui/SSD1306Display.cpp>
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${nibble_screen_connect_base.lib_deps}
  ${esp32_ota.lib_deps}

[env:RAK_3112_repeater_mqtt]
extends = rak3112
build_flags =
  ${rak3112.build_flags}
  -D ADVERT_NAME='"RAK3112 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${rak3112.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${rak3112.lib_deps}
  ${esp32_ota.lib_deps}
  bakercp/CRC32 @ ^2.0.0

[env:Station_G2_repeater_mqtt]
extends = Station_G2
build_flags =
  ${Station_G2.build_flags}
  -D ADVERT_NAME='"Station G2 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Station_G2.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Station_G2.lib_deps}
  ${esp32_ota.lib_deps}

[env:Station_G2_logging_repeater_mqtt]
extends = Station_G2
build_flags =
  ${Station_G2.build_flags}
  -D ADVERT_NAME='"Station G2 Logging Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D MESH_PACKET_LOGGING=1
  -D SX126X_RX_BOOSTED_GAIN=1
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${Station_G2.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${Station_G2.lib_deps}
  ${esp32_ota.lib_deps}

[env:T_Beam_S3_Supreme_SX1262_repeater_mqtt]
extends = T_Beam_S3_Supreme_SX1262
build_flags =
  ${T_Beam_S3_Supreme_SX1262.build_flags}
  -D ADVERT_NAME='"T-Beam S3 Supreme SX1262 Repeater"'
  -D ADVERT_LAT=0
  -D ADVERT_LON=0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${T_Beam_S3_Supreme_SX1262.lib_deps}
  ${esp32_ota.lib_deps}

[env:Tbeam_SX1262_repeater_mqtt]
extends = LilyGo_TBeam_SX1262
build_flags =
  ${LilyGo_TBeam_SX1262.build_flags}
  -D ADVERT_NAME='"Tbeam SX1262 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${LilyGo_TBeam_SX1262.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${LilyGo_TBeam_SX1262.lib_deps}
  ${esp32_ota.lib_deps}

[env:Tbeam_SX1276_repeater_mqtt]
extends = LilyGo_TBeam_SX1276
build_flags =
  ${LilyGo_TBeam_SX1276.build_flags}
  -D ADVERT_NAME='"Tbeam Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D PERSISTANT_GPS=1
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
build_src_filter = ${LilyGo_TBeam_SX1276.build_src_filter}
  +<../examples/simple_repeater>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
lib_deps =
  ${LilyGo_TBeam_SX1276.lib_deps}
  ${esp32_ota.lib_deps}

[env:ThinkNode_M2_Repeater_mqtt]
extends = ThinkNode_M2
board_build.partitions = min_spiffs.csv ; get around 4mb flash limit
build_src_filter = ${ThinkNode_M2.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${ThinkNode_M2.build_flags}
  -D ADVERT_NAME='"Thinknode M2 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=8
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${ThinkNode_M2.lib_deps}
  ${esp32_ota.lib_deps}

[env:ThinkNode_M5_Repeater_mqtt]
extends = ThinkNode_M5
board_build.partitions = min_spiffs.csv ; get around 4mb flash limit
build_src_filter = ${ThinkNode_M5.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${ThinkNode_M5.build_flags}
  -D ADVERT_NAME='"Thinknode M5 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=8
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${ThinkNode_M5.lib_deps}
  ${esp32_ota.lib_deps}

[env:WHY2025_badge_repeater_mqtt]
extends = WHY2025_badge
build_src_filter = ${WHY2025_badge.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${WHY2025_badge.build_flags}
  -D ADVERT_NAME='"WHY2025 Badge Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${WHY2025_badge.lib_deps}

[env:Xiao_C6_repeater_mqtt]
extends = Xiao_C6
build_src_filter = ${Xiao_C6.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${Xiao_C6.build_flags}
  -D ADVERT_NAME='"Xiao C6 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${Xiao_C6.lib_deps}

[env:Xiao_S3_WIO_repeater_mqtt]
extends = Xiao_S3_WIO
build_src_filter = ${Xiao_S3_WIO.build_src_filter}
  +<../examples/simple_repeater/*.cpp>
  +<helpers/mqtt/*.cpp>
  +<helpers/web/*.cpp>
build_flags =
  ${Xiao_S3_WIO.build_flags}
  -D ADVERT_NAME='"XiaoS3 Repeater"'
  -D ADVERT_LAT=0.0
  -D ADVERT_LON=0.0
  -D ADMIN_PASSWORD='"password"'
  -D MAX_NEIGHBOURS=50
  -D WITH_MQTT_UPLINK=1
  -D MQTT_DEBUG=1
  -D WIFI_SSID='"myssid"'
  -D WIFI_PWD='"mypwd"'
  -D MQTT_DEFAULT_IATA='"UNSET"'
  -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1
lib_deps =
  ${Xiao_S3_WIO.lib_deps}
  ${esp32_ota.lib_deps}
