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
if board_m1n:
    disp_drv.hor_res = 240
    disp_drv.ver_res = 240
else:
    disp_drv.hor_res = 480
    disp_drv.ver_res = 320
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 = read_cb
    lv.indev_drv_register(indev_drv)

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

def event_handler(obj, event):
    global btn, box, bg

    if event == lv.EVENT.CLICKED:
        if obj == btn:
            box.set_hidden(0)
            bg.set_hidden(0)
        elif obj == box:
            box.set_hidden(1)
            bg.set_hidden(1)

#create screen object
scr = lv.obj()
Ejemplo n.º 3
0
# init

import usys as sys
sys.path.append(
    '')  # See: https://github.com/micropython/micropython/issues/6419

import ustruct as struct

import lodepng as png
import lvgl as lv
from lv_utils import event_loop

lv.init()
lv.log_register_print_cb(lambda msg: print('%s' % msg))

if not event_loop.is_running():
    import SDL
    SDL.init()

    # Register SDL display driver.

    disp_buf1 = lv.disp_draw_buf_t()
    buf1_1 = bytes(480 * 10)
    disp_buf1.init(buf1_1, None, len(buf1_1) // 4)
    disp_drv = lv.disp_drv_t()
    disp_drv.init()
    disp_drv.draw_buf = disp_buf1
    disp_drv.flush_cb = SDL.monitor_flush
    disp_drv.hor_res = 480
    disp_drv.ver_res = 320
    disp_drv.register()
Ejemplo n.º 4
0
import lvgl as lv

lv.init()
log_level = ["Trace", "Info", "Warning", "Error", "User"]
lv.log_register_print_cb(lambda level, filename, line, func, msg:
                         print('LOG: %s, file: %s in %s, line %d: %s' %
                               (log_level[level], filename, func, line, msg)))

# Initialize ILI9341 display

import lvesp32
import espidf as esp
from ili9XXX import ili9341, COLOR_MODE_BGR, LANDSCAPE, PORTRAIT

# select the orientation
orientation = LANDSCAPE
# orientation = PORTRAIT
w = 320
h = 240
if orientation == PORTRAIT:
    w, h = h, w
    transp = True
else:
    transp = False

disp = ili9341(miso=19,
               mosi=23,
               clk=18,
               cs=26,
               dc=5,
               rst=-1,