Closed Scalee closed 3 months ago
Did some testing.
When kscan_composite isn't being used kscan_charlieplex_pm_action does get called on boot.
*** Booting Zephyr OS build 87fa801c5b91 ***
[00:00:00.477,935] <inf> fs_nvs: 8 Sectors of 4096 bytes
[00:00:00.477,935] <inf> fs_nvs: alloc wra: 0, e20
[00:00:00.477,966] <inf> fs_nvs: data wra: 0, 2ac
[00:00:00.479,492] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.479,522] <inf> bt_hci_core: HW Variant: nRF52x (0x0002)
[00:00:00.479,553] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 3.5 Build 0
[00:00:00.479,888] <inf> bt_hci_core: No ID address. App must call settings_load()
[00:00:00.479,980] <dbg> zmk: kscan_charlieplex_pm_action
[00:00:00.479,980] <dbg> zmk: kscan_charlieplex_setup_pins
[00:00:00.480,163] <dbg> zmk: kscan_charlieplex_init_interrupt
[00:00:00.480,194] <dbg> zmk: kscan_charlieplex_enable
[00:00:00.480,560] <dbg> zmk: kscan_charlieplex_interrupt_enable
[00:00:00.480,560] <dbg> zmk: kscan_charlieplex_interrupt_configure
[00:00:00.480,682] <dbg> zmk: kscan_charlieplex_configure
[00:00:00.480,682] <dbg> zmk: kscan_charlieplex_enable
[00:00:00.481,048] <dbg> zmk: kscan_charlieplex_interrupt_enable
[00:00:00.481,079] <dbg> zmk: kscan_charlieplex_interrupt_configure
When using the composite driver is used, kscan_charlieplex_pm_action isn't called.
[00:00:00.434,173] <dbg> zmk: kscan_charlieplex_init
*** Booting Zephyr OS build 87fa801c5b91 ***
[00:00:00.440,185] <inf> fs_nvs: 8 Sectors of 4096 bytes
[00:00:00.440,185] <inf> fs_nvs: alloc wra: 0, e20
[00:00:00.440,185] <inf> fs_nvs: data wra: 0, 2ac
[00:00:00.441,741] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.441,772] <inf> bt_hci_core: HW Variant: nRF52x (0x0002)
[00:00:00.441,802] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 3.5 Build 0
[00:00:00.442,138] <inf> bt_hci_core: No ID address. App must call settings_load()
[00:00:00.442,230] <dbg> zmk: kscan_charlieplex_configure
[00:00:00.442,413] <dbg> zmk: kscan_charlieplex_enable
[00:00:00.442,779] <dbg> zmk: kscan_charlieplex_interrupt_enable
[00:00:00.442,810] <dbg> zmk: kscan_charlieplex_interrupt_configure
Difference being:
[00:00:00.479,980] <dbg> zmk: kscan_charlieplex_pm_action
[00:00:00.479,980] <dbg> zmk: kscan_charlieplex_setup_pins
[00:00:00.480,163] <dbg> zmk: kscan_charlieplex_init_interrupt
@Scalee Can you please give #2402 a try for me on this?
Fixed
After updating to this commit my keyboard stops working. (or just the latest commit, Just narrowed it down to this commit)
The keyboard will still connect and output logs but no keystrokes.
If I change chosen to &kscan1, the gpio-matrix will start working. If I switch to &kscan2 the charlieplex will start working. Back to kscan_composite, nothing. Rolling back one commit and recompiling everything works as expected.
Was asked to create a new issue and link to #2376 since they might be related.