OpenStickCommunity / OpenStickCommunity/GP2040-CE

PROPOSAL: clear out the user config when we suspect the user is trying to recover from applying the wrong config

Open
#921 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
2.5k
Forks
666
Avg merge
1d 19h
Merged PRs (30d)
7

Description

Problem

Users might initialize a board with the wrong firmware, which will populate their user config with partially/totally incorrect settings for their board, and then when they apply the right firmware, nothing is fixed because all the wrong settings are already in their user config.

Solution

(via jfedor:)

Preemptively nuke the user config if it appears that the user configuration is from a different board than the currently booting firmware. (e.g. by checking boardConfig in protobuf vs. the board config definition). In the above example, this would nuke the incorrect user config when applying the right firmware, and then repopulate the user config with the right settings.

Do you plan to work on this feature yourself?

I could, but not yet; I think this could use a bit more discussion/thinking about, but the problem and general solution make sense to me.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the firmware boot path, the protobuf boardConfig, and the current board config definition. Trace how user configuration is loaded and compare the board identities before deciding when it is safe to clear the stored configuration. Done means a configuration from a different board is detected, cleared, and repopulated from the currently applied firmware.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.