From 43afe5cacedcf900665fc017199900ae30664376 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 10 May 2024 12:47:45 +0200 Subject: [PATCH 01/17] ci: github: update Github actions versions Update Github actions to their latest versions to fix the following warnings on runs: ``` Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: FraBle/clean-after-action@v1. Signed-off-by: Stephan Linz --- .github/workflows/qa-integration.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/qa-integration.yml b/.github/workflows/qa-integration.yml index 6e66287c1f..865b41822c 100644 --- a/.github/workflows/qa-integration.yml +++ b/.github/workflows/qa-integration.yml @@ -71,7 +71,7 @@ jobs: # are run in reverse order (and you do not want to cleanup before the # caching is saved). - name: Clean working directory - uses: FraBle/clean-after-action@v1 + uses: tiacsys/clean-after-action@v3 # # Could also be implemented with the new pre- and post-job hook scripts: # @@ -184,7 +184,7 @@ jobs: # are run in reverse order (and you do not want to cleanup before the # caching is saved). - name: Clean working directory - uses: FraBle/clean-after-action@v1 + uses: tiacsys/clean-after-action@v3 # # Could also be implemented with the new pre- and post-job hook scripts: # @@ -295,7 +295,7 @@ jobs: # are run in reverse order (and you do not want to cleanup before the # caching is saved). - name: Clean working directory - uses: FraBle/clean-after-action@v1 + uses: tiacsys/clean-after-action@v3 # # Could also be implemented with the new pre- and post-job hook scripts: # From ba3e47446ddb6cb961cb662efec529f9df7f6a77 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 10 May 2024 14:45:24 +0200 Subject: [PATCH 02/17] ci: github: relax Github actions failures Add retry option to every `west twister` call to avoid stupid false positive errors because of "Timeout" or "Testsuite mismatch". Signed-off-by: Stephan Linz --- .github/workflows/qa-integration.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/qa-integration.yml b/.github/workflows/qa-integration.yml index 865b41822c..efe1e54b4f 100644 --- a/.github/workflows/qa-integration.yml +++ b/.github/workflows/qa-integration.yml @@ -124,9 +124,11 @@ jobs: - name: Build samples working-directory: workspace run: | - west twister --verbose --integration \ + west twister --verbose --jobs 6 \ + --retry-failed 5 --retry-interval 60 \ --outdir twister-out --no-clean --inline-logs \ --enable-size-report --platform-reports \ + --integration \ --testsuite-root bridle/samples/button \ --testsuite-root bridle/samples/buzzer \ --testsuite-root bridle/samples/helloshell \ @@ -247,9 +249,11 @@ jobs: # --> Grove LED Shields, ~880% more time (~890 more tests) # --testsuite-root bridle/tests/shields/grove_led/dts_bindings \ # - west twister --verbose --integration --cmake-only \ + west twister --verbose --jobs 6 \ + --retry-failed 5 --retry-interval 60 \ --outdir twister-out --no-clean --inline-logs \ --enable-size-report --platform-reports \ + --integration --cmake-only \ --quarantine-list bridle/tests/quarantine.yaml \ --testsuite-root bridle/tests/shields/grove/dts_bindings \ --testsuite-root bridle/tests/shields/x_grove_testbed/dts_bindings From b40c84855fca5d374d0ffe9f686f3001e6629a11 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Mon, 10 Jun 2024 00:32:06 +0200 Subject: [PATCH 03/17] ci: github: qa-integration: use minimal jobs Reduce Twister parallel jobs to a minimum. All test cases should be processed sequentially one after the other to avoid race conditions. With two jobs in parallel, one job will build a test suite the other job will execute on target and pick up results. Signed-off-by: Stephan Linz --- .github/workflows/qa-integration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qa-integration.yml b/.github/workflows/qa-integration.yml index efe1e54b4f..6a5431be30 100644 --- a/.github/workflows/qa-integration.yml +++ b/.github/workflows/qa-integration.yml @@ -357,7 +357,7 @@ jobs: # --tag vector_relay \ # --tag kernel \ # - west twister --verbose --jobs 4 \ + west twister --verbose --jobs 2 \ --retry-failed 5 --retry-interval 60 \ --outdir twister-out --no-clean --inline-logs \ --enable-size-report --platform-reports \ From 8f9d1de38755b007715c1e507306f243a132bd10 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Mon, 22 Jul 2024 01:42:28 +0200 Subject: [PATCH 04/17] ci: github: bump Zephyr CI container to v0.26.13 Update: * Zephyr SDK to 0.16.8 * nrf-regtool to 5.3.0 * bsim version to 2.2 * zephyr-runner v2 using Buildah and Podman Add: * Kitware ninja 1.11.1 * ccache version 4.9.1 * ARM Fixed Virtual Platform (FVP) emulator Signed-off-by: Stephan Linz --- .github/workflows/qa-integration.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/qa-integration.yml b/.github/workflows/qa-integration.yml index 6a5431be30..5ba2cdc4ea 100644 --- a/.github/workflows/qa-integration.yml +++ b/.github/workflows/qa-integration.yml @@ -41,10 +41,10 @@ jobs: if: github.repository_owner == 'tiacsys' runs-on: [self-hosted, ci-32g-x8, linux, x64, container] container: - image: ghcr.io/zephyrproject-rtos/ci:v0.26.7 + image: ghcr.io/zephyrproject-rtos/ci:v0.26.13 options: '--cpus 4 --memory 8g --entrypoint /bin/bash' env: - ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.5 + ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.8 steps: - name: Apply container owner mismatch workaround @@ -156,10 +156,10 @@ jobs: if: github.repository_owner == 'tiacsys' runs-on: [self-hosted, ci-32g-x8, linux, x64, container] container: - image: ghcr.io/zephyrproject-rtos/ci:v0.26.7 + image: ghcr.io/zephyrproject-rtos/ci:v0.26.13 options: '--cpus 4 --memory 8g --entrypoint /bin/bash' env: - ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.5 + ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.8 steps: - name: Apply container owner mismatch workaround From 1bfc9fe3a3cf1b557649450e934562642ec8b82d Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Sun, 4 Aug 2024 08:40:52 +0200 Subject: [PATCH 05/17] ci: github: qa: upload test loggings Uses actions/upload-artifact@v4 to upload test logging files too. Also disable platform and size reporting for Twister, not used. Signed-off-by: Stephan Linz --- .github/workflows/qa-integration.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/qa-integration.yml b/.github/workflows/qa-integration.yml index 5ba2cdc4ea..1152f6d547 100644 --- a/.github/workflows/qa-integration.yml +++ b/.github/workflows/qa-integration.yml @@ -127,8 +127,7 @@ jobs: west twister --verbose --jobs 6 \ --retry-failed 5 --retry-interval 60 \ --outdir twister-out --no-clean --inline-logs \ - --enable-size-report --platform-reports \ - --integration \ + --integration --no-detailed-test-id \ --testsuite-root bridle/samples/button \ --testsuite-root bridle/samples/buzzer \ --testsuite-root bridle/samples/helloshell \ @@ -136,6 +135,12 @@ jobs: --testsuite-root bridle/samples/waveshare_pico_10dof_imu_sensor \ --testsuite-root bridle/samples/waveshare_pico_environment_sensor + - name: Upload integration test logging + uses: actions/upload-artifact@v4 + with: + name: twister-samples.log + path: workspace/twister-out/twister.log + - name: Upload integration test results uses: actions/upload-artifact@v4 with: @@ -252,12 +257,17 @@ jobs: west twister --verbose --jobs 6 \ --retry-failed 5 --retry-interval 60 \ --outdir twister-out --no-clean --inline-logs \ - --enable-size-report --platform-reports \ --integration --cmake-only \ --quarantine-list bridle/tests/quarantine.yaml \ --testsuite-root bridle/tests/shields/grove/dts_bindings \ --testsuite-root bridle/tests/shields/x_grove_testbed/dts_bindings + - name: Upload integration test logging + uses: actions/upload-artifact@v4 + with: + name: twister-shields.log + path: workspace/twister-out/twister.log + - name: Upload integration test results uses: actions/upload-artifact@v4 with: @@ -360,7 +370,6 @@ jobs: west twister --verbose --jobs 2 \ --retry-failed 5 --retry-interval 60 \ --outdir twister-out --no-clean --inline-logs \ - --enable-size-report --platform-reports \ --device-testing --hardware-map ${HARDWARE_MAP} \ --extra-args SHIELD="loopback_test_tmph" \ --alt-config-root bridle/zephyr/alt-config \ @@ -377,6 +386,12 @@ jobs: --tag uart \ --tag can + - name: Upload integration test logging + uses: actions/upload-artifact@v4 + with: + name: twister-targets.log + path: workspace/twister-out/twister.log + - name: Upload integration test results uses: actions/upload-artifact@v4 with: From 199787c94679bf11c7333387bf70a8f68d60618f Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Mon, 22 Jul 2024 01:31:22 +0200 Subject: [PATCH 06/17] cmake: allow Zephyr SDK v0.16.7 to v0.16.8 The tested version is Zephyr SDK v0.16.8 with the Arm GNU toolchain 12.2.0. Signed-off-by: Stephan Linz --- scripts/tools-versions-linux.txt | 2 +- scripts/tools-versions-macos.txt | 2 +- scripts/tools-versions-minimum.txt | 2 +- scripts/tools-versions-win10.txt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/tools-versions-linux.txt b/scripts/tools-versions-linux.txt index adf1577b8a..af4712f641 100644 --- a/scripts/tools-versions-linux.txt +++ b/scripts/tools-versions-linux.txt @@ -8,7 +8,7 @@ openocd=0.11.0-5 (xPack OpenOCD from GitHub) ccache=3.7.7-1 dfu-util=0.9-1 west=0.14.0 -zephyr-sdk=0.16.5 +zephyr-sdk=0.16.8 armgnutc=13.2.rel1 gnuarmemb=10.3-2021.10 stm32cubeclt=1.14.0 (11.3.rel1) diff --git a/scripts/tools-versions-macos.txt b/scripts/tools-versions-macos.txt index 699d435d0b..07d17c69c7 100644 --- a/scripts/tools-versions-macos.txt +++ b/scripts/tools-versions-macos.txt @@ -6,7 +6,7 @@ gperf=3.1;hash=258483ea2fd445d42d869d495504f960202fe0c3 dtc=1.4.7;hash=0747cc9d6b50ac8a3b1b576e4509494f2258aef2 openocd=0.11.0-5 (xPack OpenOCD from GitHub) west=0.14.0 -zephyr-sdk=0.16.5 +zephyr-sdk=0.16.8 armgnutc=13.2.rel1 gnuarmemb=10.3-2021.10 stm32cubeclt=1.14.0 (11.3.rel1) diff --git a/scripts/tools-versions-minimum.txt b/scripts/tools-versions-minimum.txt index fe89296335..4bc8089644 100644 --- a/scripts/tools-versions-minimum.txt +++ b/scripts/tools-versions-minimum.txt @@ -5,7 +5,7 @@ gperf=3.1 dtc=1.4.6 openocd=0.11 west=0.12 -zephyr-sdk=0.16.4 +zephyr-sdk=0.16.7 armgnutc=11.2-2022.02 gnuarmemb=10-2020-q4-major stm32cubeclt=1.11.1 (10.3.rel1) diff --git a/scripts/tools-versions-win10.txt b/scripts/tools-versions-win10.txt index 7d89fb79d5..dceced403f 100644 --- a/scripts/tools-versions-win10.txt +++ b/scripts/tools-versions-win10.txt @@ -6,7 +6,7 @@ gperf=3.1 dtc=1.4.7-1 openocd=0.11.0-5 (xPack OpenOCD from GitHub) west=0.14.0 -zephyr-sdk=0.16.5 +zephyr-sdk=0.16.8 armgnutc=13.2.rel1 gnuarmemb=10.3-2021.10 stm32cubeclt=1.14.0 (11.3.rel1) From 73b78dbf7169ea63574129feaa4e846a8f30b59e Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 21 Jun 2024 02:05:10 +0200 Subject: [PATCH 07/17] ubxlib: remove deprecated Kconfigs This commit updates in-tree code for the U-Blox library to use CONFIG_CPP instead of CONFIG_CPLUSPLUS, which is deprecated for more than 3 releases. Signed-off-by: Stephan Linz --- modules/ubxlib/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ubxlib/Kconfig b/modules/ubxlib/Kconfig index dda89bc4a6..1e2663b76f 100644 --- a/modules/ubxlib/Kconfig +++ b/modules/ubxlib/Kconfig @@ -86,7 +86,7 @@ config UBXLIB_TEST bool "Compile the ubxlib tests" select TEST select IRQ_OFFLOAD - select CPLUSPLUS + select CPP default n help The self contained ubxlib tests are only usefull for From 27ad9c5e7bf9691a5a4207e00e8950a50e6191a7 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 21 Jun 2024 01:01:39 +0200 Subject: [PATCH 08/17] samples: ubx_gnss: remove deprecated Kconfigs The following Kconfigs have been deprecated for more than 2 releases, remove them: - CONFIG_MINIMAL_LIBC_MALLOC Instead the new generic Kconfigs will used: - CONFIG_COMMON_LIBC_MALLOC This fixes following exemplary build error message since Zephyr commit c22c98e51033379347cd8c681db34cf7afd33e57: /.../workspace/bridle/samples/ubx_gnss/prj.conf:31: warning: attempt to assign the value 'n' to the undefined symbol MINIMAL_LIBC_MALLOC error: Aborting due to Kconfig warnings Signed-off-by: Stephan Linz --- samples/ubx_gnss/prj.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/ubx_gnss/prj.conf b/samples/ubx_gnss/prj.conf index 9de99a1c48..7fabb1a7be 100644 --- a/samples/ubx_gnss/prj.conf +++ b/samples/ubx_gnss/prj.conf @@ -28,7 +28,7 @@ CONFIG_UBXLIB_GNSS=y # Libc CONFIG_MINIMAL_LIBC=y -CONFIG_MINIMAL_LIBC_MALLOC=n +CONFIG_COMMON_LIBC_MALLOC=n # Memory CONFIG_MAIN_STACK_SIZE=8192 From f444762b5d738b18319dd397e2a774b4fd28947f Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Sun, 30 Jun 2024 16:59:14 +0200 Subject: [PATCH 09/17] ci: check compliance: allow Draw.io and PDF files Support binary artifacts with file suffix ".drawio" and ".pdf". Signed-off-by: Stephan Linz --- scripts/ci/check_compliance.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ci/check_compliance.py b/scripts/ci/check_compliance.py index d003089054..0ae5a62920 100755 --- a/scripts/ci/check_compliance.py +++ b/scripts/ci/check_compliance.py @@ -1072,7 +1072,8 @@ class BinaryFiles(ComplianceTest): def run(self): BINARY_ALLOW_PATHS = ("doc/", "boards/", "samples/") # svg files are always detected as binary, see .gitattributes - BINARY_ALLOW_EXT = (".bmp", ".fzpz", ".fzz", ".gif", ".jpg", ".jpeg", ".png", ".svg", ".webp") + BINARY_ALLOW_EXT = (".bmp", ".drawio", ".fzpz", ".fzz", ".gif", + ".jpg", ".jpeg", ".pdf", ".png", ".svg", ".webp") for stat in git("diff", "--numstat", "--diff-filter=A", COMMIT_RANGE).splitlines(): From 0064dee27bddce3ad79ef5c5bf1de1908650ea2c Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Tue, 9 Jul 2024 08:36:58 +0200 Subject: [PATCH 10/17] shields: rpi_pico_clock: doc: add piezo buzzer Adds the PWM channel for the on-shield piezo buzzer to the documentation. Signed-off-by: Stephan Linz --- .../doc/waveshare_pico_clock_green/hardware.rsti | 6 +++++- .../doc/waveshare_pico_clock_green/pinouts.rsti | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/boards/shields/rpi_pico_clock/doc/waveshare_pico_clock_green/hardware.rsti b/boards/shields/rpi_pico_clock/doc/waveshare_pico_clock_green/hardware.rsti index 5f02eb4dbd..b33aa59beb 100644 --- a/boards/shields/rpi_pico_clock/doc/waveshare_pico_clock_green/hardware.rsti +++ b/boards/shields/rpi_pico_clock/doc/waveshare_pico_clock_green/hardware.rsti @@ -23,9 +23,11 @@ display and buttons for navigation and configuration. :hwftlbl-btn:`SET/FUNCTION` :hwftlbl-btn:`UP` :hwftlbl-btn:`DOWN` + :hwftlbl-spk:`PIEZO` :hwftlbl-scr:`LED` - :hwftlbl-pio:`9` + :hwftlbl-pio:`10` + :hwftlbl-pwm:`1` :hwftlbl-adc:`1` :hwftlbl-i2c:`1` :hwftlbl-spi:`1` @@ -39,6 +41,7 @@ display and buttons for navigation and configuration. - :bbk:`1 RTC with temperature sensor` - :bbk:`1 LDR light sensor` - :bbk:`3 User keys` + - :bbk:`1 Piezo` buzzer - :bbk:`3 ADDR signals to LED matrix controller` - :bbk:`1 LE signal to LED matrix controller` @@ -47,6 +50,7 @@ display and buttons for navigation and configuration. - :bbl:`1 I2C` controller for RTC - :bbl:`1 SPI` controller for LED matrix controller` - :bbl:`1 ADC` analog input for LDR light sensor + - :bbl:`1 PWM` output for Piezo buzzer .. rubric:: Design Data .. rst-class:: rst-columns diff --git a/boards/shields/rpi_pico_clock/doc/waveshare_pico_clock_green/pinouts.rsti b/boards/shields/rpi_pico_clock/doc/waveshare_pico_clock_green/pinouts.rsti index 535a25e348..17d74d31ea 100644 --- a/boards/shields/rpi_pico_clock/doc/waveshare_pico_clock_green/pinouts.rsti +++ b/boards/shields/rpi_pico_clock/doc/waveshare_pico_clock_green/pinouts.rsti @@ -7,7 +7,8 @@ - .. rubric:: Pinout * - :on-shield: - :hwftlbl-pio:`9` + :hwftlbl-pio:`10` + :hwftlbl-pwm:`1` :hwftlbl-adc:`1` :hwftlbl-i2c:`1` :hwftlbl-spi:`1` From 82a51a45d82505e07fb8d1f5c633d359fbf973ac Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Sun, 21 Jul 2024 11:38:36 +0200 Subject: [PATCH 11/17] shields: waveshare_2_4_lcd: doc: fix LCD resolution There was an incorrect value for the LCD resolution at one point in the documentation, which has now been fixed. Signed-off-by: Stephan Linz --- .../shields/waveshare_lcd/doc/waveshare_2_4_lcd/positions.rsti | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards/shields/waveshare_lcd/doc/waveshare_2_4_lcd/positions.rsti b/boards/shields/waveshare_lcd/doc/waveshare_2_4_lcd/positions.rsti index f045fd8715..123dfedcf3 100644 --- a/boards/shields/waveshare_lcd/doc/waveshare_2_4_lcd/positions.rsti +++ b/boards/shields/waveshare_lcd/doc/waveshare_2_4_lcd/positions.rsti @@ -15,7 +15,7 @@ Outputs: 1. | :strong:`ILI9341` - | 2.4-inch 240×350 pixels 65K colorful TFT LCD + | 2.4-inch 240×320 pixels 65K colorful TFT LCD .. container:: rightside From f63a6bb031a9c6d26faefd71d5cc0ab1fb1a9fc2 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Sun, 21 Jul 2024 11:55:43 +0200 Subject: [PATCH 12/17] snippets: remove useless list of references MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In some places there were sections with an empty list of internet references, as no links are currently defined in the affected parts of the documentation. The “References” section must be added again as soon as links are defined. Signed-off-by: Stephan Linz --- snippets/pwm-servo/README.rst | 5 ----- snippets/samples-sensor-bme280-tweaks/README.rst | 5 ----- 2 files changed, 10 deletions(-) diff --git a/snippets/pwm-servo/README.rst b/snippets/pwm-servo/README.rst index 19a5647de4..a992ace962 100644 --- a/snippets/pwm-servo/README.rst +++ b/snippets/pwm-servo/README.rst @@ -69,8 +69,3 @@ How to add support of a new board - :devicetree:`compatible = "pwm-servo";` - :devicetree:`min-pulse = ;` - :devicetree:`max-pulse = ;` - -References -********** - -.. target-notes:: diff --git a/snippets/samples-sensor-bme280-tweaks/README.rst b/snippets/samples-sensor-bme280-tweaks/README.rst index db01738ded..4c31958bbc 100644 --- a/snippets/samples-sensor-bme280-tweaks/README.rst +++ b/snippets/samples-sensor-bme280-tweaks/README.rst @@ -59,8 +59,3 @@ How to add support of a new board * add board devicetree overlay to this snippet; * which add the needed tweaks - -References -********** - -.. target-notes:: From 55f7e5b4ef56f9920c65526693dffc7060db6cf3 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Sun, 21 Jul 2024 11:48:51 +0200 Subject: [PATCH 13/17] snippets: add deletion of default alias names Some application setups needs deletion of default alias names for the first user button and / or LED to avoid event race condistions in different Zephyr sub-systems, e.g. the input sub-system. Signed-off-by: Stephan Linz --- snippets/del-default-aliases/README.rst | 42 +++++++++++++++++++ .../del-default-aliases.conf | 4 ++ .../del-default-aliases.overlay | 12 ++++++ snippets/del-default-aliases/snippet.yml | 4 ++ 4 files changed, 62 insertions(+) create mode 100644 snippets/del-default-aliases/README.rst create mode 100644 snippets/del-default-aliases/del-default-aliases.conf create mode 100644 snippets/del-default-aliases/del-default-aliases.overlay create mode 100644 snippets/del-default-aliases/snippet.yml diff --git a/snippets/del-default-aliases/README.rst b/snippets/del-default-aliases/README.rst new file mode 100644 index 0000000000..7d330935ad --- /dev/null +++ b/snippets/del-default-aliases/README.rst @@ -0,0 +1,42 @@ +.. _snippet-del-default-aliases: + +Delete Default Devicetree Aliases Snippet (del-default-aliases) +############################################################### + +.. code-block:: console + + west build -S del-default-aliases [...] + +Overview +******** + +This snippet deletes common default alias properties from the +:ref:`zephyr:devicetree`, e.g. such as +:devicetree:`sw0 = &gpio_key_node;`, or +:devicetree:`led0 = &gpio_led_node;`, or +:devicetree:`pwm-led0 = &pwm_led_node;`. +In general, these are only expected from simple examples or test cases but +can potentially cause ugly side effects if, for example, both an application +and a Zephyr subsystem simultaneously initialize interrupt callbacks on the +underlying hardware. + +In such a constellation, for example the +:doc:`zephyr:samples/subsys/display/lvgl/README` with the +:dtcompatible:`zephyr,input-longpress` function in the input system on exactly +the same GPIO pin, every second event would not be handled there for by the +input system but at the application level and would therefore be lost for the +input system. The end user is free to use this snippet in such cases or to use +another adequate solution. + +Current Deletions +***************** + +.. literalinclude:: del-default-aliases.overlay + :caption: del-default-aliases.overlay + :language: DTS + :encoding: ISO-8859-1 + :linenos: + :prepend: / { + :start-at: aliases { + :end-at: }; + :append: }; diff --git a/snippets/del-default-aliases/del-default-aliases.conf b/snippets/del-default-aliases/del-default-aliases.conf new file mode 100644 index 0000000000..cc2a28cacd --- /dev/null +++ b/snippets/del-default-aliases/del-default-aliases.conf @@ -0,0 +1,4 @@ +# Copyright (c) 2024 TiaC Systems +# SPDX-License-Identifier: Apache-2.0 + +# currently empty, no setup on Kconfig level diff --git a/snippets/del-default-aliases/del-default-aliases.overlay b/snippets/del-default-aliases/del-default-aliases.overlay new file mode 100644 index 0000000000..2d78ebfec0 --- /dev/null +++ b/snippets/del-default-aliases/del-default-aliases.overlay @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2024 TiaC Systems + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + aliases { + /delete-property/ sw0; + /delete-property/ led0; + /delete-property/ pwm-led0; + }; +}; diff --git a/snippets/del-default-aliases/snippet.yml b/snippets/del-default-aliases/snippet.yml new file mode 100644 index 0000000000..8886daa6e9 --- /dev/null +++ b/snippets/del-default-aliases/snippet.yml @@ -0,0 +1,4 @@ +name: del-default-aliases +append: + EXTRA_CONF_FILE: del-default-aliases.conf + EXTRA_DTC_OVERLAY_FILE: del-default-aliases.overlay From f4db0dbb1fec21e5a0509ca7abb2ce5b7652b659 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Sun, 4 Aug 2024 10:03:13 +0200 Subject: [PATCH 14/17] release: add draft notes for upcoming 3.6.1 Create the new RST file release notes and add to TOC. Signed-off-by: Stephan Linz --- doc/bridle/release_notes.rst | 1 + doc/bridle/releases/release-notes-3.6.1.rst | 363 ++++++++++++++++++++ 2 files changed, 364 insertions(+) create mode 100644 doc/bridle/releases/release-notes-3.6.1.rst diff --git a/doc/bridle/release_notes.rst b/doc/bridle/release_notes.rst index 8291d6f7cc..c0b368ae68 100644 --- a/doc/bridle/release_notes.rst +++ b/doc/bridle/release_notes.rst @@ -24,6 +24,7 @@ information about specific |BRIDLE| releases. :caption: Releases :maxdepth: 1 + releases/release-notes-3.6.1 releases/release-notes-3.6.0 releases/release-notes-3.5.1 releases/release-notes-3.5.0 diff --git a/doc/bridle/releases/release-notes-3.6.1.rst b/doc/bridle/releases/release-notes-3.6.1.rst new file mode 100644 index 0000000000..401e7589ca --- /dev/null +++ b/doc/bridle/releases/release-notes-3.6.1.rst @@ -0,0 +1,363 @@ +.. _bridle_release_notes_361: + +|BRIDLE| 3.6.1 Release Notes (Working draft) +############################################ + +This project demonstrate the integration of |TIAC| support in open +source projects, like the Zephyr RTOS, with libraries and source code +for applications. It is not yet intended or supported by |TIAC| for +product development. + +Highlights +********** + +* :brd:`NOT YET, tbd.` + +* Add the u-blox library (**ubxlib**) and provide a simple GNSS example. +* Add *Raspberry Pi Pico* **Clock** *Shields*. +* Add *Raspberry Pi Pico* **LCD** *Shields*. +* Add *Raspberry Pi Pico* **LED** *Shields*. +* Add *Raspberry Pi Pico* **TEST** *Shields*. +* Add *DTS bindings* for **pwm-buzzers** and **pwm-servos**. +* Support the *Cytron Maker RP2040* family. +* Support *The PicoBoy* mini-handheld. +* Use board extensions. + +.. note:: See the changelog and readme files in the component repositories + for a detailed description of changes. + +Repositories +************ + +For more details, see: :ref:`repos_and_revs`. + +.. list-table:: + :header-rows: 1 + + * - Component + - **Group** : *Imports* + - Branch + - Tag + * - `tiac-bridle`_ + - + - v3.6-branch + - v3.6.1 + * - | `tiac-ubxlib`_ + | (`u-blox-ubxlib`_) + - | *geographiclib* + - | tiacsys/main + | (main) + - + * - | `tiac-zephyr`_ + | (`zephyr-core`_) + - | *liblc3* + | *loramac-node* + | *lvgl* + | *mcuboot* + | *open-amp* + | *openthread* + | *picolibc* + | **hal** : *cmsis* + | **hal** : *hal_altera* + | **hal** : *hal_atmel* + | **hal** : *hal_espressif* + | **hal** : *hal_gigadevice* + | **hal** : *hal_infineon* + | **hal** : *hal_microchip* + | **hal** : *hal_nordic* + | **hal** : *hal_nuvoton* + | **hal** : *hal_nxp* + | **hal** : *hal_openisa* + | **hal** : *hal_quicklogic* + | **hal** : *hal_renesas* + | **hal** : *hal_rpi_pico* + | **hal** : *hal_silabs* + | **hal** : *hal_st* + | **hal** : *hal_stm32* + | **hal** : *hal_telink* + | **hal** : *hal_ti* + | **hal** : *hal_xtensa* + | **hal** : *libmetal* + | **fs** : *fatfs* + | **fs** : *littlefs* + | **tee** : *trusted-firmware-a* + | **tee** : *trusted-firmware-m* + | **crypto** : *mbedtls* + | **crypto** : *tinycrypt* + | **debug** : *mipi-sys-t* + | **debug** : *segger* + | **tools** : *edtt* + | **tools** : *net-tools* + | **optional** : *canopennode* + | **optional** : *chre* + | **optional** : *psa-arch-tests* + | **optional** : *tf-m-tests* + - | tiacsys/v3.6-branch + | (v3.6-branch) + - v3.6.1 + +.. note – component list fetched from 'west list -a -f "{name:24} {groups:40}"' + +Supported boards +**************** + +:brd:`NOT YET, tbd.` + +* Arduino/Genuino Zero +* PicoBoy Mini-Handheld +* Cytron Maker Nano RP2040 +* Cytron Maker Pi RP2040 +* NXP MIMXRT1010-EVK +* NXP MIMXRT1060-EVK +* Raspberry Pi Pico and Pico W +* Seeed Studio XIAO SAMD21 (Seeeduino XIAO) +* Seeeduino Cortex-M0+ +* Seeeduino Lotus Cortex-M0+ +* ST Nucleo F2xxxx +* ST Nucleo F3xxxx / L4xxxx +* ST Nucleo F6xxxx +* TiaC Magpie STM32F777NIHx +* Waveshare RP2040 (series of mini and pico sized boards) + +Supported shields +***************** + +:brd:`NOT YET, tbd.` + +* Seeed Studio Grove Interconnect Shields +* Grove Button Shields +* Grove LED Shields +* Raspberry Pi Pico Clock Shields +* Raspberry Pi Pico LCD Shields +* Raspberry Pi Pico LED Shields +* Raspberry Pi Pico TEST Shields +* Waveshare LCD Modules +* Waveshare Pico 10-DOF IMU Sensor +* Waveshare Pico Environment Sensor + +Supported snippets +****************** + +:brd:`NOT YET, tbd.` + +* USB Console Snippet (usb-console) +* PWM Servomotor Preset Snippet (pwm-servo) +* CAN timing adjustments (can-timing-adj) + +Change log +********** + +:brd:`NOT YET, tbd.` + +* When ``getopt()`` is active (``CONFIG_SHELL_GETOPT=y``), the Zephyr shell + is not parsing command handler to print help message. It must be done + explicitly inside the command implementation. +* Update GPIO to use ``DT_HAS__ENABLED`` Kconfig symbol to expose the + driver and enable it by default based on devicetree. +* Use *Board extensions* to extended Zephyr upstream board configurations. + In some situations, certain hardware description or choices can not be added + in the upstream Zephyr repository, but they can be in a downstream project, + where custom bindings or driver classes can also be created. This feature may + also be useful in development phases, when the board skeleton lives upstream, + but other features are developed in a downstream module. Thus the extensions + spinned around in different shields or snippets were centraliced as board + extensions, e.g. the special *Raspberry Pi Pico R3 edge connector binding*. +* Remove special board extensions for Nucleo F303RE/F401RE, NXP MIMXRT1010-EVK, + and RPi Pico from the *Grove Interconnect Shield*. +* Convert all RP2040 based boards to the new *Clock Controller* support. +* Adds the new DTS binding *pwm-buzzers*, which can be used in the same way as + the Zephyr upstream binding *pwm-leds*; but here for simple buzzers, each + used by a dedicated PWM channel to output simple digital sounds. A simple + buzzer sample is now also part of Bridle. This can be used for simple music + playback via PWM. +* Adds the new DTS binding *pwm-servos* to combine several PWM channels in one + node and make different numbers of servomotors known via alias entries. As + long as there is no stable servo motor or motion API in Zephyr or Bridle, + this binding will remain in flux and will not be finished. +* Add the new *PWM Servomotor Preset Snippet (pwm-servo)* for quite board + specific preperations of the standard Zephyr Servomotor sample. Add support + for the following boards: + + * Cytron Maker Pi RP2040 + +* Add more boards to the *USB Console Snippet (usb-console)*: + + * Cytron Maker Nano RP2040 + * Cytron Maker Pi RP2040 + * NXP MIMXRT1010-EVK + * NXP MIMXRT1060-EVK + * Raspberry Pi Pico (W) + * Waveshare RP2040-Geek + +* Add more shields: + + * *Raspberry Pi Pico Clock Shields*: + + * **Pico Clock Green** shield by Waveshare + + * *Raspberry Pi Pico LCD Shields*: + + * **Pico LCD 1.14** shield by Waveshare + * **Pico LCD 2** shield by Waveshare + * **Pico ResTouch LCD 3.5** shield by Waveshare + + * *Raspberry Pi Pico LED Shields*: + + * **Pico RGB LED** shield by Waveshare + + * *Raspberry Pi Pico TEST Shields*: + + * **Pico ALL GPIO TEST** shield by Spotpear + + * *Waveshare LCD Modules*: + + * **2.4inch LCD Module** as shield by Waveshare + + * Sensor shields: + + * **Pico 10-DOF IMU Sensor** shield by Waveshare + * **Pico Environment Sensor** shield by Waveshare + +* New Zephyr module: support u-blox portable C API **ubxlib** with GNSS sample. + + The GNSS sample, ``ubx_gnss`` was qualified to run on the following boards: + + * Nordic nRF9160 DK (nRF9160) + * Nordic nRF52840 DK (nRF52840) + * ST Nucleo L496ZG + * ST Nucleo F413ZH + * ST Nucleo F767ZI + * NXP MIMXRT1170-EVKB (CM7) + * NXP MIMXRT1060-EVK + * NXP MIMXRT1010-EVK + +The following sections provide detailed lists of changes by component. + +* PROJECT UPDATE to `Zephyr Project`_ v3.6 + +Build Infrastructure +==================== + +Take over the new build principles from Zephyr: + +:brd:`NOT YET, tbd.` + +* Use the new upstream *MIPI DBI API* for all *ILI9xxx* based displays. +* Take over upstream ``ci/check_compliance.py`` from Zephyr, adapt with all + the needs for Bridle and extend support for :ref:`external module roots + ` as defined by Zephyr module settings (``MODULE_EXT_ROOT``). +* Use new ``ci/check_compliance.py`` on GitHub workflow *QA Compliance Check* + to do following with each PR: + + * Checks various nits in added/modified files, not coverd by other + checks, e.g. checkpatch.pl and pylint. + * Checks if Emails of author and signed-off messages are consistent. + * Checks for conflict markers or whitespace errors. + * Run Git, Python and YAML linting on the commits and find issues + with style and syntax. + * Check that MAINTAINERS file parses correctly. + * Check that all modules have a MAINTAINERS entry. + * Checks introducing any unwanted properties in Devicetree Bindings. + * Checks introducing any new warnings/errors with Kconfig when no + modules are available. + * Checks introducing any new warnings/errors with Kconfig, the basic + Kconfig test, which is checking only for undefined references. + * Check for blocks of code or config that should be kept sorted. + * Check that the diff contains no binary files that are not tollerated. + * Check that any added image is limited in allowed size. + +* Provide a `nix flake `_ for reproducible + development and build environments. The new nix flake definition, which + provides as output a devshell, is now setup a development environment + containing all necessary tools and libraries to work with Bridle. Really + all dependencies, i.e. both system packages on the host and all necessary + Python packages. + +Documentation +============= + +:brd:`NOT YET, tbd.` + +1. All scattered links to external resources and internal references to + sections in the various docsets (e.g. Bridle or Zephyr) were moved to + a central location in the files `links.txt` and `shortcuts.txt` and + thus centralized. +2. Clarification that the Zephyr SDK will indeed be used and is the preferred + default toolchain. All other references to the GNU toolchains by ARM Ltd. + are entirely optional and may or may not be used. +3. Update all output messages in documentation to be in sync with the upcoming + Bridle version v3.6.1, based on Zephyr v3.6 (samples and tests). + +Issue Related Items +******************* + +These GitHub issues were addressed since project bootstrapping: + +* :github:`205` - [FCR] Bump to Zephyr v3.6 +* :github:`202` - [FER] Make the u-blox library GNSS example fit for demonstration +* :github:`200` - [FCR] Support for MCUXpresso IDE (Arm GNU Toolchain) +* :github:`198` - [FCR] Support for STM32CubeCLT (GNU tools for STM32) +* :github:`195` - [FCR] Upgrade to Arm GNU toolchain 13.2.rel1 +* :github:`192` - [FCR] Upgrade to Zephyr SDK 0.16.5 +* :github:`187` - [BUG] ubx_gnss sample fails to build +* :github:`185` - [HW] Waveshare Pico 10-DOF IMU Sensor +* :github:`183` - [HW] Waveshare Pico RGB LED +* :github:`177` - [HW] Waveshare Pico Environment Sensor +* :github:`176` - [HW] Waveshare Pico Clock Green +* :github:`170` - [FCR] Upgrade to Zephyr SDK 0.16.4 +* :github:`169` - [HW] The PicoBoy +* :github:`168` - [HW] Waveshare Pico ResTouch LCD 3.5 +* :github:`167` - [HW] Waveshare LCD Modules as Shields +* :github:`166` - [HW] Cytron Maker RP2040 +* :github:`163` - [FER] USB console support for NXP MIMXRT1010-EVK and MIMXRT1060-EVK +* :github:`162` - [HW] Raspberry Pi Pico TEST Shields +* :github:`161` - [HW] Raspberry Pi Pico LCD Shields +* :github:`160` - [HW] Waveshare RP2040-Geek +* :github:`159` - [BUG] check_compliance.py needs support for Bridle's downstream modules folder +* :github:`156` - [FCR] Add the u-blox library (ubxlib) as Zephyr module +* :github:`155` - [FCR] Use board extensions to fix upstream declarations +* :github:`152` - [FER] Support filtering by board vendor +* :github:`151` - [FER] Harmonize Grove PWM mapping over all SAMD21 based Arduino boards +* :github:`148` - [HW] Seeeduino Cortex-M0+ board support +* :github:`137` - [FCR] Bump to Zephyr v3.5 +* :github:`139` - [FER] Bump to Doxygen v1.9.8 +* :github:`136` - [FCR] Bump to Zephyr SDK 0.16.3 +* :github:`128` - [FER] Provide USB console by snippets instead of specific board revision +* :github:`127` - [FER] Provide CAN timing tweak for TiaC Magpie by snippets instead of a shield +* :github:`125` - [BUG] Nightly QA integration test fails (convert to ``stm32-bxcan``) +* :github:`122` - [HW] Waveshare RP2040 +* :github:`120` - [BUG] Nightly QA integration test fails +* :github:`118` - [BUG] QA Integration Test fails +* :github:`116` - [BUG] Grove Shields DTS Binding test suites fail for seeeduino_lotus@usbcons +* :github:`115` - [BUG] Bridle Common (core) Testing fails since v3.4 +* :github:`113` - [FER] Use sub-manifests for 3rd party projects +* :github:`112` - [FCR] Support Renesas HAL +* :github:`106` - [FER] Snippets +* :github:`105` - [FCR] Bump to Zephyr v3.4 +* :github:`104` - [BUG] Bridle CMake Package not usable in Freestanding mode +* :github:`96` - [HW] Grove Interconnect Shields for Seeeduino XIAO +* :github:`90` - [HW] Grove Interconnect Shields for Arduino/Genuino Zero +* :github:`87` - [HW] Seeeduino Lotus Cortex-M0+ board support +* :github:`85` - [BUG] Zephyr counter driver test fails +* :github:`83` - [FCR] Support Grove System Shields +* :github:`80` - [FCR] Support ST HAL +* :github:`79` - [FCR] Support NXP HAL +* :github:`78` - [FCR] Support Raspberry Pi Pico HAL +* :github:`77` - [FCR] Support Atmel HAL +* :github:`76` - [FCR] Bump to Zephyr (bleeding edge) main line +* :github:`73` - [BUG] reduced setup time of clang-format in workflow +* :github:`72` - [FCR] Bump to Zephyr v3.3 +* :github:`68` - [BUG] Upgrade to Sphinx 5.x +* :github:`60` - [FCR] Bump to Zephyr v3.2 +* :github:`64` - [FCR] Backporting new feature enhancements to v3.0 +* :github:`59` - [FCR] Bump to Zephyr v3.1 +* :github:`54` - [FCR] Bump to Zephyr v3.0 +* :github:`53` - [FCR] Bump to Zephyr v2.7 +* :github:`49` - Can't rebuild documentation +* :github:`39` - [FCR] Bump to Zephyr v2.6 +* :github:`30` - [FER] Bridle version definition +* :github:`21` - Change all copyright strings +* :github:`7` - Missing CI build and test for all supported boards +* :github:`5` - Improve documentation environment +* :github:`4` - Zephyr does not know F777 +* :github:`3` - Missing TiaC Magpie STM32F777NIHx From 85e49f9c2b106dfda4a61c9699f2b4b3abad8e39 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Sun, 4 Aug 2024 10:14:11 +0200 Subject: [PATCH 15/17] doc: add 3.6.1 to pick list Add 3.6.1 tag to release list to be shown on documentation side bar. Signed-off-by: Stephan Linz --- doc/versions.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/versions.json b/doc/versions.json index 149dca289b..36ee7a5dd4 100644 --- a/doc/versions.json +++ b/doc/versions.json @@ -2,6 +2,7 @@ "VERSIONS": [ "latest", "3.6", + "3.6.1", "3.6.0", "3.5", "3.5.1", @@ -35,6 +36,10 @@ "bridle": "3.6.0", "zephyr": "3.6.0" }, + "3.6.1": { + "bridle": "3.6.1", + "zephyr": "3.6.0" + }, "3.6.0": { "bridle": "3.6.0", "zephyr": "3.6.0" From 200364ec4d4803ea444a1775364df26fe9b4ec8a Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Sun, 4 Aug 2024 10:15:57 +0200 Subject: [PATCH 16/17] release: make release notes final 3.6.1 Remove "Working Draft" from title. Signed-off-by: Stephan Linz --- doc/bridle/releases/release-notes-3.6.1.rst | 22 +++++---------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/doc/bridle/releases/release-notes-3.6.1.rst b/doc/bridle/releases/release-notes-3.6.1.rst index 401e7589ca..f7ad6e74f6 100644 --- a/doc/bridle/releases/release-notes-3.6.1.rst +++ b/doc/bridle/releases/release-notes-3.6.1.rst @@ -1,7 +1,7 @@ .. _bridle_release_notes_361: -|BRIDLE| 3.6.1 Release Notes (Working draft) -############################################ +|BRIDLE| 3.6.1 Release Notes +############################ This project demonstrate the integration of |TIAC| support in open source projects, like the Zephyr RTOS, with libraries and source code @@ -11,8 +11,6 @@ product development. Highlights ********** -* :brd:`NOT YET, tbd.` - * Add the u-blox library (**ubxlib**) and provide a simple GNSS example. * Add *Raspberry Pi Pico* **Clock** *Shields*. * Add *Raspberry Pi Pico* **LCD** *Shields*. @@ -94,15 +92,13 @@ For more details, see: :ref:`repos_and_revs`. | **optional** : *tf-m-tests* - | tiacsys/v3.6-branch | (v3.6-branch) - - v3.6.1 + - v3.6.0 .. note – component list fetched from 'west list -a -f "{name:24} {groups:40}"' Supported boards **************** -:brd:`NOT YET, tbd.` - * Arduino/Genuino Zero * PicoBoy Mini-Handheld * Cytron Maker Nano RP2040 @@ -122,8 +118,6 @@ Supported boards Supported shields ***************** -:brd:`NOT YET, tbd.` - * Seeed Studio Grove Interconnect Shields * Grove Button Shields * Grove LED Shields @@ -138,8 +132,6 @@ Supported shields Supported snippets ****************** -:brd:`NOT YET, tbd.` - * USB Console Snippet (usb-console) * PWM Servomotor Preset Snippet (pwm-servo) * CAN timing adjustments (can-timing-adj) @@ -147,8 +139,6 @@ Supported snippets Change log ********** -:brd:`NOT YET, tbd.` - * When ``getopt()`` is active (``CONFIG_SHELL_GETOPT=y``), the Zephyr shell is not parsing command handler to print help message. It must be done explicitly inside the command implementation. @@ -240,8 +230,6 @@ Build Infrastructure Take over the new build principles from Zephyr: -:brd:`NOT YET, tbd.` - * Use the new upstream *MIPI DBI API* for all *ILI9xxx* based displays. * Take over upstream ``ci/check_compliance.py`` from Zephyr, adapt with all the needs for Bridle and extend support for :ref:`external module roots @@ -276,8 +264,6 @@ Take over the new build principles from Zephyr: Documentation ============= -:brd:`NOT YET, tbd.` - 1. All scattered links to external resources and internal references to sections in the various docsets (e.g. Bridle or Zephyr) were moved to a central location in the files `links.txt` and `shortcuts.txt` and @@ -293,6 +279,8 @@ Issue Related Items These GitHub issues were addressed since project bootstrapping: +* :github:`252` - [FCR] Upgrade to Zephyr SDK 0.16.8 +* :github:`215` - [BUG] ubxlib: missing header ``u_timeout.h`` * :github:`205` - [FCR] Bump to Zephyr v3.6 * :github:`202` - [FER] Make the u-blox library GNSS example fit for demonstration * :github:`200` - [FCR] Support for MCUXpresso IDE (Arm GNU Toolchain) From a566929a7559514aff46a1d5341a6d654be8b9c3 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Sun, 4 Aug 2024 10:16:37 +0200 Subject: [PATCH 17/17] release: bump version to 3.6.1 Final 3.6.1 tag. Signed-off-by: Stephan Linz --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index ba33521819..85dfd7f427 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ VERSION_MAJOR = 3 VERSION_MINOR = 6 -PATCHLEVEL = 0 +PATCHLEVEL = 1 VERSION_TWEAK = 0 EXTRAVERSION =