From c860e02f3ce99ada43f470146aa2949a029a90a7 Mon Sep 17 00:00:00 2001 From: Eric Duminil <eric.duminil@gmail.com> Date: Wed, 9 Feb 2022 11:09:57 +0100 Subject: [PATCH] Adding NTP param --- ampel-firmware/ampel-firmware.ino | 2 +- ampel-firmware/led_effects.cpp | 2 +- ampel-firmware/ntp.cpp | 4 +++- ampel-firmware/web_config.cpp | 8 ++++++-- ampel-firmware/web_config.h | 3 +++ 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/ampel-firmware/ampel-firmware.ino b/ampel-firmware/ampel-firmware.ino index 07dda7f..dd9b0cc 100644 --- a/ampel-firmware/ampel-firmware.ino +++ b/ampel-firmware/ampel-firmware.ino @@ -75,6 +75,7 @@ void setup() { Serial.print(F("WiFi - Connected! IP address: ")); IPAddress address = WiFi.localIP(); snprintf(wifi::local_ip, sizeof(wifi::local_ip), "%d.%d.%d.%d", address[0], address[1], address[2], address[3]); + Serial.println(wifi::local_ip); ntp::initialize(); @@ -82,7 +83,6 @@ void setup() { mqtt::initialize(ampel.sensorId); # endif - Serial.println(wifi::local_ip); Serial.print(F("You can access this sensor via http://")); Serial.print(ampel.sensorId); Serial.print(F(".local (might be unstable) or http://")); diff --git a/ampel-firmware/led_effects.cpp b/ampel-firmware/led_effects.cpp index a5e977a..d414ba5 100644 --- a/ampel-firmware/led_effects.cpp +++ b/ampel-firmware/led_effects.cpp @@ -30,7 +30,7 @@ const int NEOPIXELS_PIN = 5; const int NEOPIXELS_PIN = 23; #endif -// config::led_count is not yet known +// config::led_count is not yet known, will be set later. Adafruit_NeoPixel pixels(0, NEOPIXELS_PIN, NEO_GRB + NEO_KHZ800); namespace led_effects { diff --git a/ampel-firmware/ntp.cpp b/ampel-firmware/ntp.cpp index 468a00b..2cdb4e1 100644 --- a/ampel-firmware/ntp.cpp +++ b/ampel-firmware/ntp.cpp @@ -1,11 +1,11 @@ #include "ntp.h" #include "sensor_console.h" #include "config.h" +#include "web_config.h" #include <WiFiUdp.h> // required for NTP #include "src/lib/NTPClient/NTPClient.h" // NTP namespace config { - const char *ntp_server = NTP_SERVER; const long utc_offset_in_seconds = UTC_OFFSET_IN_SECONDS; // UTC+1 } @@ -18,6 +18,8 @@ namespace ntp { void setLocalTime(int32_t unix_seconds); void initialize() { + Serial.print("NTP - Trying to connect to : "); + Serial.println(config::ntp_server); timeClient.begin(); sensor_console::defineIntCommand("set_time", ntp::setLocalTime, F("1618829570 (Sets time to the given UNIX time)")); } diff --git a/ampel-firmware/web_config.cpp b/ampel-firmware/web_config.cpp index 0bfbc5d..95dbf69 100644 --- a/ampel-firmware/web_config.cpp +++ b/ampel-firmware/web_config.cpp @@ -118,7 +118,7 @@ namespace web_config { Builder<TextTParameter<STRING_LEN>>("mqtt_user").label("MQTT User").defaultValue(MQTT_USER).build(); //TODO: Show the number of * for password? - PasswordTParameter<STRING_LEN> mqttPasswordParam = Builder<PasswordTParameter< STRING_LEN>>("mqtt_password").label( + PasswordTParameter<STRING_LEN> mqttPasswordParam = Builder<PasswordTParameter<STRING_LEN>>("mqtt_password").label( "MQTT password").defaultValue(MQTT_PASSWORD).build(); /** @@ -127,7 +127,7 @@ namespace web_config { ParameterGroup timeParams = ParameterGroup("NTP", "Time server"); TextTParameter<STRING_LEN> ntpParam = - Builder<TextTParameter< STRING_LEN>>("ntp_server").label("NTP Server").defaultValue(NTP_SERVER).build(); + Builder<TextTParameter<STRING_LEN>>("ntp_server").label("NTP Server").defaultValue(NTP_SERVER).build(); IntTParameter<int16_t> timeOffsetParam = Builder<IntTParameter<int16_t>>("timezone").label("Timezone").defaultValue( (UTC_OFFSET_IN_SECONDS) / 3600).min(-23).max(23).step(1).placeholder("[h]").build(); CheckboxTParameter dstParam = @@ -280,7 +280,11 @@ namespace config { bool &auto_calibrate_sensor = web_config::autoCalibrateParam.value(); // [true / false] float &temperature_offset = web_config::temperatureOffsetParam.value(); // [K] Sign isn't relevant. + // LEDs uint8_t &max_brightness = web_config::maxBrightnessParam.value(); uint8_t &min_brightness = web_config::minBrightnessParam.value(); uint16_t &led_count = web_config::ledCountParam.value(); + + char *ntp_server = web_config::ntpParam.value(); + int16_t &time_zone = web_config::timeOffsetParam.value(); } diff --git a/ampel-firmware/web_config.h b/ampel-firmware/web_config.h index 6c777e7..376e99d 100644 --- a/ampel-firmware/web_config.h +++ b/ampel-firmware/web_config.h @@ -23,6 +23,9 @@ namespace config { extern uint8_t &max_brightness; extern uint8_t &min_brightness; extern uint16_t &led_count; + + extern char *ntp_server; + extern int16_t &time_zone; } namespace web_config { -- GitLab