Skip to content

Commit 47dd4b2

Browse files
committed
Cleanup gfx/lvgl driver code:
- Prefix all member variables with '_'. - Initialize them in the constructore.
1 parent dd56f4f commit 47dd4b2

File tree

2 files changed

+60
-55
lines changed

2 files changed

+60
-55
lines changed

src/Braccio++.cpp

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,25 @@ BraccioClass::BraccioClass()
1717
: serial485{Serial1, 0, 7, 8} /* TX, DE, RE */
1818
, servos{serial485}
1919
, PD_UFP{PD_LOG_LEVEL_VERBOSE}
20-
, expander{TCA6424A_ADDRESS_ADDR_HIGH}
21-
, bl{}
22-
, _display_thd{}
20+
, _expander{TCA6424A_ADDRESS_ADDR_HIGH}
2321
, _is_ping_allowed{true}
2422
, _is_motor_connected{false}
2523
, _motors_connected_mtx{}
2624
, _motors_connected_thd{}
27-
, _customMenu{nullptr}
25+
, _bl{}
2826
, _gfx{}
27+
, _lvgl_disp_drv{}
28+
, _lvgl_indev_drv{}
29+
, _lvgl_disp_buf{}
30+
, _lvgl_draw_buf{}
31+
, _lvgl_p_obj_group{nullptr}
32+
, _lvgl_kb_indev{nullptr}
33+
, _display_thd{}
2934
{
3035

3136
}
3237

