From ffc143eb05c1b24e2f16cd4e6602845d623a65c0 Mon Sep 17 00:00:00 2001 From: "Hansi, dl9rdz" Date: Fri, 19 Apr 2024 00:27:23 +0000 Subject: [PATCH] 40M instead of 80M bootloader in image --- RX_FSK/src/pmu.cpp | 31 +++++++++++++++++++++++++++---- RX_FSK/version.h | 2 +- scripts/makeimage.py | 4 ++-- scripts/ttgoconfig | 3 ++- 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/RX_FSK/src/pmu.cpp b/RX_FSK/src/pmu.cpp index 0e791ae..ea4efb0 100644 --- a/RX_FSK/src/pmu.cpp +++ b/RX_FSK/src/pmu.cpp @@ -366,6 +366,8 @@ float AXP192PMU::getTemperature() { /////// Functions for AXP2101 // Registers +#define AXP2101_PMU_STATUS1 (0x00) +#define AXP2101_PMU_STATUS2 (0x01) #define AXP2101_CHARGE_GAUGE_WDT_CTRL (0x18) #define AXP2101_BTN_BAT_CHG_VOL_SET (0x6A) #define AXP2101_DC_ONOFF_DVM_CTRL (0x80) @@ -376,6 +378,8 @@ float AXP192PMU::getTemperature() { #define AXP2101_LDO_VOL2_CTRL (0x94) #define AXP2101_ADC_CHANNEL_CTRL (0x30) +#define AXP2101_PMU_ADC0 (0x34) +#define AXP2101_PMU_ADC1 (0x36) // vterm_cfg: Bit 2:0, 4.2V = 011 (3) #define AXP2101_CHG_V_CFG (0x64) @@ -530,15 +534,34 @@ int AXP2101PMU::getIrqKeyStatus() { return KP_NONE; } -int AXP2101PMU::isBatteryConnected() { return -1; } +int AXP2101PMU::isBatteryConnected() { + int val = readRegister(AXP2101_PMU_STATUS1); + // PMU status1, bit 3: battery present + return (val & 0x08) ? 1 : 0; +} int AXP2101PMU::isVbusIn() { return -1; } -int AXP2101PMU::isCharging() { return -1; } -float AXP2101PMU::getBattVoltage() { return -1; } +int AXP2101PMU::isCharging() { + int val = readRegister(AXP2101_PMU_STATUS2); + // PMU status2, bit 6:5 == 01 => charge (00: standby, 10: discharge) + return (val & 0x60) == 0x20 ? 1 : 0; +} +float AXP2101PMU::getBattVoltage() { + int hi = readRegister(AXP2101_PMU_ADC0); + int lo = readRegister(AXP2101_PMU_ADC0+1); + if( (hi==-1) || (lo==-1) ) return -1; + return ((hi<<8) | lo ) * 0.001; +} + float AXP2101PMU::getBattDischargeCurrent() { return -1; } float AXP2101PMU::getBattChargeCurrent() { return -1; } float AXP2101PMU::getAcinVoltage() { return -1; } float AXP2101PMU::getAcinCurrent() { return -1; } -float AXP2101PMU::getVbusVoltage() { return -1; } +float AXP2101PMU::getVbusVoltage() { + int hi = readRegister(AXP2101_PMU_ADC1); + int lo = readRegister(AXP2101_PMU_ADC1+2); + if( (hi==-1) || (lo==-1) ) return -1; + return ((hi<<8) | lo ) * 0.001; +} float AXP2101PMU::getVbusCurrent() { return -1; } float AXP2101PMU::getTemperature() { return -1; } diff --git a/RX_FSK/version.h b/RX_FSK/version.h index cc8de5f..501a11b 100644 --- a/RX_FSK/version.h +++ b/RX_FSK/version.h @@ -1,4 +1,4 @@ const char *version_name = "rdzTTGOsonde"; -const char *version_id = "devel20240316"; +const char *version_id = "devel20240419"; const int SPIFFS_MAJOR=2; const int SPIFFS_MINOR=17; diff --git a/scripts/makeimage.py b/scripts/makeimage.py index 7614535..bc742dd 100755 --- a/scripts/makeimage.py +++ b/scripts/makeimage.py @@ -59,8 +59,8 @@ spiproc = subprocess.Popen([MKSPIFFS,'-c',data_dir,'-b','4096','-p','256','-s',s spiproc.wait(); files_in = [ -## for arduino esp32 2.0 ('bootloader', OFFSET_BOOTLOADER, esp32tools+"/sdk/esp32/bin/bootloader_dio_80m.bin"), - ('bootloader', OFFSET_BOOTLOADER, esp32tools+"/sdk/bin/bootloader_dio_80m.bin"), +## for arduino esp32 2.0 ('bootloader', OFFSET_BOOTLOADER, esp32tools+"/sdk/esp32/bin/bootloader_dio_40m.bin"), + ('bootloader', OFFSET_BOOTLOADER, esp32tools+"/sdk/bin/bootloader_dio_40m.bin"), ('partitions', OFFSET_PARTITIONS, file_part), ('bootapp0', OFFSET_BOOTAPP0, esp32tools+"/partitions/boot_app0.bin"), ('application', OFFSET_APPLICATION, file_in), diff --git a/scripts/ttgoconfig b/scripts/ttgoconfig index 8fb5a8c..eb3d092 100755 --- a/scripts/ttgoconfig +++ b/scripts/ttgoconfig @@ -68,7 +68,8 @@ if len(sys.argv)<=2: if sys.argv[1]=="backup": # backup installed firmware (+ all data) to backup.bin sys._argv = sys.argv[:] - sys.argv=[sys._argv[0],"--chip", "esp32", "--baud", "921600", "--before", "default_reset", "--after", "hard_reset", "read_flash", "0x1000", "0x3FF000", sys.argv[2]] + # sys.argv=[sys._argv[0],"--chip", "esp32", "--baud", "921600", "--before", "default_reset", "--after", "hard_reset", "read_flash", "0x1000", "0x3FF000", sys.argv[2]] + sys.argv=[sys._argv[0],"--chip", "esp32", "--baud", "115200", "--before", "default_reset", "--after", "hard_reset", "read_flash", "0x1000", "0x3FF000", sys.argv[2]] esptool.main() exit(0)