Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Formalise keyboard- and user-specific EEPROM blocks #18874

Merged
merged 3 commits into from
Nov 4, 2022

Conversation

tzarc
Copy link
Member

@tzarc tzarc commented Oct 27, 2022

Description

Adds two defines, EECONFIG_KB_DATA_SIZE and EECONFIG_USER_DATA_SIZE which "allocate" areas of EEPROM specifically for keyboard and user usage.

Skipped docs, as it's envisaged this will be automatically leveraged by XAP later.

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@tzarc tzarc requested a review from a team October 27, 2022 11:36
@github-actions github-actions bot added the core label Oct 27, 2022
@tzarc tzarc force-pushed the dynamic_keymap_start_override branch from 7fd4c6d to 61fbe0b Compare October 27, 2022 12:53
@tzarc tzarc marked this pull request as ready for review October 27, 2022 12:54
@drashna
Copy link
Member

drashna commented Oct 27, 2022

This feels like it's redundant/reproducing the existing kb/user block:

#define EECONFIG_KEYBOARD (uint32_t *)15
#define EECONFIG_USER (uint32_t *)19

Probably should see about merging these, at some point?

@tzarc
Copy link
Member Author

tzarc commented Oct 27, 2022

This feels like it's redundant/reproducing the existing kb/user block:

#define EECONFIG_KEYBOARD (uint32_t *)15
#define EECONFIG_USER (uint32_t *)19

Probably should see about merging these, at some point?

These are repurposed when using the data blocks to check validity. At the moment we're storing a version that can be overridden -- if the firmware format of the data segment changes it can be detected in this way.

@tzarc tzarc force-pushed the dynamic_keymap_start_override branch 4 times, most recently from c894b0f to 76aaa96 Compare October 27, 2022 20:15
quantum/eeconfig.h Outdated Show resolved Hide resolved
@tzarc tzarc force-pushed the dynamic_keymap_start_override branch from a53e5e1 to 109052d Compare November 4, 2022 19:08
@zvecr zvecr merged commit f82e90b into qmk:develop Nov 4, 2022
@tzarc tzarc deleted the dynamic_keymap_start_override branch November 4, 2022 19:24
@zvecr zvecr mentioned this pull request Nov 16, 2022
14 tasks
ramonimbao pushed a commit to ramonimbao/qmk_firmware that referenced this pull request Nov 28, 2022
* Formalise keyboard and user eeconfig datablocks.

* Add debounce helper that checks a condition and issues post-write function invocation.

* Naming.
elpekenin pushed a commit to elpekenin/qmk_firmware that referenced this pull request Dec 7, 2022
* Formalise keyboard and user eeconfig datablocks.

* Add debounce helper that checks a condition and issues post-write function invocation.

* Naming.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants