adafruit / adafruit/Adafruit_Wippersnapper_Arduino

Yellow light after flat battery - Feather S2 w/BME

Open
#831 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.