Commit graph

765 commits

Author SHA1 Message Date
Peter Johanson
c907135727 feat(hid): Kconfig for basic/full consumer usages.
* Add ZMK_HID_CONSUMER_REPORT_USAGES choice to allow choosing
  between full consumer usage range, with poor OS compat,
  or basic consumer usage range, with broader compat.
2021-11-19 08:41:21 -08:00
Pete Johanson
6af396c658 feat(hid): Configurable NKRO HID report support.
* Add Kconfig settings for NKRO or HKRO (boot compatible), HID
  report types for keyboard page.
* Updated report storage and set/unset for each config.
2021-11-19 08:41:21 -08:00
Aleblazer
a8fa52781e feat(boards): Add Zodiark shield 2021-11-19 08:41:21 -08:00
Brandon Xie
751aa2afb7 feat(shields): Add Naked60BMP shield 2021-11-19 08:41:21 -08:00
Nick Winans
2001ed1f68 feat(boards): Remove usage of pro_micro_a/d nodes 2021-11-19 08:41:21 -08:00
Nick Winans
bd5782d2c1 feat(boards): Add D18-21 to Pro Micro pin mappings 2021-11-19 08:41:21 -08:00
Peter Johanson
79b717ec07 refactor(boards): Remove leftover right split name 2021-11-19 08:41:21 -08:00
Nick Winans
05bc1b4f17 refactor(boards): Remove "left" from split keyboard names 2021-11-19 08:41:21 -08:00
Nick Winans
595c3ca954 refactor(boards): Remove split right keyboard names 2021-11-19 08:41:21 -08:00
Peter Johanson
d18e03cca5 refactor(display): Saner font selection/defaults.
* Only select fonts for the default built in status screen
* Leverage theme default fonts, instead of hardcoding theme
  details in each component.
2021-11-19 08:41:21 -08:00
Peter Johanson
81307b32ab refactor(display): Output/layer/battery thread safety.
* Submit widget updates to display queue.
* Use mutex to control access to shared state for widgets.
2021-11-19 08:41:21 -08:00
Peter Johanson
14d7f968e5 feat(display): Optional dedicated work queue.
* Add new Kconfig settingsx to allow selecting system or dedicated
  work queue for performing UI updates.
* Allow UI updates to not block other system tasks when display is
  updating, especially important for e-ink displays.
2021-11-19 08:41:21 -08:00
Xudong Zheng
192871b657 fix(hog): use OR instead of AND for bitmap 2021-11-19 08:41:21 -08:00
Dom H
2cd284ecd8 fix(shield): Update URL in A. Dux metadata 2021-11-19 08:41:21 -08:00
Dom H
096fef4dfd refactor(shield): "Architeuthis Dux" to "A. Dux"
The shorter name is more user-friendly.
2021-11-19 08:41:21 -08:00
Dom H
4dc798c1d0 feat(shield): Add Architeuthis Dux shield 2021-11-19 08:41:20 -08:00
Peter Johanson
73bec7078b fix(hog): encrypt perm for HID report map/ref.
* Workaround for ensuring macOS pairing happens early enough,
  for their stack, we require encryption for the hids report map and
  report ref characteristics as well, to trigger pairing ealier in the
  connection process for macOS.
2021-11-19 08:41:20 -08:00
Pete Johanson
34c3aa4d79 fix(kscan): Allow composite driver to handle missing children.
For split keyboards using an IO expander over TRRS/i2c, if the
right half isn't connected, we should be able to gracefully
fallback to the left side still working.
2021-11-19 08:41:20 -08:00
Peter Johanson
f0d4e003f3 feat(board): Add Ferris 0.2 boards
* Onboard stm32f072 with mcp23018 IO expander.
* No underglow support yet.
* Miryoku inspired default layout.
2021-11-19 08:41:20 -08:00
Pete Johanson
f5576cee0b feat(drivers): Add mcp23017 driver based on upstream mcp23s17 one.
* Upstream Zephyr has in progress driver, so doing this locally here,
  until we can move over to that driver.
2021-11-19 08:41:20 -08:00
Peter Johanson
c014ae5b0b feat(metadata): Add YAML check/format npm scripts. 2021-11-19 08:41:20 -08:00
Peter Johanson
b9ecf58846 feat(metadata): Add MakerDiary nRF52840 M.2 interconnect
* Add interconnect details.
* Add m60 and nrf52840_m2 metadata files.
2021-11-19 08:41:20 -08:00
Peter Johanson
078797cd8c refactor(boards): Add metadata for boards.
* Standalone and pro-micro format board metadata added.
2021-11-19 08:41:20 -08:00
Peter Johanson
7dd241194a refactor(shields): Add pro-micro shield metadata. 2021-11-19 08:41:20 -08:00
Peter Johanson
0cc35d8ada feat: Add a few sample hardware metadata files. 2021-11-19 08:41:20 -08:00
Peter Johanson
4dbc3ca993 feat: Add hardware metadata schema.
* Initial hardware metadata JSON schema.
* GH Action to validate all schemas for boards/shields.
2021-11-19 08:41:20 -08:00
Dom H
39279a8f45 fix(shields): Add note about Cradio pin arrangement 2021-11-19 08:41:20 -08:00
Joel Spadin
81704e45e9 refactor(kscan): Demacroify GPIO matrix driver
Refactored the GPIO matrix kscan driver so that only the data and config
structures are defined in the foreach macro. Functionality is unchanged
except for the addition of DT properties to adjust polling speed.

