Commit graph

2419 commits

Author SHA1 Message Date
Peter Johanson
be0ada2c39 fix(docs): Minor soft-off docs tweaks from review. 2024-03-28 03:38:26 +00:00
Peter Johanson
89f564d00c fix(shields): Fix for direct use with ZMK Uno split. 2024-03-25 02:41:43 -07:00
Peter Johanson
454fc86dcc fix(pm): Fixes for dedicated on/off on peripherals.
* Add new flag to differentiate soft off on peripherals that
  is invoked by split GATT svc and dedicated additional ones
  tied to GPIO pin.
2024-03-25 02:41:43 -07:00
Peter Johanson
a27db1505c fix(pm): Use Zephyr created device slots.
* Avoid overwriting random memory by using
  iterable section created by Zephyr PM.
2024-03-25 02:41:43 -07:00
Peter Johanson
33e27e1155 refactor: Use kscan directly to wake when we can.
* When adding a dedicated GPIO pin for soft off/on, use the direct
  kscan as the waker, instead of adding an additional node.
2024-03-25 02:41:43 -07:00
Peter Johanson
063cb05e52 feat(behaviors): More logging in soft off. 2024-03-25 02:41:43 -07:00
Pete Johanson
084ae0c866 fix(docs): Fix soft off waker prop name, headers.
* Use the correct property for extra GPIOs to
  make active for the waker before going into soft
  off state.
* Change header depth for easier navigation of the
  soft off feature page.

Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com>
2024-03-25 02:41:43 -07:00
Peter Johanson
deb2eded35 fix: Fixes for building soft off without deep sleep. 2024-03-25 02:41:43 -07:00
Peter Johanson
20b382fa31 feat: Updated soft-off docs.
* Document new sideband behavior kscan driver for integrated
  soft-off support.
2024-03-25 02:41:43 -07:00
Peter Johanson
e288a33de2 fix: Adjustments for Zephyr 3.5. 2024-03-25 02:41:43 -07:00
Peter Johanson
d02d40549a refactor: Fixes for review feedback. 2024-03-25 02:41:43 -07:00
Peter Johanson
98f935ef28 fix: Cleanups of sideband and direct kscan from review.
* Add dedicated init priority for the sideband kscan.
* Refactor sideband code for clarity.
* Tweaks to direct kscan for clarity.
* Make sideband behavior row optional for brevity.
* Allow overriding ZMK Uno sideband behaviors.
2024-03-25 02:41:43 -07:00
Peter Johanson
50ca2396f7 fix(pm): Fix deep sleep with sideband behaviors.
* Properly implement the PM hook needed for sideband behavior
  kscan device to have wakeup source enabled on it.
2024-03-25 02:41:43 -07:00
Peter Johanson
ea58eeab46 fix: Sleep after clearing endpoints to wait for send.
* Add a small sleep to allow other threads to send data for the
  endpoint clearing before sleep.
2024-03-25 02:41:43 -07:00
Peter Johanson
904bf938bc refactor(boards): Move ZMK Uno 1P3T slider to sideband
* Invoke output selection from the slider on the ZMK Uno via
  sideband behavior setup, to simplify keymap.
2024-03-25 02:41:43 -07:00
Peter Johanson
54d66a2c9e refactor: Add kscan sideband behavior driver
* Instead of gpio key behavior trigger, add new kscan driver that
  decorates/wraps a given kscan driver and will invoke basic system
  behavior assigned to a given row + column, without the need for keymap
  mapping in the matrix transform, bypassing keymaps entirely.
2024-03-25 02:41:43 -07:00
Peter Johanson
74f00dad9b feat(kscan): Direct kscan driver can use gpio-keys.
* Allow specifying direct kscan driver pins using gpio-key list
  as an alternative.
2024-03-25 02:41:43 -07:00
Pete Johanson
9263b0eff2 refactor(pm): Remove scanned behavior trigger.
* Remove the painful scanned behavior trigger for now, future enhancement
  will restore this high level functionality using kscan directly.
2024-03-25 02:41:43 -07:00
Pete Johanson
14e9476b89 chore: Various soft-off review fixes
* Code style to avoid goto.
* Enable pm.c compilation via dedicated Kconfig flag.
* Comment wakeup trigger PM behavior.
2024-03-25 02:41:43 -07:00
Peter Johanson
257fb0fca8 refactor: Fixes for soft-off based on review.
* Better naming for gpio-key behavior triggers.
* Tweaks to scanned behavior trigger to avoid bad semaphore use,
  and reduce chance of issues with slowly scanned matrixes.
* Various code cleanups of style issues.
2024-03-25 02:41:43 -07:00
Pete Johanson
c4f6b3b74d fix(docs): Apply suggestions from code review
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-03-25 02:41:43 -07:00
Peter Johanson
7aef6c0642 fix(bt): Fix BT tests after soft off work.
* Move to explicit enable of `ZMK_PM_SOFT_OFF` to turn
  on the feature and use the behaviors, which matches
  how other features work, and helps with split and
  testing schemes.
