Checkpoint: Repeater env built and works with HW. No screen or other periphs

This commit is contained in:
cod3doomy
2025-04-08 17:08:28 -07:00
parent 6092f5737c
commit 3eded4581a
3 changed files with 76 additions and 49 deletions

View File

@@ -25,7 +25,7 @@ lib_deps =
build_flags = -w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1 build_flags = -w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1
-D LORA_FREQ=869.525 -D LORA_FREQ=869.525
-D LORA_BW=250 -D LORA_BW=250
-D LORA_SF=10 -D LORA_SF=11
build_src_filter = build_src_filter =
+<*.cpp> +<*.cpp>
+<helpers/*.cpp> +<helpers/*.cpp>
@@ -562,12 +562,7 @@ board = t_beams3_supreme
build_flags = build_flags =
${esp32_base.build_flags} ${esp32_base.build_flags}
-I variants/lilygo_tbeam_supreme_SX1262 -I variants/lilygo_tbeam_supreme_SX1262
-D T_BEAM_S3_SUPREME_SX1262
-D BOARD_HAS_PSRAM
-D LORA_TX_POWER=22 -D LORA_TX_POWER=22
-D SX126X_DIO2_AS_RF_SWITCH=true
-D SX126X_DIO3_TCXO_VOLTAGE=1.8
-D SX126X_CURRENT_LIMIT=130
-D RADIO_CLASS=CustomSX1262 -D RADIO_CLASS=CustomSX1262
-D WRAPPER_CLASS=CustomSX1262Wrapper -D WRAPPER_CLASS=CustomSX1262Wrapper
-D DISPLAY_CLASS=SSD1306Display -D DISPLAY_CLASS=SSD1306Display
@@ -578,9 +573,6 @@ lib_deps =
[env:T_Beam_S3_Supreme_SX1262_Repeater] [env:T_Beam_S3_Supreme_SX1262_Repeater]
extends = T_Beam_S3_Supreme_SX1262 extends = T_Beam_S3_Supreme_SX1262
build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
+<helpers/ui/*.cpp>
+<../examples/simple_repeater>
build_flags = build_flags =
${T_Beam_S3_Supreme_SX1262.build_flags} ${T_Beam_S3_Supreme_SX1262.build_flags}
-D DISPLAY_CLASS=SSD1306Display -D DISPLAY_CLASS=SSD1306Display
@@ -588,15 +580,20 @@ build_flags =
-D ADVERT_LAT=0 -D ADVERT_LAT=0
-D ADVERT_LON=0 -D ADVERT_LON=0
-D ADMIN_PASSWORD='"password"' -D ADMIN_PASSWORD='"password"'
build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
+<helpers/ui/*.cpp>
+<../examples/simple_repeater>
lib_deps =
${T_Beam_S3_Supreme_SX1262.lib_deps}
${esp32_ota.lib_deps}
lib_deps = lib_deps =
esphome/AsyncTCP-esphome@^2.1.4 me-no-dev/AsyncTCP@^3.3.2
esphome/ESPAsyncWebServer-esphome@^3.3.0 esp32async/ESPAsyncWebServer@^3.7.5
wolfssl/wolfssl@^5.7.2
rweather/Crypto@^0.4.0 rweather/Crypto@^0.4.0
jgromes/RadioLib@^7.1.2 jgromes/RadioLib@^7.1.2
adafruit/RTClib@^2.1.4 adafruit/RTClib@^2.1.4
adafruit/Adafruit GFX Library@^1.12.0
melopero/Melopero RV3028@^1.1.0 melopero/Melopero RV3028@^1.1.0
adafruit/Adafruit GFX Library@^1.12.0
adafruit/Adafruit SSD1306@^2.5.13 adafruit/Adafruit SSD1306@^2.5.13
[LilyGo_TLora_V2_1_1_6] [LilyGo_TLora_V2_1_1_6]
@@ -905,14 +902,13 @@ build_src_filter = ${rak4631.build_src_filter}
+<helpers/ui/*.cpp> +<helpers/ui/*.cpp>
+<../examples/simple_repeater> +<../examples/simple_repeater>
lib_deps = lib_deps =
esphome/AsyncTCP-esphome@^2.1.4 me-no-dev/AsyncTCP@^3.3.2
esphome/ESPAsyncWebServer-esphome@^3.3.0 esp32async/ESPAsyncWebServer@^3.7.5
wolfssl/wolfssl@^5.7.2
rweather/Crypto@^0.4.0 rweather/Crypto@^0.4.0
jgromes/RadioLib@^7.1.2 jgromes/RadioLib@^7.1.2
adafruit/RTClib@^2.1.4 adafruit/RTClib@^2.1.4
adafruit/Adafruit GFX Library@^1.12.0
melopero/Melopero RV3028@^1.1.0 melopero/Melopero RV3028@^1.1.0
adafruit/Adafruit GFX Library@^1.12.0
adafruit/Adafruit SSD1306@^2.5.13 adafruit/Adafruit SSD1306@^2.5.13
[env:RAK_4631_room_server] [env:RAK_4631_room_server]
@@ -929,14 +925,13 @@ build_src_filter = ${rak4631.build_src_filter}
+<helpers/ui/*.cpp> +<helpers/ui/*.cpp>
+<../examples/simple_room_server> +<../examples/simple_room_server>
lib_deps = lib_deps =
esphome/AsyncTCP-esphome@^2.1.4 me-no-dev/AsyncTCP@^3.3.2
esphome/ESPAsyncWebServer-esphome@^3.3.0 esp32async/ESPAsyncWebServer@^3.7.5
wolfssl/wolfssl@^5.7.2
rweather/Crypto@^0.4.0 rweather/Crypto@^0.4.0
jgromes/RadioLib@^7.1.2 jgromes/RadioLib@^7.1.2
adafruit/RTClib@^2.1.4 adafruit/RTClib@^2.1.4
adafruit/Adafruit GFX Library@^1.12.0
melopero/Melopero RV3028@^1.1.0 melopero/Melopero RV3028@^1.1.0
adafruit/Adafruit GFX Library@^1.12.0
adafruit/Adafruit SSD1306@^2.5.13 adafruit/Adafruit SSD1306@^2.5.13
[env:RAK_4631_companion_radio_usb] [env:RAK_4631_companion_radio_usb]
@@ -1128,14 +1123,13 @@ build_flags =
-D ADVERT_LON=0.0 -D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"' -D ADMIN_PASSWORD='"password"'
lib_deps = lib_deps =
esphome/AsyncTCP-esphome@^2.1.4 me-no-dev/AsyncTCP@^3.3.2
esphome/ESPAsyncWebServer-esphome@^3.3.0 esp32async/ESPAsyncWebServer@^3.7.5
wolfssl/wolfssl@^5.7.2
rweather/Crypto@^0.4.0 rweather/Crypto@^0.4.0
jgromes/RadioLib@^7.1.2 jgromes/RadioLib@^7.1.2
adafruit/RTClib@^2.1.4 adafruit/RTClib@^2.1.4
adafruit/Adafruit GFX Library@^1.12.0
melopero/Melopero RV3028@^1.1.0 melopero/Melopero RV3028@^1.1.0
adafruit/Adafruit GFX Library@^1.12.0
adafruit/Adafruit SSD1306@^2.5.13 adafruit/Adafruit SSD1306@^2.5.13
[env:Heltec_t114_room_server] [env:Heltec_t114_room_server]
@@ -1150,14 +1144,13 @@ build_flags =
-D ADMIN_PASSWORD='"password"' -D ADMIN_PASSWORD='"password"'
-D ROOM_PASSWORD='"hello"' -D ROOM_PASSWORD='"hello"'
lib_deps = lib_deps =
esphome/AsyncTCP-esphome@^2.1.4 me-no-dev/AsyncTCP@^3.3.2
esphome/ESPAsyncWebServer-esphome@^3.3.0 esp32async/ESPAsyncWebServer@^3.7.5
wolfssl/wolfssl@^5.7.2
rweather/Crypto@^0.4.0 rweather/Crypto@^0.4.0
jgromes/RadioLib@^7.1.2 jgromes/RadioLib@^7.1.2
adafruit/RTClib@^2.1.4 adafruit/RTClib@^2.1.4
adafruit/Adafruit GFX Library@^1.12.0
melopero/Melopero RV3028@^1.1.0 melopero/Melopero RV3028@^1.1.0
adafruit/Adafruit GFX Library@^1.12.0
adafruit/Adafruit SSD1306@^2.5.13 adafruit/Adafruit SSD1306@^2.5.13
[env:Heltec_t114_companion_radio_ble] [env:Heltec_t114_companion_radio_ble]
@@ -1215,14 +1208,13 @@ build_flags =
-D ADVERT_LON=0.0 -D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"' -D ADMIN_PASSWORD='"password"'
lib_deps = lib_deps =
esphome/AsyncTCP-esphome@^2.1.4 me-no-dev/AsyncTCP@^3.3.2
esphome/ESPAsyncWebServer-esphome@^3.3.0 esp32async/ESPAsyncWebServer@^3.7.5
wolfssl/wolfssl@^5.7.2
rweather/Crypto@^0.4.0 rweather/Crypto@^0.4.0
jgromes/RadioLib@^7.1.2 jgromes/RadioLib@^7.1.2
adafruit/RTClib@^2.1.4 adafruit/RTClib@^2.1.4
adafruit/Adafruit GFX Library@^1.12.0
melopero/Melopero RV3028@^1.1.0 melopero/Melopero RV3028@^1.1.0
adafruit/Adafruit GFX Library@^1.12.0
adafruit/Adafruit SSD1306@^2.5.13 adafruit/Adafruit SSD1306@^2.5.13
[env:LilyGo_T-Echo_room_server] [env:LilyGo_T-Echo_room_server]
@@ -1235,14 +1227,13 @@ build_flags =
-D ADVERT_LON=0.0 -D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"' -D ADMIN_PASSWORD='"password"'
lib_deps = lib_deps =
esphome/AsyncTCP-esphome@^2.1.4 me-no-dev/AsyncTCP@^3.3.2
esphome/ESPAsyncWebServer-esphome@^3.3.0 esp32async/ESPAsyncWebServer@^3.7.5
wolfssl/wolfssl@^5.7.2
rweather/Crypto@^0.4.0 rweather/Crypto@^0.4.0
jgromes/RadioLib@^7.1.2 jgromes/RadioLib@^7.1.2
adafruit/RTClib@^2.1.4 adafruit/RTClib@^2.1.4
adafruit/Adafruit GFX Library@^1.12.0
melopero/Melopero RV3028@^1.1.0 melopero/Melopero RV3028@^1.1.0
adafruit/Adafruit GFX Library@^1.12.0
adafruit/Adafruit SSD1306@^2.5.13 adafruit/Adafruit SSD1306@^2.5.13
[env:LilyGo_T-Echo_companion_radio_ble] [env:LilyGo_T-Echo_companion_radio_ble]
@@ -1410,3 +1401,4 @@ build_src_filter = ${Xiao_S3_WIO.build_src_filter}
lib_deps = lib_deps =
${Xiao_S3_WIO.lib_deps} ${Xiao_S3_WIO.lib_deps}
densaugeo/base64 @ ~1.4.0 densaugeo/base64 @ ~1.4.0
adafruit/Adafruit SSD1306@^2.5.13

View File

@@ -4,10 +4,10 @@
#include <driver/rtc_io.h> #include <driver/rtc_io.h>
#include <Wire.h> #include <Wire.h>
#include <Arduino.h> #include <Arduino.h>
//#include "XPowersLib.h" #include "XPowersLib.h"
// Defined using AXP2102 // Define using AXP2102
//#define XPOWERS_CHIP_AXP2101 #define XPOWERS_CHIP_AXP2101
// LoRa radio module pins for TBeam S3 Supreme // LoRa radio module pins for TBeam S3 Supreme
#define P_LORA_DIO_1 1 //SX1262 IRQ pin #define P_LORA_DIO_1 1 //SX1262 IRQ pin
@@ -39,19 +39,51 @@
class TBeamS3SupremeBoard : public ESP32Board { class TBeamS3SupremeBoard : public ESP32Board {
//XPowersAXP2101 PMU; XPowersAXP2101 PMU;
public: public:
void begin() { void begin() {
ESP32Board::begin(); ESP32Board::begin();
//Manually set voltage rails //Manually set voltage rails
//PMU.setProtectedChannel(XPOWERS_DCDC3); //Set protected DCDC for esp32 //GPS
//PMU.setALDO2Voltage(3300); //Set LDO for LoRa module PMU.setALDO4Voltage(3300);
//PMU.setALDO3Voltage(3300); //Set LDO for GPS module PMU.disableALDO3(); //disable to save power
//PMU.setDC1Voltage(3300); //Set DCDC for OLED
//PMU.enableALDO2(); //Enable LDO2 for LoRa //Lora
//PMU.enableALDO3(); //Enable LDO3 for GPS PMU.setALDO3Voltage(3300);
PMU.enableALDO3();
//BME280 and OLED
PMU.setALDO1Voltage(3300);
PMU.enableALDO1();
//QMC6310U
PMU.setALDO2Voltage(3300);
PMU.disableALDO2(); //disable to save power
//SD card
PMU.setBLDO1Voltage(3300);
PMU.enableBLDO1();
//Out to header pins
PMU.setBLDO2Voltage(3300);
PMU.enableBLDO2();
PMU.setDC4Voltage(XPOWERS_AXP2101_DCDC4_VOL2_MAX); //1.8V
PMU.enableDC4();
PMU.setDC5Voltage(3300);
PMU.enableDC5();
//Other power rails
PMU.setDC3Voltage(3300); //doesn't go anywhere in the schematic??
PMU.enableDC3();
//Unused power rails
PMU.disableDC2();
PMU.disableDLDO1();
PMU.disableDLDO2();
esp_reset_reason_t reason = esp_reset_reason(); esp_reset_reason_t reason = esp_reset_reason();

View File

@@ -9,10 +9,13 @@ build_flags =
-D WRAPPER_CLASS=CustomSX1262Wrapper -D WRAPPER_CLASS=CustomSX1262Wrapper
-D DISPLAY_CLASS=SSD1306Display -D DISPLAY_CLASS=SSD1306Display
-D SX126X_RX_BOOSTED_GAIN=1 -D SX126X_RX_BOOSTED_GAIN=1
build_src_filter = ${esp32_base.build_src_filter}
+<../variants/lilygo_tbeam_supreme_SX1262>
board_build.partitions = min_spiffs.csv ; get around 4mb flash limit
lib_deps = lib_deps =
${esp32_base.lib_deps} ${esp32_base.lib_deps}
adafruit/Adafruit SSD1306 @ ^2.5.13 adafruit/Adafruit SSD1306 @ ^2.5.13
;lewisxhe/XPowersLib @ ^0.2.7 lewisxhe/XPowersLib @ ^0.2.7
; === LILYGO T-Beam S3 Supreme with SX1262 environments === ; === LILYGO T-Beam S3 Supreme with SX1262 environments ===
[env:T_Beam_S3_Supreme_SX1262_Repeater] [env:T_Beam_S3_Supreme_SX1262_Repeater]
@@ -29,6 +32,6 @@ build_flags =
build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter} build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
+<helpers/ui/*.cpp> +<helpers/ui/*.cpp>
+<../examples/simple_repeater> +<../examples/simple_repeater>
lib_deps = lib_deps =
${T_Beam_S3_Supreme_SX1262.lib_deps} ${T_Beam_S3_Supreme_SX1262.lib_deps}
${esp32_ota.lib_deps} ${esp32_ota.lib_deps}