Skip to content

Commit b43e224

Browse files
committed
Issue-ID: yalfixes: minor fixes and crashes
Signed-off-by: Alexander Mohr <[email protected]>
1 parent 1a68d46 commit b43e224

File tree

7 files changed

+40
-32
lines changed

7 files changed

+40
-32
lines changed

platformio.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ build_flags =
2626
-DVERSION=0.1.0
2727
-DMONITOR_SPEED=115200
2828
-O3
29-
-DTEMP_SENSOR=BM280
3029
-std=c++17
3130
-std=gnu++17
3231
-DCMAKE_C_STANDARD=c99

src/hardware/ESP8266.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ static constexpr uint8_t LED_ON = HIGH;
2828
static constexpr uint8_t LED_OFF = LOW;
2929

3030
// Filesystem
31-
#include <LittleFS.h>
3231

3332
#define FileFS LittleFS
3433
#define FS_Name "LittleFS"

src/heating/RadiatorValve.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ void open_heat::heating::RadiatorValve::closeValve(unsigned int rotateTime)
230230

231231
m_logger.log(
232232
yal::Level::DEBUG,
233-
"Closing valve for %ims, currentRotateTime: %ims, vin: %i, ground: %i",
233+
"Closing valve for %ms, currentRotateTime: %, vin: %, ground: %",
234234
rotateTime,
235235
rtc::read().currentRotateTime,
236236
config.Vin,

src/main.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,12 @@ void setupTemperatureSensor()
9595

9696
open_heat::sensors::Sensor* sensor;
9797
if (config.TempSensor == BME) {
98-
auto bme = new open_heat::sensors::BME280();
98+
auto *bme = new open_heat::sensors::BME280();
9999
g_humidSensor = bme;
100100
g_tempSensor = bme;
101101
sensor = reinterpret_cast<open_heat::sensors::Sensor*>(bme);
102102
} else {
103-
auto bmp = new open_heat::sensors::BMP280();
103+
auto* bmp = new open_heat::sensors::BMP280();
104104
g_humidSensor = nullptr;
105105
g_tempSensor = bmp;
106106
sensor = reinterpret_cast<open_heat::sensors::Sensor*>(bmp);
@@ -119,11 +119,11 @@ void setupTemperatureSensor()
119119

120120
bool isDoubleReset()
121121
{
122-
if (ESP.getResetInfoPtr()->reason != REASON_EXT_SYS_RST) {
122+
if (EspClass::getResetInfoPtr()->reason != REASON_EXT_SYS_RST) {
123123
g_logger.log(
124124
yal::Level::DEBUG,
125125
"no double reset, resetInfo: %s",
126-
ESP.getResetInfo().c_str());
126+
EspClass::getResetInfo().c_str());
127127
open_heat::rtc::setDrdDisabled(true);
128128
return false;
129129
}
@@ -137,7 +137,7 @@ bool isDoubleReset()
137137

138138
g_logger.log(
139139
yal::Level::DEBUG,
140-
"millis since reset: %lu, last reset time %lu, offset millis: %lu",
140+
"millis since reset: %l, last reset time %, offset millis: %",
141141
millisSinceReset,
142142
open_heat::rtc::read().lastResetTime,
143143
open_heat::rtc::offsetMillis());
@@ -172,7 +172,7 @@ void setup()
172172

173173
const auto offsetMillis = open_heat::rtc::offsetMillis();
174174
g_logger.log(
175-
yal::Level::DEBUG, "Set last reset time to %lu", offsetMillis);
175+
yal::Level::DEBUG, "Set last reset time to %", offsetMillis);
176176
open_heat::rtc::setLastResetTime(offsetMillis);
177177

178178
setupPins();
@@ -186,7 +186,7 @@ void setup()
186186
g_wifiManager.setup(doubleReset);
187187
g_mqtt.setup();
188188
}
189-
189+
g_mqtt.enableDebug(true);
190190
if (!configValid) {
191191
g_mqtt.enableDebug(true);
192192
}
@@ -226,8 +226,8 @@ void loop()
226226
g_logger.log(yal::Level::DEBUG, msg.c_str());
227227

228228
const auto minSleepTime = 10000UL;
229-
unsigned long idleTime;
230-
unsigned long nextCheckMillis;
229+
uint32_t idleTime;
230+
uint32_t nextCheckMillis;
231231
bool enableWifi = false;
232232
if (valveSleep < mqttSleep) {
233233
nextCheckMillis = valveSleep;

src/network/MQTT.cpp

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,21 @@ void open_heat::network::MQTT::setup()
1515
});
1616

1717
m_valve.registerModeChangedHandler([this](OperationMode mode) {
18-
m_mqttAppender.queue().push({m_getModeTopic, heating::RadiatorValve::modeToCharArray(mode)});
18+
if (m_mqttAppender != nullptr) {
19+
m_mqttAppender->queue().push({m_getModeTopic, heating::RadiatorValve::modeToCharArray(mode)});
20+
}
1921
});
2022

