@@ -25,6 +25,7 @@ BraccioClass::BraccioClass()
25
25
, _motors_connected_mtx{}
26
26
, _motors_connected_thd{}
27
27
, _customMenu{nullptr }
28
+ , _gfx{}
28
29
{
29
30
30
31
}
@@ -120,10 +121,10 @@ bool BraccioClass::begin(voidFuncPtr customMenu)
120
121
121
122
lv_style_init (&_lv_style);
122
123
123
- gfx .init ();
124
- gfx .setRotation (4 );
125
- gfx .fillScreen (TFT_WHITE);
126
- gfx .setAddrWindow (0 , 0 , 240 , 240 );
124
+ _gfx .init ();
125
+ _gfx .setRotation (4 );
126
+ _gfx .fillScreen (TFT_WHITE);
127
+ _gfx .setAddrWindow (0 , 0 , 240 , 240 );
127
128
128
129
p_objGroup = lv_group_create ();
129
130
lv_group_set_default (p_objGroup);
@@ -232,6 +233,19 @@ void BraccioClass::connectJoystickTo(lv_obj_t* obj) {
232
233
lv_indev_set_group (kb_indev, p_objGroup);
233
234
}
234
235
236
+ void BraccioClass::lvgl_disp_flush (lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
237
+ {
238
+ uint32_t w = (area->x2 - area->x1 + 1 );
239
+ uint32_t h = (area->y2 - area->y1 + 1 );
240
+
241
+ _gfx.startWrite ();
242
+ _gfx.setAddrWindow (area->x1 , area->y1 , w, h);
243
+ _gfx.pushColors (&color_p->full , w * h, true );
244
+ _gfx.endWrite ();
245
+
246
+ lv_disp_flush_ready (disp);
247
+ }
248
+
235
249
void BraccioClass::pd_thread () {
236
250
start_pd_burst = millis ();
237
251
size_t last_time_ask_pps = 0 ;
@@ -374,15 +388,7 @@ int BraccioClass::getKey() {
374
388
/* Display flushing */
375
389
extern " C" void braccio_disp_flush (lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
376
390
{
377
- uint32_t w = (area->x2 - area->x1 + 1 );
378
- uint32_t h = (area->y2 - area->y1 + 1 );
379
-
380
- Braccio.gfx .startWrite ();
381
- Braccio.gfx .setAddrWindow (area->x1 , area->y1 , w, h);
382
- Braccio.gfx .pushColors (&color_p->full , w * h, true );
383
- Braccio.gfx .endWrite ();
384
-
385
- lv_disp_flush_ready (disp);
391
+ Braccio.lvgl_disp_flush (disp, area, color_p);
386
392
}
387
393
388
394
/* Reading input device (simulated encoder here) */
0 commit comments