Pete Johanson
5ebe924e94
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-27 20:59:26 -07:00
Peter Johanson
fceb0351a5
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-27 20:59:26 -07:00
Peter Johanson
e78249ee06
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-27 20:59:26 -07:00
Peter Johanson
0d4d4fb2b5
feat(pm): Clear HID data before soft off.
...
* Make sure the connected host has no held HID usages before we sleep.
2024-03-27 20:59:26 -07:00
Peter Johanson
860e53b33a
refactor: Promote new endpoints API
...
* Add ability for external callers to clear the current endpoint.
2024-03-27 20:59:26 -07:00
Peter Johanson
d3fffb9e89
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-27 20:59:26 -07:00
Peter Johanson
b19df0cbf0
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-27 20:59:26 -07:00
Peter Johanson
738c3c0e3b
feat(kscan): Add PM support to GPIO kscan drivers.
...
* Add PM device hook to the kscan direct & matrix drivers.
2024-03-27 20:59:26 -07:00
Peter Johanson
adb3a13dc5
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-27 20:59:26 -07:00
Thomas Huber
58ccc5970d
fix(build): Modify function return type
...
Change return type of `sticky_key_timeout` function to `void` given it
does not return any value to remove compiler warnings.
2024-03-27 14:52:42 -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
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
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
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
Joel Spadin
1dfcfc7d3f
feat(shields): Make settings_reset shield reset all settings
...
Added a new CONFIG_ZMK_SETTINGS_RESET_ON_START option which enables init
code to call zmk_settings_erase(), and changed the settings_reset shield
to use it instead of CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START, so it now
resets all settings instead of just clearing BLE bonds.
CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START is left in place for now in case
someone still needs it. It may be replaced in the future once we find a
better way to repair a broken split connection.
2024-03-18 09:48:19 -07:00
Joel Spadin
610a806c84
feat: Add function to erase all settings
...
Added a zmk_settings_erase() function to clear all saved settings. This
does not go through Zephyr's settings subsystem, but instead directly
clears the data from the setting storage backend, so a reboot is needed
for it to take effect.
2024-03-18 09:48:19 -07:00
Peter Johanson
2adaa00d10
fix(build): Properly board revision keymaps.
...
* Handle board keymap location for boards with Zephyr
board revisions included.
* Includes bare non-revision file and a revision specific keymap
in case newer revision changes the layout/key positions.
2024-03-08 10:58:10 -08:00
Theo Lemay
c9c620d19f
fix: inline initialise
2024-02-20 00:25:53 -08:00
Theo Lemay
8b20874c99
chore: remove label in test
2024-02-20 00:25:53 -08:00
Theo Lemay
c007d60357
feat(behaviors): hold while undecided
2024-02-20 00:25:53 -08:00
Xudong Zheng
104c73d303
refactor: address transport switch enumeration warning
...
When building without USB or Bluetooth, the compiler emits a warning due to
ZMK_TRANSPORT_USB or ZMK_TRANSPORT_BLE not being handled.
2024-02-19 21:41:52 -08:00
Seth Milliken
b44ec381f6
feat(boards): add encoder support to planck
2024-02-19 17:01:10 -08:00
honorless
ccf0380179
refactor: remove redundant Kconfig defaults
...
bool symbols implicitly default to n.
2024-02-19 16:39:31 -08:00
ton-im
c082f8d802
fix(boards): Add ext power init delay for nrfMicro
...
* Address issues with OLED init occurring before display is powered.
2024-02-19 19:32:12 -05:00
zhiayang
a9ae6796a0
fix(display): Proper initial display of battery status
...
* fix initial display of battery status on displays, and also fix a null deref
2024-02-19 19:15:19 -05:00
Peter Johanson
fda6a5f185
fix(boards): Tweaks for Ferris rev0.2 for Zephyr.
...
* Enable missing clock and set up USB pinctrl.
2024-02-17 21:57:21 -08:00
ctranstrum
0f49fa9ae4
fix(behavior): Proper init priority for ext_power.
2024-02-14 20:29:19 -05:00
honorless
40adb3858d
refactor(boards): remove superfluous conf settings
2024-02-10 16:15:09 -08:00
honorless
cdcf4ebfb6
feat(boards): allow use of blackpill_f401cc
2024-02-10 16:15:09 -08:00
Peter Johanson
50a303b8bb
fix(pm): Restore sleep suspension of devices.
...
* After the move to `sys_poweroff`, restore the behavior of
suspending devices before entering sleep state.
2024-02-09 14:32:46 -08:00
Peter Johanson
1d83f279cd
fix(pm): Tweaks for deep sleep/PM.
...
* Restore enabling of PM_DEVICE, make ZMK_SLEEP work with
the ZMK Uno shield on nrf52840dk_nrf52840 board.
2024-02-09 14:32:46 -08:00
Peter Johanson
4bcecd98f8
fix(display): Tweaks to memory Kconfig settings.
...
* Don't default heap mempool by default now that there's a dedicated
LVGL mempool
* Set proper defaults for CiZ display hardware/custom screen.
* Double the dedicated display thread stack size for CiZ.
2024-02-09 14:32:46 -08:00
Peter Johanson
2d6c9f797c
refactor(display): Move to proper SPI ready API.
2024-02-09 14:32:46 -08:00
Peter Johanson
cd6f8a680c
fix(ble): Update security test for changes in 3.5.
2024-02-09 14:32:46 -08:00
Peter Johanson
b2a0a357e1
fix(display): Set a default mem size for built-in
...
* Set a reasonable default LVGL mem pool size for our built-in
status screen.
2024-02-09 14:32:46 -08:00
Peter Johanson
d9c0ded402
fix(shields): Fix use of deprecated Zephyr header.
2024-02-09 14:32:46 -08:00
Peter Johanson
aeb5bed3d6
fix(kscan): Adjust charlieplex init level/priority.
2024-02-09 14:32:46 -08:00
Peter Johanson
a6c0399493
fix(bluetooth): Remove LLCP impl override.
2024-02-09 14:32:46 -08:00
Peter Johanson
324ada1d20
fix(boards): Remove unused pin settings.
...
* Remove unused pin settings that used deprecated
devicetree properties.
2024-02-09 14:32:46 -08:00
Peter Johanson
8e9b4fa57c
fix(boards): Make &bootloader
work on nrf52 for now.
...
* Use `NRF_STORE_REBOOT_TYPE_GPREGRET` to get bootloader behavior
to work for now until retained bootmode is implemented.
2024-02-09 14:32:46 -08:00
Peter Johanson
3968d9febd
feat(boards): Make west flash
work with new UF2 runner.
2024-02-09 14:32:46 -08:00
Peter Johanson
b3f1d769f0
fix(bt): Fixes for BLE test BSIM bits.
2024-02-09 14:32:46 -08:00