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

Zephyr v3.0.0 update #1143

Merged
merged 25 commits into from
Apr 3, 2022

Conversation

petejohanson
Copy link
Contributor

@petejohanson petejohanson commented Feb 22, 2022

WIP, opening as draft for now.

  • Write up blog post w/ necessary upgrade instructions, notable changes, etc.
  • Test OLEDs
  • Tag zmk-docker w/ 3.0 tag and update image tag references in this branch.
  • Prep PR to update https:/zmkfirmware/unified-zmk-config-template to use new docker image tag
  • User testing.
  • Add CDC ACM nodes to other boards for USB logging.
  • Fix ZMK_SLEEP.
  • Fix shield displays to set the chosen display.

@petejohanson petejohanson added core Core functionality/behavior of ZMK dependencies Pull requests that update a dependency file labels Feb 22, 2022
@petejohanson petejohanson self-assigned this Feb 22, 2022
@petejohanson petejohanson force-pushed the core/zephyr-v3.0.0-update branch 5 times, most recently from 502bc0e to 7c7cf39 Compare February 22, 2022 16:43
@petejohanson
Copy link
Contributor Author

Ok, so zephyrproject-rtos/zephyr#43203 is blocking splits right now.

@petejohanson
Copy link
Contributor Author

I've created zephyrproject-rtos/zephyr#43247 which mostly fixes the split deadlock on my devkit, will test on full keyboard later.

@NCKiser
Copy link

NCKiser commented Feb 27, 2022

Looks like all this needs now is a commit message change!

@petejohanson petejohanson force-pushed the core/zephyr-v3.0.0-update branch 4 times, most recently from 436d17b to 48829dc Compare March 1, 2022 04:03
@petejohanson
Copy link
Contributor Author

Ok, verified the fix for splits is fully working, typing on a split now using this branch.

Will add a checklist to the top of this for the remaining work.

@petejohanson petejohanson marked this pull request as ready for review March 1, 2022 04:08
@petejohanson
Copy link
Contributor Author

Adding a bullet item, deep sleep doesn't appear to be working.

@petejohanson
Copy link
Contributor Author

Fixed deep sleep, using the proper new PM state that works as expected on nRF52 and should do the right thing on others like stm32wb, etc.

@petejohanson petejohanson force-pushed the core/zephyr-v3.0.0-update branch 2 times, most recently from eca1020 to d93a628 Compare March 10, 2022 15:20
@jcmkk3
Copy link

jcmkk3 commented Mar 10, 2022

I was able to successfully build using the 3.0 branch. I have a couple of custom shields, one using the nice!nano v2 with direct pin and the other using the xiao. The only issue that I had was that I had to disable my build with the ble xiao because it doesn't look like it is in this branch. I was using your 2.7 branch previously.

@petejohanson petejohanson force-pushed the core/zephyr-v3.0.0-update branch 2 times, most recently from 6c61350 to 3c2b639 Compare March 10, 2022 20:03
@manna-harbour
Copy link

manna-harbour commented Mar 11, 2022

I ran a build with Zephyr v3.0.0 for every keyboard in Miryoku ZMK (a_dux, absolem, ahokore, ahokore, arch36, bastyl, bat43, berylline, ble_chiffre, boardsource5x12, chocv, contra, corne, corne-ish_zen, cradio, crbn, draculad, eek, ergodash, ergotravel, ferris_rev02, gatoraid40, helix, hummingbird, iris, jian, jiran, jorne, kyria, levinson, lily58, microdox, microdox_mod, naked60, one42, osprette, planck_rev6, pockettype, preonic_rev3, pteron36, rebound_v4, reviung39, reviung41, scylla_dmmpcb, sofle, sofle_rgb, splitreus62, tbkmini, technikable, tightyl, viterbi, zaphod, zodiark) and encountered the following build warnings and errors in failed builds for the keyboards listed after each error message below. All other keyboards built without error. All keyboards build without error with ZMK main. Keyboards that require a ZMK fork (corne-ish_zen, ferris_rev02, zaphod) were built with the 3.0 container but with their usual ZMK forks.

