Skip to content

Commit

Permalink
Merge pull request #185 from dbambus/main
Browse files Browse the repository at this point in the history
Release 2.6.3
  • Loading branch information
dbambus committed Jan 8, 2023
2 parents 0093bee + ea6db14 commit 5f214eb
Show file tree
Hide file tree
Showing 24 changed files with 1,573 additions and 1,461 deletions.
1 change: 1 addition & 0 deletions include/Animation.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include "font.h"
#include "icons.h"
#include <queue>

Expand Down
24 changes: 12 additions & 12 deletions include/Animation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ void Animation::analyzeColors(RgbfColor **dest, RgbfColor **source,
for (int r = 0; r < max_rows; r++) {
for (int c = 0; c < max_cols; c++) {
if (source == STRIPE) {
color = led_get_pixel(
color = led.getPixel(
usedUhrType->getFrontMatrix(r + row_start, c + col_start));
} else {
color = source[r][c];
Expand Down Expand Up @@ -293,21 +293,21 @@ void Animation::analyzeColors(RgbfColor **dest, RgbfColor **source,
void Animation::set_minutes() {
if (G.zeige_min > 0) {
uint8_t m = lastMinute % 5;
led_set_pixel_Color_Object(usedUhrType->getMinArr(G.zeige_min - 1, 0),
m > 0 ? foregroundMinute : background);
led_set_pixel_Color_Object(usedUhrType->getMinArr(G.zeige_min - 1, 1),
m > 1 ? foregroundMinute : background);
led_set_pixel_Color_Object(usedUhrType->getMinArr(G.zeige_min - 1, 2),
m > 2 ? foregroundMinute : background);
led_set_pixel_Color_Object(usedUhrType->getMinArr(G.zeige_min - 1, 3),
m > 3 ? foregroundMinute : background);
led.setPixelColorObject(usedUhrType->getMinArr(G.zeige_min - 1, 0),
m > 0 ? foregroundMinute : background);
led.setPixelColorObject(usedUhrType->getMinArr(G.zeige_min - 1, 1),
m > 1 ? foregroundMinute : background);
led.setPixelColorObject(usedUhrType->getMinArr(G.zeige_min - 1, 2),
m > 2 ? foregroundMinute : background);
led.setPixelColorObject(usedUhrType->getMinArr(G.zeige_min - 1, 3),
m > 3 ? foregroundMinute : background);
}
}
// Ueberschreibe die LEDs mit interner Matrix
void Animation::copy2Stripe(RgbfColor **source) {
for (uint8_t row = 0; row < max_rows; row++) {
for (uint8_t col = 0; col < max_cols; col++) {
led_set_pixel_Color_Object(
led.setPixelColorObject(
usedUhrType->getFrontMatrix(row + row_start, col + col_start),
source[row][col]);
}
Expand Down Expand Up @@ -404,7 +404,7 @@ void Animation::loop(struct tm &tm) {
copyMatrix(work, act);
colorize(work);
copy2Stripe(work);
led_show();
led.show();
}
} else {
if ((animType != lastAnimType) ||
Expand Down Expand Up @@ -466,7 +466,7 @@ void Animation::loop(struct tm &tm) {
}
animColorChange();
copy2Stripe(work);
led_show();
led.show();
}
}
}
Expand Down
19 changes: 10 additions & 9 deletions include/EEPROMAnything.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,14 @@ void eeprom_read() {
Serial.printf("LDR : %u\n", G.ldr);
Serial.printf("LDRCal : %u\n", G.ldrCal);
Serial.printf("Uhrtype : %u\n", G.UhrtypeDef);
Serial.printf("MQTT_State : %u\n", G.MQTT_State);
Serial.printf("MQTT_Server : %s\n", G.MQTT_Server);
Serial.printf("MQTT_User : %s\n", G.MQTT_User);
Serial.printf("MQTT_Pass : %s\n", G.MQTT_Pass);
Serial.printf("MQTT_ClientId : %s\n", G.MQTT_ClientId);
Serial.printf("MQTT_Topic : %s\n", G.MQTT_Topic);
Serial.printf("MQTT_Port : %u\n", G.MQTT_Port);

Serial.printf("MQTT_State : %u\n", G.mqtt.state);
Serial.printf("MQTT_Server : %s\n", G.mqtt.serverAdress);
Serial.printf("MQTT_User : %s\n", G.mqtt.user);
Serial.printf("MQTT_Pass : %s\n", G.mqtt.password);
Serial.printf("MQTT_ClientId : %s\n", G.mqtt.clientId);
Serial.printf("MQTT_Topic : %s\n", G.mqtt.topic);
Serial.printf("MQTT_Port : %u\n", G.mqtt.port);

Serial.printf("autoLdrEnabled : %u\n", G.autoLdrEnabled);
Serial.printf("autoLdrBright : %u\n", G.autoLdrBright);
Expand All @@ -85,9 +86,9 @@ void eeprom_read() {
Serial.printf("bootShowIP : %u\n", G.bootShowIP);
Serial.printf("Colortype : %u\n", G.Colortype);
Serial.print("OWM_apikey: ");
Serial.println(G.apikey);
Serial.println(G.openWeatherMap.apikey);
Serial.print("OWM_city : ");
Serial.println(G.cityid);
Serial.println(G.openWeatherMap.cityid);

delay(100);
}
15 changes: 0 additions & 15 deletions include/Network.h

This file was deleted.

35 changes: 22 additions & 13 deletions include/Uhr.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,21 @@ enum uhrzeit_t {
H_ZWOELF = 21
};

struct MqttData {
uint8_t state;
char serverAdress[PAYLOAD_LENGTH];
char user[PAYLOAD_LENGTH];
char password[PAYLOAD_LENGTH];
char clientId[PAYLOAD_LENGTH];
char topic[PAYLOAD_LENGTH];
uint16_t port;
};

struct OpenWeatherMapData {
char apikey[35];
char cityid[8];
};

struct GLOBAL {
uint8_t sernr;
uint16_t prog;
Expand All @@ -47,8 +62,6 @@ struct GLOBAL {
uint8_t hell;
uint16_t ldr;
uint16_t ldrCal;
char apikey[35];
char cityid[8];
int geschw;
uint8_t client_nr;
uint8_t zeige_sek;
Expand All @@ -69,13 +82,10 @@ struct GLOBAL {

uint8_t UhrtypeDef;
uint8_t Colortype;
uint8_t MQTT_State;
char MQTT_Server[PAYLOAD_LENGTH];
char MQTT_User[PAYLOAD_LENGTH];
char MQTT_Pass[PAYLOAD_LENGTH];
char MQTT_ClientId[PAYLOAD_LENGTH];
char MQTT_Topic[PAYLOAD_LENGTH];
uint16_t MQTT_Port;

MqttData mqtt;

OpenWeatherMapData openWeatherMap;

uint8_t autoLdrEnabled;
uint8_t autoLdrBright;
Expand Down Expand Up @@ -172,9 +182,9 @@ enum Command {

COMMAND_MODE_WORD_CLOCK = 1,
COMMAND_MODE_SECONDS = 2,
COMMAND_MODE_MARQUEE = 3,
COMMAND_MODE_RAINBOW = 4,
COMMAND_MODE_CHANGE = 5,
COMMAND_MODE_SCROLLINGTEXT = 3,
COMMAND_MODE_RAINBOWCYCLE = 4,
COMMAND_MODE_RAINBOW = 5,
COMMAND_MODE_COLOR = 6,

COMMAND_MODE_ANIMATION = 10,
Expand All @@ -200,7 +210,6 @@ enum Command {
COMMAND_SET_BOOT = 101,
COMMAND_SET_AUTO_LDR = 102,

COMMAND_BRIGHTNESS = 151,
COMMAND_SPEED = 152,

COMMAND_REQUEST_CONFIG_VALUES = 200,
Expand Down
59 changes: 23 additions & 36 deletions include/WebPage_Adapter.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#pragma once

#include "Network.h"
#include "Uhr.h"
#include "WebPageContent.h"
#include "WebSocketsServer.h"
Expand Down Expand Up @@ -204,10 +203,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,

case COMMAND_MODE_SECONDS: { // Sekunden
G.prog = COMMAND_MODE_SECONDS;
G.param1 = split(payload, 33);
if (G.param1 == 0) {
G.prog_init = 1;
}
G.prog_init = 1;

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

//------------------------------------------------------------------------------

case COMMAND_MODE_MARQUEE: { // Laufschrift
G.prog = COMMAND_MODE_MARQUEE;
G.param1 = split(payload, 33);
if (G.param1 == 0) {
G.prog_init = 1;
}
case COMMAND_MODE_SCROLLINGTEXT: {
G.prog = COMMAND_MODE_SCROLLINGTEXT;
G.prog_init = 1;

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

//------------------------------------------------------------------------------

case COMMAND_MODE_RAINBOW: { // Regenbogen
G.prog = COMMAND_MODE_RAINBOW;
case COMMAND_MODE_RAINBOWCYCLE: {
G.prog = COMMAND_MODE_RAINBOWCYCLE;
G.prog_init = 1;

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

//------------------------------------------------------------------------------

case COMMAND_MODE_CHANGE: { // Farbwechsel
G.prog = COMMAND_MODE_CHANGE;
case COMMAND_MODE_RAINBOW: {
G.prog = COMMAND_MODE_RAINBOW;
G.prog_init = 1;

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

//------------------------------------------------------------------------------

case COMMAND_BRIGHTNESS: { // Helligkeit
G.hell = split(payload, 27);
break;
}

//------------------------------------------------------------------------------

case COMMAND_SPEED: { // Geschwindigkeit
G.geschw = split(payload, 30);
G.geschw = split(payload, 3);
break;
}

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

case COMMAND_SET_MQTT: { // MQTT Daten speichern
G.conf = COMMAND_SET_MQTT;
G.MQTT_State = split(payload, 3);
G.MQTT_Port = split(payload, 6, 5);
G.mqtt.state = split(payload, 3);
G.mqtt.port = split(payload, 6, 5);
uint8_t index_start = 11;
payloadTextHandling(payload, G.MQTT_Server, index_start);
payloadTextHandling(payload, G.mqtt.serverAdress, index_start);
index_start += PAYLOAD_LENGTH;
payloadTextHandling(payload, G.MQTT_User, index_start);
payloadTextHandling(payload, G.mqtt.user, index_start);
index_start += PAYLOAD_LENGTH;
payloadTextHandling(payload, G.MQTT_Pass, index_start);
payloadTextHandling(payload, G.mqtt.password, index_start);
index_start += PAYLOAD_LENGTH;
payloadTextHandling(payload, G.MQTT_ClientId, index_start);
payloadTextHandling(payload, G.mqtt.clientId, index_start);
index_start += PAYLOAD_LENGTH;
payloadTextHandling(payload, G.MQTT_Topic, index_start);
payloadTextHandling(payload, G.mqtt.topic, index_start);
break;
}

Expand Down Expand Up @@ -451,25 +437,25 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
ii = 0;
for (uint8_t k = 3; k < 10; k++) {
if (payload[k] != ' ') {
G.cityid[ii] = payload[k];
G.openWeatherMap.cityid[ii] = payload[k];
ii++;
}
}
G.cityid[ii] = '\0';
G.openWeatherMap.cityid[ii] = '\0';
//
jj = 0;
for (uint8_t l = 11; l < 43; l++) {
if (payload[l] != ' ') {
G.apikey[jj] = payload[l];
G.openWeatherMap.apikey[jj] = payload[l];
jj++;
}
}
G.apikey[jj] = '\0';
G.openWeatherMap.apikey[jj] = '\0';
Serial.println("write EEPROM!");
Serial.print("CityID : ");
Serial.println(G.cityid);
Serial.println(G.openWeatherMap.cityid);
Serial.print("APIkey : ");
Serial.println(G.apikey);
Serial.println(G.openWeatherMap.apikey);
break;
}

Expand All @@ -485,6 +471,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload,
G.h20 = split(payload, 18);
G.h22 = split(payload, 21);
G.h24 = split(payload, 24);
G.hell = split(payload, 27);
break;
}

Expand Down
40 changes: 40 additions & 0 deletions include/clockWork.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#pragma once

#include <NeoPixelBus.h>

class ClockWork {
private:
void loopSecondsFrame();
void loopWeather();
void loopLdrLogic();

void rainbow();
void rainbowCycle();
void scrollingText(const char *buf);

bool changesInClockface();
void copyClockface(const uint16_t source[], uint16_t destination[]);
void calcClockface();

void setClock();
void setHour(const uint8_t std, const uint8_t voll);
void setMinute(uint8_t min, uint8_t &offsetH, uint8_t &voll);
void showMinute(uint8_t min);
void showWeather();

public:
ClockWork() = default;
~ClockWork() = default;

iUhrType *getPointer(uint8_t type);

void loop(struct tm &tm);

void initBootLed();
void initBootLedBlink();
void initBootLedSweep(uint32_t delay);
void initBootShowIp(const char *buf);
void initBootWifiSignalStrength(int strength);

void initLedStrip(uint8_t num);
};
Loading

0 comments on commit 5f214eb

Please sign in to comment.