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

Configuration minimisation (phase 1) #10976

Merged
merged 1 commit into from
Dec 3, 2020
Merged

Conversation

tzarc
Copy link
Member

@tzarc tzarc commented Nov 18, 2020

Description

ChibiOS configuration files are used in order to enable or disable access to certain subsystems in order to provide support for things such as audio or I2C/SPI -- as per standard Proton-C. In the past, Proton-C has provided a "config-less" setup, which provided these configuration files and turned on all the required subsystems in order to support them.

These configuration files were moved to a common area, and effectively enable subsystems like SPI, PWM or DAC, regardless of whether they're targeting F303, with or without a Proton-C.

This PR modifies the way F303's are built, allowing for a build target of a board called QMK_PROTON_C -- this contains the usual fully-fledged configurations, and disables the majority of the subsystems on the GENERIC_STM32_F303XC board.

All F303-targeting keyboards have been migrated across to the QMK_PROTON_C board in this PR, specifically to validate that SHA-1 checksums match what's currently on the develop branch:

1upkeyboards/sweet16/v2/proton_c:default - 8c01a546f9101a1306fedc501f375ba167364572
                   acheron/shark:default - ee3d9ab5285a62d6764db984f5fce29a072823cc
                     atreus:ridingqwerty - 2a32c64e54f743aea3d2662526213ca1224a2d16
              boston_meetup/2019:default - d17230c17f6f3b791272d01825b78a6e531f0450
                             c39:drashna - b75040aa31fdb4ae663973c6d2d1194ddf5addb4
                   ckeys/thedora:default - e62922bc5dac220d4287070859140f97b831def2
                    clueboard/60:default - bb5057d4a2976b6530fe2e345a4153de2f7c042d
               clueboard/66/rev4:default - 878e38a34f97b32d9d109a6d98f98bc385d84864
       clueboard/66_hotswap/gen1:default - 03fe10f4de7b67e5f1cf0a7d576f82676adf4261
            clueboard/california:default - b10e51183dd1f5891faeef3e44ec325cb4e194fa
               dztech/dz60rgb/v1:default - eade21047afb40d903e548c38ab4671d956282c2
          dztech/dz60rgb_ansi/v1:default - 61e275467ce256a1f5d2a719aad642c6c7b3a6b2
           dztech/dz60rgb_wkl/v1:default - 6858c2c8fa322d23932402ca761e9c37ff3dedc0
               dztech/dz65rgb/v1:default - d7543c7be51c9932624b455fd71d3a1e45537469
                     hadron/ver3:default - 632af7727b767720c699abdff770edc9682928ee
             handwired/co60/rev6:default - be1688eeabd83a7f576d9e4e23e24d56b8dc251b
             handwired/co60/rev7:default - d196c5772859ddee695bda5b0e9f0944a0f350f8
                   handwired/d48:default - 24c4e7fee59ceed78400091e3134239ad5b8c662
                handwired/ddg_56:default - c65d1eeb891795edc889e7e84dce5fe098471dc4
            handwired/floorboard:default - 8b007072e49f461fdcd818b7f95a4da0c6c053b4
       handwired/onekey/proton_c:default - 076611ec2a181ab20e6f418b1e72240b625e366a
         handwired/onekey/pytest:default - d12db66a81cd0d4afb96e026f8b2a95ca77ee176
                handwired/selene:default - fdba0edd6ce2526adf1a7ae9eb3b07fd20f6076f
              handwired/sick_pad:default - 3cf8b00dd8bfb0c26ba601d58d5fce28298f912e
         handwired/steamvan/rev1:default - 743b395ac87b918b6be4614c9e120e80a9f049d4
                handwired/wulkan:default - 629359dae610138096e09daaba3556209b4107ef
                    hs60/v2/ansi:default - 7bcd152c269803de8f96416ba26e939c0420ceae
                    hs60/v2/hhkb:default - d77f393d2811bd104b05c4530bf1083d75856b7a
                     hs60/v2/iso:default - 5d3d20de919fca3b64cb7548cad46e8d35d7cc04
        kbdfans/kbd67/mkiirgb/v1:default - 15877ecb90c9c7ed2823bf4637c69edd2a8bc45b
              keebio/bdn9:codecoffeecode - 2b2844e60da163b5dc0d190c7aa8e98218890833
              keebwerk/mega/ansi:default - 10e32718c7bfff2f6bd8dd2159a15bef0f4acbf9
         kingly_keys/little_foot:yanfali - 87383c1296f6d16178864cee67c11292ea60ddde
                         kv/revt:default - 2d806f2cb95a26e35238fcc1541f63896ebdfdd0
               mechlovin/adelais:default - 9de468d5836cda082918498cf644a872c249bc29
           mechlovin/hannah60rgb:default - 22119e8e0cbbe0340b4ebe7d860a83efbc9d6c0d
              mechlovin/hannah65:default - 0a209d9c018b7c33e14bca26ad1f99c363e67118
            mechlovin/infinity87:default - 9c7a2eea08a9b6dd9f9dc888ee04a53f15b60e0a
            mechlovin/infinity88:default - 79677fed5264a45e776ce23467e0258cd161f6d5
               melgeek/mj61/rev1:default - 4b4e15a164bb215c7de163248fdbd15ca3939121
               melgeek/mj63/rev1:default - a59aaf5d6bd260299878547489a6ab8888d4758e
               melgeek/mj64/rev1:default - 765287938c4bc0774b62795717f600ccc6bd058b
               melgeek/mj64/rev2:default - d8603e5406d25f6ff51f0ed003765626189af56c
             melgeek/mojo75/rev1:default - 7aed878a64d5cc39d9a09aa5d42178391d9e2c1d
           melgeek/z70ultra/rev1:default - f93c1bcfb4f7732f40bac8f9917ee43db99bea70
           montsinger/rebound/rev1:curry - 7540ac725e2de6b155b9961a73aab5e949263c53
                      moonlander:default - d33b143f995aaf9751e9403ef99d6134940e15b8
                            nack:default - ba7f421d5670e672c5c14fd5f80c0f86447c1468
                        nebula68:default - 6bed6afb2fd84ef9069b757f1d1e87fc1cbe290c
                            nk65:default - 75b2484741a96dcbff14e94c44443bb33ad73dce
                            nk87:default - f719a739a3d2c0969c79c1ace5fe9a7d6f05cc22
                                 default - 9338d2fb97d6005b53a93d0c43453b535a4255c1
                     planck/rev6:default - cb19e7f473183e040406c710b7bf797356d6dec3
                    preonic/rev3:default - 5a2bce8227691b84107e7757a1ccee03e56577fb
         rgbkb/pan/rev1/proton_c:default - 2724e0d7c7e9b7a77bb58bc33516f462c4e75182
              yugo_m/model_m_101:default - c338c93888cd50aa69453e0bd2b4394f1c09ffc8
       rgbkb/zen/rev1:default (CTPC=yes) - edbf80fc4f3680fa55cefc410c01c2ba360676d1
       rgbkb/zen/rev2:default (CTPC=yes) - e2aea7fd02e5d36d1c7aa58006b3442363b7a005

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 added the breaking_change Changes that need to wait for a version increment label Nov 18, 2020
@tzarc tzarc requested a review from a team November 18, 2020 22:48
@tzarc tzarc marked this pull request as draft November 19, 2020 07:14
@tzarc tzarc self-assigned this Nov 19, 2020
@drashna drashna requested a review from a team November 20, 2020 03:58
@noroadsleft noroadsleft deleted the branch qmk:develop November 28, 2020 20:02
@tzarc tzarc reopened this Nov 28, 2020
@github-actions github-actions bot added cli qmk cli command python via Adds via keymap and/or updates keyboard for via support labels Dec 2, 2020
@github-actions github-actions bot removed via Adds via keymap and/or updates keyboard for via support cli qmk cli command python labels Dec 2, 2020
- Set all other ChibiOS defaults to 'off', when not targeting Proton-C
- Modified all existing F303 boards to point at the QMK_PROTON_C to ensure repeatable binary output
- Modified version.h generation so that SKIP_VERSION=yes generates the same output
@tzarc tzarc marked this pull request as ready for review December 3, 2020 01:49
@tzarc tzarc merged commit 8729143 into qmk:develop Dec 3, 2020
@tzarc tzarc deleted the chibios-defaults-off branch December 3, 2020 02:04
@sigprof sigprof mentioned this pull request Aug 5, 2023
14 tasks
BorisTestov pushed a commit to BorisTestov/qmk_firmware that referenced this pull request May 23, 2024
…0976)

- Set all other ChibiOS defaults to 'off', when not targeting Proton-C
- Modified all existing F303 boards to point at the QMK_PROTON_C to ensure repeatable binary output
- Modified version.h generation so that SKIP_VERSION=yes generates the same output
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