[Station_G1] extends = esp32_base board = station-g1 build_flags = ${esp32_base.build_flags} ${sensor_base.build_flags} -I variants/station_g1 -I src/helpers/ui -D STATION_G1 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper ; ---- LoRa (SX1262) ---- -D P_LORA_DIO_1=33 -D P_LORA_BUSY=32 -D P_LORA_RESET=23 ; TODO: confirm these 4 from Station G1 schematic/PCB -D P_LORA_NSS=18 -D P_LORA_SCLK=5 -D P_LORA_MISO=19 -D P_LORA_MOSI=27 ; Station G1 uses DIO2 as RF switch internally (per your Meshtastic snippet) -D SX126X_DIO2_AS_RF_SWITCH=true ; This is the Meshtastic Station G1 "do not exceed PA saturation" constraint -D MAX_LORA_TX_POWER=16 ; Optional defaults (tune for your deployment) -D LORA_TX_POWER=8 ; ---- I2C ---- -D PIN_BOARD_SDA=21 -D PIN_BOARD_SCL=22 ; ---- Button ---- -D PIN_USER_BTN=36 ; ---- GPS header (optional) ---- -D PIN_GPS_RX=34 -D PIN_GPS_TX=12 ; ---- Display ---- -D DISPLAY_CLASS=SH1106Display build_src_filter = ${esp32_base.build_src_filter} +<../variants/station_g1> + + + lib_deps = ${esp32_base.lib_deps} ${sensor_base.lib_deps} adafruit/Adafruit SH110X @ ~2.1.13 adafruit/Adafruit GFX Library @ ^1.12.1 [env:Station_G1_repeater] extends = Station_G1 build_flags = ${Station_G1.build_flags} -D ADVERT_NAME='"Station G1 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 MESH_DEBUG=1 build_src_filter = ${Station_G1.build_src_filter} +<../examples/simple_repeater> lib_deps = ${Station_G1.lib_deps} ${esp32_ota.lib_deps} ; [env:Station_G1_repeater_bridge_rs232] ; extends = Station_G1 ; build_flags = ; ${Station_G1.build_flags} ; -D ADVERT_NAME='"RS232 Bridge"' ; -D ADVERT_LAT=0.0 ; -D ADVERT_LON=0.0 ; -D ADMIN_PASSWORD='"password"' ; -D MAX_NEIGHBOURS=50 ; -D WITH_RS232_BRIDGE=Serial2 ; -D WITH_RS232_BRIDGE_RX=5 ; -D WITH_RS232_BRIDGE_TX=6 ; -D BRIDGE_DEBUG=1 ; ; -D MESH_PACKET_LOGGING=1 ; ; -D MESH_DEBUG=1 ; build_src_filter = ${Station_G1.build_src_filter} ; + ; +<../examples/simple_repeater> ; lib_deps = ; ${Station_G1.lib_deps} ; ${esp32_ota.lib_deps} [env:Station_G1_repeater_bridge_espnow] extends = Station_G1 build_flags = ${Station_G1.build_flags} -D ADVERT_NAME='"ESPNow Bridge"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' -D MAX_NEIGHBOURS=50 -D WITH_ESPNOW_BRIDGE=1 ; -D BRIDGE_DEBUG=1 ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 build_src_filter = ${Station_G1.build_src_filter} + +<../examples/simple_repeater> lib_deps = ${Station_G1.lib_deps} ${esp32_ota.lib_deps} [env:Station_G1_logging_repeater] extends = Station_G1 build_flags = ${Station_G1.build_flags} -D ADVERT_NAME='"Station G1 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 ; https://wiki.uniteng.com/en/meshtastic/station-g2#impact-of-lora-node-dense-areashigh-noise-environments-on-rf-performance ; -D MESH_DEBUG=1 build_src_filter = ${Station_G1.build_src_filter} +<../examples/simple_repeater> lib_deps = ${Station_G1.lib_deps} ${esp32_ota.lib_deps} ; [env:Station_G1_logging_repeater_bridge_rs232] ; extends = Station_G1 ; build_flags = ; ${Station_G1.build_flags} ; -D ADVERT_NAME='"RS232 Bridge"' ; -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_RS232_BRIDGE=Serial2 ; -D WITH_RS232_BRIDGE_RX=5 ; -D WITH_RS232_BRIDGE_TX=6 ; -D BRIDGE_DEBUG=1 ; ; -D MESH_DEBUG=1 ; build_src_filter = ${Station_G1.build_src_filter} ; + ; +<../examples/simple_repeater> ; lib_deps = ; ${Station_G1.lib_deps} ; ${esp32_ota.lib_deps} [env:Station_G1_logging_repeater_bridge_espnow] extends = Station_G1 build_flags = ${Station_G1.build_flags} -D ADVERT_NAME='"ESPNow Bridge"' -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_ESPNOW_BRIDGE=1 ; -D BRIDGE_DEBUG=1 ; -D MESH_DEBUG=1 build_src_filter = ${Station_G1.build_src_filter} + +<../examples/simple_repeater> lib_deps = ${Station_G1.lib_deps} ${esp32_ota.lib_deps} [env:Station_G1_room_server] extends = Station_G1 build_src_filter = ${Station_G1.build_src_filter} +<../examples/simple_room_server> build_flags = ${Station_G1.build_flags} -D ADVERT_NAME='"Station G1 Room"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' -D ROOM_PASSWORD='"hello"' ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 lib_deps = ${Station_G1.lib_deps} ${esp32_ota.lib_deps} [env:Station_G1_companion_radio_usb] extends = Station_G1 build_flags = ${Station_G1.build_flags} -I examples/companion_radio/ui-new -D MAX_CONTACTS=350 -D MAX_GROUP_CHANNELS=40 ; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1 ; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1 build_src_filter = ${Station_G1.build_src_filter} + +<../examples/companion_radio/*.cpp> +<../examples/companion_radio/ui-new/*.cpp> lib_deps = ${Station_G1.lib_deps} densaugeo/base64 @ ~1.4.0 [env:Station_G1_companion_radio_ble] extends = Station_G1 build_flags = ${Station_G1.build_flags} -I examples/companion_radio/ui-new -D MAX_CONTACTS=350 -D MAX_GROUP_CHANNELS=40 -D BLE_PIN_CODE=022288 -D BLE_DEBUG_LOGGING=1 -D OFFLINE_QUEUE_SIZE=256 ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 build_src_filter = ${Station_G1.build_src_filter} + +<../examples/companion_radio/*.cpp> +<../examples/companion_radio/ui-new/*.cpp> lib_deps = ${Station_G1.lib_deps} densaugeo/base64 @ ~1.4.0 [env:Station_G1_companion_radio_wifi] extends = Station_G1 build_flags = ${Station_G1.build_flags} -I examples/companion_radio/ui-new -D MAX_CONTACTS=350 -D MAX_GROUP_CHANNELS=40 -D WIFI_DEBUG_LOGGING=1 -D WIFI_SSID='"myssid"' -D WIFI_PWD='"mypwd"' -D OFFLINE_QUEUE_SIZE=256 ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 build_src_filter = ${Station_G1.build_src_filter} + +<../examples/companion_radio/*.cpp> +<../examples/companion_radio/ui-new/*.cpp> lib_deps = ${Station_G1.lib_deps} densaugeo/base64 @ ~1.4.0