@@ -27,18 +27,23 @@ void lvgl_displayFlushing(lv_disp_drv_t * disp, const lv_area_t * area, lv_color
27
27
#endif
28
28
29
29
/* 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;
32
37
_shield = &shield;
33
- _edidMode = _shield->getEdidMode (width, heigth );
38
+ _edidMode = _shield->getEdidMode (width, height );
34
39
35
40
switch (_edidMode) {
36
41
case EDID_MODE_640x480_60Hz ... EDID_MODE_800x600_59Hz:
37
42
case EDID_MODE_1024x768_60Hz ... EDID_MODE_1920x1080_60Hz:
38
- _rotated = (width < heigth ) ? true : false ;
43
+ _rotated = (width < height ) ? true : false ;
39
44
break ;
40
45
case EDID_MODE_480x800_60Hz:
41
- _rotated = (width >= heigth ) ? true : false ;
46
+ _rotated = (width >= height ) ? true : false ;
42
47
break ;
43
48
default :
44
49
_rotated = false ;
@@ -50,14 +55,13 @@ Arduino_H7_Video::~Arduino_H7_Video() {
50
55
}
51
56
52
57
int Arduino_H7_Video::begin () {
58
+ #ifdef HAS_ARDUINOGRAPHICS
53
59
if (!ArduinoGraphics::begin ()) {
54
- return H7V_ERR_UNKNOWN;
60
+ return 1 ; /* Unknown err */
55
61
}
56
62
57
63
textFont (Font_5x7);
58
-
59
- /* Configure SDRAM */
60
- SDRAM.begin ();
64
+ #endif
61
65
62
66
/* Video controller/bridge init */
63
67
_shield->init (_edidMode);
@@ -71,7 +75,7 @@ int Arduino_H7_Video::begin() {
71
75
static lv_color_t * buf1;
72
76
buf1 = (lv_color_t *)malloc ((width () * height () / 10 ) * sizeof (lv_color_t )); /* Declare a buffer for 1/10 screen size */
73
77
if (buf1 == NULL ) {
74
- return H7V_ERR_INSUFFMEM;
78
+ return 2 ; /* Insuff memory err */
75
79
}
76
80
lv_disp_draw_buf_init (&draw_buf, buf1, NULL , width () * height () / 10 ); /* Initialize the display buffer. */
77
81
@@ -93,13 +97,27 @@ int Arduino_H7_Video::begin() {
93
97
lv_disp_drv_register (&disp_drv); /* Finally register the driver */
94
98
#endif
95
99
100
+ /* Configure SDRAM */
101
+ SDRAM.begin (dsi_getFramebufferEnd ());
102
+
96
103
return 0 ;
97
104
}
98
105
106
+ int Arduino_H7_Video::width () {
107
+ return _width;
108
+ }
109
+
110
+ int Arduino_H7_Video::height () {
111
+ return _height;
112
+ }
113
+
99
114
void Arduino_H7_Video::end () {
115
+ #ifdef HAS_ARDUINOGRAPHICS
100
116
ArduinoGraphics::end ();
117
+ #endif
101
118
}
102
119
120
+ #ifdef HAS_ARDUINOGRAPHICS
103
121
void Arduino_H7_Video::beginDraw () {
104
122
ArduinoGraphics::beginDraw ();
105
123
@@ -150,6 +168,7 @@ void Arduino_H7_Video::set(int x, int y, uint8_t r, uint8_t g, uint8_t b) {
150
168
uint32_t color = (uint32_t )((uint32_t )(r << 16 ) | (uint32_t )(g << 8 ) | (uint32_t )(b << 0 ));
151
169
dsi_lcdFillArea ((void *)(dsi_getCurrentFrameBuffer () + ((x_rot + (dsi_getDisplayXSize () * y_rot)) * sizeof (uint16_t ))), 1 , 1 , color);
152
170
}
171
+ #endif
153
172
154
173
#if __has_include("lvgl.h")
155
174
void lvgl_displayFlushing (lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p) {
0 commit comments