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

Remove VIA_QMK_RGBLIGHT_ENABLE breaking EEPROM settings #35

Closed
wants to merge 1 commit into from

Conversation

CrazyCoder
Copy link

Description

This option breaks EEPROM settings. No settings persist on Q2 keyboard when this option is enabled.

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

This option breaks EEPROM settings. No settings persist on Q2 keyboard when this option is enabled.
@KeychronMacro
Copy link
Member

KeychronMacro commented May 23, 2022

Hi, Can you send me a copy of your .bin file and try it on my keyboard? I compiled q2 from Keychron playground branch and the firmware is work well on my keyboard, So I want to try my best to find out what's wrong with you Q2.

@CrazyCoder
Copy link
Author

Hi, try to compile via keymap from the playground branch in Keychron QMK repository. It did not work for me.

@KeychronMacro
Copy link
Member

KeychronMacro commented May 23, 2022

@CrazyCoder Could you please kindly advise the SN # of your Keyboard and share a clear picture of the back of the PCB? I would like to have a look at it.

@CrazyCoder
Copy link
Author

CrazyCoder commented May 23, 2022

Here is the photo of the PCB: https://i.imgur.com/mvrod6J.png

How do I get the SN#?

The stock firmware the board came with works just fine. But the new firmware built from playground using the via keymap does not persist backlight settings unless I remove the VIA_QMK_RGBLIGHT_ENABLE option. When I disable backlight using Fn+Tab and then unplug and plug the cable, it resets to the default RGB preset. The same for all the other settings stored in EEPROM.

@KeychronMacro
Copy link
Member

KeychronMacro commented May 25, 2022

@ CrazyCoderSorry, I can open this link, could you directly map it in the comment?

@CrazyCoder
Copy link
Author

Here is the PCB:

image

@KeychronMacro
Copy link
Member

@CrazyCoder It is weird. I own the same Q2 as yours. The new firmware built from playground using the via keymap works just fine on my Q2. Hence I tried to compile from your branch and added VIA_QMK_RGBLIGHT_ENABLE option, my Q2 works fine too. I do not see any difference between your Q2 and my Q2 keyboards from the PCB picture you shared.

@vinorodrigues
Copy link

removing VIA_QMK_RGBLIGHT_ENABLE from here is not going to do anything for the future merge as qmk#16086 adds it by default anyway.

i.e., you won't need to define VIA_QMK_RGBLIGHT_ENABLE at all - it will always be ON anyway

@CrazyCoder
Copy link
Author

I did a clean dev environment setup with the fresh WSL Ubuntu installation and can no longer reproduce the issue. Not sure why my system was building the firmware that did not work properly with this option.

Feel free to close this pull request and thanks for your help.

@kurt-m
Copy link

kurt-m commented May 29, 2022

I'm hitting the same issue with the Q3, haven't been able to fix it with a fresh install of WSL or removing VIA_QMK_RGBLIGHT_ENABLE

@kurt-m
Copy link

kurt-m commented May 29, 2022

After switching to the playground branch, I can build firmware that retains settings after unplugging. The keychron-q3 branch does have the issue. After looking at the diffs, it appeared to be the EEPROM_DRIVER = transient setting, however setting that hasn't fixed the issue.

@KeychronMacro
Copy link
Member

KeychronMacro commented May 30, 2022

@kurt-m Hi, because stm32l432 emulated EEPROM has not been officially enabled, we just wrote some code related to emulated EEPROM on our own branch, and EEPROM_ Driver = transient means that a section of RAM is used to emulate EEPROM temporarily, and all settings will not be saved when power is lost. More details can be found from qmk, thanks.

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

4 participants