From 3eded4581afe3c342291ef7b237d5c0a51321b4c Mon Sep 17 00:00:00 2001 From: cod3doomy Date: Tue, 8 Apr 2025 17:08:28 -0700 Subject: [PATCH] Checkpoint: Repeater env built and works with HW. No screen or other periphs --- platformio.ini | 66 ++++++++----------- src/helpers/TBeamS3SupremeBoard.h | 52 ++++++++++++--- .../platformio.ini | 7 +- 3 files changed, 76 insertions(+), 49 deletions(-) diff --git a/platformio.ini b/platformio.ini index df5a5513..147ca453 100644 --- a/platformio.ini +++ b/platformio.ini @@ -25,7 +25,7 @@ lib_deps = build_flags = -w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1 -D LORA_FREQ=869.525 -D LORA_BW=250 - -D LORA_SF=10 + -D LORA_SF=11 build_src_filter = +<*.cpp> + @@ -562,12 +562,7 @@ board = t_beams3_supreme build_flags = ${esp32_base.build_flags} -I variants/lilygo_tbeam_supreme_SX1262 - -D T_BEAM_S3_SUPREME_SX1262 - -D BOARD_HAS_PSRAM -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 WRAPPER_CLASS=CustomSX1262Wrapper -D DISPLAY_CLASS=SSD1306Display @@ -578,9 +573,6 @@ lib_deps = [env:T_Beam_S3_Supreme_SX1262_Repeater] extends = T_Beam_S3_Supreme_SX1262 -build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter} - + - +<../examples/simple_repeater> build_flags = ${T_Beam_S3_Supreme_SX1262.build_flags} -D DISPLAY_CLASS=SSD1306Display @@ -588,15 +580,20 @@ build_flags = -D ADVERT_LAT=0 -D ADVERT_LON=0 -D ADMIN_PASSWORD='"password"' +build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter} + + + +<../examples/simple_repeater> + lib_deps = + ${T_Beam_S3_Supreme_SX1262.lib_deps} + ${esp32_ota.lib_deps} lib_deps = - esphome/AsyncTCP-esphome@^2.1.4 - esphome/ESPAsyncWebServer-esphome@^3.3.0 - wolfssl/wolfssl@^5.7.2 + me-no-dev/AsyncTCP@^3.3.2 + esp32async/ESPAsyncWebServer@^3.7.5 rweather/Crypto@^0.4.0 jgromes/RadioLib@^7.1.2 adafruit/RTClib@^2.1.4 - adafruit/Adafruit GFX Library@^1.12.0 melopero/Melopero RV3028@^1.1.0 + adafruit/Adafruit GFX Library@^1.12.0 adafruit/Adafruit SSD1306@^2.5.13 [LilyGo_TLora_V2_1_1_6] @@ -905,14 +902,13 @@ build_src_filter = ${rak4631.build_src_filter} + +<../examples/simple_repeater> lib_deps = - esphome/AsyncTCP-esphome@^2.1.4 - esphome/ESPAsyncWebServer-esphome@^3.3.0 - wolfssl/wolfssl@^5.7.2 + me-no-dev/AsyncTCP@^3.3.2 + esp32async/ESPAsyncWebServer@^3.7.5 rweather/Crypto@^0.4.0 jgromes/RadioLib@^7.1.2 adafruit/RTClib@^2.1.4 - adafruit/Adafruit GFX Library@^1.12.0 melopero/Melopero RV3028@^1.1.0 + adafruit/Adafruit GFX Library@^1.12.0 adafruit/Adafruit SSD1306@^2.5.13 [env:RAK_4631_room_server] @@ -929,14 +925,13 @@ build_src_filter = ${rak4631.build_src_filter} + +<../examples/simple_room_server> lib_deps = - esphome/AsyncTCP-esphome@^2.1.4 - esphome/ESPAsyncWebServer-esphome@^3.3.0 - wolfssl/wolfssl@^5.7.2 + me-no-dev/AsyncTCP@^3.3.2 + esp32async/ESPAsyncWebServer@^3.7.5 rweather/Crypto@^0.4.0 jgromes/RadioLib@^7.1.2 adafruit/RTClib@^2.1.4 - adafruit/Adafruit GFX Library@^1.12.0 melopero/Melopero RV3028@^1.1.0 + adafruit/Adafruit GFX Library@^1.12.0 adafruit/Adafruit SSD1306@^2.5.13 [env:RAK_4631_companion_radio_usb] @@ -1128,14 +1123,13 @@ build_flags = -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' lib_deps = - esphome/AsyncTCP-esphome@^2.1.4 - esphome/ESPAsyncWebServer-esphome@^3.3.0 - wolfssl/wolfssl@^5.7.2 + me-no-dev/AsyncTCP@^3.3.2 + esp32async/ESPAsyncWebServer@^3.7.5 rweather/Crypto@^0.4.0 jgromes/RadioLib@^7.1.2 adafruit/RTClib@^2.1.4 - adafruit/Adafruit GFX Library@^1.12.0 melopero/Melopero RV3028@^1.1.0 + adafruit/Adafruit GFX Library@^1.12.0 adafruit/Adafruit SSD1306@^2.5.13 [env:Heltec_t114_room_server] @@ -1150,14 +1144,13 @@ build_flags = -D ADMIN_PASSWORD='"password"' -D ROOM_PASSWORD='"hello"' lib_deps = - esphome/AsyncTCP-esphome@^2.1.4 - esphome/ESPAsyncWebServer-esphome@^3.3.0 - wolfssl/wolfssl@^5.7.2 + me-no-dev/AsyncTCP@^3.3.2 + esp32async/ESPAsyncWebServer@^3.7.5 rweather/Crypto@^0.4.0 jgromes/RadioLib@^7.1.2 adafruit/RTClib@^2.1.4 - adafruit/Adafruit GFX Library@^1.12.0 melopero/Melopero RV3028@^1.1.0 + adafruit/Adafruit GFX Library@^1.12.0 adafruit/Adafruit SSD1306@^2.5.13 [env:Heltec_t114_companion_radio_ble] @@ -1215,14 +1208,13 @@ build_flags = -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' lib_deps = - esphome/AsyncTCP-esphome@^2.1.4 - esphome/ESPAsyncWebServer-esphome@^3.3.0 - wolfssl/wolfssl@^5.7.2 + me-no-dev/AsyncTCP@^3.3.2 + esp32async/ESPAsyncWebServer@^3.7.5 rweather/Crypto@^0.4.0 jgromes/RadioLib@^7.1.2 adafruit/RTClib@^2.1.4 - adafruit/Adafruit GFX Library@^1.12.0 melopero/Melopero RV3028@^1.1.0 + adafruit/Adafruit GFX Library@^1.12.0 adafruit/Adafruit SSD1306@^2.5.13 [env:LilyGo_T-Echo_room_server] @@ -1235,14 +1227,13 @@ build_flags = -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' lib_deps = - esphome/AsyncTCP-esphome@^2.1.4 - esphome/ESPAsyncWebServer-esphome@^3.3.0 - wolfssl/wolfssl@^5.7.2 + me-no-dev/AsyncTCP@^3.3.2 + esp32async/ESPAsyncWebServer@^3.7.5 rweather/Crypto@^0.4.0 jgromes/RadioLib@^7.1.2 adafruit/RTClib@^2.1.4 - adafruit/Adafruit GFX Library@^1.12.0 melopero/Melopero RV3028@^1.1.0 + adafruit/Adafruit GFX Library@^1.12.0 adafruit/Adafruit SSD1306@^2.5.13 [env:LilyGo_T-Echo_companion_radio_ble] @@ -1410,3 +1401,4 @@ build_src_filter = ${Xiao_S3_WIO.build_src_filter} lib_deps = ${Xiao_S3_WIO.lib_deps} densaugeo/base64 @ ~1.4.0 + adafruit/Adafruit SSD1306@^2.5.13 diff --git a/src/helpers/TBeamS3SupremeBoard.h b/src/helpers/TBeamS3SupremeBoard.h index 5596d7dd..3f4b2792 100644 --- a/src/helpers/TBeamS3SupremeBoard.h +++ b/src/helpers/TBeamS3SupremeBoard.h @@ -4,10 +4,10 @@ #include #include #include -//#include "XPowersLib.h" +#include "XPowersLib.h" -// Defined using AXP2102 -//#define XPOWERS_CHIP_AXP2101 +// Define using AXP2102 +#define XPOWERS_CHIP_AXP2101 // LoRa radio module pins for TBeam S3 Supreme #define P_LORA_DIO_1 1 //SX1262 IRQ pin @@ -39,19 +39,51 @@ class TBeamS3SupremeBoard : public ESP32Board { - //XPowersAXP2101 PMU; + XPowersAXP2101 PMU; public: void begin() { ESP32Board::begin(); //Manually set voltage rails - //PMU.setProtectedChannel(XPOWERS_DCDC3); //Set protected DCDC for esp32 - //PMU.setALDO2Voltage(3300); //Set LDO for LoRa module - //PMU.setALDO3Voltage(3300); //Set LDO for GPS module - //PMU.setDC1Voltage(3300); //Set DCDC for OLED - //PMU.enableALDO2(); //Enable LDO2 for LoRa - //PMU.enableALDO3(); //Enable LDO3 for GPS + //GPS + PMU.setALDO4Voltage(3300); + PMU.disableALDO3(); //disable to save power + + //Lora + 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(); diff --git a/variants/lilygo_tbeam_supreme_SX1262/platformio.ini b/variants/lilygo_tbeam_supreme_SX1262/platformio.ini index 2e269f01..55fa1341 100644 --- a/variants/lilygo_tbeam_supreme_SX1262/platformio.ini +++ b/variants/lilygo_tbeam_supreme_SX1262/platformio.ini @@ -9,10 +9,13 @@ build_flags = -D WRAPPER_CLASS=CustomSX1262Wrapper -D DISPLAY_CLASS=SSD1306Display -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 = ${esp32_base.lib_deps} adafruit/Adafruit SSD1306 @ ^2.5.13 - ;lewisxhe/XPowersLib @ ^0.2.7 + lewisxhe/XPowersLib @ ^0.2.7 ; === LILYGO T-Beam S3 Supreme with SX1262 environments === [env:T_Beam_S3_Supreme_SX1262_Repeater] @@ -29,6 +32,6 @@ build_flags = build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter} + +<../examples/simple_repeater> - lib_deps = +lib_deps = ${T_Beam_S3_Supreme_SX1262.lib_deps} ${esp32_ota.lib_deps} \ No newline at end of file