t-beam s3 supreme: repeater, room server, and ble companion verified working. RTC working. No screen, GPS or sensors.
This commit is contained in:
1399
platformio.ini
1399
platformio.ini
File diff suppressed because it is too large
Load Diff
@@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
//I2C Wire addresses
|
//I2C Wire addresses
|
||||||
#define I2C_BME280_ADD 0x76 //BME280 sensor I2C address on Wire
|
#define I2C_BME280_ADD 0x76 //BME280 sensor I2C address on Wire
|
||||||
#define I2C_OLED_ADD 0x3C //SSD1306/SH1106 OLED I2C address on Wire
|
#define I2C_OLED_ADD 0x3C //SH1106 OLED I2C address on Wire
|
||||||
#define I2C_QMC6310U_ADD 0x1C //QMC6310U mag sensor I2C address on Wire
|
#define I2C_QMC6310U_ADD 0x1C //QMC6310U mag sensor I2C address on Wire
|
||||||
|
|
||||||
//I2C Wire1 addresses
|
//I2C Wire1 addresses
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ build_flags =
|
|||||||
-D LORA_TX_POWER=22
|
-D LORA_TX_POWER=22
|
||||||
-D RADIO_CLASS=CustomSX1262
|
-D RADIO_CLASS=CustomSX1262
|
||||||
-D WRAPPER_CLASS=CustomSX1262Wrapper
|
-D WRAPPER_CLASS=CustomSX1262Wrapper
|
||||||
-D DISPLAY_CLASS=SSD1306Display
|
;-D DISPLAY_CLASS=SSD1306Display ;Needs to be modified for SH1106
|
||||||
-D SX126X_RX_BOOSTED_GAIN=1
|
-D SX126X_RX_BOOSTED_GAIN=1
|
||||||
build_src_filter = ${esp32_base.build_src_filter}
|
build_src_filter = ${esp32_base.build_src_filter}
|
||||||
+<../variants/lilygo_tbeam_supreme_SX1262>
|
+<../variants/lilygo_tbeam_supreme_SX1262>
|
||||||
@@ -16,9 +16,10 @@ lib_deps =
|
|||||||
${esp32_base.lib_deps}
|
${esp32_base.lib_deps}
|
||||||
lewisxhe/PCF8563_Library@^1.0.1
|
lewisxhe/PCF8563_Library@^1.0.1
|
||||||
lewisxhe/XPowersLib @ ^0.2.7
|
lewisxhe/XPowersLib @ ^0.2.7
|
||||||
|
;adafruit/Adafruit SSD1306 @ ^2.5.13
|
||||||
|
|
||||||
; === 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]
|
||||||
extends = T_Beam_S3_Supreme_SX1262
|
extends = T_Beam_S3_Supreme_SX1262
|
||||||
build_flags =
|
build_flags =
|
||||||
${T_Beam_S3_Supreme_SX1262.build_flags}
|
${T_Beam_S3_Supreme_SX1262.build_flags}
|
||||||
@@ -29,29 +30,42 @@ build_flags =
|
|||||||
; -D MESH_PACKET_LOGGING=1
|
; -D MESH_PACKET_LOGGING=1
|
||||||
; -D MESH_DEBUG=1
|
; -D MESH_DEBUG=1
|
||||||
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>
|
|
||||||
+<../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}
|
||||||
|
|
||||||
|
[env:T_Beam_S3_Supreme_SX1262_room_server]
|
||||||
|
extends = T_Beam_S3_Supreme_SX1262
|
||||||
|
build_flags =
|
||||||
|
${T_Beam_S3_Supreme_SX1262.build_flags}
|
||||||
|
-D ADVERT_NAME='"T_Beam_S3_Supreme_SX1262 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
|
||||||
|
build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
|
||||||
|
+<../examples/simple_room_server>
|
||||||
|
lib_deps =
|
||||||
|
${T_Beam_S3_Supreme_SX1262.lib_deps}
|
||||||
|
${esp32_ota.lib_deps}
|
||||||
|
|
||||||
[env:T_Beam_S3_Supreme_SX1262_companion_radio_ble]
|
[env:T_Beam_S3_Supreme_SX1262_companion_radio_ble]
|
||||||
extends = T_Beam_S3_Supreme_SX1262
|
extends = T_Beam_S3_Supreme_SX1262
|
||||||
build_flags =
|
build_flags =
|
||||||
${T_Beam_S3_Supreme_SX1262.build_flags}
|
${T_Beam_S3_Supreme_SX1262.build_flags}
|
||||||
-D DISPLAY_CLASS=SSD1306Display
|
|
||||||
-D MAX_CONTACTS=100
|
-D MAX_CONTACTS=100
|
||||||
-D MAX_GROUP_CHANNELS=1
|
-D MAX_GROUP_CHANNELS=1
|
||||||
-D BLE_PIN_CODE=123456
|
-D BLE_PIN_CODE=123456
|
||||||
-D BLE_DEBUG_LOGGING=1
|
-D BLE_DEBUG_LOGGING=1
|
||||||
; -D ENABLE_PRIVATE_KEY_IMPORT=1
|
; -D ENABLE_PRIVATE_KEY_IMPORT=1
|
||||||
; -D ENABLE_PRIVATE_KEY_EXPORT=1
|
; -D ENABLE_PRIVATE_KEY_EXPORT=1
|
||||||
-D MESH_PACKET_LOGGING=1
|
-D MESH_PACKET_LOGGING=8
|
||||||
-D MESH_DEBUG=1
|
-D MESH_DEBUG=1
|
||||||
build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
|
build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
|
||||||
+<helpers/esp32/*.cpp>
|
+<helpers/esp32/*.cpp>
|
||||||
+<helpers/ui/*.cpp>
|
|
||||||
+<../examples/companion_radio>
|
+<../examples/companion_radio>
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${T_Beam_S3_Supreme_SX1262.lib_deps}
|
${T_Beam_S3_Supreme_SX1262.lib_deps}
|
||||||
|
|||||||
@@ -31,24 +31,31 @@ static void setPMUIntFlag(){
|
|||||||
|
|
||||||
bool power_init() {
|
bool power_init() {
|
||||||
//Start up Wire1 with PMU address
|
//Start up Wire1 with PMU address
|
||||||
Wire1.begin(I2C_PMU_ADD);
|
//Serial.println("Starting Wire1 for PMU");
|
||||||
|
//Wire1.begin(I2C_PMU_ADD);
|
||||||
|
//Wire1.begin(PIN_BOARD_SDA1,PIN_BOARD_SCL1);
|
||||||
|
|
||||||
//Set LED to indicate charge state
|
//Set LED to indicate charge state
|
||||||
|
Serial.println("Setting charge led");
|
||||||
PMU.setChargingLedMode(XPOWERS_CHG_LED_CTRL_CHG);
|
PMU.setChargingLedMode(XPOWERS_CHG_LED_CTRL_CHG);
|
||||||
|
|
||||||
//Set up PMU interrupts
|
//Set up PMU interrupts
|
||||||
|
Serial.println("Setting up PMU interrupts");
|
||||||
pinMode(PIN_PMU_IRQ,INPUT_PULLUP);
|
pinMode(PIN_PMU_IRQ,INPUT_PULLUP);
|
||||||
attachInterrupt(PIN_PMU_IRQ,setPMUIntFlag,FALLING);
|
attachInterrupt(PIN_PMU_IRQ,setPMUIntFlag,FALLING);
|
||||||
|
|
||||||
//GPS
|
//GPS
|
||||||
|
Serial.println("Setting and enabling a-ldo4 for GPS");
|
||||||
PMU.setALDO4Voltage(3300);
|
PMU.setALDO4Voltage(3300);
|
||||||
PMU.enableALDO3(); //disable to save power
|
PMU.enableALDO4(); //disable to save power
|
||||||
|
|
||||||
//Lora
|
//Lora
|
||||||
|
Serial.println("Setting and enabling a-ldo3 for LoRa");
|
||||||
PMU.setALDO3Voltage(3300);
|
PMU.setALDO3Voltage(3300);
|
||||||
PMU.enableALDO3();
|
PMU.enableALDO3();
|
||||||
|
|
||||||
//To avoid SPI bus issues during power up, reset OLED, sensor, and SD card supplies
|
//To avoid SPI bus issues during power up, reset OLED, sensor, and SD card supplies
|
||||||
|
Serial.println("Reset a-ldo1&2 and b-ldo1");
|
||||||
if(ESP_SLEEP_WAKEUP_UNDEFINED == esp_sleep_get_wakeup_cause()){
|
if(ESP_SLEEP_WAKEUP_UNDEFINED == esp_sleep_get_wakeup_cause()){
|
||||||
PMU.enableALDO1();
|
PMU.enableALDO1();
|
||||||
PMU.enableALDO2();
|
PMU.enableALDO2();
|
||||||
@@ -57,44 +64,55 @@ bool power_init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//BME280 and OLED
|
//BME280 and OLED
|
||||||
|
Serial.println("Setting and enabling a-ldo1 for oled");
|
||||||
PMU.setALDO1Voltage(3300);
|
PMU.setALDO1Voltage(3300);
|
||||||
PMU.enableALDO1();
|
PMU.enableALDO1();
|
||||||
|
|
||||||
//QMC6310U
|
//QMC6310U
|
||||||
|
Serial.println("Setting and enabling a-ldo2 for QMC");
|
||||||
PMU.setALDO2Voltage(3300);
|
PMU.setALDO2Voltage(3300);
|
||||||
PMU.enableALDO2(); //disable to save power
|
PMU.enableALDO2(); //disable to save power
|
||||||
|
|
||||||
//SD card
|
//SD card
|
||||||
|
Serial.println("Setting and enabling b-ldo2 for SD card");
|
||||||
PMU.setBLDO1Voltage(3300);
|
PMU.setBLDO1Voltage(3300);
|
||||||
PMU.enableBLDO1();
|
PMU.enableBLDO1();
|
||||||
|
|
||||||
//Out to header pins
|
//Out to header pins
|
||||||
|
Serial.println("Setting and enabling b-ldo2 for output to header");
|
||||||
PMU.setBLDO2Voltage(3300);
|
PMU.setBLDO2Voltage(3300);
|
||||||
PMU.enableBLDO2();
|
PMU.enableBLDO2();
|
||||||
|
|
||||||
|
Serial.println("Setting and enabling dcdc4 for output to header");
|
||||||
PMU.setDC4Voltage(XPOWERS_AXP2101_DCDC4_VOL2_MAX); //1.8V
|
PMU.setDC4Voltage(XPOWERS_AXP2101_DCDC4_VOL2_MAX); //1.8V
|
||||||
PMU.enableDC4();
|
PMU.enableDC4();
|
||||||
|
|
||||||
|
Serial.println("Setting and enabling dcdc5 for output to header");
|
||||||
PMU.setDC5Voltage(3300);
|
PMU.setDC5Voltage(3300);
|
||||||
PMU.enableDC5();
|
PMU.enableDC5();
|
||||||
|
|
||||||
//Other power rails
|
//Other power rails
|
||||||
|
Serial.println("Setting and enabling dcdc3 for ?");
|
||||||
PMU.setDC3Voltage(3300); //doesn't go anywhere in the schematic??
|
PMU.setDC3Voltage(3300); //doesn't go anywhere in the schematic??
|
||||||
PMU.enableDC3();
|
PMU.enableDC3();
|
||||||
|
|
||||||
//Unused power rails
|
//Unused power rails
|
||||||
|
Serial.println("Disabling unused supplies dcdc2, dldo1 and dldo2");
|
||||||
PMU.disableDC2();
|
PMU.disableDC2();
|
||||||
PMU.disableDLDO1();
|
PMU.disableDLDO1();
|
||||||
PMU.disableDLDO2();
|
PMU.disableDLDO2();
|
||||||
|
|
||||||
//Set charge current to 300mA
|
//Set charge current to 300mA
|
||||||
|
Serial.println("Setting battery charge current limit and voltage");
|
||||||
PMU.setChargerConstantCurr(XPOWERS_AXP2101_CHG_CUR_300MA);
|
PMU.setChargerConstantCurr(XPOWERS_AXP2101_CHG_CUR_300MA);
|
||||||
PMU.setChargeTargetVoltage(XPOWERS_AXP2101_CHG_VOL_4V2);
|
PMU.setChargeTargetVoltage(XPOWERS_AXP2101_CHG_VOL_4V2);
|
||||||
|
|
||||||
//enable battery voltage measurement
|
//enable battery voltage measurement
|
||||||
|
Serial.println("Enabling battery measurement");
|
||||||
PMU.enableBattVoltageMeasure();
|
PMU.enableBattVoltageMeasure();
|
||||||
|
|
||||||
//Reset and re-enable PMU interrupts
|
//Reset and re-enable PMU interrupts
|
||||||
|
Serial.println("Re-enable interrupts");
|
||||||
PMU.disableIRQ(XPOWERS_AXP2101_ALL_IRQ);
|
PMU.disableIRQ(XPOWERS_AXP2101_ALL_IRQ);
|
||||||
PMU.clearIrqStatus();
|
PMU.clearIrqStatus();
|
||||||
PMU.enableIRQ(
|
PMU.enableIRQ(
|
||||||
@@ -107,10 +125,12 @@ bool power_init() {
|
|||||||
//Set the power key off press time
|
//Set the power key off press time
|
||||||
PMU.setPowerKeyPressOffTime(XPOWERS_POWEROFF_4S);
|
PMU.setPowerKeyPressOffTime(XPOWERS_POWEROFF_4S);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool radio_init() {
|
bool radio_init() {
|
||||||
fallback_clock.begin();
|
fallback_clock.begin();
|
||||||
|
Wire1.begin(PIN_BOARD_SDA1,PIN_BOARD_SCL1);
|
||||||
rtc_clock.begin(Wire1);
|
rtc_clock.begin(Wire1);
|
||||||
|
|
||||||
#ifdef SX126X_DIO3_TCXO_VOLTAGE
|
#ifdef SX126X_DIO3_TCXO_VOLTAGE
|
||||||
|
|||||||
Reference in New Issue
Block a user