示例#1
0
    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)
示例#2
0
    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
示例#3
0
    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)
示例#4
0
        #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))
示例#5
0
    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)
示例#6
0
    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)