Skip to content

Commit bf1e68c

Browse files
committed
Update PBs
1 parent 564959b commit bf1e68c

File tree

25 files changed

+94
-45
lines changed

25 files changed

+94
-45
lines changed

src/components/display/controller.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ bool DisplayController::Handle_Display_AddOrReplace(
6969
return false;
7070
}
7171

72+
WS.feedWDT();
73+
display->showSplash();
74+
WS.feedWDT();
75+
display->drawStatusBar();
76+
WS.feedWDT();
77+
7278
_hw_instances.push_back(display); // Store the display instance
7379
WS_DEBUG_PRINTLN("[display] Display added or replaced successfully!");
7480
return true;

src/components/display/drivers/dispDrvBase.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ class dispDrvBase {
134134
virtual void showSplash() { // No-op for base class
135135
}
136136

137+
virtual void drawStatusBar() {
138+
// No-op for base class
139+
}
140+
137141
protected:
138142
int16_t _pin_dc; ///< Data/Command pin
139143
int16_t _pin_rst; ///< Reset pin

src/components/display/drivers/dispDrvThinkInkGrayscale4Eaamfgn.h

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,45 @@ class drvDispThinkInkGrayscale4Eaamfgn : public dispDrvBase {
7676
return true;
7777
}
7878

79+
/*!
80+
@brief Displays a splash screen
81+
*/
7982
virtual void showSplash() override {
80-
if (_display == nullptr)
83+
if (! _display)
8184
return;
82-
83-
// Show splash screen
8485
_display->drawBitmap(0, 0, epd_bitmap_ws_logo_296128, 296, 128, EPD_BLACK);
8586
_display->display();
86-
delay(1000);
87+
delay(50);
88+
}
89+
90+
/*!
91+
@brief Draws a status bar at the top of the display.
92+
*/
93+
virtual void drawStatusBar() override {
94+
if (!_display)
95+
return;
8796
_display->clearBuffer();
8897
_display->fillScreen(EPD_WHITE);
98+
99+
int barHeight = 15;
100+
int borderWidth = 1;
101+
// Black rect outline
102+
_display->fillRect(0, 0, _width, barHeight, EPD_BLACK);
103+
// White rect inside for icons/text
104+
_display->fillRect(borderWidth, borderWidth,
105+
_width - (2 * borderWidth),
106+
barHeight - (2 * borderWidth),
107+
EPD_WHITE);
108+
109+
// Vertically center text in the bar
110+
_display->setTextSize(1); // Text size 1 = 8 pixels tall
111+
int textHeight = 8;
112+
int usableHeight = barHeight - (2 * borderWidth); // 13px usable
113+
int textY = borderWidth + (usableHeight - textHeight) / 2; // = 1 + (13-8)/2 = 3
114+
// Draw status text
115+
_display->setTextColor(EPD_BLACK);
116+
_display->setCursor(5, textY);
117+
_display->print("[IO] OK|[WiFi] OK|[Bat] 100%");
89118
_display->display();
90119
}
91120

src/components/display/hardware.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,13 +256,21 @@ bool DisplayHardware::beginEPD(
256256
return false;
257257
}
258258

259-
WS.feedWDT();
260-
_drvDisp->showSplash();
261-
WS.feedWDT();
262259
WS_DEBUG_PRINTLN("[display] Successfully initialized epd display!");
263260
return true;
264261
}
265262

263+
void DisplayHardware::showSplash() {
264+
if (!_drvDisp)
265+
return;
266+
_drvDisp->showSplash();
267+
}
268+
269+
void DisplayHardware::drawStatusBar() {
270+
_drvDisp->drawStatusBar();
271+
}
272+
273+
266274
/*!
267275
@brief Removes a suffix from the hardware instance name, if it exists.
268276
@param suffix

src/components/display/hardware.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ class DisplayHardware {
4444
bool beginTft(wippersnapper_display_v1_TftConfig *config,
4545
wippersnapper_display_v1_TftSpiConfig *spi_config);
4646

47+
48+
void showSplash();
49+
void drawStatusBar();
4750
//
4851
// API for Adafruit_GFX that abstracts hardware functionality
4952
// NOTE: These methods are meant to be implemented within dispDrvBase and

src/wippersnapper/description/v1/description.pb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated nanopb constant definitions */
2-
/* Generated by nanopb-0.4.5-dev at Mon Aug 25 15:39:12 2025. */
2+
/* Generated by nanopb-0.4.5-dev at Wed Sep 10 13:28:33 2025. */
33

44
#include "wippersnapper/description/v1/description.pb.h"
55
#if PB_PROTO_HEADER_VERSION != 40

src/wippersnapper/description/v1/description.pb.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated nanopb header */
2-
/* Generated by nanopb-0.4.5-dev at Mon Aug 25 15:39:12 2025. */
2+
/* Generated by nanopb-0.4.5-dev at Wed Sep 10 13:28:33 2025. */
33

