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

Refactor and updates to TKC1800 code #8472

Merged
merged 7 commits into from
May 5, 2020
Merged

Refactor and updates to TKC1800 code #8472

merged 7 commits into from
May 5, 2020

Conversation

TerryMathews
Copy link
Contributor

Updates to support QMK-DFU bootloader, and refactor of OLED support to utilize built-in I2C and OLED drivers.

Description

Updated existing keymaps to remove extraneous OLED code.

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

@wilba wilba mentioned this pull request Mar 18, 2020
13 tasks
@Erovia Erovia requested a review from a team March 18, 2020 09:25
Copy link
Member

@drashna drashna left a comment

Choose a reason for hiding this comment

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

Looks good to me.

@drashna drashna requested a review from a team March 18, 2020 16:51
@TerryMathews
Copy link
Contributor Author

Conflict resolved.

@TerryMathews
Copy link
Contributor Author

Missed that the keymap file in the via folder needed the revisions for OLED as well since I eliminated the non-standardized I2C and OLED includes. Tested and working.

@zvecr zvecr added the breaking_change Changes that need to wait for a version increment label Mar 19, 2020
Copy link
Member

@zvecr zvecr left a comment

Choose a reason for hiding this comment

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

https://docs.qmk.fm/#/breaking_changes_instructions

As this modifies user keymaps, we either need to get sign off from @yanfali and @smt.

@TerryMathews
Copy link
Contributor Author

While I did modify the OLED code in their keymaps (as it would no longer compile without it), this is certainly not a breaking change. Their keymaps are completely unaltered. I was even careful to carry over the same layer labels on smt's map.

@zvecr
Copy link
Member

zvecr commented Mar 19, 2020

You might have a different view for what the terminology would mean, however it falls under the following in the linked docs:

Edits to User Keymaps A user may submit their keymap to QMK, then some time later open a pull request with further updates, only to find it can’t be merged because it was edited in the qmk/qmk_firmware repository. As not all users are proficient at using Git or GitHub, the user may find themself unable to fix the issue on their own.

@wilba
Copy link
Contributor

wilba commented Mar 19, 2020

@zvecr I know this is not the place to argue this point, but seriously, if you know enough git and github to do a pull request and commit your keymap to a public repo then you ought to know how to resolve a merge conflict, and if you don't, you have no business doing the PR in the first place.

@TerryMathews
Copy link
Contributor Author

@zvecr That's fine, we can certainly agree to disagree... If you're going to require signoff from all user keymap contributors, you failed to include @Wilba6582

@skullydazed
Copy link
Member

The breaking changes process is not just about the user. People who use this in keymaps that have never been submitted to us may need to make a similar change, and breaking changes is part of how we communicate those changes to users.

@skullydazed
Copy link
Member

We are human and don't always catch these things.

@zvecr
Copy link
Member

zvecr commented Mar 19, 2020

For context, on that M0lly one i went by the "not shipped" status on https://thekey.company/products/m0lly (and the lack of user keymaps which might have been wrong)

@TerryMathews
Copy link
Contributor Author

I'm sorry for getting short. It's just aggravating; I put in a not inconsequential amount of time throwing away perfectly good code at your (regal form) request to move both codebases to using the in-built OLED and I2C drivers.

@drashna drashna self-requested a review March 19, 2020 04:08
@skullydazed
Copy link
Member

I definitely understand why it's frustrating. We're trying to balance the needs of two different sets of users- keyboard maintainers and end users. Sometimes we have to choose which group will experience more pain and we will usually choose to avoid end user pain wherever possible.

Thanks for your work here. In the end having a uniform interface for oleds will make things like configurator support possible, and that benefits both of us.

@TerryMathews
Copy link
Contributor Author

No I understand the need for it to be done, which is why it was on our punch list of code updates to be done.

@drashna drashna requested a review from a team March 21, 2020 06:30
@@ -9,12 +9,13 @@ MCU = at90usb1286
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
BOOTLOADER = qmk-dfu
Copy link
Contributor

@yanfali yanfali Mar 28, 2020

Choose a reason for hiding this comment

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

I'm fine with the keymap changes. This looks like a much cleaner way to disable i2c, which is incompatible with console logging if you didn't have the OLED.

My only concern here is that all the older PCBs in existence, are still be running atmel-dfu, which has a slightly different behavior around erasure. Usually how this handled is PCB rev folders. I haven't tested what happens if I try to RESET with the bootloader set to qmk-dfu instead of atmel-dfu.

I can certainly add a rules.mk override so this isn't a blocker, more of a technical question. I can also ISP flash my pcb and add qmk-dfu.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@yanfali I've tested it, works without issue. Having the QMK code setup for qmk-dfu works correctly whether the bootloader is qmk-dfu or atmel-dfu.

