diff --git a/examples/arduino/LVGL_Arduino/LVGL_Arduino.ino b/examples/arduino/LVGL_Arduino/LVGL_Arduino.ino index 548b97bd0..7aeccbb9c 100644 --- a/examples/arduino/LVGL_Arduino/LVGL_Arduino.ino +++ b/examples/arduino/LVGL_Arduino/LVGL_Arduino.ino @@ -14,7 +14,7 @@ static const uint16_t screenWidth = 480; static const uint16_t screenHeight = 320; static lv_disp_draw_buf_t draw_buf; -static lv_color_t buf[ screenWidth * 10 ]; +static lv_color_t buf[ screenWidth * screenHeight / 10 ]; TFT_eSPI tft = TFT_eSPI(screenWidth, screenHeight); /* TFT instance */ @@ -28,7 +28,7 @@ void my_print(const char * buf) #endif /* Display flushing */ -void my_disp_flush( lv_disp_t *disp, const lv_area_t *area, lv_color_t *color_p ) +void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p ) { uint32_t w = ( area->x2 - area->x1 + 1 ); uint32_t h = ( area->y2 - area->y1 + 1 ); @@ -38,11 +38,11 @@ void my_disp_flush( lv_disp_t *disp, const lv_area_t *area, lv_color_t *color_p tft.pushColors( ( uint16_t * )&color_p->full, w * h, true ); tft.endWrite(); - lv_disp_flush_ready( disp ); + lv_disp_flush_ready( disp_drv ); } /*Read the touchpad*/ -void my_touchpad_read( lv_indev_t * indev_driver, lv_indev_data_t * data ) +void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data ) { uint16_t touchX, touchY; @@ -93,10 +93,10 @@ void setup() uint16_t calData[5] = { 275, 3620, 264, 3532, 1 }; tft.setTouch( calData ); - lv_disp_draw_buf_init( &draw_buf, buf, NULL, screenWidth * 10 ); + lv_disp_draw_buf_init( &draw_buf, buf, NULL, screenWidth * screenHeight / 10 ); /*Initialize the display*/ - static lv_disp_t disp_drv; + static lv_disp_drv_t disp_drv; lv_disp_drv_init( &disp_drv ); /*Change the following line to your display resolution*/ disp_drv.hor_res = screenWidth; @@ -106,31 +106,30 @@ void setup() lv_disp_drv_register( &disp_drv ); /*Initialize the (dummy) input device driver*/ - static lv_indev_t indev_drv; + static lv_indev_drv_t indev_drv; lv_indev_drv_init( &indev_drv ); indev_drv.type = LV_INDEV_TYPE_POINTER; indev_drv.read_cb = my_touchpad_read; lv_indev_drv_register( &indev_drv ); - -#if 0 + /* Create simple label */ lv_obj_t *label = lv_label_create( lv_scr_act() ); - lv_label_set_text( label, LVGL_Arduino.c_str() ); + lv_label_set_text( label, "Hello Ardino and LVGL!"); lv_obj_align( label, LV_ALIGN_CENTER, 0, 0 ); -#else - /* Try an example from the lv_examples Arduino library - make sure to include it as written above. - lv_example_btn_1(); - */ - - // uncomment one of these demos - lv_demo_widgets(); // OK - // lv_demo_benchmark(); // OK - // lv_demo_keypad_encoder(); // works, but I haven't an encoder - // lv_demo_music(); // NOK + + /* Try an example. See all the examples + * online: https://docs.lvgl.io/master/examples.html + * source codes: https://github.com/lvgl/lvgl/tree/e7f88efa5853128bf871dde335c0ca8da9eb7731/examples */ + //lv_example_btn_1(); + + /*Or try out a demo. Don't forget to enable the demos in lv_conf.h. E.g. LV_USE_DEMOS_WIDGETS*/ + //lv_demo_widgets(); + // lv_demo_benchmark(); + // lv_demo_keypad_encoder(); + // lv_demo_music(); // lv_demo_printer(); - // lv_demo_stress(); // seems to be OK -#endif + // lv_demo_stress(); + Serial.println( "Setup done" ); }