Last active
December 12, 2024 05:09
-
-
Save cosismo/10b544eb6accbe3d7879d46bc1386545 to your computer and use it in GitHub Desktop.
The Hello World Arduino GFX Library example with the correct parameters for Open-Smartwatch hardware
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/******************************************************************************* | |
* Start of Arduino_GFX setting | |
* | |
* Arduino_GFX try to find the settings depends on selected board in Arduino IDE | |
* Or you can define the display dev kit not in the board list | |
* Defalult pin list for non display dev kit: | |
* Arduino Nano, Micro and more: TFT_CS: 9, TFT_DC: 8, TFT_RST: 7, TFT_BL: 6 | |
* ESP32 various dev board : TFT_CS: 5, TFT_DC: 27, TFT_RST: 33, TFT_BL: 22 | |
* ESP8266 various dev board : TFT_CS: 15, TFT_DC: 4, TFT_RST: 2, TFT_BL: 5 | |
* Raspberry Pi Pico dev board : TFT_CS: 17, TFT_DC: 27, TFT_RST: 26, TFT_BL: 28 | |
* RTL872x various dev board : TFT_CS: 18, TFT_DC: 17, TFT_RST: 2, TFT_BL: 23 | |
* Seeeduino XIAO dev board : TFT_CS: 3, TFT_DC: 2, TFT_RST: 1, TFT_BL: 0 | |
* Teensy 4.1 dev board : TFT_CS: 39, TFT_DC: 41, TFT_RST: 40, TFT_BL: 22 | |
******************************************************************************/ | |
#include <Arduino_GFX_Library.h> | |
//Parameters for Open-Smartwatch | |
#define TFT_CS 5 | |
#define TFT_DC 12 | |
#define TFT_RST 33 | |
#define TFT_SCK 18 | |
#define TFT_MOSI 23 | |
#define TFT_MISO -1 // no data coming back | |
#define TFT_LED 9 | |
/* More dev device declaration: https://github.com/moononournation/Arduino_GFX/wiki/Dev-Device-Declaration */ | |
#if defined(DISPLAY_DEV_KIT) | |
Arduino_GFX *gfx = create_default_Arduino_GFX(); | |
#else /* !defined(DISPLAY_DEV_KIT) */ | |
/* More data bus class: https://github.com/moononournation/Arduino_GFX/wiki/Data-Bus-Class */ | |
//Arduino_DataBus *bus = create_default_Arduino_DataBus(); | |
Arduino_DataBus *bus = new Arduino_ESP32SPI(TFT_DC, TFT_CS, TFT_SCK, TFT_MOSI, TFT_MISO, VSPI /* spi_num */); | |
/* More display class: https://github.com/moononournation/Arduino_GFX/wiki/Display-Class */ | |
//Arduino_GFX *gfx = new Arduino_ILI9341(bus, TFT_RST, 0 /* rotation */, false /* IPS */); | |
Arduino_GC9A01 *gfx = new Arduino_GC9A01(bus, TFT_RST, 0 /* rotation */, true /* IPS */); | |
#endif /* !defined(DISPLAY_DEV_KIT) */ | |
/******************************************************************************* | |
* End of Arduino_GFX setting | |
******************************************************************************/ | |
void setup(void) | |
{ | |
gfx->begin(); | |
gfx->fillScreen(BLACK); | |
#ifdef TFT_BL | |
pinMode(TFT_BL, OUTPUT); | |
digitalWrite(TFT_BL, HIGH); | |
#endif | |
gfx->setCursor(10, 10); | |
gfx->setTextColor(RED); | |
gfx->println("Hello World!"); | |
delay(5000); // 5 seconds | |
} | |
void loop() | |
{ | |
gfx->setCursor(random(gfx->width()), random(gfx->height())); | |
gfx->setTextColor(random(0xffff), random(0xffff)); | |
//gfx->setTextSize(random(6) /* x scale */, random(6) /* y scale */, random(2) /* pixel_margin */); | |
gfx->setTextSize(1 /* x scale */, 1 /* y scale */, 1 /* pixel_margin */); | |
gfx->println("Hello World!"); | |
delay(1000); // 1 second | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Good evening, I can't compile this example of yours, I get these errors. Could you help me. I thank you.
In file included from c:\users\paolo\documents\arduino\libraries\lvgl\src/lv_init.h:16,
from c:\users\paolo\documents\arduino\libraries\lvgl\lvgl.h:24,
from c:\Users\paolo\Documents\Arduino\libraries\lvgl\src/lvgl.h:16,
from C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:4:
c:\users\paolo\documents\arduino\libraries\lvgl\src/lv_conf_internal.h:64:120: note: #pragma message: Possible failure to include lv_conf.h, please read the comment in this file if you get errors
#pragma message("Possible failure to include lv_conf.h, please read the comment in this file if you get errors")
^
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:16:8: error: 'lv_disp_draw_buf_t' does not name a type; did you mean 'lv_draw_buf_t'?
static lv_disp_draw_buf_t draw_buf;
^~~~~~~~~~~~~~~~~~
lv_draw_buf_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:21: error: variable or field 'my_disp_flush' declared void
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:21: error: 'lv_disp_drv_t' was not declared in this scope
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:21: note: suggested alternative: 'lv_fs_drv_t'
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^~~~~~~~~~~~~
lv_fs_drv_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:36: error: 'disp_drv' was not declared in this scope
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:46: error: expected primary-expression before 'const'
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t color_p )
^~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:80: error: expected primary-expression before '' token
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:81: error: 'color_p' was not declared in this scope
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:81: note: suggested alternative: 'lv_color_t'
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t color_p )
^~~~~~~
lv_color_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:24: error: variable or field 'my_touchpad_read' declared void
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:24: error: 'lv_indev_drv_t' was not declared in this scope
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:24: note: suggested alternative: 'lv_indev_data_t'
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~~~~~~~~~~~
lv_indev_data_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:41: error: 'indev_drv' was not declared in this scope
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:68: error: expected primary-expression before '' token
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:70: error: 'data' was not declared in this scope
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:70: note: suggested alternative: 'atan'
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~
atan
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:21: error: variable or field 'my_disp_flush' declared void
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:21: error: 'lv_disp_drv_t' was not declared in this scope
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:21: note: suggested alternative: 'lv_fs_drv_t'
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^~~~~~~~~~~~~
lv_fs_drv_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:36: error: 'disp_drv' was not declared in this scope
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:46: error: expected primary-expression before 'const'
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t color_p )
^~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:80: error: expected primary-expression before '' token
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:81: error: 'color_p' was not declared in this scope
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
^~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:31:81: note: suggested alternative: 'lv_color_t'
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t color_p )
^~~~~~~
lv_color_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:24: error: variable or field 'my_touchpad_read' declared void
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:24: error: 'lv_indev_drv_t' was not declared in this scope
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:24: note: suggested alternative: 'lv_indev_data_t'
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~~~~~~~~~~~
lv_indev_data_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:41: error: 'indev_drv' was not declared in this scope
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:68: error: expected primary-expression before '' token
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:70: error: 'data' was not declared in this scope
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:45:70: note: suggested alternative: 'atan'
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
^~~~
atan
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino: In function 'void setup()':
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:94:9: error: 'class TFT_eSPI' has no member named 'setTouch'
tft.setTouch( calData );
^~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:96:29: error: 'draw_buf' was not declared in this scope
lv_disp_draw_buf_init( &draw_buf, buf, NULL, screenWidth * screenHeight / 10 );
^~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:96:29: note: suggested alternative: 'lv_draw_buf_t'
lv_disp_draw_buf_init( &draw_buf, buf, NULL, screenWidth * screenHeight / 10 );
^~~~~~~~
lv_draw_buf_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:96:5: error: 'lv_disp_draw_buf_init' was not declared in this scope
lv_disp_draw_buf_init( &draw_buf, buf, NULL, screenWidth * screenHeight / 10 );
^~~~~~~~~~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:96:5: note: suggested alternative: 'lv_draw_buf_init'
lv_disp_draw_buf_init( &draw_buf, buf, NULL, screenWidth * screenHeight / 10 );
^~~~~~~~~~~~~~~~~~~~~
lv_draw_buf_init
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:99:12: error: 'lv_disp_drv_t' does not name a type; did you mean 'lv_fs_drv_t'?
static lv_disp_drv_t disp_drv;
^~~~~~~~~~~~~
lv_fs_drv_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:100:24: error: 'disp_drv' was not declared in this scope
lv_disp_drv_init( &disp_drv );
^~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:100:5: error: 'lv_disp_drv_init' was not declared in this scope
lv_disp_drv_init( &disp_drv );
^~~~~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:100:5: note: suggested alternative: 'lv_fs_drv_init'
lv_disp_drv_init( &disp_drv );
^~~~~~~~~~~~~~~~
lv_fs_drv_init
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:104:25: error: 'my_disp_flush' was not declared in this scope
disp_drv.flush_cb = my_disp_flush;
^~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:106:5: error: 'lv_disp_drv_register' was not declared in this scope
lv_disp_drv_register( &disp_drv );
^~~~~~~~~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:106:5: note: suggested alternative: 'lv_fs_drv_register'
lv_disp_drv_register( &disp_drv );
^~~~~~~~~~~~~~~~~~~~
lv_fs_drv_register
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:109:12: error: 'lv_indev_drv_t' does not name a type; did you mean 'lv_indev_data_t'?
static lv_indev_drv_t indev_drv;
^~~~~~~~~~~~~~
lv_indev_data_t
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:110:25: error: 'indev_drv' was not declared in this scope
lv_indev_drv_init( &indev_drv );
^~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:110:5: error: 'lv_indev_drv_init' was not declared in this scope
lv_indev_drv_init( &indev_drv );
^~~~~~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:110:5: note: suggested alternative: 'lv_fs_drv_init'
lv_indev_drv_init( &indev_drv );
^~~~~~~~~~~~~~~~~
lv_fs_drv_init
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:112:25: error: 'my_touchpad_read' was not declared in this scope
indev_drv.read_cb = my_touchpad_read;
^~~~~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:112:25: note: suggested alternative: 'touchRead'
indev_drv.read_cb = my_touchpad_read;
^~~~~~~~~~~~~~~~
touchRead
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:113:5: error: 'lv_indev_drv_register' was not declared in this scope
lv_indev_drv_register( &indev_drv );
^~~~~~~~~~~~~~~~~~~~~
C:\Users\paolo\Documents\Arduino\LVGL_Arduino1\LVGL_Arduino1.ino:113:5: note: suggested alternative: 'lv_fs_drv_register'
lv_indev_drv_register( &indev_drv );
^~~~~~~~~~~~~~~~~~~~~
lv_fs_drv_register
exit status 1
Compilation error: 'lv_disp_draw_buf_t' does not name a type; did you mean 'lv_draw_buf_t'?