adafruit / adafruit/Adafruit_Wippersnapper_Arduino
Yellow light after flat battery - Feather S2 w/BME
- Dominant language
- C++
- Stars
- 54
- Forks
- 56
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 11
Description
Forgot secrets / formatted the file partition and recreated a fresh secrets, a known issue with running on battery.
The firmware includes various checks for file system availability, secrets file readability, json corruption, etc, and a basic low battery voltage can cause repeated boot looping as the wifi comes online the power brownout occurs. Eventually the flash reports a mount/init failure and so the code assumes a corrupt partition and formats it.
Resolved in #656, but now needs a bit of cleanup/refactor as over 6months old.
Basic idea is to detect power on reason, and if not a clean boot (power related) then don't touch the filesystem even if it errors or is in an unusable state (just report in serial/LED).
Latest changes to touch boot log (write airlift FW version) would need to be folded in to the bit which checks the old boot log contents before writing the desired new contents (if match then no unnecessary write).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the resolution in #656 and the latest boot-log changes, then trace the boot-time power-reason checks and filesystem availability handling. Done means power-related boots do not format an unusable filesystem and instead report through serial/LED, while the boot log is written only when its contents need updating.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- arduino, cpp
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100