Commit Graph

671 Commits

Author SHA1 Message Date
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
f346c8400c Update ChibiOS-Contrib (#17540) 2022-07-03 00:47:28 +10:00
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
59e28b8958 Add cli command to import keyboard|keymap|kbfirmware (#16668) 2022-07-02 21:50:09 +10:00
d6c39490df Merge remote-tracking branch 'origin/master' into develop 2022-07-01 21:21:11 +00:00
9d70162d53 Allow locate_keymap to handle DEFAULT_FOLDER (#17529) 2022-07-01 22:20:32 +01:00
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
fb05b491e7 Merge remote-tracking branch 'origin/master' into develop 2022-06-29 23:34:39 +00:00
7326a0051b Allow module check to error out when piped to /dev/null (#17505) 2022-06-30 00:33:59 +01:00
33b62b6867 Merge remote-tracking branch 'origin/master' into develop 2022-06-26 22:59:06 +00:00
fa3dd373b4 Fix error message in generated code (#17484) 2022-06-27 08:58:31 +10:00
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
99614bd89a Merge remote-tracking branch 'origin/master' into develop 2022-06-25 19:41:30 +00:00
e13bb58c40 Only omit paths containing "/keymaps/" (#17468)
This allows keyboard names to contain the word "keymaps"
2022-06-25 20:40:49 +01:00
1a400d8644 Allow encoder config from info.json (#17295) 2022-06-20 20:15:06 -07:00
17ec1650fd Additional schema fixes (#17414) 2022-06-18 15:30:46 +10:00
999b91fbd9 SPI Bugfix for ChibiOS 21.11.1 -- also rollback AW20216 mode change issue. (#17371) 2022-06-17 08:03:38 +10:00
0b1bed1d41 Use --exclude-from=.gitignore in place of --exclude-standard (#17399) 2022-06-16 11:20:12 -07:00
ef80a1dd67 Update V-USB submodule (#17385) 2022-06-16 21:02:40 +10:00
589bdedc47 Merge remote-tracking branch 'origin/master' into develop 2022-06-15 21:44:32 +00:00
d3dfa83b40 Fix clean arg handling (#17392) 2022-06-15 22:43:54 +01:00
4cde5c243b Merge remote-tracking branch 'origin/master' into develop 2022-06-14 13:55:32 +00:00
f37de9a212 Perform stricter lint checks (#17348) 2022-06-14 14:54:46 +01:00
0d64038b73 Update LUFA submodule (#17368) 2022-06-13 09:17:24 +10:00
af6435d44d qmk doctor: show arch for macOS (#17356) 2022-06-11 19:10:09 +01:00
6b838785b7 Merge remote-tracking branch 'origin/master' into develop 2022-06-10 10:45:24 +00:00
92665aef33 Promote 'layouts require matrix data' to api error (#17349) 2022-06-10 11:44:48 +01:00
7baf9b3f35 Promote label with newlines to lint error (#17347) 2022-06-10 11:44:23 +01:00
474b4083ae Merge remote-tracking branch 'origin/master' into develop 2022-06-09 20:02:58 +00:00
a599550adb Add support for linting deprecated and removed functionality (#17063)
* Add support for more lint warnings/errors

* Develop currently needs extra deps installed

* Lint a few more scenarios

* fix tests
2022-06-09 21:02:16 +01:00
67e80780bb Merge remote-tracking branch 'origin/master' into develop 2022-05-30 22:44:05 +00:00
2879573688 Fix various lint errors (#17255)
* Fix various lint errors

* reduce complexity
2022-05-30 23:43:36 +01:00
2de70e6f2d Add uf2-split-* make targets. (#17257) 2022-05-31 08:04:50 +10:00
1c7e8b9a9d Added support for Wb32fq95 (#16871) 2022-05-23 15:57:24 +10:00
608fa5154c Data driven g_led_config (#16728) 2022-05-16 07:39:29 +10:00
be9fa68785 Also format *.hpp files. (#16997) 2022-05-04 05:48:41 +10:00
a727bd6463 Update ChibiOS-Contrib (#16915) 2022-04-22 09:14:00 +01:00
92a61aa0cd Implement XAP 'secure' core requirements (#16843)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-04-16 11:13:05 -07:00
1f2b1dedcc Quantum Painter (#10174)
* Install dependencies before executing unit tests.

* Split out UTF-8 decoder.

* Fixup python formatting rules.

* Add documentation for QGF/QFF and the RLE format used.

* Add CLI commands for converting images and fonts.

* Add stub rules.mk for QP.

* Add stream type.

* Add base driver and comms interfaces.

* Add support for SPI, SPI+D/C comms drivers.

* Include <qp.h> when enabled.

* Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789.

* Add support for GC9A01.

* Add support for ILI9341.

* Add support for ILI9163.

* Add support for SSD1351.

* Implement qp_setpixel, including pixdata buffer management.

* Implement qp_line.

* Implement qp_rect.

* Implement qp_circle.

* Implement qp_ellipse.

* Implement palette interpolation.

* Allow for streams to work with either flash or RAM.

* Image loading.

* Font loading.

* QGF palette loading.

* Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images.

* Image drawing.

* Animations.

* Font rendering.

* Check against 256 colours, dump out the loaded palette if debugging enabled.

* Fix build.

* AVR is not the intended audience.

* `qmk format-c`

* Generation fix.

* First batch of docs.

* More docs and examples.

* Review comments.

* Public API documentation.
2022-04-13 18:00:18 +10:00
2cfbc1445c Allow new-keyboard to use development_board presets (#16785) 2022-04-08 20:12:32 +01:00
85de020573 CLI: Bump the 'jsonschema' version (#16635)
* CLI: Bump the 'jsonschema' version

Update the used meta-schema from Draft 7 from 2018 to the latest one,
Draft 2020-12.
Currently, the validator falls back to Draft 7 if the newer validator is
not available. Draft 2020-12 support was introduced to 'jsonschema' in
version 4.0.0.

* Fix formatting
2022-04-06 19:46:16 +01:00
c0ac3f7372 Add frameworking for development board presets (#16637)
* Add frameworking for development board presets

* Update lib/python/qmk/info.py

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

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-04-03 18:45:10 +01:00
d75ae52fe6 Merge remote-tracking branch 'origin/master' into develop 2022-03-30 20:55:16 +00:00
64974a7f8f yapf: disable arithmetic predecence indication (#16749) 2022-03-30 21:54:13 +01:00
03f9b8db15 Merge remote-tracking branch 'origin/master' into develop 2022-03-27 20:29:09 +00:00
8c0198334c CLI: Lint non-data driven macros in info.json (#16739)
* CLI: Lint non-data driven macros in info.json

Macros in info.json should either have the "matrix" key with the matrix
data or should should be also present in <keyboard>.h

* Add verification of matrix data

* Use generic '<keyboard>.h' in output

* Add keyboard name to output

* Make C layout macro finding more robust

The old code missed C macros if they had whitespace between '#' and
'define' or had whitespace before '#'.
2022-03-27 21:28:36 +01:00
05ac5727f2 Merge remote-tracking branch 'origin/master' into develop 2022-03-26 19:15:58 +00:00
55e5daa868 Fix bug when 'info.json' lookup escapes keyboard dir (#16734) 2022-03-26 19:15:25 +00:00
2957f60dc1 Merge remote-tracking branch 'origin/master' into develop 2022-03-24 20:14:36 +00:00
efc9c525b1 CLI: Add 'via2json' subcommand (#16468) 2022-03-24 21:13:40 +01:00