diff --git a/GDI-4ch/firmware/persistence.cpp b/GDI-4ch/firmware/persistence.cpp index 0ff519c..79b9d36 100644 --- a/GDI-4ch/firmware/persistence.cpp +++ b/GDI-4ch/firmware/persistence.cpp @@ -20,12 +20,27 @@ uint8_t mfs_buffer[512]; void InitFlash() { mfsObjectInit(&mfs1); mfs_error_t err = mfsStart(&mfs1, &mfscfg1); - // assert(err == MFS_NO_ERROR, "initialization error with erased flash"); +// chDbgAssert(err == MFS_NO_ERROR, "initialization error with erased flash"); } mfs_error_t readErr; mfs_error_t writeErr; + +/* +extern GDIConfiguration configuration; + +void ReadOrDefault() { + size_t size = sizeof(GDIConfiguration); + mfs_error_t err = mfsReadRecord(&mfs1, 1, &size, (uint8_t*)&configuration); + if (err == MFS_NO_ERROR && configuration.version == PERSISTENCE_VERSION) { + return; + } else { + configuration.resetToDefaults(); + } +} +*/ + int IncAndGet() { size_t size = sizeof mfs_buffer; readErr = mfsReadRecord(&mfs1, 1, &size, mfs_buffer); @@ -41,3 +56,11 @@ int IncAndGet() { writeErr = mfsWriteRecord(&mfs1, 1, sizeof mfs_buffer, mfs_buffer); return result; } + +uint16_t float2short100(float value) { + return FIXED_POINT * value; +} + +float short2float100(uint16_t value) { + return value / 1.0 / FIXED_POINT; +}