Add adjustable sleep timer and file browser settings
Implemented the adjustable sleep timer feature as requested. Updated the settings storage to include refresh interval and default folder preferences. Modified the state file version to accommodate new fields for last browsed folder.
This commit is contained in:
@@ -12,7 +12,7 @@ CrossPointSettings CrossPointSettings::instance;
|
||||
namespace {
|
||||
constexpr uint8_t SETTINGS_FILE_VERSION = 1;
|
||||
// Increment this when adding new persisted settings fields
|
||||
constexpr uint8_t SETTINGS_COUNT = 13;
|
||||
constexpr uint8_t SETTINGS_COUNT = 16;
|
||||
constexpr char SETTINGS_FILE[] = "/.crosspoint/settings.bin";
|
||||
} // namespace
|
||||
|
||||
@@ -40,6 +40,9 @@ bool CrossPointSettings::saveToFile() const {
|
||||
serialization::writePod(outputFile, bluetoothEnabled);
|
||||
serialization::writePod(outputFile, useCoverArtPicker);
|
||||
serialization::writePod(outputFile, autoSleepMinutes);
|
||||
serialization::writePod(outputFile, refreshInterval);
|
||||
serialization::writePod(outputFile, defaultFolder);
|
||||
serialization::writeString(outputFile, customDefaultFolder);
|
||||
outputFile.close();
|
||||
|
||||
Serial.printf("[%lu] [CPS] Settings saved to file\n", millis());
|
||||
@@ -92,6 +95,12 @@ bool CrossPointSettings::loadFromFile() {
|
||||
if (++settingsRead >= fileSettingsCount) break;
|
||||
serialization::readPod(inputFile, autoSleepMinutes);
|
||||
if (++settingsRead >= fileSettingsCount) break;
|
||||
serialization::readPod(inputFile, refreshInterval);
|
||||
if (++settingsRead >= fileSettingsCount) break;
|
||||
serialization::readPod(inputFile, defaultFolder);
|
||||
if (++settingsRead >= fileSettingsCount) break;
|
||||
serialization::readString(inputFile, customDefaultFolder);
|
||||
if (++settingsRead >= fileSettingsCount) break;
|
||||
} while (false);
|
||||
|
||||
inputFile.close();
|
||||
|
||||
Reference in New Issue
Block a user