devicetree error: 'clock-frequency' is marked as required in 'properties:' in /__w/zmk-config/zmk-config/zephyr/dts/bindings/clock/st,stm32-rcc.yaml, but does not appear in <Node /soc/rcc@40021000 in '/__w/zmk-config/zmk-config/zephyr/misc/empty_file.c'>
devicetree error: 'color-mapping' is marked as required in 'properties:' in /__w/zmk-config/zmk-config/zephyr/dts/bindings/led_strip/worldsemi,ws2812-spi.yaml, but does not appear in <Node /soc/spi@40004000/ws2812@0 in '/__w/zmk-config/zmk-config/zephyr/misc/empty_file.c'>
node '/vbatt' compatible 'zmk,battery-voltage-divider' has unknown vendor prefix 'zmk'
node '/kscan' compatible 'zmk,kscan-gpio-matrix' has unknown vendor prefix 'zmk'
node '/keymap' compatible 'zmk,keymap' has unknown vendor prefix 'zmk'
warning: USB (defined at /__w/zmk-config/zmk-config/config/boards/shields/ergotravel/Kconfig.defconfig:17, /__w/zmk-config/zmk-config/config/boards/shields/ergotravel/Kconfig.defconfig:17) defined without a type

For the keyboard maintainers mentioned, the migration guide is here: https://deploy-preview-1143--zmk.netlify.app/blog/2022/03/10/zephyr-3-0/.

See below for updated list.

* Adjust for device API changes to fetch
  ext power driver instance from settings
  callback.
* New PM action callback API.
* Properly react to events only for connections
  with the correct role.
* Document the Seeed(uino) XIAO interconnect
* Add metadata files for two upstream boards, XIAO and XIAO BLE.
* Add conf and overlay files to properly configure the boards
  for ZMK use.
* Allows removing multilib from docker images
* Run properly in aarch64 host docker
  containers for testing on Rasberry Pi.
* Small sticky-keys fix to initialize w/ correct
  constant for max uin32_t value.
Properly document `zmk` local vendor prefix.
@petejohanson petejohanson merged commit b4db1b8 into zmkfirmware:main Apr 3, 2022
@manna-harbour
Copy link

@mmccoyd

I can make this change for nice_nano v1, but for v2 I get the following error. Is a property missing for nice_nano v2?

devicetree error: 'color-mapping' appears in /soc/spi@40004000/ws2812@0 in nice_nano_v2.dts.pre.tmp, but is not declared in 'properties:' in /__w/zmk-config/zmk-config/zephyr/dts/bindings/led_strip/worldsemi,ws2812-spi.yaml

@petejohanson

@mmccoyd Looks like you're not actually building against the 3.0 branch. If checking out locally, be sure to run west update afterwards to pull the new Zephyr changes.

I can confirm that your updated shield builds with nice_nano but fails with nice_nano_v2 The error I get is:

-- Zephyr version: 3.0.0 (/__w/zmk-config/zmk-config/zephyr)
-- Board: nice_nano_v2, Shield(s): hillside_left
devicetree error: 'color-mapping' is marked as required in 'properties:' in /__w/zmk-config/zmk-config/zephyr/dts/bindings/led_strip/worldsemi,ws2812-spi.yaml, but does not appear in <Node /soc/spi@40004000/ws2812@0 in '/__w/zmk-config/zmk-config/zephyr/misc/empty_file.c'>

It might be related to #885.

Also, as I was only testing with nice_nano previously I've re-tested all shields with nice_nano_v2. arch36 (@okke-formsma) and reviung39 (@jshreynolds) fail with nice_nano but build with nice_nano_v2. I've updated the list #1143 (comment).

@mmccoyd
Copy link

mmccoyd commented Apr 3, 2022

Hillside now works for nice_nano v1 and v2. Identical file changes to both, which earlier failed for v2 now succeeds for v2, of adding the include and the color-mapping lines. The earlier and current tests were built on GitHub after setting to image: zmkfirmware/zmk-build-arm:stable. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Core functionality/behavior of ZMK dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants