Commit graph

537 commits

Author SHA1 Message Date
Nick Brassel
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
zvecr
d19285019d All other subsystems are disabled during unlock 2022-04-12 01:37:31 +01:00
zvecr
ffb0575eb8 stub out secure data driven config 2022-04-11 01:59:48 +01:00
zvecr
3e4de1ebd0 format 2022-04-11 00:53:31 +01:00
zvecr
89fab427c4 stub out secure as its own feature 2022-04-11 00:43:18 +01:00
Drashna Jael're
9ac3445454
Merge remote-tracking branch 'origin/develop' into xap 2022-04-08 20:34:54 -07:00
Joel Challis
2cfbc1445c
Allow new-keyboard to use development_board presets (#16785) 2022-04-08 20:12:32 +01:00
Erovia
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
zvecr
c1b57354f6 Stub out more of broadcast messages 2022-04-05 18:54:28 +01:00
QMK Bot
e3afa07ca9 Merge remote-tracking branch 'origin/develop' into xap 2022-04-03 17:45:49 +00:00
Joel Challis
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
zvecr
c9eae1d384 format 2022-04-02 00:11:22 +01:00
zvecr
e7d9d6675c Implement codegen for more data types - codegen for return_execute stubs removed 2022-04-01 23:38:13 +01:00
zvecr
c5842ab9b5 stub out return_execute with zero args 2022-04-01 00:44:27 +01:00
zvecr
e111b9d017 Use slightly more unique data name 2022-03-31 23:31:01 +01:00
zvecr
53052228df Add types codegen 2022-03-31 22:34:25 +01:00
Nick Brassel
ffcdfc6c03 Swap info.json.gz length to #define. 2022-04-01 08:15:33 +11:00
zvecr
81a53ac5b6 gen RESPONSE_FLAG defines 2022-03-31 21:08:18 +01:00
zvecr
646fdc7d17 Rework code gen for return of dynamic variables 2022-03-31 01:18:26 +01:00
zvecr
73d2228524 format 2022-03-30 23:25:33 +01:00
zvecr
6269c6b51c partial gen for return_execute 2022-03-30 23:20:14 +01:00
QMK Bot
5a099e1ad7 Merge remote-tracking branch 'origin/develop' into xap 2022-03-30 20:55:54 +00:00
QMK Bot
d75ae52fe6 Merge remote-tracking branch 'origin/master' into develop 2022-03-30 20:55:16 +00:00
Ryan
64974a7f8f
yapf: disable arithmetic predecence indication (#16749) 2022-03-30 21:54:13 +01:00
zvecr
22b8299230 Fix up print_dotted_output dict handling 2022-03-30 00:43:41 +01:00
zvecr
a65ea1a711 Fix codegen for non led boards 2022-03-30 00:43:41 +01:00
zvecr
13ee88dd21 Data driven g_led config 2022-03-30 00:43:41 +01:00
zvecr
56c9f7b7ff format 2022-03-29 19:25:16 +01:00
zvecr
05911e9908 bodge 'qmk xap -l' for windows 2022-03-29 18:36:08 +01:00
zvecr
7262333857 Use generic 'dump_lines' 2022-03-28 21:18:17 +01:00
zvecr
ff1bb76537 basic info.json handling 2022-03-28 21:06:16 +01:00
QMK Bot
fc45ff1f07 Merge remote-tracking branch 'origin/develop' into xap 2022-03-27 20:29:43 +00:00
QMK Bot
03f9b8db15 Merge remote-tracking branch 'origin/master' into develop 2022-03-27 20:29:09 +00:00
Erovia
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
Drashna Jael're
80102c0e83
Merge remote-tracking branch 'origin/develop' into xap 2022-03-26 13:37:01 -07:00
QMK Bot
05ac5727f2 Merge remote-tracking branch 'origin/master' into develop 2022-03-26 19:15:58 +00:00
Erovia
55e5daa868
Fix bug when 'info.json' lookup escapes keyboard dir (#16734) 2022-03-26 19:15:25 +00:00
Drashna Jael're
15e0964108
Merge remote-tracking branch 'origin/develop' into xap 2022-03-26 10:32:27 -07:00
QMK Bot
2957f60dc1 Merge remote-tracking branch 'origin/master' into develop 2022-03-24 20:14:36 +00:00
Erovia
efc9c525b1
CLI: Add 'via2json' subcommand (#16468) 2022-03-24 21:13:40 +01:00
QMK Bot
728305e961 Merge remote-tracking branch 'origin/develop' into xap 2022-03-22 10:48:49 +00:00
Joel Challis
23f365f8bc
Ignore transport defaults if SPLIT_KEYBOARD is unset (#16706)
* Ignore transport defaults if SPLIT_KEYBOARD is unset

* keep exists check
2022-03-22 10:48:13 +00:00
zvecr
e31c605bf7 revert split logic 2022-03-22 00:04:12 +00:00
zvecr
f872fbea7e Merge remote-tracking branch 'origin/develop' into xap 2022-03-21 12:46:36 +00:00
Joel Challis
4f8cc32cf5
Extend 'qmk info' to handle keymap level overrides (#16702) 2022-03-21 11:57:41 +01:00
zvecr
b365cbce15 Merge in keymap level to XAP info.json payload 2022-03-20 01:25:04 +00:00
QMK Bot
29f349b90b Merge remote-tracking branch 'origin/develop' into xap 2022-03-19 20:59:36 +00:00
QMK Bot
729d7c2b2e Merge remote-tracking branch 'origin/master' into develop 2022-03-19 20:59:03 +00:00
Ryan
2f095b8925
qmk.path.FileType: fix argument handling (#16693)
* qmk.path.FileType: pass in mode as first argument

* Better solution

* Grammar...
2022-03-19 20:58:30 +00:00
zvecr
4d4b013e5b Fixup after merge 2022-03-18 17:03:54 +00:00
zvecr
5bb6173cc7 Fixup after merge 2022-03-18 17:01:02 +00:00
zvecr
e5e1e54f39 Merge remote-tracking branch 'origin/develop' into xap 2022-03-18 16:57:34 +00:00
QMK Bot
3a08deb7fe Merge remote-tracking branch 'origin/master' into develop 2022-03-18 16:02:57 +00:00
Joel Challis
ed773ab73c
Relocate CLI git interactions (#16682) 2022-03-18 16:02:24 +00:00
zvecr
72602a3443 Fixup after merge 2022-03-18 01:53:39 +00:00
zvecr
2e8db66201 Merge remote-tracking branch 'origin/develop' into xap 2022-03-18 01:20:16 +00:00
zvecr
bffb209eee Merge remote-tracking branch 'origin/master' into develop 2022-03-18 01:15:23 +00:00
Joel Challis
e5823b5650
[CLI] Add common util for dumping generated content (#16674) 2022-03-18 01:09:29 +00:00
zvecr
31c4864705 Crude CLI device discovery 2022-03-16 19:45:42 +00:00
zvecr
9fd4db1fc7 fix up for pytest - remove fstring escaping 2022-03-16 10:58:21 +00:00
zvecr
52d3b9dcc5 fix up for pytest 2022-03-16 00:10:40 +00:00
zvecr
2b4724bd83 Convert info_json_gz.h generation to CLI 2022-03-15 17:59:12 +00:00
zvecr
b96b862ef9 Merge remote-tracking branch 'origin/develop' into xap 2022-03-15 13:27:35 +00:00
QMK Bot
31eb82c911 Merge remote-tracking branch 'origin/master' into develop 2022-03-10 21:34:11 +00:00
Erovia
b75f6691a1
CLI: Fix 'cd' subcommand on Windows (#16610)
The 'cd' subcommand was failing as the current shell's Windows path was
mangled while milc processed it.
Using 'subprocess' directly avoids this issue and an extra layer of
subshell.
2022-03-10 21:33:41 +00:00
Nick Brassel
c3ac89d1c9 qmk format-c, qmk format-python 2022-03-09 20:01:20 +11:00
Nick Brassel
575d8c19fc Merge remote-tracking branch 'upstream/develop' into xap 2022-03-09 19:47:31 +11:00
Nick Brassel
8d5eacb7dd
Add support for encoder mapping. (#13286) 2022-03-09 19:29:00 +11:00
QMK Bot
49bc3b530b Merge remote-tracking branch 'origin/master' into develop 2022-03-08 20:46:24 +00:00
Ryan
b593cfccbd
qmk info: Nicer rendering of big-ass enter (#16541)
* `qmk info`: Nicer rendering of big-ass enter

* Formatting...
2022-03-08 20:45:47 +00:00
Ryan
75544d9127
Move Doxygen docs to subdirectory (#16561) 2022-03-07 11:22:22 +00:00
Nick Brassel
44f1bd9b3a
ChibiOS 21.11.1 update. (#16251)
* ChibiOS 21.11.1 update.

* `uf2-tinyuf2` => `tinyuf2`

* Updated chibios-contrib, fixup preprocessor for tinyuf2 bootloader.

* Fixup keychron L433 boards.

* Makefile cleanup.

* RISC-V build fixes.

* Fixup RISC-V build.
2022-03-07 21:04:22 +11:00
QMK Bot
f7512d61bd Merge remote-tracking branch 'origin/master' into develop 2022-03-05 22:55:11 +00:00
Ryan
8e9d45d270
qmk info: nicer rendering of ISO enter (#16466) 2022-03-05 22:54:32 +00:00
Ryan
7d41639d54
Map data driven DESCRIPTION as string literal (#16523) 2022-03-05 00:20:34 +00:00
Ryan
ace0603f4f
Change data driven "str" type to represent a quoted string literal (#16516)
* Change data driven "str" type to represent a quoted string literal

* Update docs
2022-03-04 13:25:24 +00:00
QMK Bot
36e47cb3aa Merge remote-tracking branch 'origin/master' into develop 2022-02-28 20:03:22 +00:00
Erovia
fbfd5312b9
CLI: Validate JSON keymap input (#16261)
* Fix schema validator

It should use the passed schema.

* Add required attributes to keymap schema

* Rework subcommands to validate the JSON keymaps

The 'compile', 'flash' and 'json2c' subcommands were reworked to add
JSON keymap validation so error is reported for non-JSON and
non-compliant-JSON inputs.

* Fix required fields in keymap schema

* Add tests

* Fix compiling keymaps directly from keymap directory

* Schema should not require version for now.
2022-02-28 20:02:39 +00:00
QMK Bot
3c7c9bdd86 Merge remote-tracking branch 'origin/master' into develop 2022-02-27 12:40:01 +00:00
Joel Challis
779c7debcf
Fix issues with data driven split keyboards (#16457) 2022-02-27 13:39:24 +01:00
Joel Challis
e4a6afa369
Rework generate-api CLI command to use .build directory (#16441) 2022-02-27 12:28:51 +01:00
Joel Challis
77cdb20e16
Revert CLI default for manufacturer (#16467) 2022-02-27 10:34:26 +00:00
Joel Challis
cf31355f08
Changelog 2022q1 (#16380)
* Initial changelog pass

* update generate-develop-pr-list content

* Fix bad word-ness

* Fix generate-develop-pr-list ignores

* Update docs/ChangeLog/20220226.md

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

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-02-23 17:33:08 +00:00
QMK Bot
bd01e1cee8 Merge remote-tracking branch 'origin/master' into develop 2022-02-22 18:32:43 +00:00
QMK Bot
8aec20c0da
Format code according to conventions (#16435) 2022-02-22 18:29:47 +00:00
fauxpark
a44abeb99a Merge remote-tracking branch 'upstream/master' into develop 2022-02-22 03:04:41 +11:00
Ryan
f30f963a0b
Internal docs generation updates (#16411) 2022-02-21 15:47:44 +00:00
Nick Brassel
6c7afbb859 Migrate XAP docs generator into CLI now that most logic is in Jinja2 files. 2022-02-16 10:53:35 +11:00
Joel Challis
b0621223bc
Various fixes for new-keyboard (#16358) 2022-02-15 01:42:58 +00:00
Nick Brassel
69e9c80ec3 Reworked docs rendering using jinja2. 2022-02-15 05:19:13 +11:00
Erovia
23c238a180
CLI: Minor additions #12795 (#16276) 2022-02-14 12:02:35 +01:00
Nick Brassel
c9ec8a1309 Merge remote-tracking branch 'upstream/develop' into xap 2022-02-14 09:01:22 +11:00
Joel Challis
f7e7671f69
Migrate more makefile utilities to builddefs sub-directory (#16002) 2022-02-10 09:45:51 -08:00
Joel Challis
2e279f1b88
Initial pass at data driven new-keyboard subcommand (#12795)
* Initial pass at a data driven keyboard subcommand

* format

* lint

* Handle bootloader now its mandatory
2022-02-09 06:03:30 +11: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
db43e45077
Ensure version.h is recreated each build. (#16188) 2022-02-04 07:36:02 +11:00
Nick Brassel
dcf4bf6d29 Merge remote-tracking branch 'upstream/develop' into xap 2022-02-03 03:15:01 +11:00
Drashna Jaelre
d4dc743a85
Fix issues with Python Tests (#16162)
* Reformat python due to yapf changes

* Fix pytest keymap list test

* revert formatting

* Use contra, because, well

https://www.reddit.com/r/MechanicalKeyboards/comments/8riofq/did_i_kill_my_contra/
2022-02-02 15:44:42 +11:00
QMK Bot
7d38aec3ac Merge remote-tracking branch 'origin/master' into develop 2022-02-02 04:31:44 +00:00
Ryan
c9f88d7c67
qmk doctor: display qmk_firmware version tag (#16155) 2022-02-01 20:31:42 -08:00