Add side button layout configuration while on reader (#147)

## Summary

Allow swapping the side button layout between *next page - prev page*
and *prev page - next page* while reading
This commit is contained in:
Yona
2025-12-29 11:17:10 +01:00
committed by GitHub
parent 2437943c94
commit d7f4bd54f5
4 changed files with 36 additions and 9 deletions

View File

@@ -11,7 +11,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 = 6;
constexpr uint8_t SETTINGS_COUNT = 7;
constexpr char SETTINGS_FILE[] = "/.crosspoint/settings.bin";
} // namespace
@@ -32,6 +32,7 @@ bool CrossPointSettings::saveToFile() const {
serialization::writePod(outputFile, statusBar);
serialization::writePod(outputFile, orientation);
serialization::writePod(outputFile, frontButtonLayout);
serialization::writePod(outputFile, sideButtonLayout);
outputFile.close();
Serial.printf("[%lu] [CPS] Settings saved to file\n", millis());
@@ -70,6 +71,8 @@ bool CrossPointSettings::loadFromFile() {
if (++settingsRead >= fileSettingsCount) break;
serialization::readPod(inputFile, frontButtonLayout);
if (++settingsRead >= fileSettingsCount) break;
serialization::readPod(inputFile, sideButtonLayout);
if (++settingsRead >= fileSettingsCount) break;
} while (false);
inputFile.close();