Copy link
Contributor

@yanfali yanfali left a comment

Choose a reason for hiding this comment

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

commented, but otherwise fine with keymap changes.

@TerryMathews
Copy link
Contributor Author

I don't see #1 as a valid option. Reverting it will cause his/her keymap to no longer compile, and the build test will fail. As presented in the PR, his/her keymap compiles and works as (s)he would expect it to.

@noroadsleft
Copy link
Member

I don't see #1 as a valid option. Reverting it will cause his/her keymap to no longer compile, and the build test will fail. As presented in the PR, his/her keymap compiles and works as (s)he would expect it to.

Very well.

If you can write a summary of how a TKC1800 user who doesn't have their keymap merged to qmk:master can update their keymap to be compatible with this code change, and stick it in qmk_firmware/docs/ChangeLog/20200530/PR8472.md, I'll merge this to the future branch and it'll hit QMK mainline in about a month's time.

@smt
Copy link
Contributor

smt commented May 3, 2020 via email

@TerryMathews
Copy link
Contributor Author

@noroadsleft Now that I have approval from @smt as well, do I still need the ChangeLog entry? @zvecr said in #8472 (review) that I needed sign-off from those two and I have it.

@noroadsleft
Copy link
Member

@TerryMathews The reason for the changelog is so that we can document instructions for users who don't have their keymaps hosted in the repository, and thus may need instructions on how to fix their keymaps so they compile once again.

Just that one change and I'll merge this.

@TerryMathews
Copy link
Contributor Author

@noroadsleft Done.

@noroadsleft
Copy link
Member

@TerryMathews Wonderful work on the ChangeLog. Thanks!

@noroadsleft noroadsleft changed the base branch from master to future May 5, 2020 16:09
@noroadsleft noroadsleft merged commit bba89c6 into qmk:future May 5, 2020
@TerryMathews TerryMathews deleted the tkc1800 branch May 7, 2020 15:28
noroadsleft pushed a commit that referenced this pull request May 15, 2020
* TKC1800: updated to support QMK-DFU bootloader

* TKC1800: updated to support QMK-DFU bootloader

* TKC1800: Updated to utilize common I2C and OLED code

* Refactor OLED code in VIA keymap

* Fix for screen disconnected error.

* Added changelog for breaking change process
noroadsleft pushed a commit to noroadsleft/qmk_firmware that referenced this pull request May 22, 2020
* TKC1800: updated to support QMK-DFU bootloader

* TKC1800: updated to support QMK-DFU bootloader

* TKC1800: Updated to utilize common I2C and OLED code

* Refactor OLED code in VIA keymap

* Fix for screen disconnected error.

* Added changelog for breaking change process
noroadsleft pushed a commit to noroadsleft/qmk_firmware that referenced this pull request May 28, 2020
* TKC1800: updated to support QMK-DFU bootloader

* TKC1800: updated to support QMK-DFU bootloader

* TKC1800: Updated to utilize common I2C and OLED code

* Refactor OLED code in VIA keymap

* Fix for screen disconnected error.

* Added changelog for breaking change process
noroadsleft added a commit that referenced this pull request May 30, 2020
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968)

* Convert V-USB usbdrv to a submodule (#8321)

* Unify Tap Hold functions and documentation (#8348)

* Changing board names to prevent confusion (#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (#8499)

* Move spaceman keyboards (#8830)

* Migrate miscellaneous `fn_actions` entries (#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (#8537)

* Refactor Lily58 to use split_common (#6260)

* Refactor zinc to use split_common (#7114)

* Add a message if bin/qmk doesn't work (#9000)

* Fix conflicting types for 'tfp_printf' (#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480)

* Refactor and updates to TKC1800 code (#8472)

* Switch to qmk forks for everything (#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484)

* Audio enable corrections (2/3) (#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582)

* Audio enable corrections (Part 4) (#8974)

* Fix typo from PR7114 (#9171)

* Augment future branch Changelogs (#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
turky pushed a commit to turky/qmk_firmware that referenced this pull request Jun 13, 2020
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
jakobaa pushed a commit to jakobaa/qmk_firmware that referenced this pull request Jul 7, 2020
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
drashna pushed a commit to zsa/qmk_firmware that referenced this pull request Aug 9, 2020
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
sjmacneil pushed a commit to sjmacneil/qmk_firmware that referenced this pull request Feb 19, 2021
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
BorisTestov pushed a commit to BorisTestov/qmk_firmware that referenced this pull request May 23, 2024
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking_change Changes that need to wait for a version increment keyboard keymap
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants