Ejemplo n.º 1
0
    def init_gui(self):
        import lvgl as lv
        import lvgl_helper as lv_h
        import lcd
        import time
        from machine import I2C

        config_touchscreen_support = True
        board_m1n = False

        i2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
        if not board_m1n:
            lcd.init()
        else:
            lcd.init(type=2, freq=20000000)
        if config_touchscreen_support:
            import touchscreen as ts
            ts.init(i2c)
        lv.init()

        disp_buf1 = lv.disp_buf_t()
        buf1_1 = bytearray(320 * 10)
        lv.disp_buf_init(disp_buf1, buf1_1, None, len(buf1_1) // 4)
        disp_drv = lv.disp_drv_t()
        lv.disp_drv_init(disp_drv)
        disp_drv.buffer = disp_buf1
        disp_drv.flush_cb = lv_h.flush
        if board_m1n:
            disp_drv.hor_res = 240
            disp_drv.ver_res = 240
        else:
            disp_drv.hor_res = 320
            disp_drv.ver_res = 240
        lv.disp_drv_register(disp_drv)

        if config_touchscreen_support:
            indev_drv = lv.indev_drv_t()
            lv.indev_drv_init(indev_drv)
            indev_drv.type = lv.INDEV_TYPE.POINTER
            indev_drv.read_cb = lv_h.read
            lv.indev_drv_register(indev_drv)

        # lv.log_register_print_cb(lv_h.log)
        lv.log_register_print_cb(lambda level, path, line, msg: print(
            '%s(%d): %s' % (path, line, msg)))

        # Create the main screen and load it.

        self.screen_main = Screen_Main(self)
        lv.scr_load(self.screen_main)
Ejemplo n.º 2
0
def screen_init():
    sda_pin = machine.Pin(23)
    scl_pin = machine.Pin(32)

    i2c1 = machine.I2C(id=1, scl=scl_pin, sda=sda_pin, speed=400000)
    ts.init(i2c1)

    tft.init(tft.ST7789, width=240, invrot=3, rot=1, bgr=False, height=240, miso=2, mosi=19, clk=18, cs=5, dc=27,
             speed=40000000, color_bits=tft.COLOR_BITS16, backl_pin=12, backl_on=1)

    tft.clear(tft.RED)
    time.sleep(1)
    tft.clear(tft.GREEN)
    time.sleep(1)
    tft.clear(tft.BLUE)
    time.sleep(1)
Ejemplo n.º 3
0
 def __init__(self):
     disp_buf1 = lv.disp_buf_t()
     buf1_1 = bytearray(390 * 32)
     lv.disp_buf_init(disp_buf1, buf1_1, None, len(buf1_1) // 4)
     disp_drv = lv.disp_drv_t()
     lv.disp_drv_init(disp_drv)
     disp_drv.buffer = disp_buf1
     disp_drv.flush_cb = display.flush
     disp_drv.hor_res = 390
     disp_drv.ver_res = 390
     lv.disp_drv_register(disp_drv)
     touchscreen.init()
     indev_drv = lv.indev_drv_t()
     lv.indev_drv_init(indev_drv)
     indev_drv.type = lv.INDEV_TYPE.POINTER
     indev_drv.read_cb = touchscreen.touchscreen_read
     lv.indev_drv_register(indev_drv)
Ejemplo n.º 4
0
def screen_init():
    sda_pin = machine.Pin(23)
    scl_pin = machine.Pin(32)

    i2c = machine.I2C(id=1, scl=scl_pin, sda=sda_pin, speed=400000)
    ts.init(i2c)

    tft.init(tft.ST7789, width=240, invrot=3, rot=1, bgr=False, height=240, miso=2, mosi=19, clk=18, cs=5, dc=27,
             speed=40000000, color_bits=tft.COLOR_BITS16, backl_pin=12, backl_on=1)

    tft.clear(tft.RED)
    time.sleep(1)
    tft.clear(tft.GREEN)
    time.sleep(1)
    tft.clear(tft.BLUE)
    time.sleep(1)

    lv.init()
    disp_buf1 = lv.disp_buf_t()
    buf1_1 = bytes(240 * 10)
    lv.disp_buf_init(disp_buf1, buf1_1, None, len(buf1_1) // 4)
    disp_drv = lv.disp_drv_t()
    lv.disp_drv_init(disp_drv)
    disp_drv.buffer = disp_buf1
    disp_drv.flush_cb = lv_h.flush
    disp_drv.hor_res = 240
    disp_drv.ver_res = 240
    lv.disp_drv_register(disp_drv)

    indev_drv = lv.indev_drv_t()
    lv.indev_drv_init(indev_drv)
    indev_drv.type = lv.INDEV_TYPE.POINTER
    indev_drv.read_cb = lv_h.read
    lv.indev_drv_register(indev_drv)

    scr = lv.obj()
    btn = lv.btn(scr)
    btn.align(lv.scr_act(), lv.ALIGN.CENTER, 0, 0)
    label = lv.label(btn)
    label.set_text("Button")
    lv.scr_load(scr)
Ejemplo n.º 5
0
def checkTouch():
    global x, y
    x = 0
    y = 0
    try:
        ts.init(i2c, ts.FT62XX)
    except:
        print('faile to init touchpad')
        showInfo("touchpad init failed", False)
        return
    else:
        showInfo("touchpad init done", True)
        print('pass to init touchpad')
    time.sleep(2)
    lcd.clear()
    img = image.Image()
    status_last = ts.STATUS_IDLE
    x_last = 0
    y_last = 0
    draw = False
    while button.value():
        (status, x, y) = ts.read()
        if draw:
            img.draw_line((x_last, y_last, x, y))
        if status_last != status:
            if (status == ts.STATUS_PRESS or status == ts.STATUS_MOVE):
                draw = True
            else:
                draw = False
            status_last = status
        img.draw_string(0, 0, "Touch me", lcd.GREEN, scale=2)
        lcd.display(img)
        x_last = x
        y_last = y
    del img
    ts.__del__()
Ejemplo n.º 6
0
import time
import ustruct as struct
from machine import Timer
from machine import I2C

config_touchscreen_support = True
board_m1n = False

i2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
if not board_m1n:
    lcd.init()
else:
    lcd.init(type=2, freq=20000000)
if config_touchscreen_support:
    import touchscreen as ts
    ts.init(i2c)
lv.init()

disp_buf1 = lv.disp_buf_t()
buf1_1 = bytearray(320 * 10)
lv.disp_buf_init(disp_buf1, buf1_1, None, len(buf1_1) // 4)
disp_drv = lv.disp_drv_t()
lv.disp_drv_init(disp_drv)
disp_drv.buffer = disp_buf1
disp_drv.flush_cb = lv_h.flush
if board_m1n:
    disp_drv.hor_res = 240
    disp_drv.ver_res = 240
else:
    disp_drv.hor_res = 320
    disp_drv.ver_res = 240
Ejemplo n.º 7
0
button = GPIO(GPIO.GPIO1, GPIO.IN)

# led part
fm.register(22, fm.fpioa.GPIO2)
led = GPIO(GPIO.GPIO2, GPIO.OUT)
led.value(1)

# pir part
fm.register(23, fm.fpioa.GPIO3)
pir = GPIO(GPIO.GPIO3, GPIO.IN)



try:
    i2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
    ts.init(i2c,ts.FT62XX)
    HW_TOUCH = True
except:
    print('HAL TOUCH FAILED')

try:
    rtc = pcf8563.PCF8563(i2c)
    rtc.set_datetime((2021,3,1,12,0,0,3))
    HW_RTC = True
except:
    print('HAL RTC FAILED')


img.clear()
img.draw_string(0,0,'Starting Camera ...',color=(0xFF,0,0))
img.draw_string(0,16,'Starting Camera ...',color=(0xFF,0,0))
Ejemplo n.º 8
0
Archivo: ui.py Proyecto: noahzhy/K210
import lvgl as lv
import lvgl_helper as lv_h
import lcd
import time
import touchscreen as ts
from machine import Timer, I2C


i2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
lcd.init()
#lcd.rotation(1)
lv.init()

ts.init(i2c, cal=(78, -5669, 21013658, 4010, 1, -449360, 65536))
#ts.init(i2c)
#fixed = ts.calibrate()
#print(fixed)

disp_buf1 = lv.disp_buf_t()
buf1_1 = bytearray(320*10)
lv.disp_buf_init(disp_buf1, buf1_1, None, len(buf1_1)//4)
disp_drv = lv.disp_drv_t()
lv.disp_drv_init(disp_drv)
disp_drv.buffer = disp_buf1
disp_drv.flush_cb = lv_h.flush
disp_drv.hor_res = 320
disp_drv.ver_res = 240
lv.disp_drv_register(disp_drv)

indev_drv = lv.indev_drv_t()
lv.indev_drv_init(indev_drv)
import time
import lvgl as lv
lv.init()
import display
display.init()
from lvstm32 import lvstm32
from lvdisplay import lvdisplay
import touchscreen
touchscreen.init()

def event_handler1(obj, event):
    lv.scr_load(scr1)
def event_handler2(obj, event):
    lv.scr_load(scr)

#set style of scr and text
style1= lv.style_t(lv.style_plain)
style1.text.font=lv.font_roboto_22
style1.body.main_color=lv.color_make(58, 240, 240)	
style1.body.grad_color=lv.color_make(0, 0, 0)
style1.text.color=lv.color_make(255,255,255)
#style of date
style2= lv.style_t(style1)
style2.text.font=lv.font_roboto_28
style2.text.color=lv.color_make(255,255,255)	#white	
#style of step	
style3= lv.style_t(style1)
style3.text.font=lv.font_roboto_12
style3.text.color=lv.color_hex(0x009aff)	#blue	
#style of heart
style4= lv.style_t(style1)