Commit Graph

62 Commits

Author SHA1 Message Date
xs5871
88c3616b6a Refactor Makefile copy-* targets for improved readability 2023-02-24 18:17:59 +00:00
xs5871
6ab4154ad5 Make copy-board target copy all BOARD/.*py files 2023-02-24 18:17:59 +00:00
xs5871
db2082f1c6 Add make target for compiled mpy code 2023-02-24 18:17:59 +00:00
xs5871
317f6407d6 Improve mpy-cross compilation target 2023-02-24 18:17:59 +00:00
xs5871
08c255b6e4 Add optional selection of specific unit test to Makefile 2023-02-24 18:17:59 +00:00
xs5871
091395691d add unittest directory to the fix-isort target 2022-10-14 08:28:00 -07:00
xs5871
2a53bd8b64 Allow passing user-defined MPY_SOURCES and MPY_CROSS to make 2022-03-31 16:14:17 -07:00
Josh Klar
46152ae8d9 feat(ci): run tests (from #288) in CI, which already runs make test 2022-02-04 08:38:20 -08:00
Josh Klar
9b5e35a5a8
feat(kmkpy): make dist -> uf2 files for each supported NRF board, with KMK bundled 2021-06-20 13:55:18 -07:00
Kyle Brown
e72d2b8c34
feat(extensions): most of the extensions implementation, by kdb424 2021-06-20 13:55:16 -07:00
Josh Klar
86c8e006e0
Remove ancient, no-way-this-is-working-right-now test leftovers 2019-07-25 00:10:49 -07:00
Josh Klar
ef1c69aa2c
Fix linting; move kmk.util.intify_coordinate to kmk.matrix.intify_coordinate (trying to deprecate/remove util) 2019-07-24 23:43:00 -07:00
Josh Klar
4bdf926360
boot.py is still required - ensure it ends up in our dists and is documented 2019-07-24 23:28:13 -07:00
Josh Klar
5c0c13e8d0
Prepare for Black autoformatting: dependencies, string staging, single-quote string override 2019-07-24 23:03:13 -07:00
Josh Klar
55b07f330c
more docs, actually allow public access to release zips 2019-07-24 21:25:10 -07:00
Josh Klar
39220beddb
tag releases within the dists as well (for debugging, mostly) 2019-07-24 21:25:10 -07:00
Josh Klar
39e3a65955
Full deployment workflow: push finished assets to DigitalOcean Spaces (cdn.kmkfw.io) 2019-07-24 21:25:10 -07:00
Josh Klar
cd7d8a2e4c
Ability to build release zips in CI 2019-07-24 21:25:10 -07:00
Josh Klar
8f5511327e
Makefile can compile KMK to MPY files 2019-07-24 21:25:10 -07:00
Josh Klar
ea62d08d2c
Let's try alpine for Circle images 2019-07-24 21:25:10 -07:00
Josh Klar
57239e3163
Everything necessary to get this to boot finally. Planck types! 2018-12-29 06:03:31 -08:00
Josh Klar
b37f3ecdd9
Resolves #85 by bundling string polyfill directly, simplifying deploys 2018-11-05 22:05:07 -08:00
Josh Klar
d8b9117db9
Remove lots of micropython-specific remnants 2018-11-05 22:05:05 -08:00
Josh Klar
ed64b1e79e
Remove the sanity checker, it is unused and out of date 2018-10-16 23:11:50 -07:00
Josh Klar
16c82b1c0c
OMEGA REFACTOR! Perf grind basically complete.
Resolves #70, Resolves #67

Still needs some regression testing in general, and a definite
regression is that rotary encoders are no longer (for the immediate time
being) supported.

Moves to a much simpler internal state tracking system, and FAR lighter
matrix scan.

Removes MicroPython support entirely.
2018-10-16 22:21:45 -07:00
Josh Klar
19a85e1385
Unbreak pyboard builds 2018-10-15 03:21:08 -07:00
Josh Klar
ebc45d59dc
Address #52 almost entirely - target upstream builds of CircuitPython and simply copy (rsync) KMK source, a basic main.py, and the user's keymap to the CIRCUITPY drive 2018-10-15 02:49:12 -07:00
Josh Klar
00899d1b0f
Resolves #56 by moving kmk.common.* up a level to kmk.* 2018-10-11 18:13:29 -07:00
Josh Klar
7d2d04f070
Some backports from work on #46 to greatly speed up Circle builds
This backports from topic-docker the base image, which we can now use in
Circle to MASSIVELY speed up our CI situation.

The base image can currently only be pushed by @klardotsh as nobody else
has access to the Docker Hub org, but that can change in the future.
2018-10-11 17:50:39 -07:00
Josh Klar
53580a1e96
Silence the "Entering directory" notices in Makefile 2018-10-08 16:16:05 -07:00
Josh Klar
a383af2dc8
Bugfixes for Makefile, almost entirely silence it (send most output to .build.log) 2018-10-08 07:06:34 -07:00
Josh Klar
c86abe20f3
Fix Makefile for keymap validation on atmel 2018-10-08 06:10:07 -07:00
Josh Klar
247cb28d63
More CI/Makefile fixes 2018-10-07 18:47:26 -07:00
Josh Klar
f9c19a19b4
Make sure we use pipenv-provided Python within nested Make targets 2018-10-07 18:33:27 -07:00
Josh Klar
50a834a9f0
Use frozen _main.py on atmel 2018-10-07 03:51:14 -07:00
Josh Klar
71af18819f
Makefile: Simplify flash rules to have cleaner dependency trees. Fully remove targets for unsupported Teensy. 2018-10-07 01:55:53 -07:00
Josh Klar
ec9591ad8a
Makefile: Enable keymap checker on SAMD51. Fix Unix MPY build 2018-10-07 01:39:47 -07:00
Josh Klar
004b80e4b6
Some Makefile fixes 2018-10-07 01:01:37 -07:00
Josh Klar
d61d3b7b38
Makefile fix on installing devdeps 2018-10-07 00:51:37 -07:00
Josh Klar
d379acfc97
Support ItsyBitsy M4 Express as an effective clone of the Feather M4 Express with less pins. Because that's what it is. 2018-10-07 00:45:34 -07:00
Josh Klar
e11934ab2d
Able to build a VERY basic KMK image for Feather M4 Express, flashable over UF2 only 2018-10-07 00:45:30 -07:00
Josh Klar
184e4d5f98
Improve Makefile: Stop clobbering /vendor, detect submodule changes more intelligently 2018-10-05 15:31:00 -07:00
Josh Klar
1ed2be66e6
Load KMK from frozen modules on STM32 (no more ampy-flashed entrypoints) 2018-10-01 22:14:55 -07:00
Kyle Brown
b3469d9fb2 Most changes requested were done, and other general improvements. 2018-09-28 20:20:10 -07:00
Kyle Brown
97f70d7a13 Clean up pyboard and add 2 utilities 2018-09-28 20:20:10 -07:00
Josh Klar
c39c91af12
Remove useless crap from Makefile 2018-09-23 04:51:27 -07:00
Josh Klar
32dd2cecc4
Run the keymap tester on board builds usually 2018-09-23 03:12:31 -07:00
Josh Klar
94130740c4
Write a basic keymap sanity checker utility 2018-09-23 03:03:49 -07:00
Josh Klar
91c6a2128e
Build the Unix port of MicroPython so we can sanity-check layouts using the actual target Python, rather than CPython with all its niceties 2018-09-23 03:03:48 -07:00
Josh Klar
97091ff4fd
Make user keymaps fully declarative
This removes the need for the user to define... most things, honestly.
Notably, `main()` is no longer the end user's responsibility. This also
allows us to do fun stuff going forward like validating keymaps for
sanity (ex: the key assigned to `KC_MO(x)` should be assigned to
`KC_TRNS` on the target layer or the user will never be able to escape
that layer).

This also disambiguates `BOARD` to always refer to an actual slab of
silicon, renaming to `USER_KEYMAP`.

Entrypoints are now a bit more wild, and mostly-unsupported boards no
longer have working entrypoints. It's probably just time to scrap those
boards for now (until we have BLE HID and/or bitbang USB HID, at least).
2018-09-23 03:03:47 -07:00