Jarryd Tilbrook
0d3a4b7bbb
fix(underglow): Correctly set underglow state
...
This fixes a bug introduced in #2244
2024-04-25 07:26:26 -07:00
Pablo Martínez
4d566853af
fix(rgb): auto-off logic
2024-04-25 04:55:42 -04:00
Peter Johanson
16e92cf665
fix(behaviors): Add multiple soft-off instances properly.
...
* Properly pass the node id for the unique
soft-off behavior instance when defining it.
2024-04-17 23:53:12 -07:00
Keeley Hoek
e22bc7620c
fix(hid): Correct off-by-one buffer overflow with NKRO
2024-04-09 23:20:20 -07:00
Xudong Zheng
849eca7228
refactor(underglow): fix uninitialized variable warning
2024-04-09 15:57:34 -07:00
Peter Johanson
7e7110d85f
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-27 20:59:26 -07:00
Peter Johanson
41d81801ed
fix(pm): Use Zephyr created device slots.
...
* Avoid overwriting random memory by using
iterable section created by Zephyr PM.
2024-03-27 20:59:26 -07:00
Peter Johanson
2df6dcd973
feat(behaviors): More logging in soft off.
2024-03-27 20:59:26 -07:00
Peter Johanson
8d54e287f0
fix: Adjustments for Zephyr 3.5.
2024-03-27 20:59:26 -07:00
Peter Johanson
bd21f41412
refactor: Fixes for review feedback.
2024-03-27 20:59:26 -07:00
Peter Johanson
5d960a758f
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-27 20:59:26 -07:00
Peter Johanson
4198fac90f
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-27 20:59:26 -07:00
Peter Johanson
09111f1cf3
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-27 20:59:26 -07:00
Peter Johanson
a0ad1d4c94
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-27 20:59:26 -07:00
Pete Johanson
933fdcd364
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-27 20:59:26 -07:00
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
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
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
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
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
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
Theo Lemay
c9c620d19f
fix: inline initialise
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
honorless
ccf0380179
refactor: remove redundant Kconfig defaults
...
bool symbols implicitly default to n.
2024-02-19 16:39:31 -08: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
ctranstrum
0f49fa9ae4
fix(behavior): Proper init priority for ext_power.
2024-02-14 20:29:19 -05: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
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
f4e6d70465
fix: Proper use of CONTAINER_OF with delayable work.
2024-02-09 14:32:46 -08:00
Peter Johanson
98e3b8b435
refactor: Move to new sys_poweroff API.
...
* Move to new `sys_poweroff` API for our deep sleep functionality.
2024-02-09 14:32:46 -08:00
Peter Johanson
b6d9f3c911
fix(ble): Ensure large enough string for setting name.
...
* Fix warning related to potentially large number of profiles
causing overflow of allocated string for the setting name.
2024-02-09 14:32:46 -08:00
Peter Johanson
d6de8a3acc
refactor: Move to POST_KERNEL phase for behavior inits.
2024-02-09 14:32:46 -08:00
Peter Johanson
ba1a6c08ad
refactor: Return int from main function.
2024-02-09 14:32:46 -08:00
Peter Johanson
0b5afbf9c0
refacter(bluetooth): Proper HCI header include.
2024-02-09 14:32:46 -08:00
Peter Johanson
bf4008da02
refactor: All SYS_INIT functions are void args.
2024-02-09 14:32:46 -08:00
Peter Johanson
f4fce9e158
refactor(display): Move new LVGL DPI Kconfig setting.
2024-02-09 14:32:46 -08:00
Cem Aksoylar
b8846cf635
refactor(display): Remove unused BAS includes
2024-02-06 01:09:07 -08:00
Peter Johanson
331915f989
fix: Fix missed event manager usages from refactor.
2024-01-14 11:31:05 -08:00
Peter Johanson
644feeb40d
fix(core): Address review comments from Joel.
...
* Fix up some lingering events API tweaks for heap-less event manager.
2024-01-14 11:13:57 -08:00
Peter Johanson
33209dee1d
refactor(core): Move to stack allocated events.
...
* Move to local/stack allocated event API that doesn't require
dynamic allocation/freeing.
* Disable heap, we no longer use alloc/free unless using LVGL.
* Tons of refactors all over to account for the new event approach.
2024-01-14 11:13:57 -08:00