Bridle 3.6.0 Release Notes
This project demonstrate the integration of TiaC Systems 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 Systems for product development.
Highlights
- 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: Repositories and revisions.
| Component | Group : Imports | Branch | Tag | 
|---|---|---|---|
| v3.6-branch | v3.6.0 | ||
| geographiclib | tiacsys/main (main) | ||
| 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.0 | 
Supported boards
- 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
- 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
- USB Console Snippet (usb-console) 
- PWM Servomotor Preset Snippet (pwm-servo) 
- CAN timing adjustments (can-timing-adj) 
Change log
- 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_<compat>_ENABLEDKconfig 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_gnsswas 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:
- Use the new upstream MIPI DBI API for all ILI9xxx based displays. 
- Take over upstream - ci/check_compliance.pyfrom Zephyr, adapt with all the needs for Bridle and extend support for external module roots as defined by Zephyr module settings (- MODULE_EXT_ROOT).
- Use new - ci/check_compliance.pyon 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
- 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. 
- 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. 
- Update all output messages in documentation to be in sync with the upcoming Bridle version v3.6.0, based on Zephyr v3.6 (samples and tests).