Skip to content

Commit df037ef

Browse files
committed
Gif splashscreen
1 parent bc36013 commit df037ef

File tree

4 files changed

+1354
-1123
lines changed

4 files changed

+1354
-1123
lines changed

src/Braccio++.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ class BraccioClass {
158158

159159
// default display APIs
160160
void drawMenu();
161+
void splashScreen(int duration = 700);
161162
void hideMenu();
162163
void drawImage(char* image);
163164
void defaultMenu();

src/Braccio.cpp

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -105,24 +105,30 @@ bool BraccioClass::begin(voidFuncPtr customMenu) {
105105
gfx.setAddrWindow(0, 0, 240, 240);
106106
gfx.setFreeFont(&FreeSans18pt7b);
107107

108+
/*
108109
gfx.drawBitmap(44, 60, ArduinoLogo, 152, 72, 0x04B3);
109110
gfx.drawBitmap(48, 145, ArduinoText, 144, 23, 0x04B3);
111+
*/
110112

111-
delay(2000);
113+
//delay(2000);
112114

113115
p_objGroup = lv_group_create();
114116
lv_group_set_default(p_objGroup);
115117

118+
splashScreen();
119+
116120
if (customMenu) {
117121
customMenu();
118122
} else {
119123
defaultMenu();
120124
}
121125

122-
gfx.fillScreen(TFT_BLACK);
123-
gfx.println("\n\nPlease\nconnect\npower");
126+
if (!PD_UFP.is_PPS_ready()) {
127+
gfx.fillScreen(TFT_BLACK);
128+
gfx.println("\n\nPlease\nconnect\npower");
129+
}
124130

125-
PD_UFP.print_status(Serial);
131+
//PD_UFP.print_status(Serial);
126132
while (!PD_UFP.is_PPS_ready()) {
127133
i2c_mutex.lock();
128134
PD_UFP.print_status(Serial);
@@ -197,18 +203,24 @@ void BraccioClass::display_thread() {
197203

198204
#include <extra/libs/gif/lv_gif.h>
199205

200-
void BraccioClass::defaultMenu() {
201-
202-
lv_obj_t* welcomemessage = lv_label_create(lv_scr_act());
203-
lv_label_set_long_mode(welcomemessage, LV_LABEL_LONG_SCROLL_CIRCULAR);
204-
lv_obj_set_width(welcomemessage, lv_disp_get_hor_res( NULL ) / 2);
205-
lv_label_set_text(welcomemessage, "ARDUINO BRACCIO ++ ");
206-
lv_obj_align(welcomemessage, LV_ALIGN_CENTER, 50, 0);
207-
206+
void BraccioClass::splashScreen(int duration) {
208207
LV_IMG_DECLARE(img_bulb_gif);
209208
lv_obj_t* img = lv_gif_create(lv_scr_act());
210209
lv_gif_set_src(img, &img_bulb_gif);
211-
lv_obj_align(img, LV_ALIGN_LEFT_MID, 20, 0);
210+
lv_obj_align(img, LV_ALIGN_CENTER, 0, 0);
211+
212+
for (long start = millis(); millis() - start < duration;) {
213+
lv_task_handler();
214+
lv_tick_inc(LV_DISP_DEF_REFR_PERIOD);
215+
delay(10);
216+
}
217+
lv_obj_del(img);
218+
}
219+
220+
void BraccioClass::defaultMenu() {
221+
222+
// TODO: create a meaningful default menu
223+
212224
}
213225

214226
void BraccioClass::motors_connected_thread() {

0 commit comments

Comments
 (0)