Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display not initialising after recent PR #2361

Closed
NightB1ade opened this issue Jul 4, 2024 · 6 comments · Fixed by #2362
Closed

Display not initialising after recent PR #2361

NightB1ade opened this issue Jul 4, 2024 · 6 comments · Fixed by #2362

Comments

@NightB1ade
Copy link

NightB1ade commented Jul 4, 2024

#2358 appears to have had an unintended consequence that the OLED displays (on my board at least) are not showing anything any more.

Tested:

  • Waterfowl R2 board with OLEDs
  • nice!nano v2
  • Clean test using a new repo with clean install, only activating display in config, then targeting revisions in west.yml
    • Using f18974e8c401b139058549dcd95ab7a4cdc7a6e9 revision: Build is normal and display works
    • Using 80173f8ea33e592bba2aa59ae08f036ec44f4e81 revision: Display stays blank
  • Note: The rest of the keyboard (keymap etc.) appears to work fine - just the OLED display

Repo here: Repo refreshed after testing - will be iterating my keymap later on the repo - so specific commits are:

  • 9c8b5280428c6be2e9ec057749b12f45d7c47db0 - display working
  • 4dd4cab7fc882b6cb1c12eeeb6e40b02229e7d24 - display not working
@petejohanson
Copy link
Contributor

@NightB1ade can you please gather logging of the startup sequence?

My guess is that the OLED init sequence may be occuring before the VCC power is enabled, but I want to be sure. Also: does VCC properly read 3.3v on the new firmware?

@NightB1ade
Copy link
Author

NightB1ade commented Jul 4, 2024

I think I saw a page on the docs for the logging - is it this one? https://zmk.dev/docs/development/usb-logging If so - I'll work on getting that next I get a chance!

Is there a particular place you want me to measure for the voltage? VCC to GND on the OLED?

Edit: Checked VCC to GND on the OLED - seems to be getting 3.3V all okay

@NightB1ade
Copy link
Author

NightB1ade commented Jul 4, 2024

2024_07_04_1743 Waterfowl Logs.txt

[00:00:00.827,239] <err> i2c_nrfx_twi: Error on I2C line occurred for message 0
[00:00:00.827,362] <err> ssd1306: Failed to initialize device!
[00:00:00.827,423] <dbg> zmk: kscan_matrix_init_input_inst: Configured pin 0 on                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 gpio@50000300 for input
[00:00:00.827,453] <dbg> zmk: kscan_matrix_init_input_inst: Configured pin 22 on                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 gpio@50000000 for input
[00:00:00.827,514] <dbg> zmk: kscan_matrix_init_input_inst: Configured pin 24 on                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 gpio@50000000 for input
[00:00:00.827,575] <dbg> zmk: kscan_matrix_init_input_inst: Configured pin 11 on                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 gpio@50000000 for input
[00:00:00.827,606] <dbg> zmk: kscan_matrix_init_output_inst: Configured pin 31 o                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                n gpio@50000000 for output
[00:00:00.827,667] <dbg> zmk: kscan_matrix_init_output_inst: Configured pin 29 o                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                n gpio@50000000 for output
[00:00:00.827,697] <dbg> zmk: kscan_matrix_init_output_inst: Configured pin 2 on                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 gpio@50000000 for output
[00:00:00.827,758] <dbg> zmk: kscan_matrix_init_output_inst: Configured pin 15 o                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                n gpio@50000300 for output
[00:00:00.827,789] <dbg> zmk: kscan_matrix_init_output_inst: Configured pin 13 o                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                n gpio@50000300 for output
[00:00:00.827,880] <dbg> zmk: vddh_init: VDDHDIV5 setup returned 0
*** Booting Zephyr OS build 8f87b3be1e76 ***
[00:00:00.834,594] <inf> fs_nvs: 8 Sectors of 4096 bytes
[00:00:00.834,594] <inf> fs_nvs: alloc wra: 0, f60
[00:00:00.834,625] <inf> fs_nvs: data wra: 0, f0
[00:00:00.836,212] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.836,212] <inf> bt_hci_core: HW Variant: nRF52x (0x0002)
[00:00:00.836,242] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                x00) Version 3.5 Build 0
[00:00:00.836,608] <inf> bt_hci_core: No ID address. App must call settings_load                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ()
[00:00:00.836,730] <dbg> zmk: zmk_sensors_init_item: Init sensor at index 0
[00:00:00.841,857] <dbg> zmk: zmk_sensors_init_item: Init sensor at index 1
[00:00:00.846,954] <dbg> zmk: zmk_sensors_init_item: Init sensor at index 2
[00:00:00.846,954] <dbg> zmk: zmk_sensors_init_item: No local device for 2
[00:00:00.846,984] <dbg> zmk: zmk_sensors_init_item: Init sensor at index 3
[00:00:00.846,984] <dbg> zmk: zmk_sensors_init_item: No local device for 3
[00:00:00.847,015] <dbg> zmk: zmk_usb_get_conn_state: state: 11
[00:00:00.847,015] <dbg> zmk: get_selected_transport: No endpoint transports are                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ready.
[00:00:00.847,045] <err> lvgl: Display device not ready.
[00:00:00.847,290] <inf> zmk: Welcome to ZMK!