2024-03-25 02:41:43 -07:00
Peter Johanson
6c16c90565 feat(pm): Clear HID data before soft off.
* Make sure the connected host has no held HID usages before we sleep.
2024-03-25 02:41:43 -07:00
Peter Johanson
e5ba05afc2 refactor: Promote new endpoints API
* Add ability for external callers to clear the current endpoint.
2024-03-25 02:41:43 -07:00
Peter Johanson
1e45953e2e feat(shields): Add soft-off to the nrf52840dk ZMK Uno
* Use Button 1 for soft off on the nrf52840 when using the ZMK Uno
  shield.
2024-03-25 02:41:43 -07:00
Peter Johanson
9bbb8b50a0 feat(behaviors): Add soft off behavior.
* New soft-off behavior that can be used to force the device
  into  soft-off state with only certain configured wakeup
  devices.
2024-03-25 02:41:43 -07:00
Peter Johanson
81ef51ed9f feat(kscan): Add PM support to GPIO kscan drivers.
* Add PM device hook to the kscan direct & matrix drivers.
2024-03-25 02:41:43 -07:00
Peter Johanson
9dc1df734a feat: Add soft on/off support.
Initial work on a soft on/off support for ZMK. Triggering soft off
puts the device into deep sleep with only a specific GPIO pin
configured to wake the device, avoiding waking from other key
presses in the matrix like the normal deep sleep.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-03-25 02:41:43 -07:00
Peter Johanson
94c3b9a246 feat(build): Allow specifying snippets for a build.
* Allow using snippets https://docs.zephyrproject.org/latest/build/snippets/using.html
  for user builds in a `snippets` array properly.
2024-03-24 18:44:54 -07:00
Cem Aksoylar
c684cee76f refactor(docs): Refer to overview page for behaviors 2024-03-24 18:29:29 -07:00
Thomas Huber
f2d8b9b0a3 feat(docs): Add Behavior overview page
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-03-24 17:50:33 -07:00
Peter Johanson
44358798d3 feat: Add ability to fetch battery voltage.
* To be able to use the Zephyr `voltage-divider` driver,
  add a mode for fetching raw voltage from the sensor
 and do state of charge calculation outside of the driver.
2024-03-24 13:28:55 -07:00
Cem Aksoylar
931a36ff4a feat(docs): Add a note on using BT with dual boot systems 2024-03-20 11:49:23 -07:00
Peter Johanson
3a3eed2960 fix: Add settings reset on start init priority.
* Add a dedicated settings reset on start init priority and default
  it to lower priority (high number) than default FLASH_INIT_PRIORITY
  to be sure flash is initialized before we open the area.
2024-03-20 11:18:43 -07:00
フィルターペーパー
1f7cd7a107 feat(docs): Add troubleshooting section for empty_file error 2024-03-19 23:48:57 -07:00
Theo Lemay
828943156a
fix(docs): Fix hold-tap info callout (#2211)
The hold-while-undecided callout does not properly render in the docs. This fixes it.
2024-03-18 15:34:45 -07:00
フィルターペーパー
736c5fb46e feat(docs): Add a note on macOS v14.3 file copy error message 2024-03-18 10:38:09 -07:00
Theo Lemay
ce743f2b35 chore: fix whitespace 2024-03-18 10:30:14 -07:00
Theo Lemay
af7e4198ae chore: remove label in test 2024-03-18 10:30:14 -07:00
Theo Lemay
94d9d837e3 refactor: extract duplicate logic 2024-03-18 10:30:14 -07:00
Theo Lemay
341534aa15 feat(behaviors): lazy sticky keys 2024-03-18 10:30:14 -07:00
Pablo
8929355ac0
fix(keymap): Replace some keypad keycodes
* Change KP_MULTIPLY to ASTRK in defaults keymap
2024-03-18 13:19:27 -04:00
honorless
6f2e19ff88 refactor: replace quick_tap_ms with quick-tap-ms
* The underscore form of this property is deprecated.
2024-03-18 10:15:50 -07:00
honorless
3a38979684 refactor: replace tapping_term_ms with tapping-term-ms
* The underscore form of this property is deprecated.
2024-03-18 10:15:50 -07:00
Hans Kruse
c6e0551fb0
fix(hid): Fix typo in HID usage alias 2024-03-18 13:06:09 -04:00
Cem Aksoylar
325e207781 feat(docs): Add pointers to HID descriptor refresh 2024-03-18 09:58:16 -07:00
Cem Aksoylar
aa6cfe250d feat(docs): Document refreshing the HID descriptor 2024-03-18 09:58:16 -07:00
Cem Aksoylar
bddee70b6b refactor(docs): Remove outdated Windows battery advice and unnecessary header 2024-03-18 09:58:16 -07:00
ReFil
388ad71385
feat(build): Explicit missing keymap node error
* Explicit error if zmk,keymap not set
* Document keymap error

---------

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-03-18 12:54:47 -04:00
Joel Spadin
a77288f527 fix: Update settings reset for Zephyr 3.5 2024-03-18 09:48:19 -07:00