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

Workaround for G431 eeprom emulation #23002

Merged
merged 1 commit into from
Feb 3, 2024
Merged

Workaround for G431 eeprom emulation #23002

merged 1 commit into from
Feb 3, 2024

Conversation

zvecr
Copy link
Member

@zvecr zvecr commented Feb 2, 2024

Description

Reported here, and mentioned a few other times on Discord.

This PR localises changes to avoid it spreading to keyboards (eg 22889), and making it a bit easier to unpick later.

Types of Changes

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

Issues Fixed or Closed by This PR

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).

@github-actions github-actions bot added the core label Feb 2, 2024
@Cipulot
Copy link
Contributor

Cipulot commented Feb 2, 2024

As soon as merged I'll amend #22889 to use GENERIC_STM32_G431XB and remove the files in my PR

@zvecr zvecr requested a review from sigprof February 3, 2024 16:28
Copy link
Contributor

@sigprof sigprof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now handwired/onekey/nucleo_g431rb builds both with the default config (which ends up being EEPROM_DRIVER=transient at the moment) and with explicit -e EEPROM_DRIVER=wear_leveling -e WEAR_LEVELING_DRIVER=embedded_flash; did not actually test running that firmware though.

@zvecr
Copy link
Member Author

zvecr commented Feb 3, 2024

Not that it gives much confidence based on the initial substitution... but i've just gone and retested and its working fine.

$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 13d3:56eb IMC Networks USB2.0 HD UVC WebCam
Bus 003 Device 003: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 008: ID feed:6465 QMK Onekey Nucleo G431RB
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ hid_listen
Waiting for device:
Listening:
reading eeprom
Wear leveling: Read  [0x0013]:  A7 9A 49 00
Wear leveling: Write [0x0013]:  FD 15 B8 7B
Backing store: Unlock
Backing store: Write [0x1FCF8]:  20 00 13 FD 15 B8 7B 00
Backing store: Lock  
Wear leveling: Read  [0x0013]:  FD 15 B8 7B
reading eeprom
Wear leveling: Read  [0x0013]:  FD 15 B8 7B
Wear leveling: Write [0x0013]:  A7 9A 49 00
Backing store: Unlock
Backing store: Write [0x1FD00]:  20 00 13 A7 9A 49 00 00
Backing store: Lock  
Wear leveling: Read  [0x0013]:  A7 9A 49 00

@zvecr zvecr merged commit 93f20e0 into develop Feb 3, 2024
4 checks passed
@zvecr zvecr deleted the fix_g431_efl branch February 3, 2024 19:09
nuess0r pushed a commit to nuess0r/qmk_firmware that referenced this pull request Sep 8, 2024
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.

4 participants