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)
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()
# 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()
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,