Skip to content

Commit dff0e8c

Browse files
authored
[P073] Bugfix: Display stays blank after upgrade without settings-save (#5475)
* [P073] Bugfix: Display stays blank after upgrade without settings-save * [P073] Revert to regular GPIO for TM1637 on ESP8266 * [P073] Minor code reduction (eliminate unneeded variables)
1 parent 65abd14 commit dff0e8c

File tree

3 files changed

+150
-84
lines changed

3 files changed

+150
-84
lines changed

src/_P073_7DGT.ino

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
//
4343

4444
/** History
45+
* 2026-01-17 tonhuisman: Revert to using 'regular' Arduino GPIO functions for TM1637 displays on ESP8266
46+
* 2026-01-12 tonhuisman: Fix initialization of number of digits when upgrading to 20260108 build,
47+
* formatted source with new Uncrustify config
4548
* 2024-09-28 tonhuisman: Switch to using DIRECT_PIN_IO, to get better timing-accuracy for TM1637 displays
4649
* 2024-09-27 tonhuisman: Add option to flash dot on second digit instead of the colon for blinking time
4750
* 2024-08-24 tonhuisman: Add compiletime define P073_USE_74HC595_OVERRIDE that, when, set to 1, allows 74HC595 displays to be included
@@ -96,12 +99,13 @@
9699

97100
# include "src/PluginStructs/P073_data_struct.h"
98101

99-
100102
boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string) {
101103
boolean success = false;
102104

103-
switch (function) {
104-
case PLUGIN_DEVICE_ADD: {
105+
switch (function)
106+
{
107+
case PLUGIN_DEVICE_ADD:
108+
{
105109
auto& dev = Device[++deviceCount];
106110
dev.Number = PLUGIN_ID_073;
107111
dev.Type = DEVICE_TYPE_TRIPLE;
@@ -113,13 +117,15 @@ boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string)
113117
break;
114118
}
115119

116-
case PLUGIN_GET_DEVICENAME: {
120+
case PLUGIN_GET_DEVICENAME:
121+
{
117122
string = F(PLUGIN_NAME_073);
118123
break;
119124
}
120125

121126
# if P073_SCROLL_TEXT || P073_USE_74HC595
122-
case PLUGIN_SET_DEFAULTS: {
127+
case PLUGIN_SET_DEFAULTS:
128+
{
123129
# if P073_SCROLL_TEXT
124130
P073_CFG_SCROLLSPEED = 10; // Default 10 * 0.1 sec scroll speed
125131
# endif // if P073_SCROLL_TEXT
@@ -134,7 +140,8 @@ boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string)
134140
}
135141
# endif // if P073_SCROLL_TEXT || P073_USE_74HC595
136142

137-
case PLUGIN_WEBFORM_LOAD: {
143+
case PLUGIN_WEBFORM_LOAD:
144+
{
138145
addFormNote(F("TM1637: 1st=CLK-Pin, 2nd=DIO-Pin"));
139146
addFormNote(F("MAX7219: 1st=DIN-Pin, 2nd=CLK-Pin, 3rd=CS-Pin"));
140147
# if P073_USE_74HC595
@@ -151,7 +158,7 @@ boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string)
151158
};
152159
constexpr size_t optionCount = NR_ELEMENTS(displtype);
153160
const FormSelectorOptions selector(optionCount, displtype);
154-
selector.addFormSelector(F("Display Type"), F("displtype"), PCONFIG(0));
161+
selector.addFormSelector(F("Display Type"), F("displtype"), P073_CFG_DISPLAYTYPE);
155162
}
156163
# if P073_USE_74HC595
157164

@@ -258,7 +265,8 @@ boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string)
258265
break;
259266
}
260267

261-
case PLUGIN_WEBFORM_SAVE: {
268+
case PLUGIN_WEBFORM_SAVE:
269+
{
262270
P073_CFG_DISPLAYTYPE = getFormItemInt(F("displtype"));
263271
P073_CFG_OUTPUTTYPE = getFormItemInt(F("displout"));
264272
P073_CFG_BRIGHTNESS = getFormItemInt(F("brightness"));
@@ -292,12 +300,14 @@ boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string)
292300
break;
293301
}
294302

295-
case PLUGIN_EXIT: {
303+
case PLUGIN_EXIT:
304+
{
296305
success = true;
297306
break;
298307
}
299308

300-
case PLUGIN_INIT: {
309+
case PLUGIN_INIT:
310+
{
301311
initPluginTaskData(event->TaskIndex, new (std::nothrow) P073_data_struct());
302312
P073_data_struct *P073_data =
303313
static_cast<P073_data_struct *>(getPluginTaskData(event->TaskIndex));
@@ -317,7 +327,8 @@ boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string)
317327
break;
318328
}
319329

320-
case PLUGIN_WRITE: {
330+
case PLUGIN_WRITE:
331+
{
321332
P073_data_struct *P073_data =
322333
static_cast<P073_data_struct *>(getPluginTaskData(event->TaskIndex));
323334

@@ -327,7 +338,8 @@ boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string)
327338
break;
328339
}
329340

330-
case PLUGIN_ONCE_A_SECOND: {
341+
case PLUGIN_ONCE_A_SECOND:
342+
{
331343
P073_data_struct *P073_data =
332344
static_cast<P073_data_struct *>(getPluginTaskData(event->TaskIndex));
333345

@@ -339,7 +351,8 @@ boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string)
339351
}
340352

341353
# if P073_SCROLL_TEXT
342-
case PLUGIN_TEN_PER_SECOND: {
354+
case PLUGIN_TEN_PER_SECOND:
355+
{
343356
P073_data_struct *P073_data =
344357
static_cast<P073_data_struct *>(getPluginTaskData(event->TaskIndex));
345358

@@ -353,7 +366,8 @@ boolean Plugin_073(uint8_t function, struct EventStruct *event, String& string)
353366

354367
# if P073_USE_74HC595
355368

356-
case PLUGIN_TASKTIMER_IN: {
369+
case PLUGIN_TASKTIMER_IN:
370+
{
357371
P073_data_struct *P073_data =
358372
static_cast<P073_data_struct *>(getPluginTaskData(event->TaskIndex));
359373

0 commit comments

Comments
 (0)