[00:00:00.847,534] <dbg> zmk: ble_profiles_handle_set: Setting BLE value periphe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ral_addresses/0
[00:00:00.847,930] <dbg> zmk: ble_profiles_handle_set: Setting BLE value periphe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ral_address
[00:00:00.848,205] <inf> usb_hid: Device connected
[00:00:00.848,236] <dbg> zmk: zmk_usb_get_conn_state: state: 2
[00:00:00.848,266] <dbg> zmk: zmk_usb_get_conn_state: state: 2
[00:00:00.848,297] <dbg> zmk: get_selected_transport: No endpoint transports are                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ready.
[00:00:00.848,724] <inf> bt_hci_core: Identity: F4:97:BB:13:95:BA (random)
[00:00:00.848,754] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x0000, m                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                anufacturer 0x05f1
[00:00:00.848,785] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0xffff
[00:00:00.851,318] <inf> usb_hid: Device suspended
[00:00:00.851,348] <dbg> zmk: zmk_usb_get_conn_state: state: 5
[00:00:00.851,379] <dbg> zmk: zmk_usb_get_conn_state: state: 5
[00:00:00.851,379] <dbg> zmk: get_selected_transport: Only USB is ready.
[00:00:00.851,409] <dbg> zmk: zmk_endpoints_send_report: usage page 0x07
[00:00:00.851,440] <dbg> zmk: zmk_endpoints_send_report: usage page 0x0C
[00:00:00.851,501] <inf> zmk: Endpoint changed: USB
[00:00:00.851,898] <dbg> zmk: zmk_ble_ready: ready? 0
[00:00:00.851,928] <dbg> zmk: update_advertising: advertising from 0 to 2
[00:00:00.852,905] <dbg> zmk: start_scanning: Scanning successfully started
[00:00:00.853,027] <dbg> zmk: initialize_display:
[00:00:00.853,057] <err> zmk: Failed to find display device
[00:00:00.853,088] <dbg> zmk: zmk_display_init:
[00:00:00.853,118] <wrn> zmk: Not sending, no active address for current profile
[00:00:00.853,118] <wrn> zmk: Not sending, no active address for current profile
[00:00:00.948,638] <inf> usb_hid: Device resumed
[00:00:00.948,669] <inf> usb_hid: from suspend
[00:00:00.948,730] <inf> usb_hid: Device reset detected
[00:00:00.948,760] <dbg> zmk: zmk_usb_get_conn_state: state: 1
[00:00:00.948,760] <dbg> zmk: zmk_usb_get_conn_state: state: 1
[00:00:00.948,791] <dbg> zmk: get_selected_transport: No endpoint transports are                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ready.
[00:00:00.948,791] <dbg> zmk: zmk_endpoints_send_report: usage page 0x07
[00:00:00.948,822] <err> zmk: FAILED TO SEND OVER USB: -19
[00:00:00.948,822] <dbg> zmk: zmk_endpoints_send_report: usage page 0x0C
[00:00:00.948,852] <err> zmk: FAILED TO SEND OVER USB: -19
[00:00:00.948,883] <inf> zmk: Endpoint changed: BLE:0
[00:00:01.075,653] <inf> usb_hid: Device reset detected
[00:00:01.075,683] <dbg> zmk: zmk_usb_get_conn_state: state: 1
[00:00:01.075,714] <dbg> zmk: zmk_usb_get_conn_state: state: 1
[00:00:01.075,714] <dbg> zmk: get_selected_transport: No endpoint transports are                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ready.
[00:00:01.113,677] <dbg> zmk: vddh_sample_fetch: ADC raw 3005 ~ 4400 mV => 100%
[00:00:01.113,677] <dbg> zmk: zmk_battery_update: Setting BAS GATT battery level                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 to 100.
[00:00:01.321,472] <inf> usb_hid: Device configured
[00:00:01.321,502] <dbg> zmk: zmk_usb_get_conn_state: state: 3
[00:00:01.321,533] <dbg> zmk: zmk_usb_get_conn_state: state: 3
[00:00:01.321,533] <dbg> zmk: get_selected_transport: Only USB is ready.
[00:00:01.321,563] <dbg> zmk: zmk_endpoints_send_report: usage page 0x07
[00:00:01.321,594] <dbg> zmk: zmk_endpoints_send_report: usage page 0x0C
[00:00:01.321,655] <inf> zmk: Endpoint changed: USB
[00:00:01.321,685] <wrn> zmk: Not sending, no active address for current profile
[00:00:01.321,716] <wrn> zmk: Not sending, no active address for current profile
[00:00:01.649,932] <dbg> zmk: split_central_device_found: [DEVICE]: FA:0D:AC:5F:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                C9:8F (public), AD evt type 0, AD data len 29, RSSI -88
[00:00:01.649,932] <dbg> zmk: split_central_eir_parse: [AD]: 1 data_len 1
[00:00:01.649,963] <dbg> zmk: split_central_eir_parse: [AD]: 22 data_len 24
[00:00:01.957,244] <dbg> zmk: split_central_device_found: [DEVICE]: 29:32:67:03:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                0E:B2 (random), AD evt type 2, AD data len 0, RSSI -86

Does this cover the right bit? I scanned it and can see some relevant entries, but don't know enough to know if it's all you need!

@petejohanson
Copy link
Contributor

Thanks for the logs. This is almost certainly a side effect of the ext_power_generic.c refactor that delayed the settings loading until after the OLED init, meaning the VCC does eventually turn on, but not until after the OLED attempts to initialize. Considering the "right" fix.

petejohanson added a commit to petejohanson/zmk that referenced this issue Jul 4, 2024
* Because settings load is delayed now, enable external
  power on init, and let it be disabled on settings load
  later, to ensure power is on early for
  other peripheral initialization.

Fixes: zmkfirmware#2361
@petejohanson
Copy link
Contributor

@NightB1ade Please give #2362 a try by following the instructions on https://zmk.dev/docs/features/beta-testing and let me know if that fixes things for you. TIA!

@NightB1ade
Copy link
Author

