OpenStickCommunity / OpenStickCommunity/GP2040-CE

Remove the SOCD mode addon, fold it into core

Open
#1,153 0 comments 0 reactions 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

Same idea as #941, we have some tech debt in the SOCD slider being half in an addon, half in core, and that is confusing to people because they map the pins in the Pin Mapping page and think they're done, without realizing they need to enable the addon, and on the flip side the addon doesn't really do anything all that special other than manage a setting.

#941 set the precedent of having an "active" DP mode, and the same idea would apply here; basically rinse and repeat:

  1. Create an activeSOCDCleanerMode in the core gamepad
  2. Move the mapping of the pins from the addon to core
  3. Have the active mode default to whatever is in the gamepad config, unless one of the mapped pins for the other modes is active
  4. Use the active mode in the core gamepad checks, rather than what is in the config
  5. Remove the addon from the firmware and webconfig
  6. Point DDI and Display code (and maybe more?) at getActiveSOCDCleanerMode()

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 reviewing the active DP mode precedent in #941, then trace the SOCD addon, core gamepad checks, Pin Mapping page, firmware/webconfig, DDI, and Display code. Done means the active SOCD mode and pin mappings are handled in core, consumers use getActiveSOCDCleanerMode(), and the addon is removed from firmware and webconfig.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.