def run(): # debug into app_select # launcher.app_select = 2 # app.layer = 1 ui.height, ui.weight = 480, 320 # button_io.config(23, 20, 31) # amigo tft button_io.config(16, 23, 20) # amigo ips sipeed_led.init(14, 15, 17, 32) app.i2c3 = I2C(I2C.I2C3, freq=100 * 1000, scl=24, sda=27) app.i2c4 = I2C(I2C.I2C4, freq=100 * 1000, scl=9, sda=7) TouchLow.config(i2c3=app.i2c3) # amigo #if AXP173_ADDR in i2c.scan(): axp173 = AXP173(i2c_dev=app.i2c3) axp173.enable_adc(True) # 默认充电限制在 4.2V, 190mA 档位 axp173.setEnterChargingControl(True) axp173.exten_output_enable() # amigo sensor config. axp173.writeREG(0x27, 0x20) axp173.writeREG(0x28, 0x0C) taskbar.init(axp173) CubeAudio.init(app.i2c3) if CubeAudio.check(): CubeAudio.ready() fm.register(13, fm.fpioa.I2S0_MCLK, force=True) fm.register(21, fm.fpioa.I2S0_SCLK, force=True) fm.register(18, fm.fpioa.I2S0_WS, force=True) fm.register(35, fm.fpioa.I2S0_IN_D0, force=True) fm.register(34, fm.fpioa.I2S0_OUT_D2, force=True) #app.ctrl.event(100, lambda *args: time.sleep(1)) #app.ctrl.event(10, app.on_event) app.ctrl.event(5, app.draw) #ui.enable = False while True: last = 0 while True: try: # print((int)(1000 / (time.ticks_ms() - last)), 'fps') # last = time.ticks_ms() # print_mem_free() gc.collect() app.ctrl.cycle() protect.keep() #time.sleep(0.1) except KeyboardInterrupt: protect.stop() raise KeyboardInterrupt() except Exception as e: # gc.collect() print(e)
def key_event(self): self.btn.expand_event() if self.btn.back() == 2: sample_page.back() elif self.btn.next() == 2: sample_page.next() elif self.btn.home() == 2: axp173 = AXP173(I2C(I2C.I2C1, freq=100 * 1000, scl=30, sda=31)) axp173.__write_reg(0x32, 0x80) # turn off
def run(): # debug into app_select #launcher.app_select = 0 #app.layer = 2 button_io.config() sipeed_led.init(13, 12, 14, 32) sample_page.key_init() fm.register(30, fm.fpioa.I2C1_SCLK, force=True) fm.register(31, fm.fpioa.I2C1_SDA, force=True) axp173 = AXP173() axp173.enable_adc(True) # 默认充电限制在 4.2V, 190mA 档位 axp173.setEnterChargingControl(True) axp173.exten_output_enable() taskbar.init(axp173) if CubeAudio.check(): CubeAudio.ready() fm.register(19, fm.fpioa.I2S0_MCLK, force=True) fm.register(35, fm.fpioa.I2S0_SCLK, force=True) fm.register(33, fm.fpioa.I2S0_WS, force=True) fm.register(34, fm.fpioa.I2S0_IN_D0, force=True) fm.register(18, fm.fpioa.I2S0_OUT_D2, force=True) #app.ctrl.event(100, lambda *args: time.sleep(1)) #app.ctrl.event(10, app.btn.event) app.ctrl.event(5, app.draw) while True: #import time #last = time.ticks_ms() while True: try: #print((int)(1000 / (time.ticks_ms() - last)), 'fps') #last = time.ticks_ms() #print_mem_free() gc.collect() app.ctrl.cycle() protect.keep() #time.sleep(0.1) except KeyboardInterrupt: protect.stop() raise KeyboardInterrupt() except Exception as e: # gc.collect() print(e)
#ui.canvas.draw_string(10, 1, taskbar.info, #scale=2, color=(50, 255, 50)) #taskbar.init() if __name__ == "__main__": from machine import I2C from fpioa_manager import fm #fm.register(24,fm.fpioa.I2C1_SCLK, force=True) #fm.register(27,fm.fpioa.I2C1_SDA, force=True) from pmu_axp173 import AXP173 i2c = I2C(I2C.I2C3, freq=1000 * 1000, scl=24, sda=27) axp173 = AXP173(i2c_dev=i2c) axp173.enable_adc(True) # 默认充电限制在 4.2V, 190mA 档位 axp173.setEnterChargingControl(True) axp173.exten_output_enable() # amigo sensor config. axp173.writeREG(0x27, 0x20) axp173.writeREG(0x28, 0x0C) taskbar.init(axp173) ui.height, ui.weight = 480, 320 #def tmp_draw(): #ui.canvas.draw_rectangle( #(0, 0, 240, 240), fill=True, color=(75, 75, 75))
def run(): # debug into app_select #launcher.app_select = 0 #app.layer = 2 ui.height, ui.weight = 480, 320 button_io.config(23, 31, 20) # amigo cube_led.init(14, 15, 17, 32) app.i2c0 = I2C(I2C.I2C0, freq=100*1000) app.i2c1 = I2C(I2C.I2C1, freq=100*1000) fm.register(24,fm.fpioa.I2C1_SCLK, force=True) fm.register(27,fm.fpioa.I2C1_SDA, force=True) print('monkey patch & config for i2c') TouchLow.config(i2c1=app.i2c1) # amigo for i in range(100): try: tmp = fm.fpioa.get_Pin_num(fm.fpioa.I2C1_SDA) fm.register(tmp, fm.fpioa.GPIOHS15) sda = GPIO(GPIO.GPIOHS15, GPIO.OUT) sda.value(1) fm.register(tmp, fm.fpioa.I2C1_SDA, force=True) #if AXP173_ADDR in i2c.scan(): axp173 = AXP173(i2c_dev=app.i2c1) axp173.enable_adc(True) # 默认充电限制在 4.2V, 190mA 档位 axp173.setEnterChargingControl(True) axp173.exten_output_enable() # amigo sensor config. axp173.writeREG(0x27, 0x20) axp173.writeREG(0x28, 0x0C) taskbar.init(axp173) break except Exception as e: # gc.collect() pass #if i == 99: #raise(e) if CubeAudio.check(): CubeAudio.ready() fm.register(13,fm.fpioa.I2S0_MCLK, force=True) fm.register(21,fm.fpioa.I2S0_SCLK, force=True) fm.register(18,fm.fpioa.I2S0_WS, force=True) fm.register(35,fm.fpioa.I2S0_IN_D0, force=True) fm.register(34,fm.fpioa.I2S0_OUT_D2, force=True) #app.ctrl.event(100, lambda *args: time.sleep(1)) #app.ctrl.event(10, app.on_event) app.ctrl.event(5, app.draw) #ui.enable = False while True: last = 0 while True: try: # gc.collect() print((int)(1000 / (time.ticks_ms() - last)), 'fps') last = time.ticks_ms() #print_mem_free() app.ctrl.cycle() protect.keep() #time.sleep(0.1) except KeyboardInterrupt: protect.stop() raise KeyboardInterrupt() except Exception as e: # gc.collect() print(e)
def check(self): try: if self.isconnected == False: if AXP173_ADDR in self.i2c.scan(): self.axp173 = AXP173(self.i2c) self.isconnected = True self.axp173.enable_adc(True) # 默认充电限制在 4.2V, 190mA 档位 self.axp173.setEnterChargingControl(True) self.axp173.exten_output_enable() ### amigo sensor config. #self.axp173.writeREG(0x27, 0x20) #self.axp173.writeREG(0x28, 0x0C) else: tmp = [] self.work_mode = self.axp173.getPowerWorkMode() tmp.append("WorkMode:" + hex(self.work_mode)) # 检测 电池电压 self.vbat_voltage = self.axp173.getVbatVoltage() tmp.append("vbat_voltage: {0} V".format(self.vbat_voltage)) # 检测 电池充电电流 self.BatteryChargeCurrent = self.axp173.getBatteryChargeCurrent( ) tmp.append("BatChargeCurrent: {0:>4.1f}mA".format( self.BatteryChargeCurrent)) # 检测 USB-ACIN 电压 self.usb_voltage = self.axp173.getUSBVoltage() tmp.append("usb_voltage: {0:>4}mV".format(self.usb_voltage)) # 检测 USB-ACIN 电流 self.USBInputCurrent = self.axp173.getUSBInputCurrent() tmp.append("USBInputCurrent: {0:>4.1f}mA".format( self.USBInputCurrent)) ### 检测 VBUS 电压 #usb_voltage = self.axp173.getConnextVoltage() #print("6 VUBS_voltage: " + str(usb_voltage)) ### 检测 VBUS 电流 #USBInputCurrent = self.axp173.getConnextInputCurrent() #print("7 VUBSInputCurrent: " + str(USBInputCurrent) + "mA") self.getChargingControl = self.axp173.getChargingControl() tmp.append("ChargingControl: {}".format( hex(self.getChargingControl))) # 检测 是否正在充电 if self.axp173.is_charging() == True: tmp.append("Charging....") else: tmp.append("Not Charging") tmp.append(self.axp173.is_charging()) # 检测 USB 是否连接 if self.axp173.is_usb_plugged_in() == 1: tmp.append("USB plugged ....") else: tmp.append("USB is not plugged in") self.work_info = tmp except Exception as e: Report.Power_Test = False Report.isError = str(e) print(e)