Peter Johanson
690bc1bb44
refactor: Move drivers into properly module.
...
* Align our driver module layout to properly match Zephyr conventions,
allowing proper CMake setup to amend the library for each type of driver.
2023-09-16 11:52:40 -07: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
Peter Johanson
062f94d014
refactor: Remove v1 logging vestiges.
2023-04-05 22:55:38 -07:00
Peter Johanson
3a958c667f
refactor: Move to zephyr/
include paths.
...
* Zephyr moved to properly namespaced headers, so major "rip
the bandaid" commit to move us to those everywhere.
2023-04-05 22:55:38 -07:00
Peter Johanson
243a227ff9
refactor: Move to LISTIFY/DT_FOREACH_PROP_ELEM macros.
2023-04-05 22:55:38 -07:00
Kurtis Lew
0bde987ae2
Update kscan_gpio_get_extra_flags
2022-05-19 11:24:01 -04:00
Kurtis Lew
6f1adfbe14
Address further review by @petejohanson
2022-05-19 11:24:01 -04:00
Kurtis Lew
4dfcadb1ed
Remove unnecessary LOG_DBG
2022-05-19 11:24:01 -04:00
Kurtis Lew
fec99c7d5e
Update kscan_direct_gpio.c
...
- Fix logic in getting pulls from ACTIVE_LOW vs. ACTIVE_HIGH DT flags
- Add pulls on init
2022-05-19 11:24:01 -04:00
Kurtis Lew
f39c821d19
Simplify kscan_gpio_get_flags
...
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2022-05-19 11:24:01 -04:00
Kurtis Lew
f369f2cc46
feat(kscan): Add toggle-mode to updated direct-wire kscan
2022-05-19 11:24:01 -04:00
Joel Spadin
0738b4b2b0
refactor(kscan): Match direct GPIO driver to matrix driver
...
Rewrote the direct GPIO kscan driver to match the improvements made to
the matrix driver in 82cb762698
and
f946dc6893
. It now uses the same
debouncing system as the matrix driver.
2022-05-17 01:20:20 -04:00
Joel Spadin
6d6efa32f5
refactor(kscan): Auto enable kscan drivers
...
The key scanning drivers are now automatically enabled when a DT node
with the matching "compatible" property is present and enabled, so they
no longer need to be manually set for each board.
2022-04-25 22:28:53 -04:00
Peter Johanson
4df83a9c0d
refactor: Move away from deprecated PM callback.
2022-04-03 00:10:29 -04:00
Peter Johanson
53dae35710
refactor: Move to k_work_delayable
API.
...
* Move to new `k_work_delayable` APIs introduced in Zephyr 2.6.
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.6.html#api-changes
2022-04-03 00:10:29 -04:00
Pete Johanson
2a69f31eb0
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-07-17 17:04:25 -04:00
Pete Johanson
27c89e69c1
fix(kscan): Proper direct wire warning message.
2021-03-15 00:39:29 -04:00
innovaker
00ca0d2f1c
refactor(app): replace struct device *
with const struct device *
...
Replaced with RegExp: /(?<!const )(struct device \*)/g
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
1411092a7b
refactor(app): replace driver_data
with data
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
3d7376d2e5
refactor(app): replace config_info
with config
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
bac1f17cf6
refactor(app): replace Zephyr integer types with C99 integer types
...
u8_t → uint8_t
u16_t → uint16_t
u32_t → uint32_t
u64_t → uint64_t
s8_t → int8_t
s16_t → int16_t
s32_t → int32_t
s64_t → int64_t
Prerequisite for #223
See: https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.4.0
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
8d9ae1fdf3
refactor: Align drivers with Zephyr file system conventions
...
PR: #400
2020-12-03 21:06:01 -05:00