Commit Graph
100 Commits
Author SHA1 Message Date
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
Nick Brassel 96acb499d2 Fix up builds that are now too big for develop branch. (#12495) 2021-04-06 16:39:31 +10:00
Nick Brassel 64a0f5a659 Add support for producing UF2-format binaries. (#12435)
* First stab at enabling builds of UF2-format binaries.

* Add description on producing a UF2 file.
2021-04-06 16:39:15 +10:00
Nick Brassel c5ddada32e Remove leftover old implementations of the lily58 split code. (#12442) 2021-04-01 00:09:01 +11:00
Nick Brassel 64551a8386 Allow for clang-format up to v20. (#12407) 2021-03-31 09:33:26 +11:00
Nick Brassel ea2a7c5ea4 ChibiOS conf upgrade for boston (#12170)
boston - 8bded9dabff58de6febd927d4ad976bb743696a3
2021-03-12 17:33:48 +11:00
Nick Brassel 6c3af2670e Fixup line endings. 2021-03-04 10:35:02 +11:00
Nick Brassel 75ab48958c Revert "Fixing K-type RGB lighting (#11551)" (#12065)
This reverts commit e6f7da4036.
2021-03-02 12:18:07 +11:00
Nick Brassel 6623744172 Fix build for attiny85-based boards. (#12044) 2021-02-28 09:33:33 +11:00
Nick Brassel e2d3cefc95 Fix up build failures for melgeek boards after Feb27 develop merge. (#12043) 2021-02-28 09:20:36 +11:00
Nick Brassel dd61f7795f Fix build for linworks/whale75. (#12042) 2021-02-27 22:07:55 +00:00
Nick Brassel 1a5f6b54af 2021 February 27 Breaking Changes Update (#12040) 2021-02-28 07:22:21 +11:00
Nick Brassel abe189377c [BUG] Massdrop develop rgb fix (#12022)
* Allow for disabling RGB_MATRIX on Massdrop boards.

* Fixup init sequence.

* Make some functions static as they've got very generic names.
2021-02-26 17:07:05 +11:00
Nick Brassel ba0b965c42 ChibiOS conf upgrade for daji/seis_cinco (#12001)
daji/seis_cinco - f9ce55c07a61f20308dab7eb5f4f2b7a91686625
2021-02-25 07:23:29 +11:00
Nick Brassel 1bc8a6e5d4 ChibiOS conf migrations... take 14 (#11927)
* ChibiOS conf upgrade for geminate60

 geminate60 - a2765e46491151a8de309bc1cc8ce7e953ee1e50

* ChibiOS conf upgrade for sowbug/68keys

 sowbug/68keys - 7475a03ff2d704497d503a002b6c5dbac12f0a84

* ChibiOS conf upgrade for sowbug/ansi_tkl

 sowbug/ansi_tkl - 87be98eb6ed03a8752c1082c872a8a75b1d00ae7
2021-02-16 11:28:42 +11:00
Nick Brassel f53e41ac81 Add support for analog USBPD on STM32G4xx. (#11824)
* Add support for analog USBPD on STM32G4xx.

* Split up to a list of driver types, allow for custom.
2021-02-15 08:56:13 +11:00
Nick Brassel 557cfecc15 ChibiOS conf upgrade for keebio/dsp40/rev1 (#11846) 2021-02-14 21:41:03 +11:00
Nick Brassel 101990139f Disable VIA protocol's EEPROM reset and bootloader jump commands (#11892)
* Disable VIA protocol's EEPROM reset and bootloader jump commands, and allow for reinstation through #define.

* Removed at Wilba's suggestion.
2021-02-14 11:20:57 +11:00
Nick Brassel 620a946d01 Add STM32G431 and STM32G474 board definitions. (#11793)
* Add STM32G431 and STM32G474 board definitions.

* Add docs.
2021-02-06 11:27:46 +11:00
Nick Brassel 27749e1c96 Fixup lck75 line endings. 2021-02-04 14:13:47 +11:00
Nick Brassel db11a2a1fd Decouple USB events from the USB interrupt handler. (#10437) 2021-02-01 08:19:00 +11:00
Nick Brassel 4fe4087d4a Enforce memory allocator for ChibiOS builds with allocating debounce algorithms (#11630) 2021-01-29 20:13:56 -08:00
Nick Brassel d65db68f9f Merge remote-tracking branch 'upstream/master' into develop 2021-01-28 10:52:59 +11:00