Kuba Birecki
8bcee4f3b9
Tidy up devicetree bindings
2023-06-21 12:41:26 +02:00
Kuba Birecki
66180b5480
Update ZMK_ANIMATION_FPS range
2023-06-21 11:46:00 +02:00
Kuba Birecki
e929ec7175
Remove accidental CMakeLists.txt entry
2023-06-21 11:44:38 +02:00
Kuba Birecki
5b5afac923
Merge remote-tracking branch 'upstream/main' into feature/animations
2023-06-21 11:35:27 +02:00
Peter Johanson
b259d5a22e
fix(sensors): Sensor rotate behavior fix for layers.
...
* Properly return transparent value when processing mode
for higher disabled layers means the processing is ignored.
2023-06-20 17:36:37 -06:00
Peter Johanson
805dd4a53b
feat(behaviors): Support parameterized macros.
...
* Add two new compatibles for macros that
take one or two parameters when bound in
a keymap.
* Use `¯o_param_1to1`, `¯o_param_1to2`, `¯o_param_2to1`,
and `¯o_param_2to2` control entries in the bindings for the macro
to have the next binding entry have it's values substituted.
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-06-20 11:19:28 -06:00
Xudong Zheng
e686fce4d9
refactor(split): allow central to define connection parameters
...
Fixes #1614
2023-06-19 20:48:31 -06:00
Peter Johanson
753802cd79
fix(sensors): Clean ups based on code review.
2023-06-18 20:45:06 -06:00
Peter Johanson
3a91b32513
refactor(sensors): Use "sensor index" consistently
2023-06-18 20:45:06 -06:00
Peter Johanson
8b29f6d345
refactor(sensors): Split data handling from triggers.
...
* All sensor behaviors should see sensor data, then selectively
only have some trigger their behaviors.
2023-06-18 20:45:06 -06:00
Peter Johanson
d781ec795b
refactor(bluetooth): Add battery reporting config.
...
* Add dedicated battery reporting Kconfig that is `imply`d by
enabling ZMK_BLE.
2023-06-18 20:45:06 -06:00
Peter Johanson
f8aaaff556
refactor(shields): Updated ZMK Uno encoder config.
...
* Move to new steps/triggers-per-rotation config.
* Leverage QDEC Nordic driver when used on Nordic DK.
2023-06-18 20:45:06 -06:00
Peter Johanson
621d946d29
refactor(bluetooth): Bump HoG stack size.
...
* Bump the default stack size for the HoG processing thread
to avoid issues w/ some pathways.
2023-06-18 20:45:06 -06:00
Peter Johanson
f0f7e2081b
refactor(config): Select SENSOR as needed.
...
* Don't force on SENSOR Kconfig setting unless
needed based on the detected DT.
2023-06-18 20:45:06 -06:00
Peter Johanson
295ed83409
refactor(sensors): ec11 rotation sensor value in degrees.
...
* Add new `steps` property to the `aips,ec11` binding, to make
the driver properly report degrees in the rotation delta channel.
* Handle old sensor values in sensor rotate behavior.
2023-06-18 20:45:06 -06:00
Peter Johanson
2244bd3d81
refactor(sensors): Sensor event channel data, resolution tweaks.
...
* Refactor sensor events to include channel data,
necessary for prop split encoders, and avoiding duplicate calls,
to fetch channel data twice, etc.
* More consistent behavior driver API.
* Allow setting triggers per resolution at the behavior level optionally.
2023-06-18 20:45:06 -06:00
Joel Spadin
dcf5e75fa6
fix(boards): Bump nRF5340 DK I2C buffer size
...
Increased the I2C buffer size again, since it needs to be at least 641
to support 128x64 displays.
2023-06-18 14:57:06 -06:00
Joel Spadin
9ff1eaeb5a
fix: Enable BT_TINYCRYPT_ECC when using HCI
...
BT_TINYCRYPT_ECC is required for BT_SMP_SC_PAIR_ONLY to work on setups
that use BT HCI like the nRF5340.
2023-06-18 14:52:45 -06:00
Kuba Birecki
cb22fa885a
Fix formatting
2023-06-13 16:00:21 +02:00
Kuba Birecki
abeb5c8c49
Update the animation API for Zephyr 3.*
2023-06-13 15:21:13 +02:00
Kuba Birecki
e2cdd017e3
Put animation control settings code behind config flags
2023-06-11 10:23:03 +02:00
Kuba Birecki
331573471d
Disable animations when entering sleep state
2023-06-11 10:23:03 +02:00
Kuba Birecki
6a551851aa
Persist settings for control animations
2023-06-11 10:23:03 +02:00
Kuba Birecki
fc8b91a2ba
Implement control animation and basic animation behaviors
2023-06-11 10:23:02 +02:00
Kuba Birecki
69de72c6f4
Ensure the buffer is always reset before calculating each frame
2023-06-11 10:20:46 +02:00
Kuba Birecki
eb1fc0a21b
Prevent ripple animation from requesting frames unless active
2023-06-11 10:20:46 +02:00
Kuba Birecki
0e09446cf8
Optimize the lookup table for pixel distances
2023-06-11 10:20:46 +02:00
Kuba Birecki
19790f2e1a
Implement animation activation/deactivation API and frame scheduling
2023-06-11 10:20:46 +02:00
Kuba Birecki
6697fc4582
Fix intensity calculation for the ripple animation
2023-06-11 10:20:46 +02:00
Kuba Birecki
2fa6063c9b
Refactor animation API to allow for processing entire frames at once
2023-06-11 10:20:46 +02:00
Kuba Birecki
ae518fabc9
Add 'compose' animation
2023-06-11 10:20:46 +02:00
Kuba Birecki
38a70ea747
Update devicetree bindings for solid animation
2023-06-11 10:20:46 +02:00
Kuba Birecki
d7d1c0abcf
Update ripple animation to use the given color
2023-06-11 10:20:46 +02:00
Kuba Birecki
30e0903d8e
Implement a 'ripple' per-key effect animation
2023-06-11 10:20:46 +02:00
Kuba Birecki
df35aa5547
Implement helpers for key pixel position and pixel distance
2023-06-11 10:20:46 +02:00
Kuba Birecki
cc70d75238
Refactor the animation api to allow for pre- and post-frame hooks
2023-06-11 10:20:46 +02:00
Kuba Birecki
2dfec75038
Fix formatting
2023-06-11 10:20:46 +02:00
Kuba Birecki
8e5574ab49
Move animation_solid from drivers to zmk/src/animation
2023-06-11 10:20:44 +02:00
Kuba Birecki
105afca3d9
Clean up the main animation module
2023-06-11 10:17:50 +02:00
Kuba Birecki
f50037dcbb
Fix HSL->RGB conversion
2023-06-11 10:17:50 +02:00
Kuba Birecki
2326f36e50
Update animation devicetree bindings
2023-06-11 10:17:50 +02:00
Kuba Birecki
5da7a6e29f
Remove pixel device definition
2023-06-11 10:17:50 +02:00
Kuba Birecki
be02e78356
Implement a simple solid-color-cycle animation
2023-06-11 10:17:48 +02:00
Kuba Birecki
352fe39468
Add an implementation for the core animations system
2023-06-11 10:16:37 +02:00
Kuba Birecki
4da01b63b0
Implement the initial version of the animation interface
2023-06-11 10:14:43 +02:00
Kuba Birecki
c3beca12bd
Add animation devicetree bindings
2023-06-11 10:14:43 +02:00
Xudong Zheng
5d9ae8fffa
feat(split): allow central to connect to multiple peripherals
2023-06-05 16:22:41 -06:00
Peter Johanson
f08802eaa7
fix(boards): Proper i2c pinctrl for BlueMicro840
...
* Use the proper pin assignmets after the move to pinctrl for the
Zephyr 3.2 migration.
2023-06-05 00:05:44 -06:00
Peter Johanson
19d883cdfe
fix(bluetooth): Passkey pairing improvements.
...
* Capture the last 6 entered digits, and then require pressing
Enter/Return to submit the entered digits. This matches the
messaging shown on hosts regarding how to complete pairing.
* Fix the wording on the Kconfig menu item to accurately describe
the feature.
2023-06-05 00:01:44 -06:00
Joel Spadin
b276a3bfb0
refactor(kscan): batch GPIO reads by port
...
Changed the GPIO matrix and direct GPIO key scan drivers to do a single
read per port instead of one read per pin. This is much more efficient
for some types of GPIO drivers, such as I2C GPIO expanders.
To accomplish this with minimal overhead, we now sort input pins by port
at driver init. if we iterate through the pins in the sorted order, all
pins on the same port are consecutive, so we only need to read each port
once the first time we see it.
2023-05-28 23:33:34 -06:00