diff --git a/tasmota/berry/drivers/AXP192_M5Stack_Core2.be b/tasmota/berry/drivers/AXP192_M5Stack_Core2.be index a7293ba8e..33342bd82 100644 --- a/tasmota/berry/drivers/AXP192_M5Stack_Core2.be +++ b/tasmota/berry/drivers/AXP192_M5Stack_Core2.be @@ -52,7 +52,7 @@ class AXP192_M5Stack_Core2 : AXP192 # Automatic shutdown function setting when the key duration is longer than the shutdown duration = turn on # PWROK signal delay after power on = 64ms # Shutdown duration setting = 4s - self.write8(0x34, 0x4C) + self.write8(0x36, 0x4C) # ADC all-on # Bit 7: Battery voltage ADC enable @@ -69,10 +69,17 @@ class AXP192_M5Stack_Core2 : AXP192 self.set_lcd_reset(false) tasmota.delay(100) # wait for 100ms self.set_lcd_reset(true) - tasmota.delay(100) # wait for 100ms + tasmota.delay(200) # wait for 200ms - # bus power mode_output - self.set_buf_power_mode(false) + # Indicates whether the voltage of VBUS is higher than VHOLD when the external power supply VBUS is connected + if self.read8(0X00) & 0x08 + self.write_bit(0x30, 7, true) + # if v-bus can use, disable M-Bus 5V output to input + self.set_buf_power_mode(true) + else + # if not, enable M-Bus 5V output + self.set_buf_power_mode(false) + end tasmota.add_driver(self) end @@ -113,7 +120,7 @@ class AXP192_M5Stack_Core2 : AXP192 self.write8(0x12, self.read8(0x12) & 0xBF) # set EXTEN to disable 5v boost self.write8(0x90, self.read8(0x90) & 0xF8 | 0x01) # set GPIO0 to float, using enternal pulldown resistor to enable supply from BUS_5VS else - self.write8(0x91, self.read8(0x91) & 0x0F | 0xF0) + self.write8(0x91, self.read8(0x91) & 0x0F | 0xF0) # Set GPIO to 3.3V (LDO OUTPUT mode) self.write8(0x90, self.read8(0x90) & 0xF8 | 0x02) # set GPIO0 to LDO OUTPUT , pullup N_VBUSEN to disable supply from BUS_5V self.write8(0x12, self.read8(0x12) | 0x40) # set EXTEN to enable 5v boost end