t-beam s3 supreme: repeater, room server, and ble companion verified working. RTC working. No screen, GPS or sensors.
This commit is contained in:
@@ -31,24 +31,31 @@ static void setPMUIntFlag(){
|
||||
|
||||
bool power_init() {
|
||||
//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
|
||||
Serial.println("Setting charge led");
|
||||
PMU.setChargingLedMode(XPOWERS_CHG_LED_CTRL_CHG);
|
||||
|
||||
//Set up PMU interrupts
|
||||
Serial.println("Setting up PMU interrupts");
|
||||
pinMode(PIN_PMU_IRQ,INPUT_PULLUP);
|
||||
attachInterrupt(PIN_PMU_IRQ,setPMUIntFlag,FALLING);
|
||||
|
||||
//GPS
|
||||
Serial.println("Setting and enabling a-ldo4 for GPS");
|
||||
PMU.setALDO4Voltage(3300);
|
||||
PMU.enableALDO3(); //disable to save power
|
||||
PMU.enableALDO4(); //disable to save power
|
||||
|
||||
//Lora
|
||||
Serial.println("Setting and enabling a-ldo3 for LoRa");
|
||||
PMU.setALDO3Voltage(3300);
|
||||
PMU.enableALDO3();
|
||||
|
||||
//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()){
|
||||
PMU.enableALDO1();
|
||||
PMU.enableALDO2();
|
||||
@@ -57,44 +64,55 @@ bool power_init() {
|
||||
}
|
||||
|
||||
//BME280 and OLED
|
||||
Serial.println("Setting and enabling a-ldo1 for oled");
|
||||
PMU.setALDO1Voltage(3300);
|
||||
PMU.enableALDO1();
|
||||
|
||||
//QMC6310U
|
||||
Serial.println("Setting and enabling a-ldo2 for QMC");
|
||||
PMU.setALDO2Voltage(3300);
|
||||
PMU.enableALDO2(); //disable to save power
|
||||
|
||||
//SD card
|
||||
Serial.println("Setting and enabling b-ldo2 for SD card");
|
||||
PMU.setBLDO1Voltage(3300);
|
||||
PMU.enableBLDO1();
|
||||
|
||||
//Out to header pins
|
||||
Serial.println("Setting and enabling b-ldo2 for output to header");
|
||||
PMU.setBLDO2Voltage(3300);
|
||||
PMU.enableBLDO2();
|
||||
|
||||
Serial.println("Setting and enabling dcdc4 for output to header");
|
||||
PMU.setDC4Voltage(XPOWERS_AXP2101_DCDC4_VOL2_MAX); //1.8V
|
||||
PMU.enableDC4();
|
||||
|
||||
Serial.println("Setting and enabling dcdc5 for output to header");
|
||||
PMU.setDC5Voltage(3300);
|
||||
PMU.enableDC5();
|
||||
|
||||
//Other power rails
|
||||
Serial.println("Setting and enabling dcdc3 for ?");
|
||||
PMU.setDC3Voltage(3300); //doesn't go anywhere in the schematic??
|
||||
PMU.enableDC3();
|
||||
|
||||
//Unused power rails
|
||||
Serial.println("Disabling unused supplies dcdc2, dldo1 and dldo2");
|
||||
PMU.disableDC2();
|
||||
PMU.disableDLDO1();
|
||||
PMU.disableDLDO2();
|
||||
|
||||
//Set charge current to 300mA
|
||||
Serial.println("Setting battery charge current limit and voltage");
|
||||
PMU.setChargerConstantCurr(XPOWERS_AXP2101_CHG_CUR_300MA);
|
||||
PMU.setChargeTargetVoltage(XPOWERS_AXP2101_CHG_VOL_4V2);
|
||||
|
||||
//enable battery voltage measurement
|
||||
Serial.println("Enabling battery measurement");
|
||||
PMU.enableBattVoltageMeasure();
|
||||
|
||||
//Reset and re-enable PMU interrupts
|
||||
Serial.println("Re-enable interrupts");
|
||||
PMU.disableIRQ(XPOWERS_AXP2101_ALL_IRQ);
|
||||
PMU.clearIrqStatus();
|
||||
PMU.enableIRQ(
|
||||
@@ -107,10 +125,12 @@ bool power_init() {
|
||||
//Set the power key off press time
|
||||
PMU.setPowerKeyPressOffTime(XPOWERS_POWEROFF_4S);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool radio_init() {
|
||||
fallback_clock.begin();
|
||||
Wire1.begin(PIN_BOARD_SDA1,PIN_BOARD_SCL1);
|
||||
rtc_clock.begin(Wire1);
|
||||
|
||||
#ifdef SX126X_DIO3_TCXO_VOLTAGE
|
||||
|
||||
Reference in New Issue
Block a user