2123
m_valve.registerSetTempChangedHandler([this](float temp) {
22-
m_mqttAppender.queue().push({m_getConfiguredTempTopic, String(temp)});
24+
if (m_mqttAppender != nullptr) {
25+
m_mqttAppender->queue().push({m_getConfiguredTempTopic, String(temp)});
26+
}
2327
});
2428

2529
m_valve.registerWindowChangeHandler([this](bool state) {
26-
m_mqttAppender.queue().push({m_windowStateTopic, String(static_cast<int>(state))});
30+
if (m_mqttAppender != nullptr) {
31+
m_mqttAppender->queue().push({m_windowStateTopic, String(static_cast<int>(state))});
32+
}
2733
});
2834
}
2935

@@ -205,10 +211,13 @@ void open_heat::network::MQTT::connect()
205211
config.MQTT.Server,
206212
config.MQTT.Username,
207213
config.MQTT.Password);
214+
enableDebug(true);
208215
return;
209216
}
210217

211218
setTopic(config.MQTT.Topic, "log", m_logTopic);
219+
delete m_mqttAppender;
220+
m_mqttAppender = new yal::appender::ArduinoMQTT<MQTTClient>(&m_logger, &m_mqttClient, m_logTopic.c_str());
212221

213222
m_logger.log(yal::Level::INFO,
214223
"MQTT topic: %, topic len: %",
@@ -266,16 +275,19 @@ void open_heat::network::MQTT::enableDebug(bool value)
266275

267276
void open_heat::network::MQTT::sendMessageQueue()
268277
{
269-
while (!m_mqttAppender.queue().empty()) {
270-
const auto msg = m_mqttAppender.queue().front();
278+
if (m_mqttAppender == nullptr) {
279+
return;
280+
}
281+
while (!m_mqttAppender->queue().empty()) {
282+
const auto msg = m_mqttAppender->queue().front();
271283
if (msg.topic == m_logTopic) {
272284
// do not log again
273285
m_mqttClient.publish(msg.topic, msg.message);
274286
} else {
275287
publish(msg.topic, msg.message);
276288
}
277289

278-
m_mqttAppender.queue().pop();
290+
m_mqttAppender->queue().pop();
279291
}
280292
}
281293

src/network/MQTT.hpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ class MQTT {
2424
MQTT(
2525
Filesystem& filesystem,
2626
WifiManager& wifi,
27-
sensors::Temperature* tempSensor,
28-
sensors::Humidity* humiditySensor,
27+
sensors::Temperature*& tempSensor,
28+
sensors::Humidity*& humiditySensor,
2929
heating::RadiatorValve& valve,
3030
sensors::Battery& battery) :
3131
m_wifi(wifi),
@@ -35,7 +35,7 @@ class MQTT {
3535
m_filesystem(filesystem),
3636
m_valve(valve),
3737
m_logger(yal::Logger("MQTT")),
38-
m_mqttAppender(yal::appender::ArduinoMQTT<MQTTClient>(&m_logger, &m_mqttClient, s_logTopic.c_str()))
38+
m_mqttAppender(nullptr)
3939
{
4040
}
4141

@@ -67,8 +67,8 @@ class MQTT {
6767

6868
WifiManager& m_wifi;
6969

70-
sensors::Temperature* m_tempSensor;
71-
sensors::Humidity* m_humiditySensor;
70+
sensors::Temperature*& m_tempSensor;
71+
sensors::Humidity*& m_humiditySensor;
7272
sensors::Battery& m_battery;
7373
Filesystem& m_filesystem;
7474
heating::RadiatorValve& m_valve;
@@ -106,9 +106,7 @@ class MQTT {
106106
bool m_configValid{true};
107107

108108
yal::Logger m_logger;
109-
yal::appender::ArduinoMQTT<MQTTClient> m_mqttAppender;
110-
111-
static inline String s_logTopic = "log";
109+
yal::appender::ArduinoMQTT<MQTTClient>* m_mqttAppender = nullptr;
112110
};
113111
} // namespace open_heat::network
114112

src/network/WifiManager.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -164,14 +164,14 @@ wl_status_t WifiManager::connectMultiWiFi()
164164
m_logger.log(
165165
yal::Level::INFO,
166166
"Wifi connected:\n"
167-
"\ttime: %llu\n"
168-
"\tSSID: %s\n"
169-
"\tRSSI=%i\n"
170-
"\tChannel: %i\n"
171-
"\tIP address: %s",
167+
"\ttime: %\n"
168+
"\tSSID: %\n"
169+
"\tRSSI=%\n"
170+
"\tChannel: %\n"
171+
"\tIP address: %",
172172
connectTime,
173173
WiFi.SSID().c_str(),
174-
WiFi.RSSI(),
174+
static_cast<int>(WiFi.RSSI()),
175175
WiFi.channel(),
176176
WiFi.localIP().toString().c_str());
177177
//@formatter:on

0 commit comments

Comments
 (0)