This should make it easier to add other enhancements later, like
improved and customizable debounce behavior.
2021-11-19 08:41:20 -08:00
Peter Johanson
fcae69a492 fix(display): Add proper LVGL label dep. 2021-11-19 08:41:20 -08:00
Darryldh
ac14a866b1 feat(display): IL0323 driver for EPD displays.
* Basic driver, using the GD7965 driver as a basis, since the ICs
  are very similar.
2021-11-19 08:41:20 -08:00
Martin Aumüller
a4db4ab3b9 fix: Planck rev 6.1
My Planck rev 6.1 would not register any keys without "col2row".
I also had to apply a matrix_transform in order to move them to the
correct position. Peeking into #228 helped for finding this.
I also add transforms for the 2u spacebar layouts.
2021-11-19 08:41:20 -08:00
Peter Johanson
00e80ff685 fix(display): Update output status on endpoint selection change. 2021-11-19 08:41:20 -08:00
Peter Johanson
01c0d9a645 feat(endpoints): Add endpoint select changed event. 2021-11-19 08:41:20 -08:00
Peter Johanson
2b94005ea0 fix(usb): USB state changes in system thhread.
* Use a `k_work` to send usb status events from the system
  workqueue thread, not the USB work thread.
2021-11-19 08:41:20 -08:00
Nick Winans
5879fbcc7d feat(boards): Use the nRF VDDH driver for the nice!nano v2 2021-11-19 08:41:20 -08:00
Nick Winans
5659887808 fix(power): Manually trigger pm_low_power_devices() before sleep 2021-11-19 08:41:20 -08:00
Nick Winans
bd16246979 feat(power): Update device power management Kconfig 2021-11-19 08:41:20 -08:00
Devon Allie
e1f3802889 fix(shields): Clean up default corne keymap. 2021-11-19 08:41:20 -08:00
Joel Spadin
0c3c4a0814 feat: Add nrf VDDH battery driver
Added a driver which uses the nRF52's ADC channel on the VDDH pin to
read the battery voltage when using high voltage mode.
2021-11-19 08:41:19 -08:00
Peter Johanson
c83672a620 fix(display): Avoid fault w/ LVGL API usage.
* Increment the tick from within the ISR itself.
* Don't call task handler until in the display callback.

PR: https://github.com/zmkfirmware/zmk/pull/736
2021-11-19 08:41:19 -08:00
Peter Johanson
65cdde4159 refactor(boards): Switch proton_c to newer pinmux approach.
See: https://github.com/zephyrproject-rtos/zephyr/issues/28999
PR: https://github.com/zmkfirmware/zmk/pull/736
2021-11-19 08:41:19 -08:00
Pete Johanson
07aff1497a fix(boards): Enable pinmux for bdn9_rev2 by default.
See: https://github.com/zephyrproject-rtos/zephyr/issues/28999
PR: https://github.com/zmkfirmware/zmk/pull/736
2021-11-19 08:41:19 -08:00
Pete Johanson
a822f44704 fix(tests): Revert default to previous formatter.
* new cbprintf formatter causes issues for our use of string formatting.

See: https://github.com/zephyrproject-rtos/zephyr/pull/29876
PR: https://github.com/zmkfirmware/zmk/pull/736
2021-11-19 08:41:19 -08:00
Pete Johanson
8ab43c6aec refactor(core): Move away from deprecated DT API.
* Move to `DEVICE_DT_INST_DEFINE` everywhere.

See: https://docs.zephyrproject.org/2.5.0/releases/release-notes-2.5.html#deprecated-in-this-release
PR: https://github.com/zmkfirmware/zmk/pull/736
2021-11-19 08:41:19 -08:00
innovaker
a80d542f8f refactor(core): update power API to Zephyr v2.5.0
See: https://github.com/zephyrproject-rtos/zephyr/pull/29410
PR: https://github.com/zmkfirmware/zmk/pull/736
2021-11-19 08:41:19 -08:00
innovaker
a2713d48dd feat: bump zephyr to v2.5.0+zmk-fixes
PR: https://github.com/zmkfirmware/zmk/pull/736
2021-11-19 08:41:19 -08:00
Nick Winans
8dce05c44d feat(boards): Add nice!nano v2 2021-11-19 08:41:19 -08:00
Felix Sargent
d98e0bc540 Update copyright, add to hardware list 2021-06-21 16:23:30 +00:00
Felix Sargent
9a7069d8fe Make name consistent with other boardsource boards 2021-06-21 16:20:01 +00:00
Felix Sargent
025a372ad5 Fix copyright, remove debug logging, consistent naming. 2021-06-14 16:57:26 -07:00