geeksville 66c41e683d bug #4184: fix config file loss due to filesystem write errors (#4397)
* Use SafeFile for atomic file writing (with xor checksum readback)
* Write db.proto last because it could be the largest file on the FS (and less critical)
* Don't keep a tmp file around while writing db.proto (because too big to fit two files in the filesystem)
* generate a new critial fault if we encounter errors writing to flash
either CriticalErrorCode_FLASH_CORRUPTION_RECOVERABLE or CriticalErrorCode_FLASH_CORRUPTION_UNRECOVERABLE
(depending on if the second write attempt worked)
* reformat the filesystem if we detect it is corrupted (then rewrite our config files) (only on nrf52 - not sure
yet if we should bother on ESP32)
* If we have to format the FS, make sure to preserve the oem.proto if it exists

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-08-06 13:59:06 -05:00
2024-07-10 14:39:41 -05:00
2021-10-09 17:15:12 +11:00
2023-01-21 21:23:24 +01:00
2024-03-06 16:23:04 -06:00
2022-11-26 16:03:17 +01:00
2023-01-21 21:23:24 +01:00
2023-10-09 22:30:02 +10:00

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel

Overview

This repository contains the device firmware for the Meshtastic project.

Stats

Alt

Description
This repository contains the official firmware for Meshtastic, an open-source, off-grid mesh communication system.
Readme 53 MiB
Languages
C++ 67.3%
C 30.6%
Python 1%
Batchfile 0.4%
Shell 0.4%
Other 0.2%