33-
bool BraccioClass::begin(voidFuncPtr customMenu)
38+
bool BraccioClass::begin(voidFuncPtr custom_menu)
3439
{
3540
Wire.begin();
3641
Serial.begin(115200);
@@ -57,33 +62,33 @@ bool BraccioClass::begin(voidFuncPtr customMenu)
5762
SPI.begin();
5863

5964
i2c_mutex.lock();
60-
bl.begin();
61-
if (bl.getChipID() != 0xCE) {
65+
_bl.begin();
66+
if (_bl.getChipID() != 0xCE) {
6267
return false;
6368
}
64-
bl.setColor(red);
69+
_bl.setColor(red);
6570

66-
int ret = expander.testConnection();
71+
int ret = _expander.testConnection();
6772

6873
if (ret == false) {
6974
return ret;
7075
}
7176

7277
for (int i = 0; i < 14; i++) {
73-
expander.setPinDirection(i, 0);
78+
_expander.setPinDirection(i, 0);
7479
}
7580

7681
// Set SLEW to low
77-
expander.setPinDirection(21, 0); // P25 = 8 * 2 + 5
78-
expander.writePin(21, 0);
82+
_expander.setPinDirection(21, 0); // P25 = 8 * 2 + 5
83+
_expander.writePin(21, 0);
7984

8085
// Set TERM to HIGH (default)
81-
expander.setPinDirection(19, 0); // P23 = 8 * 2 + 3
82-
expander.writePin(19, 1);
86+
_expander.setPinDirection(19, 0); // P23 = 8 * 2 + 3
87+
_expander.writePin(19, 1);
8388

84-
expander.setPinDirection(18, 0); // P22 = 8 * 2 + 2
85-
expander.writePin(18, 0); // reset LCD
86-
expander.writePin(18, 1); // LCD out of reset
89+
_expander.setPinDirection(18, 0); // P22 = 8 * 2 + 2
90+
_expander.writePin(18, 0); // reset LCD
91+
_expander.writePin(18, 1); // LCD out of reset
8792

8893
/* Set all motor status LEDs to red. */
8994
for (int id = SmartServoClass::MIN_MOTOR_ID; id <= SmartServoClass::MAX_MOTOR_ID; id++) {
@@ -104,20 +109,20 @@ bool BraccioClass::begin(voidFuncPtr customMenu)
104109

105110
lv_init();
106111

107-
lv_disp_draw_buf_init(&disp_buf, buf, NULL, 240 * 240 / 10);
112+
lv_disp_draw_buf_init(&_lvgl_disp_buf, _lvgl_draw_buf, NULL, 240 * 240 / 10);
108113

109114
/*Initialize the display*/
110-
lv_disp_drv_init(&disp_drv);
111-
disp_drv.hor_res = 240;
112-
disp_drv.ver_res = 240;
113-
disp_drv.flush_cb = braccio_disp_flush;
114-
disp_drv.draw_buf = &disp_buf;
115-
lv_disp_drv_register(&disp_drv);
116-
117-
lv_indev_drv_init(&indev_drv);
118-
indev_drv.type = LV_INDEV_TYPE_KEYPAD;
119-
indev_drv.read_cb = read_keypad;
120-
kb_indev = lv_indev_drv_register(&indev_drv);
115+
lv_disp_drv_init(&_lvgl_disp_drv);
116+
_lvgl_disp_drv.hor_res = 240;
117+
_lvgl_disp_drv.ver_res = 240;
118+
_lvgl_disp_drv.flush_cb = braccio_disp_flush;
119+
_lvgl_disp_drv.draw_buf = &_lvgl_disp_buf;
120+
lv_disp_drv_register(&_lvgl_disp_drv);
121+
122+
lv_indev_drv_init(&_lvgl_indev_drv);
123+
_lvgl_indev_drv.type = LV_INDEV_TYPE_KEYPAD;
124+
_lvgl_indev_drv.read_cb = read_keypad;
125+
_lvgl_kb_indev = lv_indev_drv_register(&_lvgl_indev_drv);
121126

122127
lv_style_init(&_lv_style);
123128

@@ -126,8 +131,8 @@ bool BraccioClass::begin(voidFuncPtr customMenu)
126131
_gfx.fillScreen(TFT_WHITE);
127132
_gfx.setAddrWindow(0, 0, 240, 240);
128133

129-
p_objGroup = lv_group_create();
130-
lv_group_set_default(p_objGroup);
134+
_lvgl_p_obj_group = lv_group_create();
135+
lv_group_set_default(_lvgl_p_obj_group);
131136

132137
_display_thd.start(mbed::callback(this, &BraccioClass::display_thread_func));
133138

@@ -154,11 +159,10 @@ bool BraccioClass::begin(voidFuncPtr customMenu)
154159
check_power_func();
155160
lv_obj_clean(lv_scr_act());
156161

157-
if (customMenu) {
158-
customMenu();
159-
} else {
162+
if (custom_menu)
163+
custom_menu();
164+
else
160165
defaultMenu();
161-
}
162166

163167
servos.begin();
164168
servos.setTime(SmartServoClass::BROADCAST, SLOW);
@@ -228,9 +232,10 @@ void BraccioClass::positions(float & a1, float & a2, float & a3, float & a4, flo
228232
a6 = servos.getPosition(6);
229233
}
230234

231-
void BraccioClass::connectJoystickTo(lv_obj_t* obj) {
232-
lv_group_add_obj(p_objGroup, obj);
233-
lv_indev_set_group(kb_indev, p_objGroup);
235+
void BraccioClass::connectJoystickTo(lv_obj_t* obj)
236+
{
237+
lv_group_add_obj(_lvgl_p_obj_group, obj);
238+
lv_indev_set_group(_lvgl_kb_indev, _lvgl_p_obj_group);
234239
}
235240

236241
void BraccioClass::lvgl_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)

src/Braccio++.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class BraccioClass
3636
BraccioClass();
3737

3838
inline bool begin() { return begin(nullptr); }
39-
bool begin(voidFuncPtr customMenu);
39+
bool begin(voidFuncPtr custom_menu);
4040

4141

4242
void pingOn();
@@ -75,7 +75,7 @@ class BraccioClass
7575
void lvgl_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p);
7676

7777
protected:
78-
// ioexpander APIs
78+
// io_expander APIs
7979
void digitalWrite(int pin, uint8_t value);
8080

8181
// default display APIs
@@ -92,10 +92,7 @@ class BraccioClass
9292
RS485Class serial485;
9393
SmartServoClass servos;
9494
PD_UFP_log_c PD_UFP;
95-
TCA6424A expander;
96-
Backlight bl;
97-
rtos::Thread _display_thd;
98-
void display_thread_func();
95+
TCA6424A _expander;
9996

10097
bool _is_ping_allowed;
10198
bool _is_motor_connected[SmartServoClass::NUM_MOTORS];
@@ -105,7 +102,6 @@ class BraccioClass
105102
void setMotorConnectionStatus(int const id, bool const is_connected);
106103
void motorConnectedThreadFunc();
107104

108-
voidFuncPtr _customMenu;
109105

110106
const int BTN_LEFT = 3;
111107
const int BTN_RIGHT = 4;
@@ -114,14 +110,18 @@ class BraccioClass
114110
const int BTN_SEL = A0;
115111
const int BTN_ENTER = A1;
116112

113+
114+
Backlight _bl;
117115
TFT_eSPI _gfx;
118-
lv_disp_drv_t disp_drv;
119-
lv_indev_drv_t indev_drv;
120-
lv_disp_draw_buf_t disp_buf;
121-
lv_color_t buf[240 * 240 / 10];
122-
lv_group_t* p_objGroup;
123-
lv_indev_t *kb_indev;
116+
lv_disp_drv_t _lvgl_disp_drv;
117+
lv_indev_drv_t _lvgl_indev_drv;
118+
lv_disp_draw_buf_t _lvgl_disp_buf;
119+
lv_color_t _lvgl_draw_buf[240 * 240 / 10];
120+
lv_group_t * _lvgl_p_obj_group;
121+
lv_indev_t * _lvgl_kb_indev;
124122
lv_style_t _lv_style;
123+
rtos::Thread _display_thd;
124+
void display_thread_func();
125125

126126
#ifdef __MBED__
127127
rtos::EventFlags pd_events;
@@ -140,13 +140,13 @@ class BraccioClass
140140
}
141141

142142
void setGreen(int i) {
143-
expander.writePin(i * 2 - 1, 0);
144-
expander.writePin(i * 2 - 2, 1);
143+
_expander.writePin(i * 2 - 1, 0);
144+
_expander.writePin(i * 2 - 2, 1);
145145
}
146146

147147
void setRed(int i) {
148-
expander.writePin(i * 2 - 1, 1);
149-
expander.writePin(i * 2 - 2, 0);
148+
_expander.writePin(i * 2 - 1, 1);
149+
_expander.writePin(i * 2 - 2, 0);
150150
}
151151

152152
void pd_thread();

0 commit comments

Comments
 (0)