Commit Graph

596 Commits

Author SHA1 Message Date
Joel Challis
9bc7e9afbd
Initial uk+us DD keymap_extras migration (#19031) 2022-12-09 00:54:52 +00:00
QMK Bot
5a2ed77a08 Merge remote-tracking branch 'origin/master' into develop 2022-12-08 16:31:37 +00:00
Joel Challis
6e6039995b
Add lint check for keyboard/keymap license header (#19215) 2022-12-09 03:31:02 +11:00
Joel Challis
32dabd5320
Align new-keymap with new-keyboard (#19229) 2022-12-03 12:04:06 +00:00
Joel Challis
82760bcea6
Apply suggested workaround for #18371 (#19226)
Fixes undefined
2022-12-03 11:42:54 +11:00
Joel Challis
3e59bbd731
Automate "Data Driven" migrations (#17820) 2022-11-30 20:08:54 +00:00
Joel Challis
5d516ac2e2
Ignore some layout macro names from lint (#19207) 2022-11-30 06:39:41 +00:00
Joel Challis
17fec52b0f
Extend layout lint checks (#19200)
* Extend layout lint checks

* Apply suggestions from code review

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

* Fix function comment

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-30 04:27:48 +00:00
Joel Challis
cb57ec9c02
Revert lib/usbhost changes (#19165) 2022-11-27 02:05:04 +00:00
QMK Bot
2582992381 Merge remote-tracking branch 'origin/master' into develop 2022-11-25 17:32:45 +00:00
Ryan
8f9b49dc5b
Fix build failures for bastardkb/tbk and jels/boaty (#19152) 2022-11-25 17:31:58 +00:00
Joel Challis
af6aa225eb
Additional DD backlight config (#19124)
* Additional dd backlight config

* Update docs
2022-11-23 18:48:22 +00:00
Joel Challis
dfa53900dc
Publish constants metadata to API (#19143)
* Publish metadata

* Ensure content is sorted
2022-11-23 18:01:07 +00:00
Drashna Jaelre
1a3f2130d5
Revert "Add pointing device support to data driven config (#18215)" (#19063) 2022-11-15 17:44:09 +11:00
Drashna Jaelre
d3073ef494
Add pointing device support to data driven config (#18215)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-11-14 03:05:46 +11:00
Joel Challis
dc9162438d
Reject json with duplicate keys? (#18108) 2022-11-09 15:50:43 +00:00
Ryan
d789b4b7d9
Improve LED config parsing error messages (#19007) 2022-11-09 14:02:44 +00:00
Nick Brassel
9daf77b593
Add raw output option for QGF/QFF files. (#18998) 2022-11-08 15:47:07 +00:00
Joel Challis
7666c966d5
Publish hjson files as json (#18996) 2022-11-08 03:03:02 +00:00
Ryan
479d8de622
Format DD mappings and schemas (#18924) 2022-11-08 01:05:08 +00:00
Nick Brassel
4d33f356a6
Macro keycode name refactoring (#18958) 2022-11-05 23:22:11 +11:00
Joel Challis
a69ab05dd6
Initial DD keycode migration (#18643)
* Initial DD keycode migration

* Sort magic keycodes
2022-11-05 10:30:09 +00:00
Joel Challis
345f19a5d7
Add converter support to keymap.json (#18776) 2022-10-20 18:21:17 -07:00
Joel Challis
0b41c13509
[CLI] Ensure consistent clean behaviour (#18781) 2022-10-20 14:35:27 +01:00
Joel Challis
aa8e0a3e7a
Build correctly when out of tree (#18775) 2022-10-19 17:43:25 +01:00
Joel Challis
fc0330a54a
Correctly build keymap.json containing additional config (#18766) 2022-10-19 11:29:44 +01:00
QMK Bot
e93dc66733 Merge remote-tracking branch 'origin/master' into develop 2022-10-12 21:41:29 +00:00
Joel Challis
4dec07741b
Remove unused LED_INDICATORS constant (#18686) 2022-10-12 22:40:53 +01:00
Stefan Kerkmann
976f454df0
[Bug] Update ChibiOS-Contrib for USB IRQ and bus handling fixes (#18574) 2022-10-03 18:57:13 +01:00
Ryan
675d91b813
Generate DD RGBLight/LED/RGB Matrix animation defines (#18459) 2022-09-26 01:04:21 +01:00
Stefan Kerkmann
828a1db035
Update chibios-contrib for RP2040 i2c fixes take 2 (#18455)
...includes missing system locking inside a timeout waiting condition and
updates to the rp2040 linker file.
2022-09-22 20:57:50 +01:00
Ryan
2f48d300f4
Normalise info_config.h define generation (#18439)
* Normalise info_config.h define generation

* format

* Fix tests

* Update lib/python/qmk/cli/generate/config_h.py

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-09-21 18:31:57 +01:00
Ryan
591701cdf9
Fix incorrect g_led_config generation (#18431) 2022-09-21 02:41:18 +01:00
Stefan Kerkmann
5a563444ac
Update ChibiOS to latest 21.11.2 (#18428)
This includes a hotfix for RP2040 deadlocks due to XIP cache misses in
the ChibiOS virtual timer implementation.
2022-09-20 01:14:43 +01:00
Stefan Kerkmann
613e3f68b5
Update pico-sdk to version 1.4.0 (#18423)
...which contains fixes for GCC warnings.
2022-09-19 19:30:16 +01:00
Joel Challis
20f142a772
Tidy up LAYOUT macro generation (#18262) 2022-09-19 01:35:46 +01:00
Drashna Jaelre
fb29c0ae53
[Core] Add getreuer's Autocorrect feature to core (#15699)
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
2022-09-17 17:50:54 +10:00
QMK Bot
cf0494e458 Merge remote-tracking branch 'origin/master' into develop 2022-09-16 08:19:51 +00:00
Nick Brassel
cf88d95613
Add ability to remove temporary files during multibuild. (#18381) 2022-09-16 09:19:10 +01:00
Ryan
bc0756f294
Disconnect usb.device_ver (#18259) 2022-09-16 12:05:25 +10:00
Joshua Diamond
23e12497b2 Merge remote-tracking branch 'origin/master' into develop 2022-09-12 18:57:58 -04:00
Joel Challis
725df1278b
Fix '_RIGHT' matrix pins lint error (#18320) 2022-09-09 21:22:55 +01:00
Ryan
bb6f028833
Move bootloader.mk to platforms (#18228) 2022-08-31 07:17:24 -07:00
QMK Bot
ba7030d216 Merge remote-tracking branch 'origin/master' into develop 2022-08-31 05:20:33 +00:00
Ryan
6f804f76b4
qmk lint: fix TypeError (#18226) 2022-08-31 15:20:00 +10:00
Jeff Epler
9632360caa
Use a macro to compute the size of arrays at compile time (#18044)
* Add ARRAY_SIZE and CEILING utility macros

* Apply a coccinelle patch to use ARRAY_SIZE

* fix up some straggling items

* Fix 'make test:secure'

* Enhance ARRAY_SIZE macro to reject acting on pointers

The previous definition would not produce a diagnostic for
```
int *p;
size_t num_elem = ARRAY_SIZE(p)
```
but the new one will.

* explicitly get definition of ARRAY_SIZE

* Convert to ARRAY_SIZE when const is involved

The following spatch finds additional instances where the array is
const and the division is by the size of the type, not the size of
the first element:
```
@ rule5a using "empty.iso" @
type T;
const T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@ rule6a using "empty.iso" @
type T;
const T[] E;
@@

- sizeof(E)/sizeof(T)
+ ARRAY_SIZE(E)
```

* New instances of ARRAY_SIZE added since initial spatch run

* Use `ARRAY_SIZE` in docs (found by grep)

* Manually use ARRAY_SIZE

hs_set is expected to be the same size as uint16_t, though it's made
of two 8-bit integers

* Just like char, sizeof(uint8_t) is guaranteed to be 1

This is at least true on any plausible system where qmk is actually used.

Per my understanding it's universally true, assuming that uint8_t exists:
https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1

* Run qmk-format on core C files touched in this branch

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-08-30 10:20:04 +02:00
Ryan
3adaf6a46a
Handle escaping of manufacturer/product strings (#18194) 2022-08-28 19:35:17 +01:00
Ryan
d983251c10
Switch over MANUFACTURER and PRODUCT to string literals (#18183) 2022-08-28 09:59:40 -07:00
Ryan
24720400a8
Update LUFA submodule (#18168) 2022-08-26 12:19:34 +10:00
QMK Bot
129c60946c Merge remote-tracking branch 'origin/master' into develop 2022-08-24 19:26:18 +00:00
Joel Challis
3d8c624698
Update invalid pip install flag (#18146) 2022-08-24 20:25:16 +01:00
Sergey Vlasov
7ee55b1754
Fix PID value for the Keyboardio Atreus 2 bootloader (#18116)
Copy the correct PID from `util/udev/50-qmk.rules`.
2022-08-20 15:59:17 +01:00
Erovia
5e2ffe7d8f
CLI: Teaching the CLI to flash binaries (#16584)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-08-20 15:39:19 +10:00
Joel Challis
3c745caf61
Remove legacy bootmagic cli parsing (#18099) 2022-08-19 01:56:48 +01:00
Joel Challis
9550cc464c
Fix new-keyboard default for RP2040 bootloader (#18100) 2022-08-19 01:48:33 +01:00
Joel Challis
fc7e9efd21
Improve importer workflow (#17707) 2022-08-13 14:39:56 +01:00
Nick Brassel
8133f40c26
Update to latest ChibiOS-Contrib. (#18016) 2022-08-13 08:54:32 +10:00
Nick Brassel
154d35ac14
Remove UNUSED_PINS (#17931) 2022-08-06 23:23:35 +10:00
QMK Bot
820371c31b Merge remote-tracking branch 'origin/master' into develop 2022-08-06 12:38:13 +00:00
Ryan
37345e2ace
Provide users with replacements for deprecated/invalid functionality where applicable (#17604) 2022-08-06 22:37:40 +10:00
Joel Challis
897403c4a7
Publish data as part of API generation (#17020) 2022-08-06 16:14:29 +10:00
QMK Bot
00c1653a15 Merge remote-tracking branch 'origin/master' into develop 2022-07-27 09:29:50 +00:00
Albert Y
3285659690
CLI compatibility for MacOS (#17811) 2022-07-27 10:29:10 +01:00
Stefan Kerkmann
59d940c9f3
ChibiOS-Contrib: Update for RP2040 PWM and I2C driver (#17817) 2022-07-27 10:06:18 +02:00
QMK Bot
61da9286a1 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 16:38:06 +00:00
Nick Brassel
d1434b6d75
Make qmk doctor print out the last log entry for upstream/{master,develop}, including dates (#17713) 2022-07-26 17:37:28 +01:00
QMK Bot
8254d73fd4 Merge remote-tracking branch 'origin/master' into develop 2022-07-23 16:42:55 +00:00
Niko Wenselowski
1f42a8ccdd
Fix test logic to check for both keymaps (#17761)
Python will evaluate first the left and then the right side of the and operator.

The left side would previously return True based on the truthiness logic that treats any non-emptry string as true.

It would not check if the desired keymap exists.

If the left side is true it will evaluate the right side which will check for the existance of a specific keymap.

With this change the check for existance of two keymaps is implemented.
2022-07-23 17:42:19 +01:00
Nick Brassel
1cdde7ba6a
Fix AVR compilation of FNV by using standard integer typenames. (#17716) 2022-07-19 05:30:01 +01:00
Joel Challis
35d78aa8a4
More DD encoder fixes (#17615) 2022-07-11 10:51:39 +01:00
QMK Bot
39e1e27ea9 Merge remote-tracking branch 'origin/master' into develop 2022-07-09 12:33:33 +00:00
Nick Brassel
561c5e1d7a
Add line to multibuild output log showing the actual build target. (#17606) 2022-07-09 22:32:43 +10:00
QMK Bot
30f2556ae9 Merge remote-tracking branch 'origin/master' into develop 2022-07-08 21:50:28 +00:00
Dasky
06310e81e9
Allow only col or row pins for *_right extraction. (#17590) 2022-07-08 22:49:55 +01:00
Joel Challis
81d317aa87
Fix rgbkb/sol/rev2 build issues (#17601) 2022-07-08 22:48:48 +01:00
Stefan Kerkmann
d9bb189e25
[Core] Update mpaland/printf to eyalroz/printf fork (#16163)
mpaland printf implementation was abandoned in ~2019 and the fork by
eyalroz is now regarded to be the goto replacement of it. So this commit
incoporates the changes needed to use this fork in QMK.

Note that pointer ptrdiff_t is always supported since commit
51c90f93a97fdaef895783ecbe24569be0db7cb8
2022-07-07 09:27:50 +02:00
Nick Brassel
f346c8400c
Update ChibiOS-Contrib (#17540) 2022-07-03 00:47:28 +10:00
Ryan
ac5e6b6a3b
Tentative Teensy 3.5 support (#14420)
* Tentative Teensy 3.5 support

* Set firmware format to .hex for ARM Teensys

* Got to "device descriptor failed" by comparing with Teensy 3.6 code

* Drop down to 96MHz...

* Bump back up to 120MHz
2022-07-03 00:12:45 +10:00
Joel Challis
59e28b8958
Add cli command to import keyboard|keymap|kbfirmware (#16668) 2022-07-02 21:50:09 +10:00
QMK Bot
d6c39490df Merge remote-tracking branch 'origin/master' into develop 2022-07-01 21:21:11 +00:00
Joel Challis
9d70162d53
Allow locate_keymap to handle DEFAULT_FOLDER (#17529) 2022-07-01 22:20:32 +01:00
Stefan Kerkmann
d717396708
[Core] Add Raspberry Pi RP2040 support (#14877)
* Disable RESET keycode because of naming conflicts

* Add Pico SDK as submodule

* Add RP2040 build support to QMK

* Adjust USB endpoint structs for RP2040

* Add RP2040 bootloader and double-tap reset routine

* Add generic and pro micro RP2040 boards

* Add RP2040 onekey keyboard

* Add WS2812 PIO DMA enabled driver and documentation

Supports regular and open-drain output configuration. RP2040 GPIOs are
sadly not 5V tolerant, so this is a bit use-less or needs extra hardware
or you take the risk to fry your hardware.

* Adjust SIO Driver for RP2040

* Adjust I2C Driver for RP2040

* Adjust SPI Driver for RP2040

* Add PIO serial driver and documentation

* Add general RP2040 documentation

* Apply suggestions from code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-06-30 13:19:27 +02:00
QMK Bot
fb05b491e7 Merge remote-tracking branch 'origin/master' into develop 2022-06-29 23:34:39 +00:00
Joel Challis
7326a0051b
Allow module check to error out when piped to /dev/null (#17505) 2022-06-30 00:33:59 +01:00
QMK Bot
33b62b6867 Merge remote-tracking branch 'origin/master' into develop 2022-06-26 22:59:06 +00:00
Joel Challis
fa3dd373b4
Fix error message in generated code (#17484) 2022-06-27 08:58:31 +10:00
Nick Brassel
01ecf332ff
Generic wear-leveling algorithm (#16996)
* Initial import of wear-leveling algorithm.

* Alignment.

* Docs tweaks.

* Lock/unlock.

* Update quantum/wear_leveling/wear_leveling_internal.h

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>

* More tests, fix issue with consolidation when unlocked.

* More tests.

* Review comments.

* Add plumbing for FNV1a.

* Another test checking that checksum mismatch clears the cache.

* Check that the write log still gets played back.

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-06-27 07:18:21 +10:00
QMK Bot
99614bd89a Merge remote-tracking branch 'origin/master' into develop 2022-06-25 19:41:30 +00:00
precondition
e13bb58c40
Only omit paths containing "/keymaps/" (#17468)
This allows keyboard names to contain the word "keymaps"
2022-06-25 20:40:49 +01:00
Joel Challis
1a400d8644
Allow encoder config from info.json (#17295) 2022-06-20 20:15:06 -07:00
Joel Challis
17ec1650fd
Additional schema fixes (#17414) 2022-06-18 15:30:46 +10:00
Nick Brassel
999b91fbd9
SPI Bugfix for ChibiOS 21.11.1 -- also rollback AW20216 mode change issue. (#17371) 2022-06-17 08:03:38 +10:00
precondition
0b1bed1d41
Use --exclude-from=.gitignore in place of --exclude-standard (#17399) 2022-06-16 11:20:12 -07:00
Ryan
ef80a1dd67
Update V-USB submodule (#17385) 2022-06-16 21:02:40 +10:00
QMK Bot
589bdedc47 Merge remote-tracking branch 'origin/master' into develop 2022-06-15 21:44:32 +00:00
Joel Challis
d3dfa83b40
Fix clean arg handling (#17392) 2022-06-15 22:43:54 +01:00
QMK Bot
4cde5c243b Merge remote-tracking branch 'origin/master' into develop 2022-06-14 13:55:32 +00:00
Joel Challis
f37de9a212
Perform stricter lint checks (#17348) 2022-06-14 14:54:46 +01:00
Ryan
0d64038b73
Update LUFA submodule (#17368) 2022-06-13 09:17:24 +10:00
Ryan
af6435d44d
qmk doctor: show arch for macOS (#17356) 2022-06-11 19:10:09 +01:00