@@ -27,18 +27,23 @@ void lvgl_displayFlushing(lv_disp_drv_t * disp, const lv_area_t * area, lv_color
2727#endif
2828
2929/* Functions -----------------------------------------------------------------*/
30- Arduino_H7_Video::Arduino_H7_Video (int width, int heigth, H7DisplayShield &shield) :
31- ArduinoGraphics(width, heigth) {
30+ Arduino_H7_Video::Arduino_H7_Video (int width, int height, H7DisplayShield &shield)
31+ #ifdef HAS_ARDUINOGRAPHICS
32+ : ArduinoGraphics(width, height)
33+ #endif
34+ {
35+ _height = height;
36+ _width = width;
3237 _shield = &shield;
33- _edidMode = _shield->getEdidMode (width, heigth );
38+ _edidMode = _shield->getEdidMode (width, height );
3439
3540 switch (_edidMode) {
3641 case EDID_MODE_640x480_60Hz ... EDID_MODE_800x600_59Hz:
3742 case EDID_MODE_1024x768_60Hz ... EDID_MODE_1920x1080_60Hz:
38- _rotated = (width < heigth ) ? true : false ;
43+ _rotated = (width < height ) ? true : false ;
3944 break ;
4045 case EDID_MODE_480x800_60Hz:
41- _rotated = (width >= heigth ) ? true : false ;
46+ _rotated = (width >= height ) ? true : false ;
4247 break ;
4348 default :
4449 _rotated = false ;
@@ -50,14 +55,13 @@ Arduino_H7_Video::~Arduino_H7_Video() {
5055}
5156
5257int Arduino_H7_Video::begin () {
58+ #ifdef HAS_ARDUINOGRAPHICS
5359 if (!ArduinoGraphics::begin ()) {
54- return H7V_ERR_UNKNOWN;
60+ return 1 ; /* Unknown err */
5561 }
5662
5763 textFont (Font_5x7);
58-
59- /* Configure SDRAM */
60- SDRAM.begin ();
64+ #endif
6165
6266 /* Video controller/bridge init */
6367 _shield->init (_edidMode);
@@ -71,7 +75,7 @@ int Arduino_H7_Video::begin() {
7175 static lv_color_t * buf1;
7276 buf1 = (lv_color_t *)malloc ((width () * height () / 10 ) * sizeof (lv_color_t )); /* Declare a buffer for 1/10 screen size */
7377 if (buf1 == NULL ) {
74- return H7V_ERR_INSUFFMEM;
78+ return 2 ; /* Insuff memory err */
7579 }
7680 lv_disp_draw_buf_init (&draw_buf, buf1, NULL , width () * height () / 10 ); /* Initialize the display buffer. */
7781
@@ -93,13 +97,27 @@ int Arduino_H7_Video::begin() {
9397 lv_disp_drv_register (&disp_drv); /* Finally register the driver */
9498 #endif
9599
100+ /* Configure SDRAM */
101+ SDRAM.begin (dsi_getFramebufferEnd ());
102+
96103 return 0 ;
97104}
98105
106+ int Arduino_H7_Video::width () {
107+ return _width;
108+ }
109+
110+ int Arduino_H7_Video::height () {
111+ return _height;
112+ }
113+
99114void Arduino_H7_Video::end () {
115+ #ifdef HAS_ARDUINOGRAPHICS
100116 ArduinoGraphics::end ();
117+ #endif
101118}
102119
120+ #ifdef HAS_ARDUINOGRAPHICS
103121void Arduino_H7_Video::beginDraw () {
104122 ArduinoGraphics::beginDraw ();
105123
@@ -150,6 +168,7 @@ void Arduino_H7_Video::set(int x, int y, uint8_t r, uint8_t g, uint8_t b) {
150168 uint32_t color = (uint32_t )((uint32_t )(r << 16 ) | (uint32_t )(g << 8 ) | (uint32_t )(b << 0 ));
151169 dsi_lcdFillArea ((void *)(dsi_getCurrentFrameBuffer () + ((x_rot + (dsi_getDisplayXSize () * y_rot)) * sizeof (uint16_t ))), 1 , 1 , color);
152170}
171+ #endif
153172
154173#if __has_include("lvgl.h")
155174void lvgl_displayFlushing (lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p) {
0 commit comments