It worked! Another new repo, repointed the west.yml (see below to check I got it right), and then activated the display only in config. Thank you!

manifest:
  remotes:
    - name: zmkfirmware
      url-base: https://github.com/zmkfirmware
    - name: petejohanson
      url-base: https://github.com/petejohanson
    # Additional modules containing boards/shields/custom code can be listed here as well
    # See https://docs.zephyrproject.org/3.2.0/develop/west/manifest.html#projects
  projects:
    - name: zmk
      remote: petejohanson
      revision: core/oled-init-delayed-settings-load-fix
      import: app/west.yml
  self:
    path: config

aaroncorgan added a commit to aaron-j-reeves/zmk that referenced this issue Jul 19, 2024
commit 528b34414f2082ff7ea214d8239fd3ce9eccce27
Author: aaroncorgan <[email protected]>
Date:   Fri Jul 19 13:24:36 2024 -0500

    Squashed commit of the following:

    commit 7bd74a6
    Author: Cem Aksoylar <[email protected]>
    Date:   Sat Jul 13 17:31:07 2024 -0700

        fix(docs): Add required display-name in physical layout examples

    commit 8c6bda2
    Author: Peter Johanson <[email protected]>
    Date:   Fri Jul 5 15:30:44 2024 -0600

        fix: Proper behavior metadata for key repeat/toggle

    commit 3694ff8
    Author: Peter Johanson <[email protected]>
    Date:   Fri Jul 5 12:56:33 2024 -0600

        fix: Fix up layer metadata, move to layer IDs.

        * Studio will use stable layer IDs to refer to layers, so that
          layer reordering doesn't affect behavior bindings, so update to match.
        * Fix a few layer metadata entries that missed being refactored.

    commit e01f13f
    Author: Peter Johanson <[email protected]>
    Date:   Thu Jul 4 18:26:27 2024 +0000

        fix: Fix external power settings load issue.

        * Because settings load is delayed now, enable external
          power on init, and let it be disabled on settings load
          later, to ensure power is on early for
          other peripheral initialization.

        Fixes: zmkfirmware#2361

    commit 82eed0f
    Author: Peter Johanson <[email protected]>
    Date:   Wed Jun 5 01:21:34 2024 -0700

        feat(boards): Add flash/settings to XIAO RP2040.

        * Add storage partition.
        * Default necessacy Kconfig symbols for flash/settings.

    commit b4f9081
    Author: Peter Johanson <[email protected]>
    Date:   Wed Jul 3 13:58:08 2024 -0600

        docs: Updated new shield documentation for physical layouts.

        * Document how to define one or more physical layouts and assign
          the chosen one.

        Co-authored-by: Cem Aksoylar <[email protected]>

    commit 5fcf092
    Author: Peter Johanson <[email protected]>
    Date:   Wed May 1 14:07:48 2024 -0700

        refactor(shields): Set ZMK Uno physical layouts.

        * Add physical layout definitions for uno and split uno shields.

    commit 74f7fe9
    Author: Peter Johanson <[email protected]>
    Date:   Wed May 1 14:06:28 2024 -0700

        fix(splits): Increase split notify stack size.

    commit 0438cb0
    Author: Peter Johanson <[email protected]>
    Date:   Wed Apr 24 21:11:16 2024 -0700

        feat(kscan): More complete PM support to drivers.

        * Update our GPIO kscan drivers to more completely support PM device,
          by doing proper hardare init/deinit in the PM action hook.

    commit c5cca5b
    Author: Peter Johanson <[email protected]>
    Date:   Wed Apr 24 18:14:02 2024 -0700

        feat: Add keyboard physical layout system.

        * Add bindings to allow creating multiple physical layouts that specify
          their key's physical attributes, and the matching matrix transform
          and dependant kscan to use.
        * Synthesize a basic physical layout if none specified, for backwards
          compatibility.
        * Update matrix transform API to explicitly pass in the selected transform
          to the API instead of using a fixed chosen transform.
        * Move kscan subscription and handling into the physical layout code, so
          that selecting a different physical layout at runtime can also use the
          correct kscan instance.
        * Add `physical_layouts.dtsi` file to include so you can use the
          pre-configured `&key_physical_attrs` for adding you layout keys.

    commit 80173f8
    Author: Peter Johanson <[email protected]>
    Date:   Wed Jul 3 02:33:26 2024 -0600

        fix: Improve startup time with proper settings loading.

        * Avoid doing duplicate calls to setings_load_subtree, which iterates
          NVS fully each time under the hood, and instead use on settings_load
          later in the lifecycle.

    commit f18974e
    Author: Peter Johanson <[email protected]>
    Date:   Mon Jul 1 18:26:43 2024 +0000

        fix: Adjust hid indicator listeners for event refactor

        * Avoid static listener to prevent subscription
          issue.

    commit f2ea1da
    Author: ReFil <[email protected]>
    Date:   Sun Jun 30 17:59:46 2024 +0100

        fix(boards): Suppress devicetree warning

        nRF5x boards throw a spurious warning for duplicate unit-address when the devicetree gets processed

        Upstream issue:  zephyrproject-rtos/zephyr#29713

        Warning suppressed as per: https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html

    commit 96e55c8
    Author: Peter Johanson <[email protected]>
    Date:   Fri Jun 28 17:40:49 2024 -0600

        fix: BLE refactor mouse keys fix.

    commit 483a493
    Author: Peter Johanson <[email protected]>
    Date:   Wed Apr 17 16:44:22 2024 -0700

        feat(behaviors): Add local ID system for behaviors

        * Add a new feature for tracking a given behavior by a new concept
          of a "behavior local ID" which is a stable 16-bit identifier for
          a given behavior, that is resilient to new behaviors being added
          and requires no additional work on the part of the behavior
          authors.
        * Add implementations for either settings lookup table, or CRC16
          hashing of behavior device names for generating behavior local
          IDs.

    commit f7c34c7
    Author: Peter Johanson <[email protected]>
    Date:   Fri Apr 5 16:44:42 2024 +0000

        refactor(ble): Extract API to get active profile connection.

        * Add `struct bt_conn *zmk_ble_active_profile_conn(void)` function for
          fetching a connection for the current profile.

    commit b576d52
    Author: Peter Johanson <[email protected]>
    Date:   Wed Mar 27 22:17:32 2024 +0000

        feat(core): Support adding subs to other listeners.

        * Used for ZMK Studio event remappers to be sure the one
          RPC event listener subscribes to their mapped events.

    commit 49f7275
    Author: Peter Johanson <[email protected]>
    Date:   Tue Jun 25 11:57:54 2024 -0600

        fix: Add metadata to missed behaviors.

    commit 29599e8
    Author: Timoyoungster <[email protected]>
    Date:   Fri Jun 14 15:23:37 2024 +0200

        docs: hopefully more clear description of the new setting

    commit 10d03ca
    Author: Timoyoungster <[email protected]>
    Date:   Fri Jun 14 02:28:49 2024 +0200

        fix: adding option to separate implicit mod release from key release

        This adds a new config value `ZMK_HID_SEPARATE_MOD_RELEASE_REPORT`
        where, if enabled, the report for a key release is sent separately to
        the accompanying modifier release signals, which are then sent in a
        second report.

        This fixes an issue where certain applications are unable to work with
        implicitly modified keys (e.g. colon) due to them registering the
        modifier release prior to the actual key release.

        Have tested this on my personal keyboard and `wev` now shows the signals
        in the correct order.

        => **Previously:** ```LSHIFT (pressed) -> colon (pressed) -> LSHIFT
        (released) -> **semi**colon (released)```

        => **Now:** ```LSHIFT (pressed) -> colon (pressed) -> colon (released)
        -> LSHIFT (released)```

        (This time without accidental files)

    commit 4dce096
    Author: honorless <[email protected]>
    Date:   Sun Apr 7 18:13:35 2024 -0400

        docs: improve settings_reset link

    commit 9c6d1af
    Author: honorless <[email protected]>
    Date:   Mon Mar 25 14:43:54 2024 -0400

        ci(build): limit run scope

        * Cancel redundant non-nightly runs and jobs dependent on canceled jobs.

        * Limit scheduled runs to zmkfirmware-owned repos.

    commit 7c9477b
    Author: honorless <[email protected]>
    Date:   Mon Mar 25 14:26:35 2024 -0400

        ci(build): improve security posture

        * Limit unnecessary permissions.

        * Avoid storing credentials.

    commit 0bea783
    Author: honorless <[email protected]>
    Date:   Mon Mar 25 14:08:19 2024 -0400

        ci(build): amend changed-files invocation

    commit 3e2c428
    Author: Peter Johanson <[email protected]>
    Date:   Mon Jun 24 10:58:34 2024 -0600

        chore: Add rp2040/USB logging core coverage.

        * Include an rp2040 core build target, and include USB logging snippet
          for completeness.

    commit 03099b0
    Author: Peter Johanson <[email protected]>
    Date:   Wed Mar 27 12:27:49 2024 -0700

        feat(behaviors): Add behavior metadata information.

        * For upcoming ZMK studio work, make a set of rich metadata available
          to provide a friendly name for a behavior, and allow super flexible
          descriptions of the parameters the behaviors take.
        * Add ability to validate a zmk_behavior_binding against
          the behavior metadata available.

    commit 7cdf1e4
    Author: Peter Johanson <[email protected]>
    Date:   Mon Jun 24 10:48:21 2024 -0600

        fix: Actually add the `zmk-usb-logging` snippet.

        * D'oh.

    commit 7be955f
    Author: Peter Johanson <[email protected]>
    Date:   Fri Jun 21 13:12:13 2024 -0600

        fix(usb): Ensure USB init is last

        * To avoid USB init issues due to other initialization disrupting
          USB setup, move USB setup to a lower priority.

    commit a080b52
    Author: Peter Johanson <[email protected]>
    Date:   Mon Jun 17 15:39:32 2024 -0600

        refactor: Remove static CDC ACM logging nodes.

        * To avoid spurious CDC ACM instances when usint CDC ACM for something
          other than logging, move to the approach used by Zephyr of using a
          snippet to redirect console output to a CDC ACM node added by the
          snippet. Remove all the existing static CDC ACM nodes.
        * Add new `zmk-usb-logging` snippet that mirrors the upstream
          `cdc-acm-logging` snippet, but still does our extra USB logging
          configuration.
        * Updated logging docs accordingly.

        Co-authored-by: Cem Aksoylar <[email protected]>

    commit 7c09eb2
    Author: Cem Aksoylar <[email protected]>
    Date:   Sun Jun 9 21:35:10 2024 -0700

        refactor(docs): Document and enforce header casing conventions

    commit e56db30
    Author: Cem Aksoylar <[email protected]>
    Date:   Sun Jun 9 21:32:26 2024 -0700

        refactor(docs): Split up troubleshooting page into a section

    commit 308d6bc
    Author: Nicolas Munnich <[email protected]>
    Date:   Sun Jun 2 06:51:08 2024 +0200

        feat(docs): Improve the toolchain setup page (zmkfirmware#2272)

        Split the toolchain setup into separate docker and native pages
        and improve instructions to better refer to Zephyr docs in certain steps.
        Also refactor to improve consistency and add virtualenv instructions.

        ---------

        Co-authored-by: KemoNine <[email protected]>
        Co-authored-by: Cem Aksoylar <[email protected]>

    commit 2d96f46
    Author: Nicolas Munnich <[email protected]>
    Date:   Sun May 26 07:16:33 2024 +0200

        fix(docs): Removing to-to typos (zmkfirmware#2310)

    commit 2ee76be
    Author: German Gutierrez <[email protected]>
    Date:   Mon May 13 23:43:35 2024 +0200

        fix(soft_off): central waits 100ms in split if hold_time enabled

    commit f0b20c1
    Author: Joel Spadin <[email protected]>
    Date:   Fri Oct 13 13:07:55 2023 -0500

        feat(boards): Add nRF52 high voltage DC/DC config

        Added a Kconfig option to enable SOC_DCDC_NRF52X_HV for nice_nano_v2
        and mikoto. According to Nordic's documentation, the DC/DC regulator is
        more efficient than the LDO regulator, so this is enabled by default.

        The following boards do not support this mode and were not changed:

        - nice_nano
        - nice60
        - nrfmicro_11, nrfmicro_13
        - nrf52840_m2
        - bluemicro840

        I could not find schematics to confirm whether the following boards
        support this mode:

        - bt60_v1, bt60_v2
        - bt65_v1
        - bt75_v1
        - corneish_zen_v1, corneish_zen_v2
        - pillbug
        - puchi_ble_v1
        - s40nc

    commit 8f5c7bb
    Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Date:   Mon Feb 26 05:52:14 2024 +0000

        chore(deps): bump pre-commit/action from 3.0.0 to 3.0.1

        Bumps [pre-commit/action](https://github.com/pre-commit/action) from 3.0.0 to 3.0.1.
        - [Release notes](https://github.com/pre-commit/action/releases)
        - [Commits](pre-commit/action@v3.0.0...v3.0.1)

        ---
        updated-dependencies:
        - dependency-name: pre-commit/action
          dependency-type: direct:production
          update-type: version-update:semver-patch
        ...

        Signed-off-by: dependabot[bot] <[email protected]>

    commit 7d1f84e
    Author: Horu <[email protected]>
    Date:   Tue May 14 03:47:33 2024 +0700

        chore: fix typos in various places

    commit 4dfc45d
    Author: ReFil <[email protected]>
    Date:   Fri May 3 19:17:09 2024 +0100

        feat(docs): Document example toggle-mode implementation

        ---------

        Co-authored-by: Cem Aksoylar <[email protected]>

    commit 2423136
    Author: ReFil <[email protected]>
    Date:   Fri May 3 08:22:05 2024 +0100

        fix(boards): Fix pulls on ZMK uno toggle switch

        The devicetree pulls always add on to the extra pulls configured by toggle mode, so these should not have pulls defined in the devicetree. Saved ~200uA avg on another board with a 3t toggle switch

    commit af90882
    Author: Peter Johanson <[email protected]>
    Date:   Wed May 1 11:01:32 2024 -0700

        fix: Initialize sideband kscan in APPLICATION.

        * In order to be sure the rest of the system is fully ready before
          intializing, because init may result in immediate events being
          triggered when used with toggle direct kscan inner devices.

    commit d1ad347
    Author: German Gutierrez <[email protected]>
    Date:   Mon Apr 29 18:22:40 2024 +0200

        fix: shortening keymap_soft_off behavior node

        * Shorten the soft off node in order for it to work across splits.

    commit 0d3a4b7
    Author: Jarryd Tilbrook <[email protected]>
    Date:   Thu Apr 25 22:26:26 2024 +0800

        fix(underglow): Correctly set underglow state

        This fixes a bug introduced in zmkfirmware#2244

    commit 4d56685
    Author: Pablo Martínez <[email protected]>
    Date:   Thu Apr 25 10:55:42 2024 +0200

        fix(rgb): auto-off logic

    commit f4a070a
    Author: Sadek Baroudi <[email protected]>
    Date:   Sun Apr 21 12:37:47 2024 -0700

        fix(boards): nrf boards missing SPI in pinctrl and dtsi, requiring users to manually define in their shield definitions if they wanted to use SPI

    commit 16e92cf
    Author: Peter Johanson <[email protected]>
    Date:   Thu Apr 18 06:38:46 2024 +0000

        fix(behaviors): Add multiple soft-off instances properly.

        * Properly pass the node id for the unique
          soft-off behavior instance when defining it.

    commit e22bc76
    Author: Keeley Hoek <[email protected]>
    Date:   Sun Apr 7 07:05:51 2024 -0400

        fix(hid): Correct off-by-one buffer overflow with NKRO

    commit a9021de
    Author: Cem Aksoylar <[email protected]>
    Date:   Tue Apr 9 10:25:33 2024 -0700

        fix(docs): Add wakeup-source to split new shield example

    commit dfc6dc8
    Author: Cem Aksoylar <[email protected]>
    Date:   Tue Feb 27 11:50:54 2024 -0800

        fix(docs): Make clear the matrix transform example is incomplete

    commit 7a51a46
    Author: Cem Aksoylar <[email protected]>
    Date:   Tue Feb 27 11:41:46 2024 -0800

        feat(docs): Add pointer to shields folder in new shield docs

    commit 849eca7
    Author: Xudong Zheng <[email protected]>
    Date:   Fri Feb 23 16:59:48 2024 -0500

        refactor(underglow): fix uninitialized variable warning

commit dbbeb70
Author: Peter Johanson <[email protected]>
Date:   Wed Apr 10 04:55:14 2024 +0000

    feat(mouse): Updated mouse keys docs.

commit 0b1d513
Author: Peter Johanson <[email protected]>
Date:   Tue Apr 9 21:43:07 2024 -0700

    fix(mouse): Fix up tests and make ZMK_MOUSE explicit.

commit 1974fe9
Author: Peter Johanson <[email protected]>
Date:   Sun Mar 24 18:30:08 2024 +0000

    refactor(mouse): Lots of mouse refactors.

    * Dedicated mouse source directory.
    * Split mouse HID into dedicated USB endpoint and HoG service.
    * Enable composite USB device automatically, tweak the
      various default sizes.

commit 4ea55c3
Author: Peter Johanson <[email protected]>
Date:   Wed Apr 10 02:13:51 2024 +0000

    refactor(mouse): Tweak behavior inclusion, listener code

    * Always import mouse keys behavior and their associated listeners.
    * Tweak listener code to only add listener nodes when
      listener and the associated input device are enabled.

commit f446ab4
Author: Peter Johanson <[email protected]>
Date:   Mon Feb 19 10:23:16 2024 +0000

    fix: Testing fixes for listener refactor.

commit ca28e83
Author: Peter Johanson <[email protected]>
Date:   Mon Feb 19 01:55:06 2024 -0800

    chore: Minor input behavior clean-up.

commit 36c7827
Author: Peter Johanson <[email protected]>
Date:   Mon Feb 12 20:12:34 2024 +0000

    refactor: Proper per-device input listeners.

    * Buffer data from input devices and only surface to HID once synd'd.

commit 3ff6051
Author: Peter Johanson <[email protected]>
Date:   Mon Dec 11 16:28:31 2023 -0800

    fix(mouse): Fixes for logging.

    * Corrected logging for two-axis input timestamps.

commit 664a61e
Author: Peter Johanson <[email protected]>
Date:   Mon Dec 11 15:45:50 2023 -0800

    refactor(mouse): Remove mouse work queue, Kconfig

    * Remove now-unused mouse work queue and related mouse main file.
    * Move ticks config into a DTS property on the two axis input behavior.

commit 368f98c
Author: Peter Johanson <[email protected]>
Date:   Thu Nov 23 22:23:13 2023 +0000

    feat(mouse): Add input configs for data mods.

    * Add ability to swap X/Y, invert X and Y values, and apply a
      scalar multiplier/divisor.

commit 0ba8a29
Author: Peter Johanson <[email protected]>
Date:   Tue Nov 21 00:30:25 2023 +0000

    refactor: Use input system for pointer events.

commit 96ad160
Author: Cem Aksoylar <[email protected]>
Date:   Wed Nov 15 23:41:26 2023 -0800

    fix(mouse): Bump up default mouse tick duration to prevent crashes

commit 9a68b37
Author: Cem Aksoylar <[email protected]>
Date:   Sun Oct 15 23:27:45 2023 -0700

    feat(mouse): Split move/scroll & x/y acceleration

commit 2eba88d
Author: Cem Aksoylar <[email protected]>
Date:   Wed Nov 15 21:11:41 2023 -0800

    feat(mouse): Add mouse move and scroll support [WIP]

    Co-authored-by: Alexander Krikun <[email protected]>
    Co-authored-by: Robert U <[email protected]>
    Co-authored-by: Shawn Meier <[email protected]>
arabshapt pushed a commit to arabshapt/zmk that referenced this issue Jul 20, 2024
commit 7bd74a6
Author: Cem Aksoylar <[email protected]>
Date:   Sat Jul 13 17:31:07 2024 -0700

    fix(docs): Add required display-name in physical layout examples

commit 8c6bda2
Author: Peter Johanson <[email protected]>
Date:   Fri Jul 5 15:30:44 2024 -0600

    fix: Proper behavior metadata for key repeat/toggle

commit 3694ff8
Author: Peter Johanson <[email protected]>
Date:   Fri Jul 5 12:56:33 2024 -0600

    fix: Fix up layer metadata, move to layer IDs.

    * Studio will use stable layer IDs to refer to layers, so that
      layer reordering doesn't affect behavior bindings, so update to match.
    * Fix a few layer metadata entries that missed being refactored.

commit e01f13f
Author: Peter Johanson <[email protected]>
Date:   Thu Jul 4 18:26:27 2024 +0000

    fix: Fix external power settings load issue.

    * Because settings load is delayed now, enable external
      power on init, and let it be disabled on settings load
      later, to ensure power is on early for
      other peripheral initialization.

    Fixes: zmkfirmware#2361

commit 82eed0f
Author: Peter Johanson <[email protected]>
Date:   Wed Jun 5 01:21:34 2024 -0700

    feat(boards): Add flash/settings to XIAO RP2040.

    * Add storage partition.
    * Default necessacy Kconfig symbols for flash/settings.

commit b4f9081
Author: Peter Johanson <[email protected]>
Date:   Wed Jul 3 13:58:08 2024 -0600

    docs: Updated new shield documentation for physical layouts.

    * Document how to define one or more physical layouts and assign
      the chosen one.

    Co-authored-by: Cem Aksoylar <[email protected]>

commit 5fcf092
Author: Peter Johanson <[email protected]>
Date:   Wed May 1 14:07:48 2024 -0700

    refactor(shields): Set ZMK Uno physical layouts.

    * Add physical layout definitions for uno and split uno shields.

commit 74f7fe9
Author: Peter Johanson <[email protected]>
Date:   Wed May 1 14:06:28 2024 -0700

    fix(splits): Increase split notify stack size.

commit 0438cb0
Author: Peter Johanson <[email protected]>
Date:   Wed Apr 24 21:11:16 2024 -0700

    feat(kscan): More complete PM support to drivers.

    * Update our GPIO kscan drivers to more completely support PM device,
      by doing proper hardare init/deinit in the PM action hook.

commit c5cca5b
Author: Peter Johanson <[email protected]>
Date:   Wed Apr 24 18:14:02 2024 -0700

    feat: Add keyboard physical layout system.

    * Add bindings to allow creating multiple physical layouts that specify
      their key's physical attributes, and the matching matrix transform
      and dependant kscan to use.
    * Synthesize a basic physical layout if none specified, for backwards
      compatibility.
    * Update matrix transform API to explicitly pass in the selected transform
      to the API instead of using a fixed chosen transform.
    * Move kscan subscription and handling into the physical layout code, so
      that selecting a different physical layout at runtime can also use the
      correct kscan instance.
    * Add `physical_layouts.dtsi` file to include so you can use the
      pre-configured `&key_physical_attrs` for adding you layout keys.

commit 80173f8
Author: Peter Johanson <[email protected]>
Date:   Wed Jul 3 02:33:26 2024 -0600

    fix: Improve startup time with proper settings loading.

    * Avoid doing duplicate calls to setings_load_subtree, which iterates
      NVS fully each time under the hood, and instead use on settings_load
      later in the lifecycle.

commit f18974e
Author: Peter Johanson <[email protected]>
Date:   Mon Jul 1 18:26:43 2024 +0000

    fix: Adjust hid indicator listeners for event refactor

    * Avoid static listener to prevent subscription
      issue.

commit f2ea1da
Author: ReFil <[email protected]>
Date:   Sun Jun 30 17:59:46 2024 +0100

    fix(boards): Suppress devicetree warning

    nRF5x boards throw a spurious warning for duplicate unit-address when the devicetree gets processed

    Upstream issue:  zephyrproject-rtos/zephyr#29713

    Warning suppressed as per: https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html

commit 96e55c8
Author: Peter Johanson <[email protected]>
Date:   Fri Jun 28 17:40:49 2024 -0600

    fix: BLE refactor mouse keys fix.

commit 483a493
Author: Peter Johanson <[email protected]>
Date:   Wed Apr 17 16:44:22 2024 -0700

    feat(behaviors): Add local ID system for behaviors

    * Add a new feature for tracking a given behavior by a new concept
      of a "behavior local ID" which is a stable 16-bit identifier for
      a given behavior, that is resilient to new behaviors being added
      and requires no additional work on the part of the behavior
      authors.
    * Add implementations for either settings lookup table, or CRC16
      hashing of behavior device names for generating behavior local
      IDs.

commit f7c34c7
Author: Peter Johanson <[email protected]>
Date:   Fri Apr 5 16:44:42 2024 +0000

    refactor(ble): Extract API to get active profile connection.

    * Add `struct bt_conn *zmk_ble_active_profile_conn(void)` function for
      fetching a connection for the current profile.

commit b576d52
Author: Peter Johanson <[email protected]>
Date:   Wed Mar 27 22:17:32 2024 +0000

    feat(core): Support adding subs to other listeners.

    * Used for ZMK Studio event remappers to be sure the one
      RPC event listener subscribes to their mapped events.

commit 49f7275
Author: Peter Johanson <[email protected]>
Date:   Tue Jun 25 11:57:54 2024 -0600

    fix: Add metadata to missed behaviors.

commit 29599e8
Author: Timoyoungster <[email protected]>
Date:   Fri Jun 14 15:23:37 2024 +0200

    docs: hopefully more clear description of the new setting

commit 10d03ca
Author: Timoyoungster <[email protected]>
Date:   Fri Jun 14 02:28:49 2024 +0200

    fix: adding option to separate implicit mod release from key release

    This adds a new config value `ZMK_HID_SEPARATE_MOD_RELEASE_REPORT`
    where, if enabled, the report for a key release is sent separately to
    the accompanying modifier release signals, which are then sent in a
    second report.

    This fixes an issue where certain applications are unable to work with
    implicitly modified keys (e.g. colon) due to them registering the
    modifier release prior to the actual key release.

    Have tested this on my personal keyboard and `wev` now shows the signals
    in the correct order.

    => **Previously:** ```LSHIFT (pressed) -> colon (pressed) -> LSHIFT
    (released) -> **semi**colon (released)```

    => **Now:** ```LSHIFT (pressed) -> colon (pressed) -> colon (released)
    -> LSHIFT (released)```

    (This time without accidental files)

commit 4dce096
Author: honorless <[email protected]>
Date:   Sun Apr 7 18:13:35 2024 -0400

    docs: improve settings_reset link

commit 9c6d1af
Author: honorless <[email protected]>
Date:   Mon Mar 25 14:43:54 2024 -0400

    ci(build): limit run scope

    * Cancel redundant non-nightly runs and jobs dependent on canceled jobs.

    * Limit scheduled runs to zmkfirmware-owned repos.

commit 7c9477b
Author: honorless <[email protected]>
Date:   Mon Mar 25 14:26:35 2024 -0400

    ci(build): improve security posture

    * Limit unnecessary permissions.

    * Avoid storing credentials.

commit 0bea783
Author: honorless <[email protected]>
Date:   Mon Mar 25 14:08:19 2024 -0400

    ci(build): amend changed-files invocation

commit 3e2c428
Author: Peter Johanson <[email protected]>
Date:   Mon Jun 24 10:58:34 2024 -0600

    chore: Add rp2040/USB logging core coverage.

    * Include an rp2040 core build target, and include USB logging snippet
      for completeness.

commit 03099b0
Author: Peter Johanson <[email protected]>
Date:   Wed Mar 27 12:27:49 2024 -0700

    feat(behaviors): Add behavior metadata information.

    * For upcoming ZMK studio work, make a set of rich metadata available
      to provide a friendly name for a behavior, and allow super flexible
      descriptions of the parameters the behaviors take.
    * Add ability to validate a zmk_behavior_binding against
      the behavior metadata available.

commit 7cdf1e4
Author: Peter Johanson <[email protected]>
Date:   Mon Jun 24 10:48:21 2024 -0600

    fix: Actually add the `zmk-usb-logging` snippet.

    * D'oh.

commit 7be955f
Author: Peter Johanson <[email protected]>
Date:   Fri Jun 21 13:12:13 2024 -0600

    fix(usb): Ensure USB init is last

    * To avoid USB init issues due to other initialization disrupting
      USB setup, move USB setup to a lower priority.

commit a080b52
Author: Peter Johanson <[email protected]>
Date:   Mon Jun 17 15:39:32 2024 -0600

    refactor: Remove static CDC ACM logging nodes.

    * To avoid spurious CDC ACM instances when usint CDC ACM for something
      other than logging, move to the approach used by Zephyr of using a
      snippet to redirect console output to a CDC ACM node added by the
      snippet. Remove all the existing static CDC ACM nodes.
    * Add new `zmk-usb-logging` snippet that mirrors the upstream
      `cdc-acm-logging` snippet, but still does our extra USB logging
      configuration.
    * Updated logging docs accordingly.

    Co-authored-by: Cem Aksoylar <[email protected]>

commit 7c09eb2
Author: Cem Aksoylar <[email protected]>
Date:   Sun Jun 9 21:35:10 2024 -0700

    refactor(docs): Document and enforce header casing conventions

commit e56db30
Author: Cem Aksoylar <[email protected]>
Date:   Sun Jun 9 21:32:26 2024 -0700

    refactor(docs): Split up troubleshooting page into a section

commit 308d6bc
Author: Nicolas Munnich <[email protected]>
Date:   Sun Jun 2 06:51:08 2024 +0200

    feat(docs): Improve the toolchain setup page (zmkfirmware#2272)

    Split the toolchain setup into separate docker and native pages
    and improve instructions to better refer to Zephyr docs in certain steps.
    Also refactor to improve consistency and add virtualenv instructions.

    ---------

    Co-authored-by: KemoNine <[email protected]>
    Co-authored-by: Cem Aksoylar <[email protected]>

commit 2d96f46
Author: Nicolas Munnich <[email protected]>
Date:   Sun May 26 07:16:33 2024 +0200

    fix(docs): Removing to-to typos (zmkfirmware#2310)

commit 2ee76be
Author: German Gutierrez <[email protected]>
Date:   Mon May 13 23:43:35 2024 +0200

    fix(soft_off): central waits 100ms in split if hold_time enabled

commit f0b20c1
Author: Joel Spadin <[email protected]>
Date:   Fri Oct 13 13:07:55 2023 -0500

    feat(boards): Add nRF52 high voltage DC/DC config

    Added a Kconfig option to enable SOC_DCDC_NRF52X_HV for nice_nano_v2
    and mikoto. According to Nordic's documentation, the DC/DC regulator is
    more efficient than the LDO regulator, so this is enabled by default.

    The following boards do not support this mode and were not changed:

    - nice_nano
    - nice60
    - nrfmicro_11, nrfmicro_13
    - nrf52840_m2
    - bluemicro840

    I could not find schematics to confirm whether the following boards
    support this mode:

    - bt60_v1, bt60_v2
    - bt65_v1
    - bt75_v1
    - corneish_zen_v1, corneish_zen_v2
    - pillbug
    - puchi_ble_v1
    - s40nc

commit 8f5c7bb
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Feb 26 05:52:14 2024 +0000

    chore(deps): bump pre-commit/action from 3.0.0 to 3.0.1

    Bumps [pre-commit/action](https://github.com/pre-commit/action) from 3.0.0 to 3.0.1.
    - [Release notes](https://github.com/pre-commit/action/releases)
    - [Commits](pre-commit/action@v3.0.0...v3.0.1)

    ---
    updated-dependencies:
    - dependency-name: pre-commit/action
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

commit 7d1f84e
Author: Horu <[email protected]>
Date:   Tue May 14 03:47:33 2024 +0700

    chore: fix typos in various places
flolbr pushed a commit to flolbr/zmk that referenced this issue Jul 28, 2024
* Because settings load is delayed now, enable external
  power on init, and let it be disabled on settings load
  later, to ensure power is on early for
  other peripheral initialization.

Fixes: zmkfirmware#2361
lammai pushed a commit to lammai/zmk that referenced this issue Oct 27, 2024
* Because settings load is delayed now, enable external
  power on init, and let it be disabled on settings load
  later, to ensure power is on early for
  other peripheral initialization.

Fixes: zmkfirmware#2361
EnotionZ pushed a commit to EnotionZ/zmk that referenced this issue Nov 6, 2024
* Because settings load is delayed now, enable external
  power on init, and let it be disabled on settings load
  later, to ensure power is on early for
  other peripheral initialization.

Fixes: zmkfirmware#2361
earwin pushed a commit to earwin/zmk that referenced this issue Nov 13, 2024
* Because settings load is delayed now, enable external
  power on init, and let it be disabled on settings load
  later, to ensure power is on early for
  other peripheral initialization.

Fixes: zmkfirmware#2361
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants