Commit Graph
100 Commits
Author SHA1 Message Date
Nick Brassel a86d6fffc9 Fixup bootloaders. (#16256) 2022-02-06 19:09:21 -08:00
Nick Brassel d31dd6d2a0 Followup to #16220, more test error output. (#16221) 2022-02-05 12:51:23 +11:00
Nick Brassel e987ce1652 Standardise error output. (#16220) 2022-02-04 17:32:31 -08:00
Nick Brassel 8fd8b2dc92 Skip categorisation of PR if it's only for code formatting. (#16215) 2022-02-05 07:36:57 +11:00
Nick Brassel 1fffcbc298 Revert "[Core] Add Pixel Flow RGB matrix effect (#15829)" (#16209)
This reverts commit e8fa329073.
2022-02-05 05:57:21 +11:00
Nick Brassel 3403f5813c Point out that deferred execution needs to be enabled in rules.mk (#16196) 2022-02-04 03:44:51 +00:00
Nick Brassel db43e45077 Ensure version.h is recreated each build. (#16188) 2022-02-04 07:36:02 +11:00
Nick BrasselandRyan 0be2eaf174 Create a build error if no bootloader is specified. (#16181)
* Create a build error if no bootloader is specified.

* Update builddefs/bootloader.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-02-03 19:22:49 +11:00
Nick Brassel 3897eaac30 Fixup line endings for kt60-M. 2022-02-03 03:19:08 +11:00
Nick Brassel 1bdc1c23c7 Fixup builds so that teensy EEPROM knows which MCU it's targeting. (#16168) 2022-02-02 16:21:07 +11:00
Nick Brassel d6d48aa2aa Remove old .gitignore entry. Add more macOS junk exclusions. (#16167) 2022-02-02 15:36:37 +11:00
Nick Brassel 6e2b03cf69 Fixup multibuild filegen (#16166)
* Add env variable support to multibuild.

* Generate version.h in build-specific location.
2022-02-02 15:30:22 +11:00
Nick Brassel e22efc037a Don't make EEPROM size assumptions with dynamic keymaps. (#16054)
* Don't make EEPROM size assumptions with dynamic keymaps.

* Add support for checking against emulated flash, error out if someone attempts to build a board without specifying EEPROM size.

* Reorder defines so that MCU is considered last.

* Refactor EEPROM definitions for simplicity.

* Fix max sizing of kabedon/kabedon980.

* Fix max sizing of mechlovin/olly/jf.

* Fix unit tests.

* Review comments, add messages with values during build failures.
2022-02-02 15:04:37 +11:00
Nick Brassel 9af9af73f4 Fix up default folder locations. (#16135) 2022-01-30 21:48:05 +00:00
Nick Brassel 5f23345886 Add a script that simplifies running commands under docker. (#16028) 2022-01-24 23:58:53 +00:00
Nick Brassel 8f22819d47 Default EEPROM implementation should be transient when not implemented. Removed the equivalent eeprom_teensy fallback. (#16020) 2022-01-24 14:18:05 +00:00
Nick Brassel 7d6e15423b Add some clarity regarding new board definitions (#16018) 2022-01-23 22:15:09 +00:00
Nick Brassel 77062e9a36 Add L432, L442. (#16016) 2022-01-24 08:49:36 +11:00
Nick Brassel 91e50209e7 Fixup build. (#15931) 2022-01-19 11:21:08 +11:00
Nick Brassel 557fbbd6af Yet another bad DEFAULT_FOLDER fix. (#15904) 2022-01-16 20:12:58 +00:00
Nick Brassel d02be63000 Revert "update keyboard_aliases.json (#15649)" (#15903)
This reverts commit b24603ab7d.
2022-01-17 06:58:48 +11:00
Nick Brassel be1dcb9185 Fix CI. (#15828)
* Fix CI.
2022-01-11 14:20:33 +11:00
Nick Brassel 0c402157fc Advanced deferred_exec for core-side code. (#15579) 2022-01-10 18:26:46 +00:00
Nick Brassel 7b151143f7 eol=lf, where appropriate (#15752) 2022-01-05 21:56:31 +00:00
Nick Brassel 4d96e53222 More GPIO compilation fixes. (#15592) 2021-12-26 21:36:52 -08:00
Nick Brassel 8503c97b96 Merge remote-tracking branch 'upstream/master' into develop 2021-12-27 15:18:08 +11:00
Nick Brassel c53ee0b3ce Fixup line endings 2021-12-27 15:15:49 +11:00
Nick Brassel bbd8f8e584 Fixup line endings 2021-12-27 15:11:47 +11:00
Nick Brassel 3a3272a3d6 Defer pin operations to gpio.h (#15589) 2021-12-27 13:27:38 +11:00
Nick Brassel 6e40dfa022 Add open-drain GPIO support. (#15282)
* Add open-drain GPIO support.

* `qmk format-c`

* Wording.

* Remove port GPIO implementations as the only board that uses it has its own internal defs anyway. Will wait for first-class handling of ports in core before reimplementing.
2021-12-27 11:52:10 +11:00
Nick Brassel 7b018f097d Use the PR title rather than parsing the commit message. (#15537) 2021-12-22 05:44:47 +11:00
Nick Brassel 30f0bbe079 Add support for 21.11.x, remove 21.6.x as ChibiOS "canceled" it. (#15435) 2021-12-09 07:42:21 +11:00
Nick Brassel 81550527c4 Fixup paths for ramonimbao/wete/v2. (#15360) 2021-11-30 02:10:50 -08:00
Nick Brassel 51db8baf77 Start develop for 2022q1. 2021-11-28 11:16:20 +11:00
Nick Brassel 88fe5c16a5 Changelog 2021q4 (#15325)
* Changelog.

* Remove the asymmetric encoder PR from listing due to revert.

* More docs

* More docs

* More docs

* Links to changelog, updated schedule, slotted in 2 weeks of testing at the end so that there's no ambiguity with PR merge dates.

* Clarify keyboard moves.

* Fix dates

* Sidebar

* Fixup dates.

* Fixup dates.

* Wording.
2021-11-28 10:41:48 +11:00
Nick Brassel e156d5c13b Fix build. (#15322) 2021-11-28 05:52:17 +11:00
Nick Brassel 94d7cc3712 WB32F3G71 config migration with removal of unnecessary items. (#15309)
* Config migration with removal of unnecessary items.

* Removed as per suggestion.
2021-11-27 10:35:24 +11:00
Nick Brassel b04f66f245 Add script for performing compilation size regression investigations. (#15303)
* Add script for performing compilation size regression investigations.

* Print deltas

* Correct scoping.

* Concurrency control

* Job count control, skip zeros (unless no build output), fix usage.

* Add usage under -h arg.

* Updated usage output.

* Copyright header.
2021-11-27 09:11:03 +11:00
Nick Brassel 08b7f8b30a More headroom. (#15302) 2021-11-25 13:11:18 -08:00
Nick Brassel 27086ad80f More headroom. (#15301) 2021-11-26 07:53:48 +11:00
Nick Brassel 7746aefe94 Revert "[Tests] Increase QMK test coverage (#13789)"
This reverts commit b6054c0206.
2021-11-23 09:54:04 +11:00
Nick BrasselandJoel Challis 8cefe141f8 CI: Create GitHub Actions unit test workflow (#15223)
* Create GitHub Actions unit test workflow

* Create GitHub Actions unit test workflow - checkout submodules

* Create GitHub Actions unit test workflow - update job name

* Develop branch.

* Update .github/workflows/unit_test.yml

Co-authored-by: Joel Challis <git@zvecr.com>

* Update .github/workflows/unit_test.yml

Co-authored-by: Joel Challis <git@zvecr.com>

* builddefs

Co-authored-by: zvecr <git@zvecr.com>
2021-11-20 09:04:11 +11:00
Nick Brassel b9148eb1bd [cli] Export list of develop PRs to be merged into master (#13944)
* Add developer-only command for exporting the list of PRs associated with a merge to `develop`.

* qmk pytest

* Imports.

* Remove dependencies from requirements file, manually handle.

* Reduce complexity, qmk generate-api taking too long so relying on CI
2021-11-18 17:05:08 +00:00
Nick Brassel 45f4f446fb Merge remote-tracking branch 'upstream/master' into develop 2021-11-18 07:38:06 +11:00
Nick BrasselandSergey Vlasov 36d123e9c5 Add support for deferred executors. (#14859)
* Add support for deferred executors.

* More docs.

* Include from quantum.h

* Cleanup.

* Parameter checks

* Comments.

* qmk format-c

* I accidentally a few words.

* API name change.

* Apply suggestions from code review

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Review comments.

* qmk format-c

* Review comments.

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-11-15 18:21:09 +00:00
Nick Brassel 92e9bbd9b9 Merge remote-tracking branch 'upstream/master' into develop 2021-11-05 08:55:55 +11:00
Nick Brassel c8da63382c Fixup actions. (#15057) 2021-11-04 21:49:09 +00:00
Nick Brassel 5da04fb45b Update to ChibiOS 20.3.4, support builds against trunk (#14208)
* Add support for building against ChibiOS svn/trunk.

* Swap to 21.6.x

* Update to latest branch revision as released version is broken.

* Updated configs.

* Conf updates.

* Updated ChibiOS

* Convert STM32L422 to actual L422 ChibiOS platform.

* Downgrade to 20.3.4 as ChibiOS 21.6.x is being aborted.

* Rollback L422-based boards.
2021-11-03 08:26:40 +11:00
Nick Brassel 387edab52b Fixup #15029 (#15031) 2021-11-02 19:54:16 +00:00
Nick Brassel 0ecd4926b2 Fix build failures caused by #12947. (#15019)
* Fix build failures caused by #12947. Unknown if this actually works.

* qmk format-c
2021-11-02 10:18:33 +00:00
Nick Brassel 699e69bec5 Fixup LED matrix. (#15020) 2021-11-02 10:05:42 +00:00
Nick Brassel d9be6dea3a Fix builds for ChibiOS + Cortex-M0[+] (#14879) 2021-10-18 22:29:27 +01:00
Nick Brassel b2a186cf92 Purge uGFX. (#14720)
* Purge uGFX.

* Remove remnants of visualizer.

* Remove remnants of uGFX.
2021-10-07 10:57:48 +11:00
Nick BrasselandMikkel Jeppesen 4676a14596 More PR checklist updates (#14705)
* Wording, clarification.

* Apply suggestions from code review

Co-authored-by: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>

Co-authored-by: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>
2021-10-06 06:46:36 +11:00
Nick Brassel 7a49e5d207 Add clarification for licensing. (#14704)
* Add clarification for licensing.

* Errr, v2.
2021-10-05 20:29:52 +11:00
Nick Brassel 28b8b578b0 compiledb: query include paths from gcc directly. (#14462)
* Query include paths from gcc directly.

* Change to -isystem

* qmk format-python

* tests
2021-09-20 14:15:07 +10:00
Nick Brassel 8a3f97b20f Update ChibiOS-Contrib (#14419) 2021-09-13 15:38:04 +10:00
Nick Brassel 2bafc7a4b0 Update ChibiOS-Contrib (#14408) 2021-09-13 09:06:25 +10:00
Nick Brassel d0ac03ec8b Remove unreferenced IBM4704, Sony NEWS, NeXT keyboard code. (#14380) 2021-09-12 02:46:39 +01:00
Nick Brassel dd8922d482 Fixup upstream paths for submodules. (#14205) 2021-08-29 10:51:53 +10:00
Nick Brassel 6caebb7b61 Bootmagic lite docs clarity. (#14204) 2021-08-29 09:47:48 +10:00
Nick Brassel f061ca4974 Breaking changes develop merge to master, 2021Q3 edition. (#14196) 2021-08-29 08:20:25 +10:00
Nick Brassel 4bad375d7c 2021Q3 pre-merge develop changelog, keyboard aliases (#14198)
* Initial changelog.

* Data driven.

* Submodule update.

* Updated breaking changes docs.

* Aliases.

* Aliases.
2021-08-29 08:18:18 +10:00
Nick Brassel d8778eba92 Fixup line endings. 2021-08-23 19:37:16 +10:00
Nick Brassel c70abc8d04 Warn when building a board that uses arm_atsam (#10904)
* Add deprecation warning during build when building a board that uses arm_atsam.

* Rewording.

* Wording.

* Fixup.
2021-08-22 13:49:33 +10:00
Nick Brassel afd3bcbf45 Fix up compilation issues. (#14095) 2021-08-21 13:38:38 +10:00
Nick Brassel ceb3ebda46 Fixup atsam builds. (#14052) 2021-08-18 01:59:22 +01:00
Nick BrasselandJames Young 8db1d22117 Fixup massdrop/alt, cest73/tkm. (#14048)
* Fixup massdrop/alt.

* Fixup `cest73/tkm` bootmagic lite.

* Update keyboards/cest73/tkm/rules.mk

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-08-18 06:44:18 +10:00
Nick Brassel 65e3760853 Fix compilation issue. (#13926) 2021-08-09 13:20:15 +10:00
Nick Brassel f24bca5bb3 Update ChibiOS-Contrib, mirroring script. (#13896) 2021-08-06 16:40:12 +10:00
Nick Brassel 0dafd83f72 Fix up builds after #8591 (#13900) 2021-08-06 09:57:09 +10:00
Nick Brassel 6aaf3e84e9 Rework as per 9824 (#13898) 2021-08-06 08:14:43 +10:00
Nick Brassel ee3c138385 Merge remote-tracking branch 'upstream/master' into develop 2021-08-02 13:55:36 +10:00
Nick Brassel a4c050b5ae Fix up paths for bioi boards - parallel compilation failures due to file collisions. (#13806) 2021-07-31 10:34:14 +10:00
Nick Brassel b459f314ec Explicitly state that VIA should not be enabled in the default keymap. (#13803) 2021-07-31 09:21:45 +10:00
Nick Brassel 394272a266 Merge remote-tracking branch 'upstream/master' into develop 2021-07-27 10:11:52 +10:00
Nick Brassel 4ec8764c70 Merge remote-tracking branch 'upstream/master' into develop 2021-07-25 12:17:15 +10:00
Nick Brassel 489c0f969d Disables rgblight twinkle by default. (#13677)
This takes up about 700 bytes of space, and needs to be swapped to
opt-in, rather than opt-out. Build failures in general on AVR due to the
scarcity of available flash. People can re-enable it by adding to their
keymap's config.h files:

```
  #define RGBLIGHT_EFFECT_TWINKLE
```
2021-07-24 13:40:00 +10:00
Nick Brassel 6747890562 [Keyboard] Remove broken, unmaintained converter/ibm_5291 (#13658) 2021-07-23 08:17:15 -07:00
Nick Brassel 610788184a Merge remote-tracking branch 'upstream/master' into develop 2021-07-16 09:11:51 +10:00
Nick Brassel 8bb231aa1c Adds support for STM32L412xB, STM32L422xB. (#13383)
* Adds support for STM32L412xB, STM32L422xB.

* Add to list of supported MCUs.

* Disable SPI1 by default.
2021-06-30 10:07:40 +10:00
Nick Brassel 0e3ae2cde0 Skip EEPROM writes once done. (#13293) 2021-06-22 09:37:28 +10:00
Nick Brassel 172e6a7030 Extensible split data sync (#11930)
* Extensible split data sync capability through transactions.

- Split common transport has been split up between the transport layer
  and data layer.
- Split "transactions" model used, with convergence between I2C and
  serial data definitions.
- Slave matrix "generation count" is used to determine if the full slave
  matrix needs to be retrieved.
- Encoders get the same "generation count" treatment.
- All other blocks of data are synchronised when a change is detected.
- All transmissions have a globally-configurable deadline before a
  transmission is forced (`FORCED_SYNC_THROTTLE_MS`, default 100ms).
- Added atomicity for all core-synced data, preventing partial updates
- Added retries to AVR i2c_master's i2c_start, to minimise the number of
  failed transactions when interrupts are disabled on the slave due to
  atomicity checks.
- Some keyboards have had slight modifications made in order to ensure
  that they still build due to firmware size restrictions.

* Fixup LED_MATRIX compile.

* Parameterise ERROR_DISCONNECT_COUNT.
2021-06-18 09:10:06 +10:00
Nick Brassel e7ddbc394b Update merge sequence to reflect no-ff, no-squash. (#13038) 2021-06-18 00:05:27 +01:00
Nick Brassel 67fa2568fe ChibiOS SVN mirror script. (#13070) 2021-06-18 00:04:17 +01:00
Nick Brassel d684b8cafe Slightly more prominent LUFA Mass-storage bootloader warning. (#13163) 2021-06-10 16:05:29 +10:00
Nick Brassel 21aa7890cb Allow limiting the multibuild based on keymap name. (#13066) 2021-06-09 17:25:21 +10:00
Nick Brassel f287597c19 Use single memcmp to determine if matrix changed. (#13064)
* Use memcmp to determine if matrix changed.

* Firmware size issues.

* Add documentation for the lack of need of MATRIX_ROW_PINS/MATRIX_COL_PINS, when overriding low-level matrix functions.
2021-06-09 17:19:42 +10:00
Nick Brassel 597d2e0e7b Fix up WS2812 SPI driver on F072. (#13022) 2021-06-03 09:48:16 +10:00
Nick Brassel e5d3e5a989 Add weak refs on reading rows/cols. (#13062) 2021-06-01 15:10:39 +10:00
Nick Brassel 554c36a055 Update ChibiOS, ChibiOS-Contrib. (#13056)
* Update ChibiOS, ChibiOS-Contrib.

* Add instructions.

* Wrong remote name

* Explicit version tag.

* Add link to procedure on the breaking changes page.
2021-06-01 08:11:50 +10:00
Nick Brassel 58142f0726 Fixup housekeeping from being invoked twice per loop. (#12933) 2021-05-18 17:02:28 +10:00
Nick Brassel a2412e3f4c Allow for overriding clocks on F4xx. (#12886) 2021-05-13 12:29:28 +10:00
Nick Brassel f41fc6b70c Fixup build errors on develop branch. (#12723) 2021-05-11 11:01:58 +10:00
Nick BrasselandErovia 1426ffc0ee Add script to perform parallel builds. (#12497)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-05-09 17:06:44 +02:00
Nick Brassel 54e8dd0885 Fix up bad keycode in #12405. (#12722) 2021-04-28 11:46:13 +01:00
Nick Brassel 0a8e37509b Fix bad PR merge for #6580. (#12721) 2021-04-28 11:42:53 +01:00
Nick Brassel 891d18d356 Add initial support for tinyuf2 bootloader (when hosted on F411 blackpill) (#12600)
* Add support for jumping to tinyuf2 bootloader. Adds blackpill UF2 example.

* Update flashing.md

* Update chconf.h

* Update config.h

* Update halconf.h

* Update mcuconf.h
2021-04-25 13:40:56 +10:00
Nick Brassel b88498ba85 Fix CLI incorrectly following DEFAULT_FOLDER (#12529)
* Attempt to sort out incorrectly following DEFAULT_FOLDER.

* Fix CI checks.

* qmk pyformat
2021-04-25 11:15:54 +10:00
Nick Brassel a0089aa345 Fixup Satisfaction75 bootprocess. (#12621)
- Use normal ChibiOS I2C driver.
- Move drawing code to housekeeping -- previously it was during matrix
  scan, which gets executed during bootmagic checks. However, bootmagic
  is invoked before QWIIC subsystem is enabled, which means I2C isn't
  configured yet. All I2C calls to the OLED fail with timeouts while
  bootmagic is being checked. Housekeeping ensures this is executed once
  the system has initialised and settled.
- QWIIC OLED driver: properly clear out OLED buffer when clearing screen.
2021-04-19 13:08:01 +10:00