|
|
@@ -0,0 +1,189 @@
|
|
|
+[LilyGo_TBeam_1W]
|
|
|
+extends = esp32_base
|
|
|
+board = t_beam_1w
|
|
|
+build_flags =
|
|
|
+ ${esp32_base.build_flags}
|
|
|
+ -I variants/lilygo_tbeam_1w
|
|
|
+ -D TBEAM_1W
|
|
|
+
|
|
|
+ ; Radio - SX1262 with high-power PA (32dBm max output)
|
|
|
+ ; Note: Set SX1262 output to 22dBm max, external PA provides additional gain
|
|
|
+ -D RADIO_CLASS=CustomSX1262
|
|
|
+ -D WRAPPER_CLASS=CustomSX1262Wrapper
|
|
|
+ -D P_LORA_DIO_1=1
|
|
|
+ -D P_LORA_NSS=15
|
|
|
+ -D P_LORA_RESET=3
|
|
|
+ -D P_LORA_BUSY=38
|
|
|
+ -D P_LORA_SCLK=13
|
|
|
+ -D P_LORA_MISO=12
|
|
|
+ -D P_LORA_MOSI=11
|
|
|
+
|
|
|
+ ; RF switch configuration:
|
|
|
+ ; DIO2 controls TX path (PA enable) via SX126X_DIO2_AS_RF_SWITCH
|
|
|
+ ; GPIO21 controls RX path (LNA enable) via SX126X_RXEN
|
|
|
+ ; Truth table: DIO2=1,RXEN=0 → TX | DIO2=0,RXEN=1 → RX
|
|
|
+ -D SX126X_DIO2_AS_RF_SWITCH=true
|
|
|
+ -D SX126X_RXEN=21
|
|
|
+ -D SX126X_DIO3_TCXO_VOLTAGE=1.8
|
|
|
+ -D SX126X_CURRENT_LIMIT=140
|
|
|
+ -D SX126X_RX_BOOSTED_GAIN=1
|
|
|
+
|
|
|
+ ; TX power: 22dBm to SX1262, PA module adds ~10dB for 32dBm total
|
|
|
+ -D LORA_TX_POWER=22
|
|
|
+
|
|
|
+ ; Display - SH1106 OLED at 0x3C
|
|
|
+ -D DISPLAY_CLASS=SH1106Display
|
|
|
+
|
|
|
+ ; I2C pins
|
|
|
+ -D PIN_BOARD_SDA=8
|
|
|
+ -D PIN_BOARD_SCL=9
|
|
|
+
|
|
|
+ ; GPS - L76K module
|
|
|
+ ; GNSS_TXD (IO5) = GPS transmits → MCU RX
|
|
|
+ ; GNSS_RXD (IO6) = GPS receives → MCU TX
|
|
|
+ -D PIN_GPS_TX=5
|
|
|
+ -D PIN_GPS_RX=6
|
|
|
+ -D PIN_GPS_EN=16
|
|
|
+ -D ENV_INCLUDE_GPS=1
|
|
|
+
|
|
|
+ ; User interface
|
|
|
+ -D PIN_USER_BTN=17
|
|
|
+
|
|
|
+build_src_filter = ${esp32_base.build_src_filter}
|
|
|
+ +<../variants/lilygo_tbeam_1w>
|
|
|
+ +<helpers/ui/SH1106Display.cpp>
|
|
|
+ +<helpers/ui/MomentaryButton.cpp>
|
|
|
+ +<helpers/sensors>
|
|
|
+
|
|
|
+lib_deps =
|
|
|
+ ${esp32_base.lib_deps}
|
|
|
+ adafruit/Adafruit SH110X @ ~2.1.13
|
|
|
+ stevemarple/MicroNMEA @ ~2.0.6
|
|
|
+
|
|
|
+; === LILYGO T-Beam 1W Repeater ===
|
|
|
+[env:LilyGo_TBeam_1W_repeater]
|
|
|
+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 MESH_PACKET_LOGGING=1
|
|
|
+; -D MESH_DEBUG=1
|
|
|
+build_src_filter = ${LilyGo_TBeam_1W.build_src_filter}
|
|
|
+ +<../examples/simple_repeater>
|
|
|
+lib_deps =
|
|
|
+ ${LilyGo_TBeam_1W.lib_deps}
|
|
|
+ ${esp32_ota.lib_deps}
|
|
|
+
|
|
|
+; === LILYGO T-Beam 1W Room Server ===
|
|
|
+[env:LilyGo_TBeam_1W_room_server]
|
|
|
+extends = LilyGo_TBeam_1W
|
|
|
+build_flags =
|
|
|
+ ${LilyGo_TBeam_1W.build_flags}
|
|
|
+ -D ADVERT_NAME='"T-Beam 1W Room"'
|
|
|
+ -D ADVERT_LAT=0.0
|
|
|
+ -D ADVERT_LON=0.0
|
|
|
+ -D ADMIN_PASSWORD='"password"'
|
|
|
+ -D ROOM_PASSWORD='"hello"'
|
|
|
+ -D PERSISTANT_GPS=1
|
|
|
+ -D ENV_SKIP_GPS_DETECT=1
|
|
|
+; -D MESH_PACKET_LOGGING=1
|
|
|
+; -D MESH_DEBUG=1
|
|
|
+build_src_filter = ${LilyGo_TBeam_1W.build_src_filter}
|
|
|
+ +<../examples/simple_room_server>
|
|
|
+lib_deps =
|
|
|
+ ${LilyGo_TBeam_1W.lib_deps}
|
|
|
+ ${esp32_ota.lib_deps}
|
|
|
+
|
|
|
+; === LILYGO T-Beam 1W Companion Radio (USB) ===
|
|
|
+[env:LilyGo_TBeam_1W_companion_radio_usb]
|
|
|
+extends = LilyGo_TBeam_1W
|
|
|
+build_flags =
|
|
|
+ ${LilyGo_TBeam_1W.build_flags}
|
|
|
+ -I examples/companion_radio/ui-new
|
|
|
+ -D MAX_CONTACTS=350
|
|
|
+ -D MAX_GROUP_CHANNELS=40
|
|
|
+ -D PERSISTANT_GPS=1
|
|
|
+ -D ENV_SKIP_GPS_DETECT=1
|
|
|
+; -D MESH_PACKET_LOGGING=1
|
|
|
+; -D MESH_DEBUG=1
|
|
|
+build_src_filter = ${LilyGo_TBeam_1W.build_src_filter}
|
|
|
+ +<../examples/companion_radio/*.cpp>
|
|
|
+ +<../examples/companion_radio/ui-new/*.cpp>
|
|
|
+lib_deps =
|
|
|
+ ${LilyGo_TBeam_1W.lib_deps}
|
|
|
+ densaugeo/base64 @ ~1.4.0
|
|
|
+
|
|
|
+; === LILYGO T-Beam 1W Companion Radio (BLE) ===
|
|
|
+[env:LilyGo_TBeam_1W_companion_radio_ble]
|
|
|
+extends = LilyGo_TBeam_1W
|
|
|
+build_flags =
|
|
|
+ ${LilyGo_TBeam_1W.build_flags}
|
|
|
+ -I examples/companion_radio/ui-new
|
|
|
+ -D MAX_CONTACTS=350
|
|
|
+ -D MAX_GROUP_CHANNELS=40
|
|
|
+ -D BLE_PIN_CODE=123456
|
|
|
+ -D OFFLINE_QUEUE_SIZE=256
|
|
|
+ -D PERSISTANT_GPS=1
|
|
|
+ -D ENV_SKIP_GPS_DETECT=1
|
|
|
+; -D BLE_DEBUG_LOGGING=1
|
|
|
+; -D MESH_PACKET_LOGGING=1
|
|
|
+; -D MESH_DEBUG=1
|
|
|
+build_src_filter = ${LilyGo_TBeam_1W.build_src_filter}
|
|
|
+ +<helpers/esp32/*.cpp>
|
|
|
+ +<../examples/companion_radio/*.cpp>
|
|
|
+ +<../examples/companion_radio/ui-new/*.cpp>
|
|
|
+lib_deps =
|
|
|
+ ${LilyGo_TBeam_1W.lib_deps}
|
|
|
+ densaugeo/base64 @ ~1.4.0
|
|
|
+
|
|
|
+; === LILYGO T-Beam 1W Companion Radio (WiFi) ===
|
|
|
+[env:LilyGo_TBeam_1W_companion_radio_wifi]
|
|
|
+extends = LilyGo_TBeam_1W
|
|
|
+build_flags =
|
|
|
+ ${LilyGo_TBeam_1W.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 PERSISTANT_GPS=1
|
|
|
+ -D ENV_SKIP_GPS_DETECT=1
|
|
|
+; -D MESH_PACKET_LOGGING=1
|
|
|
+; -D MESH_DEBUG=1
|
|
|
+build_src_filter = ${LilyGo_TBeam_1W.build_src_filter}
|
|
|
+ +<helpers/esp32/*.cpp>
|
|
|
+ +<../examples/companion_radio/*.cpp>
|
|
|
+ +<../examples/companion_radio/ui-new/*.cpp>
|
|
|
+lib_deps =
|
|
|
+ ${LilyGo_TBeam_1W.lib_deps}
|
|
|
+ densaugeo/base64 @ ~1.4.0
|
|
|
+
|
|
|
+; === LILYGO T-Beam 1W Repeater with ESPNow Bridge ===
|
|
|
+[env:LilyGo_TBeam_1W_repeater_bridge_espnow]
|
|
|
+extends = LilyGo_TBeam_1W
|
|
|
+build_flags =
|
|
|
+ ${LilyGo_TBeam_1W.build_flags}
|
|
|
+ -D ADVERT_NAME='"T-Beam 1W 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 PERSISTANT_GPS=1
|
|
|
+ -D ENV_SKIP_GPS_DETECT=1
|
|
|
+; -D BRIDGE_DEBUG=1
|
|
|
+; -D MESH_PACKET_LOGGING=1
|
|
|
+; -D MESH_DEBUG=1
|
|
|
+build_src_filter = ${LilyGo_TBeam_1W.build_src_filter}
|
|
|
+ +<helpers/bridges/ESPNowBridge.cpp>
|
|
|
+ +<../examples/simple_repeater>
|
|
|
+lib_deps =
|
|
|
+ ${LilyGo_TBeam_1W.lib_deps}
|
|
|
+ ${esp32_ota.lib_deps}
|