-
-
Notifications
You must be signed in to change notification settings - Fork 39.8k
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
Add support for hardware and board initialisation overrides. #8330
Conversation
Any ideas where these new APIs should be documented? |
I've made the |
Initial testing makes it possible to remove the custom board definitions from the test projects I've been working with ( |
Seems to work fine for both Proton-C (F303), custom L082, custom G431, custom G474. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested, working. Just a small suggestion
Co-Authored-By: Joel Challis <[email protected]>
* master: (973 commits) Fix AVR SPI parameter configuration, remove timeouts due to sync protocol. (qmk#8775) VIA Support: Jane V2 (qmk#8735) Add a simple custom keymap for Gergo. (qmk#8662) Add via support to keebio/bdn9 (qmk#8620) DP60 VIA cleanups (qmk#8697) Adding Niu Mini to VIA (qmk#8702) Allow trailing whitespace in markdown docs, for formatting purposes. (qmk#8774) Add support for hardware and board initialisation overrides. (qmk#8330) [Keyboard] Add IDOBAO ID80 (qmk#8728) [Keyboard] Quefrency Rev2 Caps Lock LED, set lighting defaults (qmk#8729) [Keyboard] Add handwired Fc200rt qmk board (qmk#8726) Bugfix for quantum/dip_switch.c (qmk#8731) Add *OPT aliases for *ALT keycodes and macros (qmk#8714) [Keymap] Add keymap for Nyquist rev3 (qmk#8706) format code according to conventions [skip ci] Added Workman ZXCVM variation (qmk#8686) [Keyboard] jotpad16 status leds (qmk#8643) [Keyboard] Add handwired BDN9-BLE (qmk#8192) Fix bug with layer caching in get_event_keycode (qmk#8693) [Keyboard] Add CannonKeys Atlas keyboard (qmk#8207) ...
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <[email protected]> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <[email protected]>
Description
ChibiOS board files aren't normally able to be overridden without making duplicates of the definitions, and modding them.
This PR introduces some new API methods and provides a way to override the initialisation files such that hooking the early bootup sequence can be achieved whilst retaining the original ChibiOS board definitions.
Effective changes, replacing modifications for each board definition's
board.c
:__early_init
has been overridden, and now has qmk api equivalentsearly_hardware_init_pre
andearly_hardware_init_post
boardInit
has been overridden, and now has qmk api equivalentboard_init
See documentation for notes on the constraints for usage -- any board developer that has previously overridden these will likely know the constraints already.
Types of Changes
Checklist