Skip to content

Commit 5f214eb

Browse files
authored
Merge pull request #185 from dbambus/main
Release 2.6.3
2 parents 0093bee + ea6db14 commit 5f214eb

24 files changed

+1573
-1461
lines changed

include/Animation.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#pragma once
22

3+
#include "font.h"
34
#include "icons.h"
45
#include <queue>
56

include/Animation.hpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ void Animation::analyzeColors(RgbfColor **dest, RgbfColor **source,
242242
for (int r = 0; r < max_rows; r++) {
243243
for (int c = 0; c < max_cols; c++) {
244244
if (source == STRIPE) {
245-
color = led_get_pixel(
245+
color = led.getPixel(
246246
usedUhrType->getFrontMatrix(r + row_start, c + col_start));
247247
} else {
248248
color = source[r][c];
@@ -293,21 +293,21 @@ void Animation::analyzeColors(RgbfColor **dest, RgbfColor **source,
293293
void Animation::set_minutes() {
294294
if (G.zeige_min > 0) {
295295
uint8_t m = lastMinute % 5;
296-
led_set_pixel_Color_Object(usedUhrType->getMinArr(G.zeige_min - 1, 0),
297-
m > 0 ? foregroundMinute : background);
298-
led_set_pixel_Color_Object(usedUhrType->getMinArr(G.zeige_min - 1, 1),
299-
m > 1 ? foregroundMinute : background);
300-
led_set_pixel_Color_Object(usedUhrType->getMinArr(G.zeige_min - 1, 2),
301-
m > 2 ? foregroundMinute : background);
302-
led_set_pixel_Color_Object(usedUhrType->getMinArr(G.zeige_min - 1, 3),
303-
m > 3 ? foregroundMinute : background);
296+
led.setPixelColorObject(usedUhrType->getMinArr(G.zeige_min - 1, 0),
297+
m > 0 ? foregroundMinute : background);
298+
led.setPixelColorObject(usedUhrType->getMinArr(G.zeige_min - 1, 1),
299+
m > 1 ? foregroundMinute : background);
300+
led.setPixelColorObject(usedUhrType->getMinArr(G.zeige_min - 1, 2),
301+
m > 2 ? foregroundMinute : background);
302+
led.setPixelColorObject(usedUhrType->getMinArr(G.zeige_min - 1, 3),
303+
m > 3 ? foregroundMinute : background);
304304
}
305305
}
306306
// Ueberschreibe die LEDs mit interner Matrix
307307
void Animation::copy2Stripe(RgbfColor **source) {
308308
for (uint8_t row = 0; row < max_rows; row++) {
309309
for (uint8_t col = 0; col < max_cols; col++) {
310-
led_set_pixel_Color_Object(
310+
led.setPixelColorObject(
311311
usedUhrType->getFrontMatrix(row + row_start, col + col_start),
312312
source[row][col]);
313313
}
@@ -404,7 +404,7 @@ void Animation::loop(struct tm &tm) {
404404
copyMatrix(work, act);
405405
colorize(work);
406406
copy2Stripe(work);
407-
led_show();
407+
led.show();
408408
}
409409
} else {
410410
if ((animType != lastAnimType) ||
@@ -466,7 +466,7 @@ void Animation::loop(struct tm &tm) {
466466
}
467467
animColorChange();
468468
copy2Stripe(work);
469-
led_show();
469+
led.show();
470470
}
471471
}
472472
}

include/EEPROMAnything.h

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,14 @@ void eeprom_read() {
6262
Serial.printf("LDR : %u\n", G.ldr);
6363
Serial.printf("LDRCal : %u\n", G.ldrCal);
6464
Serial.printf("Uhrtype : %u\n", G.UhrtypeDef);
65-
Serial.printf("MQTT_State : %u\n", G.MQTT_State);
66-
Serial.printf("MQTT_Server : %s\n", G.MQTT_Server);
67-
Serial.printf("MQTT_User : %s\n", G.MQTT_User);
68-
Serial.printf("MQTT_Pass : %s\n", G.MQTT_Pass);
69-
Serial.printf("MQTT_ClientId : %s\n", G.MQTT_ClientId);
70-
Serial.printf("MQTT_Topic : %s\n", G.MQTT_Topic);
71-
Serial.printf("MQTT_Port : %u\n", G.MQTT_Port);
65+
66+
Serial.printf("MQTT_State : %u\n", G.mqtt.state);
67+
Serial.printf("MQTT_Server : %s\n", G.mqtt.serverAdress);
68+
Serial.printf("MQTT_User : %s\n", G.mqtt.user);
69+
Serial.printf("MQTT_Pass : %s\n", G.mqtt.password);
70+
Serial.printf("MQTT_ClientId : %s\n", G.mqtt.clientId);
71+
Serial.printf("MQTT_Topic : %s\n", G.mqtt.topic);
72+
Serial.printf("MQTT_Port : %u\n", G.mqtt.port);
7273

7374
Serial.printf("autoLdrEnabled : %u\n", G.autoLdrEnabled);
7475
Serial.printf("autoLdrBright : %u\n", G.autoLdrBright);
@@ -85,9 +86,9 @@ void eeprom_read() {
8586
Serial.printf("bootShowIP : %u\n", G.bootShowIP);
8687
Serial.printf("Colortype : %u\n", G.Colortype);
8788
Serial.print("OWM_apikey: ");
88-
Serial.println(G.apikey);
89+
Serial.println(G.openWeatherMap.apikey);
8990
Serial.print("OWM_city : ");
90-
Serial.println(G.cityid);
91+
Serial.println(G.openWeatherMap.cityid);
9192

9293
delay(100);
9394
}

include/Network.h

Lines changed: 0 additions & 15 deletions
This file was deleted.

include/Uhr.h

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,21 @@ enum uhrzeit_t {
3333
H_ZWOELF = 21
3434
};
3535

36+
struct MqttData {
37+
uint8_t state;
38+
char serverAdress[PAYLOAD_LENGTH];
39+
char user[PAYLOAD_LENGTH];
40+
char password[PAYLOAD_LENGTH];
41+
char clientId[PAYLOAD_LENGTH];
42+
char topic[PAYLOAD_LENGTH];
43+
uint16_t port;
44+
};
45+
46+
struct OpenWeatherMapData {
47+
char apikey[35];
48+
char cityid[8];
49+
};
50+
3651
struct GLOBAL {
3752
uint8_t sernr;
3853
uint16_t prog;
@@ -47,8 +62,6 @@ struct GLOBAL {
4762
uint8_t hell;
4863
uint16_t ldr;
4964
uint16_t ldrCal;
50-
char apikey[35];
51-
char cityid[8];
5265
int geschw;
5366
uint8_t client_nr;
5467
uint8_t zeige_sek;
@@ -69,13 +82,10 @@ struct GLOBAL {
6982

7083
uint8_t UhrtypeDef;
7184
uint8_t Colortype;
72-
uint8_t MQTT_State;
73-
char MQTT_Server[PAYLOAD_LENGTH];
74-
char MQTT_User[PAYLOAD_LENGTH];
75-
char MQTT_Pass[PAYLOAD_LENGTH];
76-
char MQTT_ClientId[PAYLOAD_LENGTH];
77-
char MQTT_Topic[PAYLOAD_LENGTH];
78-
uint16_t MQTT_Port;
85+
86+
MqttData mqtt;
87+
88+
OpenWeatherMapData openWeatherMap;
7989

8090
uint8_t autoLdrEnabled;
8191
uint8_t autoLdrBright;
@@ -172,9 +182,9 @@ enum Command {
172182

173183
COMMAND_MODE_WORD_CLOCK = 1,
174184
COMMAND_MODE_SECONDS = 2,
175-
COMMAND_MODE_MARQUEE = 3,
176-
COMMAND_MODE_RAINBOW = 4,
177-
COMMAND_MODE_CHANGE = 5,
185+
COMMAND_MODE_SCROLLINGTEXT = 3,
186+
COMMAND_MODE_RAINBOWCYCLE = 4,
187+
COMMAND_MODE_RAINBOW = 5,
178188
COMMAND_MODE_COLOR = 6,
179189

180190
COMMAND_MODE_ANIMATION = 10,
@@ -200,7 +210,6 @@ enum Command {
200210
COMMAND_SET_BOOT = 101,
201211
COMMAND_SET_AUTO_LDR = 102,
202212

203-
COMMAND_BRIGHTNESS = 151,
204213
COMMAND_SPEED = 152,
205214

206215
COMMAND_REQUEST_CONFIG_VALUES = 200,

include/WebPage_Adapter.h

Lines changed: 23 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#pragma once
22

3-
#include "Network.h"
43
#include "Uhr.h"
54
#include "WebPageContent.h"
65
#include "WebSocketsServer.h"
@@ -204,10 +203,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
204203

205204
case COMMAND_MODE_SECONDS: { // Sekunden
206205
G.prog = COMMAND_MODE_SECONDS;
207-
G.param1 = split(payload, 33);
208-
if (G.param1 == 0) {
209-
G.prog_init = 1;
210-
}
206+
G.prog_init = 1;
211207

212208
G.rgb[Effect][0] = split(payload, 3);
213209
G.rgb[Effect][1] = split(payload, 6);
@@ -220,12 +216,9 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
220216

221217
//------------------------------------------------------------------------------
222218

223-
case COMMAND_MODE_MARQUEE: { // Laufschrift
224-
G.prog = COMMAND_MODE_MARQUEE;
225-
G.param1 = split(payload, 33);
226-
if (G.param1 == 0) {
227-
G.prog_init = 1;
228-
}
219+
case COMMAND_MODE_SCROLLINGTEXT: {
220+
G.prog = COMMAND_MODE_SCROLLINGTEXT;
221+
G.prog_init = 1;
229222

230223
G.rgb[Effect][0] = split(payload, 3);
231224
G.rgb[Effect][1] = split(payload, 6);
@@ -238,8 +231,8 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
238231

239232
//------------------------------------------------------------------------------
240233

241-
case COMMAND_MODE_RAINBOW: { // Regenbogen
242-
G.prog = COMMAND_MODE_RAINBOW;
234+
case COMMAND_MODE_RAINBOWCYCLE: {
235+
G.prog = COMMAND_MODE_RAINBOWCYCLE;
243236
G.prog_init = 1;
244237

245238
G.hell = split(payload, 27);
@@ -249,8 +242,8 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
249242

250243
//------------------------------------------------------------------------------
251244

252-
case COMMAND_MODE_CHANGE: { // Farbwechsel
253-
G.prog = COMMAND_MODE_CHANGE;
245+
case COMMAND_MODE_RAINBOW: {
246+
G.prog = COMMAND_MODE_RAINBOW;
254247
G.prog_init = 1;
255248

256249
G.hell = split(payload, 27);
@@ -289,15 +282,8 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
289282

290283
//------------------------------------------------------------------------------
291284

292-
case COMMAND_BRIGHTNESS: { // Helligkeit
293-
G.hell = split(payload, 27);
294-
break;
295-
}
296-
297-
//------------------------------------------------------------------------------
298-
299285
case COMMAND_SPEED: { // Geschwindigkeit
300-
G.geschw = split(payload, 30);
286+
G.geschw = split(payload, 3);
301287
break;
302288
}
303289

@@ -394,18 +380,18 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
394380

395381
case COMMAND_SET_MQTT: { // MQTT Daten speichern
396382
G.conf = COMMAND_SET_MQTT;
397-
G.MQTT_State = split(payload, 3);
398-
G.MQTT_Port = split(payload, 6, 5);
383+
G.mqtt.state = split(payload, 3);
384+
G.mqtt.port = split(payload, 6, 5);
399385
uint8_t index_start = 11;
400-
payloadTextHandling(payload, G.MQTT_Server, index_start);
386+
payloadTextHandling(payload, G.mqtt.serverAdress, index_start);
401387
index_start += PAYLOAD_LENGTH;
402-
payloadTextHandling(payload, G.MQTT_User, index_start);
388+
payloadTextHandling(payload, G.mqtt.user, index_start);
403389
index_start += PAYLOAD_LENGTH;
404-
payloadTextHandling(payload, G.MQTT_Pass, index_start);
390+
payloadTextHandling(payload, G.mqtt.password, index_start);
405391
index_start += PAYLOAD_LENGTH;
406-
payloadTextHandling(payload, G.MQTT_ClientId, index_start);
392+
payloadTextHandling(payload, G.mqtt.clientId, index_start);
407393
index_start += PAYLOAD_LENGTH;
408-
payloadTextHandling(payload, G.MQTT_Topic, index_start);
394+
payloadTextHandling(payload, G.mqtt.topic, index_start);
409395
break;
410396
}
411397

@@ -451,25 +437,25 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
451437
ii = 0;
452438
for (uint8_t k = 3; k < 10; k++) {
453439
if (payload[k] != ' ') {
454-
G.cityid[ii] = payload[k];
440+
G.openWeatherMap.cityid[ii] = payload[k];
455441
ii++;
456442
}
457443
}
458-
G.cityid[ii] = '\0';
444+
G.openWeatherMap.cityid[ii] = '\0';
459445
//
460446
jj = 0;
461447
for (uint8_t l = 11; l < 43; l++) {
462448
if (payload[l] != ' ') {
463-
G.apikey[jj] = payload[l];
449+
G.openWeatherMap.apikey[jj] = payload[l];
464450
jj++;
465451
}
466452
}
467-
G.apikey[jj] = '\0';
453+
G.openWeatherMap.apikey[jj] = '\0';
468454
Serial.println("write EEPROM!");
469455
Serial.print("CityID : ");
470-
Serial.println(G.cityid);
456+
Serial.println(G.openWeatherMap.cityid);
471457
Serial.print("APIkey : ");
472-
Serial.println(G.apikey);
458+
Serial.println(G.openWeatherMap.apikey);
473459
break;
474460
}
475461

@@ -485,6 +471,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
485471
G.h20 = split(payload, 18);
486472
G.h22 = split(payload, 21);
487473
G.h24 = split(payload, 24);
474+
G.hell = split(payload, 27);
488475
break;
489476
}
490477

include/clockWork.h

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#pragma once
2+
3+
#include <NeoPixelBus.h>
4+
5+
class ClockWork {
6+
private:
7+
void loopSecondsFrame();
8+
void loopWeather();
9+
void loopLdrLogic();
10+
11+
void rainbow();
12+
void rainbowCycle();
13+
void scrollingText(const char *buf);
14+
15+
bool changesInClockface();
16+
void copyClockface(const uint16_t source[], uint16_t destination[]);
17+
void calcClockface();
18+
19+
void setClock();
20+
void setHour(const uint8_t std, const uint8_t voll);
21+
void setMinute(uint8_t min, uint8_t &offsetH, uint8_t &voll);
22+
void showMinute(uint8_t min);
23+
void showWeather();
24+
25+
public:
26+
ClockWork() = default;
27+
~ClockWork() = default;
28+
29+
iUhrType *getPointer(uint8_t type);
30+
31+
void loop(struct tm &tm);
32+
33+
void initBootLed();
34+
void initBootLedBlink();
35+
void initBootLedSweep(uint32_t delay);
36+
void initBootShowIp(const char *buf);
37+
void initBootWifiSignalStrength(int strength);
38+
39+
void initLedStrip(uint8_t num);
40+
};

0 commit comments

Comments
 (0)