44
#ifndef PB_WIPPERSNAPPER_DESCRIPTION_V1_WIPPERSNAPPER_DESCRIPTION_V1_DESCRIPTION_PB_H_INCLUDED
55
#define PB_WIPPERSNAPPER_DESCRIPTION_V1_WIPPERSNAPPER_DESCRIPTION_V1_DESCRIPTION_PB_H_INCLUDED

src/wippersnapper/display/v1/display.pb.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated nanopb constant definitions */
2-
/* Generated by nanopb-0.4.5-dev at Mon Aug 25 15:39:12 2025. */
2+
/* Generated by nanopb-0.4.5-dev at Wed Sep 10 13:28:33 2025. */
33

44
#include "wippersnapper/display/v1/display.pb.h"
55
#if PB_PROTO_HEADER_VERSION != 40
@@ -30,7 +30,7 @@ PB_BIND(wippersnapper_display_v1_DisplayRemove, wippersnapper_display_v1_Display
3030
PB_BIND(wippersnapper_display_v1_DisplayWrite, wippersnapper_display_v1_DisplayWrite, 2)
3131

3232

33-
PB_BIND(wippersnapper_display_v1_DisplayAddedorReplaced, wippersnapper_display_v1_DisplayAddedorReplaced, AUTO)
33+
PB_BIND(wippersnapper_display_v1_DisplayAddedOrReplaced, wippersnapper_display_v1_DisplayAddedOrReplaced, AUTO)
3434

3535

3636
PB_BIND(wippersnapper_display_v1_DisplayRemoved, wippersnapper_display_v1_DisplayRemoved, AUTO)

src/wippersnapper/display/v1/display.pb.h

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
/* Automatically generated nanopb header */
2-
/* Generated by nanopb-0.4.5-dev at Mon Aug 25 15:39:12 2025. */
2+
/* Generated by nanopb-0.4.5-dev at Wed Sep 10 13:28:33 2025. */
33

44
#ifndef PB_WIPPERSNAPPER_DISPLAY_V1_WIPPERSNAPPER_DISPLAY_V1_DISPLAY_PB_H_INCLUDED
55
#define PB_WIPPERSNAPPER_DISPLAY_V1_WIPPERSNAPPER_DISPLAY_V1_DISPLAY_PB_H_INCLUDED
66
#include <pb.h>
77
#include "nanopb/nanopb.pb.h"
8-
#include "wippersnapper/i2c/v1/i2c.pb.h"
98

109
#if PB_PROTO_HEADER_VERSION != 40
1110
#error Regenerate this file with the current version of nanopb generator.
@@ -26,10 +25,10 @@ typedef enum _wippersnapper_display_v1_EPDMode {
2625
} wippersnapper_display_v1_EPDMode;
2726

2827
/* Struct definitions */
29-
typedef struct _wippersnapper_display_v1_DisplayAddedorReplaced {
28+
typedef struct _wippersnapper_display_v1_DisplayAddedOrReplaced {
3029
char name[64];
3130
bool did_add;
32-
} wippersnapper_display_v1_DisplayAddedorReplaced;
31+
} wippersnapper_display_v1_DisplayAddedOrReplaced;
3332

3433
typedef struct _wippersnapper_display_v1_DisplayRemove {
3534
char name[64];
@@ -121,7 +120,7 @@ extern "C" {
121120
#define wippersnapper_display_v1_DisplayAddOrReplace_init_default {_wippersnapper_display_v1_DisplayType_MIN, "", 0, {wippersnapper_display_v1_EpdSpiConfig_init_default}, 0, {wippersnapper_display_v1_EPDConfig_init_default}}
122121
#define wippersnapper_display_v1_DisplayRemove_init_default {""}
123122
#define wippersnapper_display_v1_DisplayWrite_init_default {"", "", 0, {wippersnapper_display_v1_EPDWriteOptions_init_default}}
124-
#define wippersnapper_display_v1_DisplayAddedorReplaced_init_default {"", 0}
123+
#define wippersnapper_display_v1_DisplayAddedOrReplaced_init_default {"", 0}
125124
#define wippersnapper_display_v1_DisplayRemoved_init_default {"", 0}
126125
#define wippersnapper_display_v1_EpdSpiConfig_init_zero {0, "", "", "", "", ""}
127126
#define wippersnapper_display_v1_EPDConfig_init_zero {_wippersnapper_display_v1_EPDMode_MIN}
@@ -131,12 +130,12 @@ extern "C" {
131130
#define wippersnapper_display_v1_DisplayAddOrReplace_init_zero {_wippersnapper_display_v1_DisplayType_MIN, "", 0, {wippersnapper_display_v1_EpdSpiConfig_init_zero}, 0, {wippersnapper_display_v1_EPDConfig_init_zero}}
132131
#define wippersnapper_display_v1_DisplayRemove_init_zero {""}
133132
#define wippersnapper_display_v1_DisplayWrite_init_zero {"", "", 0, {wippersnapper_display_v1_EPDWriteOptions_init_zero}}
134-
#define wippersnapper_display_v1_DisplayAddedorReplaced_init_zero {"", 0}
133+
#define wippersnapper_display_v1_DisplayAddedOrReplaced_init_zero {"", 0}
135134
#define wippersnapper_display_v1_DisplayRemoved_init_zero {"", 0}
136135

137136
/* Field tags (for use in manual encoding/decoding) */
138-
#define wippersnapper_display_v1_DisplayAddedorReplaced_name_tag 1
139-
#define wippersnapper_display_v1_DisplayAddedorReplaced_did_add_tag 2
137+
#define wippersnapper_display_v1_DisplayAddedOrReplaced_name_tag 1
138+
#define wippersnapper_display_v1_DisplayAddedOrReplaced_did_add_tag 2
140139
#define wippersnapper_display_v1_DisplayRemove_name_tag 1
141140
#define wippersnapper_display_v1_DisplayRemoved_name_tag 1
142141
#define wippersnapper_display_v1_DisplayRemoved_did_remove_tag 2
@@ -234,11 +233,11 @@ X(a, STATIC, ONEOF, MESSAGE, (options,epd_options,options.epd_options),
234233
#define wippersnapper_display_v1_DisplayWrite_DEFAULT NULL
235234
#define wippersnapper_display_v1_DisplayWrite_options_epd_options_MSGTYPE wippersnapper_display_v1_EPDWriteOptions
236235

237-
#define wippersnapper_display_v1_DisplayAddedorReplaced_FIELDLIST(X, a) \
236+
#define wippersnapper_display_v1_DisplayAddedOrReplaced_FIELDLIST(X, a) \
238237
X(a, STATIC, SINGULAR, STRING, name, 1) \
239238
X(a, STATIC, SINGULAR, BOOL, did_add, 2)
240-
#define wippersnapper_display_v1_DisplayAddedorReplaced_CALLBACK NULL
241-
#define wippersnapper_display_v1_DisplayAddedorReplaced_DEFAULT NULL
239+
#define wippersnapper_display_v1_DisplayAddedOrReplaced_CALLBACK NULL
240+
#define wippersnapper_display_v1_DisplayAddedOrReplaced_DEFAULT NULL
242241

243242
#define wippersnapper_display_v1_DisplayRemoved_FIELDLIST(X, a) \
244243
X(a, STATIC, SINGULAR, STRING, name, 1) \
@@ -254,7 +253,7 @@ extern const pb_msgdesc_t wippersnapper_display_v1_TftConfig_msg;
254253
extern const pb_msgdesc_t wippersnapper_display_v1_DisplayAddOrReplace_msg;
255254
extern const pb_msgdesc_t wippersnapper_display_v1_DisplayRemove_msg;
256255
extern const pb_msgdesc_t wippersnapper_display_v1_DisplayWrite_msg;
257-
extern const pb_msgdesc_t wippersnapper_display_v1_DisplayAddedorReplaced_msg;
256+
extern const pb_msgdesc_t wippersnapper_display_v1_DisplayAddedOrReplaced_msg;
258257
extern const pb_msgdesc_t wippersnapper_display_v1_DisplayRemoved_msg;
259258

260259
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
@@ -266,7 +265,7 @@ extern const pb_msgdesc_t wippersnapper_display_v1_DisplayRemoved_msg;
266265
#define wippersnapper_display_v1_DisplayAddOrReplace_fields &wippersnapper_display_v1_DisplayAddOrReplace_msg
267266
#define wippersnapper_display_v1_DisplayRemove_fields &wippersnapper_display_v1_DisplayRemove_msg
268267
#define wippersnapper_display_v1_DisplayWrite_fields &wippersnapper_display_v1_DisplayWrite_msg
269-
#define wippersnapper_display_v1_DisplayAddedorReplaced_fields &wippersnapper_display_v1_DisplayAddedorReplaced_msg
268+
#define wippersnapper_display_v1_DisplayAddedOrReplaced_fields &wippersnapper_display_v1_DisplayAddedOrReplaced_msg
270269
#define wippersnapper_display_v1_DisplayRemoved_fields &wippersnapper_display_v1_DisplayRemoved_msg
271270

272271
/* Maximum encoded size of messages (where known) */
@@ -278,7 +277,7 @@ extern const pb_msgdesc_t wippersnapper_display_v1_DisplayRemoved_msg;
278277
#define wippersnapper_display_v1_DisplayAddOrReplace_size 157
279278
#define wippersnapper_display_v1_DisplayRemove_size 65
280279
#define wippersnapper_display_v1_DisplayWrite_size 1104
281-
#define wippersnapper_display_v1_DisplayAddedorReplaced_size 67
280+
#define wippersnapper_display_v1_DisplayAddedOrReplaced_size 67
282281
#define wippersnapper_display_v1_DisplayRemoved_size 67
283282

284283
#ifdef __cplusplus

src/wippersnapper/ds18x20/v1/ds18x20.pb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated nanopb constant definitions */
2-
/* Generated by nanopb-0.4.5-dev at Mon Aug 25 15:39:12 2025. */
2+
/* Generated by nanopb-0.4.5-dev at Wed Sep 10 13:28:33 2025. */
33

44
#include "wippersnapper/ds18x20/v1/ds18x20.pb.h"
55
#if PB_PROTO_HEADER_VERSION != 40

0 commit comments

Comments
 (0)