Skip to content

Commit a6aefdf

Browse files
authored
check if sensortoggle is populated (#501)
Not sure if it will find any edge case. The use of .getValues() should be programmed in a different way.
1 parent 8469b6f commit a6aefdf

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/configuration/Configuration.cpp

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,14 +123,21 @@ void Configuration::save() {
123123
file.write((uint8_t*)&config, sizeof(SensorConfig));
124124
file.close();
125125

126-
sprintf(path, DIR_TOGGLES "/%zu", i);
126+
if (i < m_SensorToggles.size()) {
127+
sprintf(path, DIR_TOGGLES "/%zu", i);
127128

128-
m_Logger.trace("Saving sensor toggle state for %d", i);
129+
m_Logger.trace("Saving sensor toggle state for %d", i);
129130

130-
file = LittleFS.open(path, "w");
131-
auto toggleValues = m_SensorToggles[i].getValues();
132-
file.write((uint8_t*)&toggleValues, sizeof(SensorToggleValues));
133-
file.close();
131+
file = LittleFS.open(path, "w");
132+
auto toggleValues = m_SensorToggles[i].getValues();
133+
file.write((uint8_t*)&toggleValues, sizeof(SensorToggleValues));
134+
file.close();
135+
} else {
136+
m_Logger.trace(
137+
"Skipping saving toggles for sensor %d, no toggles present",
138+
i
139+
);
140+
}
134141
}
135142

136143
{

0 commit comments

Comments
 (0)