diff --git a/.github/workflows/doc-build.yml b/.github/workflows/doc-build.yml index 98455f1125..c56018b3a0 100644 --- a/.github/workflows/doc-build.yml +++ b/.github/workflows/doc-build.yml @@ -86,7 +86,7 @@ jobs: - name: Install documentation dependencies working-directory: workspace run: | - pip3 install --upgrade --requirement zephyr/scripts/requirements-doc.txt + pip3 install --upgrade --requirement zephyr/doc/requirements.txt pip3 install --upgrade --requirement bridle/scripts/requirements-doc.txt - name: Build documentation @@ -94,6 +94,14 @@ jobs: run: | cmake -B build -GNinja bridle/doc ninja -C build build-all + # + # For some unknown reason, the layout of the Sphinx Tabs extension + # in the docset "devicetree" is no longer rendered properly by the + # HTML Builder of Sphinx v6. Only cleaning it up and rebuilding it + # helps so far. + # + ninja -C build devicetree-clean + ninja -C build devicetree-html - name: Archive documentation working-directory: workspace/build diff --git a/.github/workflows/qa-integration.yml b/.github/workflows/qa-integration.yml index 4a9dcf98a3..87a8c96150 100644 --- a/.github/workflows/qa-integration.yml +++ b/.github/workflows/qa-integration.yml @@ -110,6 +110,7 @@ jobs: --outdir twister-out --no-clean --inline-logs \ --enable-size-report --platform-reports \ --platform arduino_zero \ + --platform arduino_zero@usbcons \ --platform mimxrt1010_evk \ --platform mimxrt1060_evk \ --platform mimxrt1060_evkb \ @@ -119,8 +120,10 @@ jobs: --platform nucleo_f767zi \ --platform rpi_pico \ --platform seeed_xiao_samd21 \ + --platform seeed_xiao_samd21@usbcons \ --platform seeeduino_xiao \ --platform seeeduino_lotus \ + --platform seeeduino_lotus@usbcons \ --testsuite-root bridle/tests/shields/grove/dts_bindings \ --testsuite-root bridle/tests/shields/x_grove_testbed/dts_bindings diff --git a/boards/arm/arduino_zero/doc/index.rst b/boards/arm/arduino_zero/doc/index.rst index fd9b364404..671d0c214f 100644 --- a/boards/arm/arduino_zero/doc/index.rst +++ b/boards/arm/arduino_zero/doc/index.rst @@ -8,7 +8,7 @@ Arduino/Genuino Zero This board description is a copy from Zephyr with identical name and will be used for further development, improvement and preparation of changes for - Zephyr within Bridle. However, the original board description still lives + Zephyr within Bridle. However, the original board description still lives within the Zephyr namespace under the exactly same board name: :ref:`zephyr:arduino_zero`. @@ -97,7 +97,7 @@ Use the native USB device port with CDC-ACM as Zephyr console and for the shell. Connections and IOs =================== -The `Arduino store`_ has detailed information about board connections. Download +The `Arduino store`_ has detailed information about board connections. Download the `Arduino Zero Schematic`_ or `Arduino Zero Design Data`_ for more detail. There is also an `Arduino Zero Pinout Diagram`_. @@ -105,17 +105,17 @@ System Clock ============ The SAMD21 MCU is configured to use the 32.768 kHz external crystal with the -on-chip PLL generating the 48 MHz system clock. The internal APB and GCLK unit +on-chip PLL generating the 48 MHz system clock. The internal APB and GCLK unit are set up in the same way as the upstream Arduino libraries. GPIO (PWM) Ports ================ The SAMD21 MCU has 2 GPIO ports, 3 PWM able Timer/Capture-Counter (TCC) and -2 simple Timer/Counter (TC). On the Arduino Zero, TCC2 channel 1 is +2 simple Timer/Counter (TC). On the Arduino Zero, TCC2 channel 1 is available on first user LED (L), all other user LEDs can be controlled -as GPIO. Only if :kconfig:option:`CONFIG_PWM_SAM0_TCC` is enabled then the -first user LED (L) is driven by TCC2 instead of by GPIO. All channels of +as GPIO. Only if :kconfig:option:`CONFIG_PWM_SAM0_TCC` is enabled then the +first user LED (L) is driven by TCC2 instead of by GPIO. All channels of TCC0 and TCC1 are available on the |Arduino UNO R3| header. ADC/DAC Ports @@ -136,25 +136,24 @@ SPI Port :scale: 50% :alt: Arduino Zero SPI on 6 pin ICSP connector -The SAMD21 MCU has 6 SERCOM based SPIs. On the Arduino Zero, SERCOM4 is -available on the 6 pin ICSP connector at the edge of the board. To the +The SAMD21 MCU has 6 SERCOM based SPIs. On the Arduino Zero, SERCOM4 is +available on the 6 pin ICSP connector at the edge of the board. To the |Arduino UNO R3| header SERCOM1 is connect to external devices over D11 (MOSI), -D12 (MISO), and D13 (SCK). All signals of both busses are connected in +D12 (MISO), and D13 (SCK). All signals of both busses are connected in parallel to the Atmel EDBG. I2C Port ======== The SAMD21 MCU has 6 SERCOM based I2Cs. On the Arduino Zero, SERCOM3 is -available on D18 (SDA) and D19 (SCL) of the |Arduino UNO R3| header. Both signals are connected in parallel to the Atmel EDBG. Serial Port =========== -The SAMD21 MCU has 6 SERCOM based USARTs. One of the USARTs (SERCOM5) is +The SAMD21 MCU has 6 SERCOM based USARTs. One of the USARTs (SERCOM5) is connected to the onboard Atmel Embedded Debugger (EDBG) and is the Zephyr -console. This is captured by the standard board revision ``uartcons``. +console. This is captured by the standard board revision ``uartcons``. SERCOM0 is available on the D0 (RX) and D1 (TX) of the |Arduino UNO R3| header. USB Device Port @@ -166,11 +165,11 @@ USB Device Port :alt: Arduino Zero Native and Programming USB Ports The SAMD21 MCU has a (native) USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for more, such -as the :ref:`usb_cdc-acm` sample which sets up a virtual serial port that echos -characters back to the host PC. As an alternative to the default Zephyr console -on serial port the special board revision ``usbcons`` can be used to enable -:ref:`usb_device_cdc_acm` and switch the console to USB:: +with a host PC. See the :ref:`zephyr:usb-samples` sample applications for more, +such as the :ref:`zephyr:usb_cdc-acm` sample which sets up a virtual serial port +that echos characters back to the host PC. As an alternative to the default +Zephyr console on serial port the special board revision ``usbcons`` can be used +to enable :ref:`zephyr:usb_device_cdc_acm` and switch the console to USB:: USB device idVendor=2341, idProduct=804d, bcdDevice= 3.03 USB device strings: Mfr=1, Product=2, SerialNumber=3 @@ -205,7 +204,7 @@ bootloader will be entered automatically when you run :program:`west flash`. * :bridle_file:`boards/arm/arduino_zero/doc/bootloader/samd21_bossa_arduino.jflash` The Segger JFlash control file is only usefull when the EDBG firmware - was upgrade to the latest `J-Link firmware for Atmel EDBG`_. This was a + was upgrade to the latest `J-Link firmware for Atmel EDBG`_. This was a special OEM firmware version for Atmel's Xplained Platforms, based on the `AT32UC3A4256S`_ 32-bit AVR microcontroller. @@ -213,7 +212,7 @@ bootloader will be entered automatically when you run :program:`west flash`. **It is neither guaranteed nor tested that the J-Link firmware for Atmel EDBG will also work on the EDGB populated on the Arduino - Zero!** See also the warning to Atmel Studio 7 below. In doubt + Zero!** See also the warning to Atmel Studio 7 below. In doubt you should never touch the EDBG firmware on Arduino Zero. So if that didn't happen, OpenOCD or, even easier, the small tool @@ -241,7 +240,7 @@ bootloader will be entered automatically when you run :program:`west flash`. .. rubric:: Atmel Embedded Debugger (EDBG) -The Arduino Zero also comes with an Atmel Embedded Debugger (`EDBG`_). That +The Arduino Zero also comes with an Atmel Embedded Debugger (`EDBG`_). That provides a debug interface to the SAMD21 chip and is supported by OpenOCD for bootloader restore or direct programming and debugging. The Atmel EDGB is connected to the debug USB port for programming:: @@ -266,12 +265,12 @@ is connected to the debug USB port for programming:: The Arduino Zero was designed in partership with Atmel (now Microchip) which dedicated to this board a special USB PID with the major purpose to make the board recognizable and differentiate - it form other evaluation boards in Atmel Studio. The EDBG chip is + it form other evaluation boards in Atmel Studio. The EDBG chip is used on several Atmel evaluation boards and programmers, you can find the list `here `_. You should consider the Arduino Zero dedicated USB PID (:code:`0x2157`) - as another USB PID to add to that list. **During the manufacturing + as another USB PID to add to that list. **During the manufacturing process Arduino upgrade the EDBG firmware and customize the USB descriptor fields.** @@ -279,13 +278,13 @@ is connected to the debug USB port for programming:: Upgrading the firmware with a new one provided by Atmel Studio 7 using the :program:`atfw.exe` tool will erase all the factory "Arduino Zero" - USB configurations and will set the USB PID to :code:`0x2111`. **But + USB configurations and will set the USB PID to :code:`0x2111`. **But consider that you couldn't revert the Arduino USB descriptor settings!** Flashing ======== -#. Build the Zephyr kernel and the :ref:`hello_world` sample application: +#. Build the Zephyr kernel and the :ref:`zephyr:hello_world` sample application: .. zephyr-app-commands:: :zephyr-app: samples/hello_world @@ -402,17 +401,17 @@ Hello Shell with USB-CDC/ACM Console ID: 0xde73d01ae52511ed9cf503ee1d54a301 uart:~$ kernel version - Zephyr version 3.4.0 + Zephyr version 3.4.99 uart:~$ bridle version - Bridle version 3.4.0 + Bridle version 3.4.99 uart:~$ bridle version long - Bridle version 3.4.0.0 + Bridle version 3.4.99.0 uart:~$ bridle info - Zephyr: 3.4.0 - Bridle: 3.4.0 + Zephyr: 3.4.99 + Bridle: 3.4.99 uart:~$ device list devices: @@ -629,7 +628,7 @@ References https://www.microchip.com/product/AT32UC3A4256S .. _UF2 bootloader: - https://github.com/Microsoft/uf2#bootloaders + https://github.com/Microsoft/uf2#user-content-bootloaders .. _Arduino Zero Bootloader: https://github.com/arduino/ArduinoCore-samd/tree/master/bootloaders/zero diff --git a/boards/arm/seeed_xiao_samd21/doc/index.rst b/boards/arm/seeed_xiao_samd21/doc/index.rst index e862c16a7f..0b5d9042ed 100644 --- a/boards/arm/seeed_xiao_samd21/doc/index.rst +++ b/boards/arm/seeed_xiao_samd21/doc/index.rst @@ -8,7 +8,7 @@ Seeed Studio XIAO SAMD21 (Seeeduino XIAO) This board description is a copy from Zephyr with a slightly changed name and will be used for further development, improvement and preparation of - changes for Zephyr within Bridle. However, the original board description + changes for Zephyr within Bridle. However, the original board description still lives within the Zephyr namespace under the original board name: :ref:`zephyr:seeeduino_xiao`. @@ -106,17 +106,17 @@ System Clock ============ The SAMD21 MCU is configured to use the 32.768 kHz external crystal with the -on-chip PLL generating the 48 MHz system clock. The internal APB and GCLK unit +on-chip PLL generating the 48 MHz system clock. The internal APB and GCLK unit are set up in the same way as the upstream Arduino libraries. GPIO (PWM) Ports ================ The SAMD21 MCU has 2 GPIO ports, 3 PWM able Timer/Capture-Counter (TCC) and -2 simple Timer/Counter (TC). On the Seeed Studio XIAO SAMD21, TCC2 channel 1 +2 simple Timer/Counter (TC). On the Seeed Studio XIAO SAMD21, TCC2 channel 1 is available on first user LED (L), all other user LEDs can be controlled -as GPIO. Only if :kconfig:option:`CONFIG_PWM_SAM0_TCC` is enabled then the -first user LED (L) is driven by TCC2 instead of by GPIO. All channels of +as GPIO. Only if :kconfig:option:`CONFIG_PWM_SAM0_TCC` is enabled then the +first user LED (L) is driven by TCC2 instead of by GPIO. All channels of TCC0 and TCC1 are available on the |Seeed XIAO| header. ADC/DAC Ports @@ -158,7 +158,7 @@ table (default function in bold). SPI Port ======== -The SAMD21 MCU has 6 SERCOM based SPIs. On the Seeed Studio XIAO SAMD21, +The SAMD21 MCU has 6 SERCOM based SPIs. On the Seeed Studio XIAO SAMD21, SERCOM0 can be put into SPI mode and used to connect to devices over the |Seeed XIAO| header pin 9 (MISO), pin 10 (MOSI), and pin 8 (SCK). @@ -171,20 +171,20 @@ SERCOM2 is available on the |Seeed XIAO| header pin 4 (SDA) and pin 5 (SCL). Serial Port =========== -The SAMD21 MCU has 6 SERCOM based USARTs. On the Seeed Studio XIAO SAMD21, +The SAMD21 MCU has 6 SERCOM based USARTs. On the Seeed Studio XIAO SAMD21, SERCOM4 is the Zephyr console and is available on the |Seeed XIAO| header -pins 7 (RX) and 6 (TX). This is captured by the standard board revision +pins 7 (RX) and 6 (TX). This is captured by the standard board revision ``uartcons``. USB Device Port =============== The SAMD21 MCU has a (native) USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for more, such -as the :ref:`usb_cdc-acm` sample which sets up a virtual serial port that echos -characters back to the host PC. As an alternative to the default Zephyr console -on serial port the special board revision ``usbcons`` can be used to enable -:ref:`usb_device_cdc_acm` and switch the console to USB:: +with a host PC. See the :ref:`zephyr:usb-samples` sample applications for more, +such as the :ref:`zephyr:usb_cdc-acm` sample which sets up a virtual serial port +that echos characters back to the host PC. As an alternative to the default +Zephyr console on serial port the special board revision ``usbcons`` can be used +to enable :ref:`zephyr:usb_device_cdc_acm` and switch the console to USB:: USB device idVendor=2886, idProduct=802f, bcdDevice= 3.03 USB device strings: Mfr=1, Product=2, SerialNumber=3 @@ -197,7 +197,7 @@ Programming and Debugging The Seeed Studio XIAO SAMD21 ships the BOSSA compatible `UF2 bootloader`_ also known as `Arduino Zero Bootloader`_, a modern `SAM-BA`_ (Boot Assistant) -replacement. The bootloader can be entered by shorting the RST and GND pads +replacement. The bootloader can be entered by shorting the RST and GND pads twice:: USB device idVendor=2886, idProduct=002f, bcdDevice=42.01 @@ -232,7 +232,7 @@ or direct programming and debugging. Flashing ======== -#. Build the Zephyr kernel and the :ref:`hello_world` sample application: +#. Build the Zephyr kernel and the :ref:`zephyr:hello_world` sample application: .. zephyr-app-commands:: :zephyr-app: samples/hello_world @@ -243,7 +243,7 @@ Flashing #. Connect the Seeed Studio XIAO SAMD21 to your host computer using USB. #. Connect a 3.3 V USB to serial adapter to the board and to the - host. See the `Serial Port`_ section above for the board's pin + host. See the `Serial Port`_ section above for the board's pin connections. #. Run your favorite terminal program to listen for output. Under Linux the @@ -351,17 +351,17 @@ Hello Shell with USB-CDC/ACM Console ID: 0x2601f57f2e175d24ac3fb5052f48a3f7 uart:~$ kernel version - Zephyr version 3.4.0 + Zephyr version 3.4.99 uart:~$ bridle version - Bridle version 3.4.0 + Bridle version 3.4.99 uart:~$ bridle version long - Bridle version 3.4.0.0 + Bridle version 3.4.99.0 uart:~$ bridle info - Zephyr: 3.4.0 - Bridle: 3.4.0 + Zephyr: 3.4.99 + Bridle: 3.4.99 uart:~$ device list devices: @@ -546,7 +546,7 @@ References https://www.microchip.com/product/ATSAMD21G18 .. _UF2 bootloader: - https://github.com/Microsoft/uf2#bootloaders + https://github.com/Microsoft/uf2#user-content-bootloaders .. _Arduino Zero Bootloader: https://github.com/Seeed-Studio/ArduinoCore-samd/tree/master/bootloaders/XIAOM0 diff --git a/boards/arm/seeeduino_lotus/doc/index.rst b/boards/arm/seeeduino_lotus/doc/index.rst index 915cbaa6d0..2283ab8d15 100644 --- a/boards/arm/seeeduino_lotus/doc/index.rst +++ b/boards/arm/seeeduino_lotus/doc/index.rst @@ -339,12 +339,12 @@ and is an optional second serial port for applications. USB Device Port =============== -The SAMD21 MCU has a USB device port that can be used to communicate with a -host PC. See the :ref:`usb-samples` sample applications for more, such as the -:ref:`usb_cdc-acm` sample which sets up a virtual serial port that echos -characters back to the host PC. As an alternative to the default Zephyr -console on serial port the special board revision ``usbcons`` can be used -to enable :ref:`usb_device_cdc_acm` and switch the console to USB:: +The SAMD21 MCU has a (native) USB device port that can be used to communicate +with a host PC. See the :ref:`zephyr:usb-samples` sample applications for more, +such as the :ref:`zephyr:usb_cdc-acm` sample which sets up a virtual serial port +that echos characters back to the host PC. As an alternative to the default +Zephyr console on serial port the special board revision ``usbcons`` can be used +to enable :ref:`zephyr:usb_device_cdc_acm` and switch the console to USB:: USB device idVendor=2886, idProduct=8026, bcdDevice= 3.03 USB device strings: Mfr=1, Product=2, SerialNumber=3 @@ -390,7 +390,7 @@ or direct programming and debugging. Flashing ======== -#. Build the Zephyr kernel and the :ref:`hello_world` sample application: +#. Build the Zephyr kernel and the :ref:`zephyr:hello_world` sample application: .. zephyr-app-commands:: :app: zephyr/samples/hello_world @@ -401,7 +401,7 @@ Flashing #. Connect the Lotus Cortex-M0+ to your host computer using USB. #. Connect a 3.3 V USB to serial adapter to the board and to the - host. See the `Serial Port`_ section above for the board's pin + host. See the `Serial Port`_ section above for the board's pin connections. #. Run your favorite terminal program to listen for output. Under Linux the @@ -509,17 +509,17 @@ Hello Shell with USB-CDC/ACM Console ID: 0xefa3ee60dfcb11ed9973734ca4207846 uart:~$ kernel version - Zephyr version 3.4.0 + Zephyr version 3.4.99 uart:~$ bridle version - Bridle version 3.4.0 + Bridle version 3.4.99 uart:~$ bridle version long - Bridle version 3.4.0.0 + Bridle version 3.4.99.0 uart:~$ bridle info - Zephyr: 3.4.0 - Bridle: 3.4.0 + Zephyr: 3.4.99 + Bridle: 3.4.99 uart:~$ device list devices: @@ -702,7 +702,7 @@ References https://www.monolithicpower.com/mp2617b.html .. _UF2 bootloader: - https://github.com/Microsoft/uf2#bootloaders + https://github.com/Microsoft/uf2#user-content-bootloaders .. _Arduino Zero Bootloader: https://github.com/Seeed-Studio/ArduinoCore-samd/tree/master/bootloaders/seeed_zero diff --git a/boards/arm/tiac_magpie/doc/index.rst b/boards/arm/tiac_magpie/doc/index.rst index f3a0d24ec4..8e01e54e86 100644 --- a/boards/arm/tiac_magpie/doc/index.rst +++ b/boards/arm/tiac_magpie/doc/index.rst @@ -101,39 +101,39 @@ hardware features: :class: longtable :align: center - +-----------+------------+-----------------------------------------------+ - | Interface | Controller | Driver/Component | - +===========+============+===============================================+ - | UART | on-chip | :ref:`uart_api` (!) (?) | - +-----------+------------+-----------------------------------------------+ - | PINCTRL | on-chip | :ref:`pinctrl_api` | - +-----------+------------+-----------------------------------------------+ - | GPIO | on-chip | :ref:`gpio_api` | - +-----------+------------+-----------------------------------------------+ - | ETH | on-chip | :ref:`ethernet_interface` (*) | - +-----------+------------+-----------------------------------------------+ - | USB | on-chip | :ref:`usb_api` | - +-----------+------------+-----------------------------------------------+ - | CAN | on-chip | :ref:`canbus` (-) | - +-----------+------------+-----------------------------------------------+ - | I2C | on-chip | :ref:`i2c_api` | - +-----------+------------+-----------------------------------------------+ - | SPI | on-chip | :ref:`spi_api` (?) | - +-----------+------------+-----------------------------------------------+ - | PWM | on-chip | :ref:`pwm_api` | - +-----------+------------+-----------------------------------------------+ - | ADC | on-chip | :ref:`adc_api` (+) (!) (?) | - +-----------+------------+-----------------------------------------------+ - | RTC | on-chip | :ref:`rtc_api` as :ref:`counter_api` | - +-----------+------------+-----------------------------------------------+ - | IWDG | on-chip | :ref:`watchdog_api` (°) | - +-----------+------------+-----------------------------------------------+ - | RNG | on-chip | :ref:`entropy_api` | - +-----------+------------+-----------------------------------------------+ - | RCC | on-chip | Reset & :ref:`clock_control_api` | - +-----------+------------+-----------------------------------------------+ - | NVIC | on-chip | Nested Vector :ref:`interrupts_v2` Controller | - +-----------+------------+-----------------------------------------------+ + +-----------+------------+------------------------------------------------------+ + | Interface | Controller | Driver/Component | + +===========+============+======================================================+ + | UART | on-chip | :ref:`zephyr:uart_api` (!) (?) | + +-----------+------------+------------------------------------------------------+ + | PINCTRL | on-chip | :ref:`zephyr:pinctrl_api` | + +-----------+------------+------------------------------------------------------+ + | GPIO | on-chip | :ref:`zephyr:gpio_api` | + +-----------+------------+------------------------------------------------------+ + | ETH | on-chip | :ref:`zephyr:ethernet_interface` (*) | + +-----------+------------+------------------------------------------------------+ + | USB | on-chip | :ref:`zephyr:usb_api` | + +-----------+------------+------------------------------------------------------+ + | CAN | on-chip | :ref:`zephyr:canbus` (-) | + +-----------+------------+------------------------------------------------------+ + | I2C | on-chip | :ref:`zephyr:i2c_api` | + +-----------+------------+------------------------------------------------------+ + | SPI | on-chip | :ref:`zephyr:spi_api` (?) | + +-----------+------------+------------------------------------------------------+ + | PWM | on-chip | :ref:`zephyr:pwm_api` | + +-----------+------------+------------------------------------------------------+ + | ADC | on-chip | :ref:`zephyr:adc_api` (+) (!) (?) | + +-----------+------------+------------------------------------------------------+ + | RTC | on-chip | :ref:`zephyr:rtc_api` as :ref:`zephyr:counter_api` | + +-----------+------------+------------------------------------------------------+ + | IWDG | on-chip | :ref:`zephyr:watchdog_api` (°) | + +-----------+------------+------------------------------------------------------+ + | RNG | on-chip | :ref:`zephyr:entropy_api` | + +-----------+------------+------------------------------------------------------+ + | RCC | on-chip | Reset & :ref:`zephyr:clock_control_api` | + +-----------+------------+------------------------------------------------------+ + | NVIC | on-chip | Nested Vector :ref:`zephyr:interrupts_v2` Controller | + +-----------+------------+------------------------------------------------------+ (*) Ethernet instability on SOC cut-A (Device marking A): TiaC Magpie with SOC cut-A (Device marking A) has some ethernet instability @@ -148,9 +148,10 @@ hardware features: (-) CAN 1 or 2 only separate supported, never both simultaneously: Simultaneous use of CAN_1 and CAN_2 not supported yet on STM32, see: - https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/can/can_stm32.c#L26, - https://github.com/zephyrproject-rtos/zephyr/pull/22200, - https://github.com/zephyrproject-rtos/zephyr/pull/24396 and + https://github.com/zephyrproject-rtos/zephyr/blob/c02454e/drivers/can/can_stm32.c#L28, + https://github.com/zephyrproject-rtos/zephyr/pull/22200 and + https://github.com/zephyrproject-rtos/zephyr/pull/24396 (seems to be fixed: + https://github.com/zephyrproject-rtos/zephyr/pull/46646) (!) Shared IRQ line on STM32 devices: Share the same interrupt line on STM32 devices over multiple driver @@ -361,8 +362,8 @@ Programming and Debugging ************************* Applications for the ``tiac_magpie`` board configuration can be built and -flashed in the usual way (see :ref:`build_an_application` and -:ref:`application_run` for more details). +flashed in the usual way (see :ref:`zephyr:build_an_application` and +:ref:`zephyr:application_run` for more details). Flashing ======== @@ -372,7 +373,7 @@ The TiaC Magpie STM32F777NIHx needs an ST-LINK/V2 debug tool adapter. Flashing an application to TiaC Magpie STM32F777NIHx ---------------------------------------------------- -Here is an example for the :ref:`hello_world` application. +Here is an example for the :ref:`zephyr:hello_world` application. Run a serial host program to connect with your TiaC Magpie board. @@ -401,7 +402,7 @@ Debugging ========= You can debug an application in the usual way. Here is an example for the -:ref:`hello_world` application. +:ref:`zephyr:hello_world` application. .. zephyr-app-commands:: :zephyr-app: zephyr/samples/hello_world @@ -434,7 +435,7 @@ Integration Tests Zephyr provides a large number of integration tests to evaluate the target architecture, the operating system core components, drivers and subsystems. -Most of them can be build and running by the Zephyr :ref:`twister_script` +Most of them can be build and running by the Zephyr :ref:`zephyr:twister_script` without any further modification. Before a single or multiple test cases can be executed directly on the @@ -686,7 +687,7 @@ The DTS binding following the :dtcompatible:`gpio-leds` specification. :start-at: leds { :end-at: }; // leds - DTS :ref:`aliases `: + DTS :ref:`aliases `: .. literalinclude:: ../tiac_magpie.dts :language: DTS @@ -829,7 +830,7 @@ The DTS binding following the :dtcompatible:`st,stm32-otgfs` and :start-at: usbotg_fs { :end-at: }; // usbotg_fs - :ref:`usb_api` configuration: + :ref:`zephyr:usb_api` configuration: .. literalinclude:: ../tiac_magpie.dts :language: DTS @@ -902,7 +903,7 @@ The DTS binding following the :dtcompatible:`st,stm32-can` specification. :start-at: can1 { :end-at: }; // can1 - :ref:`can_api` configuration: + :ref:`zephyr:can_api` configuration: .. literalinclude:: ../tiac_magpie.dts :language: DTS diff --git a/boards/arm/tiac_magpie/doc/samples/basic/blinky.rst b/boards/arm/tiac_magpie/doc/samples/basic/blinky.rst index 3d2a80e779..4baff57fb4 100644 --- a/boards/arm/tiac_magpie/doc/samples/basic/blinky.rst +++ b/boards/arm/tiac_magpie/doc/samples/basic/blinky.rst @@ -6,7 +6,7 @@ LED Blinky Overview ******** -See :ref:`blinky-sample` for the original description. +See :ref:`zephyr:blinky-sample` for the original description. .. _tiac_magpie_led_blinky-sample-requirements: @@ -14,7 +14,7 @@ Requirements ************ The TiaC Magpie board have two "User LEDs" connected via GPIO pins. The first -LED is configured using the ``led0`` :ref:`devicetree ` alias. +LED is configured using the ``led0`` :ref:`devicetree ` alias. Building and Running ******************** diff --git a/boards/arm/tiac_magpie/doc/samples/basic/helloshell.rst b/boards/arm/tiac_magpie/doc/samples/basic/helloshell.rst index 9142052f54..0b8ee5b1d3 100644 --- a/boards/arm/tiac_magpie/doc/samples/basic/helloshell.rst +++ b/boards/arm/tiac_magpie/doc/samples/basic/helloshell.rst @@ -84,17 +84,17 @@ prompt. All shell commands are available and would looks like: ID: 0x9e6b44aea1e2b8980c4d32a6 uart:~$ kernel version - Zephyr version 3.4.0 + Zephyr version 3.4.99 uart:~$ bridle version - Bridle version 3.4.0 + Bridle version 3.4.99 uart:~$ bridle version long - Bridle version 3.4.0.0 + Bridle version 3.4.99.0 uart:~$ bridle info - Zephyr: 3.4.0 - Bridle: 3.4.0 + Zephyr: 3.4.99 + Bridle: 3.4.99 uart:~$ device list devices: diff --git a/boards/arm/tiac_magpie/doc/samples/net/dhcpv4_client.rst b/boards/arm/tiac_magpie/doc/samples/net/dhcpv4_client.rst index f2d270916d..1d3c9a5e51 100644 --- a/boards/arm/tiac_magpie/doc/samples/net/dhcpv4_client.rst +++ b/boards/arm/tiac_magpie/doc/samples/net/dhcpv4_client.rst @@ -6,7 +6,7 @@ DHCPv4 Client Overview ******** -See :ref:`dhcpv4-client-sample` for the original description. +See :ref:`zephyr:dhcpv4-client-sample` for the original description. .. _tiac_magpie_dhcpv4-client-sample-requirements: @@ -16,7 +16,7 @@ Requirements - This sample application negotiate IPv4 address from a DHCPv4 server running everywhere in your local network. - The 10/100 Ethernet MAC already configured in RMII/MII mode with MDIO - using the ``&mac`` :ref:`devicetree ` label. + using the ``&mac`` :ref:`devicetree ` label. Building and Running ******************** diff --git a/boards/arm/tiac_magpie/doc/samples/net/dumb_http_server_mt.rst b/boards/arm/tiac_magpie/doc/samples/net/dumb_http_server_mt.rst index 9e727a156a..3c5bbfae43 100644 --- a/boards/arm/tiac_magpie/doc/samples/net/dumb_http_server_mt.rst +++ b/boards/arm/tiac_magpie/doc/samples/net/dumb_http_server_mt.rst @@ -6,7 +6,7 @@ Multithreaded Dumb HTTP Server Overview ******** -See :ref:`sockets-dumb-http-server-mt-sample` for the original description. +See :ref:`zephyr:sockets-dumb-http-server-mt-sample` for the original description. .. _tiac_magpie_sockets-dumb-http-server-mt-sample-requirements: @@ -16,7 +16,7 @@ Requirements - This sample application negotiate IPv4 address from a DHCPv4 server running everywhere in your local network. - The 10/100 Ethernet MAC already configured in RMII/MII mode with MDIO - using the ``&mac`` :ref:`devicetree ` label. + using the ``&mac`` :ref:`devicetree ` label. Building and Running ******************** diff --git a/boards/arm/tiac_magpie/doc/samples/net/telnet.rst b/boards/arm/tiac_magpie/doc/samples/net/telnet.rst index a42aafc8dc..85391b0113 100644 --- a/boards/arm/tiac_magpie/doc/samples/net/telnet.rst +++ b/boards/arm/tiac_magpie/doc/samples/net/telnet.rst @@ -6,7 +6,7 @@ TELNET Console Overview ******** -See :ref:`telnet-console-sample` for the original description. +See :ref:`zephyr:telnet-console-sample` for the original description. .. _tiac_magpie_telnet-console-sample-requirements: @@ -16,7 +16,7 @@ Requirements - This sample application negotiate IPv4 address from a DHCPv4 server running everywhere in your local network. - The 10/100 Ethernet MAC already configured in RMII/MII mode with MDIO - using the ``&mac`` :ref:`devicetree ` label. + using the ``&mac`` :ref:`devicetree ` label. Building and Running ******************** @@ -100,10 +100,10 @@ or ``kernel version``. .. code-block:: console ~$ kernel version - Zephyr version 3.4.0 + Zephyr version 3.4.99 ~$ bridle version - Bridle version 3.4.0 + Bridle version 3.4.99 ~$ device list devices: diff --git a/boards/arm/tiac_magpie/doc/samples/usb/mass.rst b/boards/arm/tiac_magpie/doc/samples/usb/mass.rst index 087d66cdf2..a5b7620ff7 100644 --- a/boards/arm/tiac_magpie/doc/samples/usb/mass.rst +++ b/boards/arm/tiac_magpie/doc/samples/usb/mass.rst @@ -6,7 +6,7 @@ USB Mass Storage Overview ******** -See :ref:`usb_mass` for the original description. +See :ref:`zephyr:usb_mass` for the original description. .. _tiac_magpie_usb_mass-sample-requirements: diff --git a/boards/arm/tiac_magpie/tiac_magpie.dts b/boards/arm/tiac_magpie/tiac_magpie.dts index 679efc95d6..0a20183db3 100644 --- a/boards/arm/tiac_magpie/tiac_magpie.dts +++ b/boards/arm/tiac_magpie/tiac_magpie.dts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022 TiaC Systems + * Copyright (c) 2021-2023 TiaC Systems * Copyright (c) 2021 Li-Pro.Net * SPDX-License-Identifier: Apache-2.0 */ @@ -246,6 +246,8 @@ pinctrl-0 = <&adc3_in9_pf3 /* TMPH4_PF3_ADC39 */ &adc3_in14_pf4 /* TMPH2_PF4_ADC314 */ &adc3_in15_pf5>; /* TMPH2_PF5_ADC315 */ + st,adc-clock-source = ; + st,adc-prescaler = <2>; }; // adc3 &flash0 { diff --git a/boards/shields/grove/boards/seeed_grove_base_v1/seeeduino_lotus.overlay b/boards/shields/grove/boards/seeed_grove_base_v1/seeeduino_lotus.overlay new file mode 100644 index 0000000000..cd41cf5de5 --- /dev/null +++ b/boards/shields/grove/boards/seeed_grove_base_v1/seeeduino_lotus.overlay @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2023 TiaC Systems + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + grove_laced_if_v1: grove-laced-if-v1 { + + compatible = "seeed,grove-laced-if"; + + #pwm-cells = <2>; + pwm-map-mask = <0xffffffff 0>; + pwm-map-pass-thru = <0 0xffffffff>; + pwm-map = + /* 0 - D0: not possible */ + /* 1 - D1: not possible */ + <2 0 &tcc0 0 0>, /* D2: TCC0CH0 (WO4) */ + <3 0 &tcc0 1 0>, /* D3: TCC0CH1 (WO1) */ + <4 0 &tcc0 0 0>, /* D4: TCC0CH0 (WO0) */ + <5 0 &tcc0 1 0>, /* D5: TCC0CH1 (WO5) */ + <6 0 &tcc0 2 0>, /* D6: TCC0CH2 (WO6) */ + <7 0 &tcc0 3 0>; /* D7: TCC0CH3 (WO7) */ + /* 8 - D8: not possible */ + /* 9 - D9: not possible */ + /* 10 - D10: not possible */ + /* 11 - D11: not possible */ + /* 12 - D12: not possible */ + /* 13 - D13: not possible */ + /* 14 - D14: not possible */ + /* 15 - D15: not possible */ + /* 16 - D16: not possible */ + /* 17 - D17: not possible */ + /* 18 - D18: not possible */ + /* 19 - D19: not possible */ + }; +}; + +grove_pwms: &grove_laced_if_v1 {}; + +grove_pwm_d2: &tcc0 {}; +grove_pwm_d3: &tcc0 {}; +grove_pwm_d4: &tcc0 {}; +grove_pwm_d5: &tcc0 {}; +grove_pwm_d6: &tcc0 {}; +grove_pwm_d7: &tcc0 {}; diff --git a/boards/shields/grove/boards/seeed_grove_base_v2/seeeduino_lotus.overlay b/boards/shields/grove/boards/seeed_grove_base_v2/seeeduino_lotus.overlay new file mode 100644 index 0000000000..cfc002d672 --- /dev/null +++ b/boards/shields/grove/boards/seeed_grove_base_v2/seeeduino_lotus.overlay @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2023 TiaC Systems + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + grove_laced_if_v2: grove-laced-if-v2 { + + compatible = "seeed,grove-laced-if"; + + #pwm-cells = <2>; + pwm-map-mask = <0xffffffff 0>; + pwm-map-pass-thru = <0 0xffffffff>; + pwm-map = + /* 0 - D0: not possible */ + /* 1 - D1: not possible */ + <2 0 &tcc0 0 0>, /* D2: TCC0CH0 (WO4) */ + <3 0 &tcc0 1 0>, /* D3: TCC0CH1 (WO1) */ + <4 0 &tcc0 0 0>, /* D4: TCC0CH0 (WO0) */ + <5 0 &tcc0 1 0>, /* D5: TCC0CH1 (WO5) */ + <6 0 &tcc0 2 0>, /* D6: TCC0CH2 (WO6) */ + <7 0 &tcc0 3 0>; /* D7: TCC0CH3 (WO7) */ + /* 8 - D8: not possible */ + /* 9 - D9: not possible */ + /* 10 - D10: not possible */ + /* 11 - D11: not possible */ + /* 12 - D12: not possible */ + /* 13 - D13: not possible */ + /* 14 - D14: not possible */ + /* 15 - D15: not possible */ + /* 16 - D16: not possible */ + /* 17 - D17: not possible */ + /* 18 - D18: not possible */ + /* 19 - D19: not possible */ + }; +}; + +grove_pwms: &grove_laced_if_v2 {}; + +grove_pwm_d2: &tcc0 {}; +grove_pwm_d3: &tcc0 {}; +grove_pwm_d4: &tcc0 {}; +grove_pwm_d5: &tcc0 {}; +grove_pwm_d6: &tcc0 {}; +grove_pwm_d7: &tcc0 {}; diff --git a/boards/shields/grove/boards/seeeduino_lotus.overlay b/boards/shields/grove/boards/seeeduino_lotus.overlay new file mode 100644 index 0000000000..a507e56219 --- /dev/null +++ b/boards/shields/grove/boards/seeeduino_lotus.overlay @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2023 TiaC Systems + * SPDX-License-Identifier: Apache-2.0 + */ + +/* remove interconnection conflicts from board level */ + +/delete-node/ &grove_laced_if_lotus; +/delete-node/ &grove_uart_header; + +/* remove Grove serial from board level, not usable anymore */ + +/{aliases{/delete-property/ sercom-5;};}; +/delete-node/ &grove_serial; + +/* final Arduino to Grove interface mapping */ + +#include "arduino_to_grove_if.dtsi" + +/* PWM pre-definitions already done on board level */ diff --git a/boards/shields/grove/doc/grove_pwms-seeeduino_lotus.rsti b/boards/shields/grove/doc/grove_pwms-seeeduino_lotus.rsti new file mode 100644 index 0000000000..fc6202a9d1 --- /dev/null +++ b/boards/shields/grove/doc/grove_pwms-seeeduino_lotus.rsti @@ -0,0 +1,115 @@ ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| Grove PWM Label | phandle index to shield --> | **Signal** : *Meaning* | ``seeed_grove_base_v2`` | ``seeed_grove_base_v1`` | ++====================+=============================+=========================+=========================+=========================+ +| ``&grove_pwm_d0`` | ``<&grove_pwms 0 …>`` | **D0:** *UART-RX* | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d1`` | ``<&grove_pwms 1 …>`` | **D1:** *UART-TX* | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d2`` | ``<&grove_pwms 2 …>`` | **D2** | ``<&tcc0 0 …>`` | ``<&tcc0 0 …>`` | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d3`` | ``<&grove_pwms 3 …>`` | **D3** | ``<&tcc0 1 …>`` | ``<&tcc0 1 …>`` | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d4`` | ``<&grove_pwms 4 …>`` | **D4** | ``<&tcc0 0 …>`` | ``<&tcc0 0 …>`` | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d5`` | ``<&grove_pwms 5 …>`` | **D5** | ``<&tcc0 1 …>`` | ``<&tcc0 1 …>`` | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d6`` | ``<&grove_pwms 6 …>`` | **D6** | ``<&tcc0 2 …>`` | ``<&tcc0 2 …>`` | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d7`` | ``<&grove_pwms 7 …>`` | **D7** | ``<&tcc0 3 …>`` | ``<&tcc0 3 …>`` | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d8`` | ``<&grove_pwms 8 …>`` | **D8** | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d9`` | ``<&grove_pwms 9 …>`` | **D9** | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d10`` | ``<&grove_pwms 10 …>`` | **D10:** *SPI-CS* | **not wired** | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d11`` | ``<&grove_pwms 11 …>`` | **D11:** *SPI-MOSI* | **not wired** | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d12`` | ``<&grove_pwms 12 …>`` | **D12:** *SPI-MISO* | **not wired** | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d13`` | ``<&grove_pwms 13 …>`` | **D13:** *SPI-CLK* | **not wired** | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 14 …>`` | **D14:** *A0* | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 15 …>`` | **D15:** *A1* | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 16 …>`` | **D16:** *A2* | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 17 …>`` | **D17:** *A3* | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d18`` | ``<&grove_pwms 18 …>`` | **D18:** *(A4) I2C-SDA* | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| ``&grove_pwm_d19`` | ``<&grove_pwms 19 …>`` | **D19:** *(A5) I2C-SCL* | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 20 …>`` | **D20:** *ADC6* | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 21 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 22 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 23 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 24 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 25 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 26 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 27 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 28 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 29 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 30 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ +| | ``<&grove_pwms 31 …>`` | | | | ++--------------------+-----------------------------+-------------------------+-------------------------+-------------------------+ + ++-------------------------+-------------------------------+ +| | **TCC0** | +| +-------+-------+-------+-------+ +| **Signal** : *Meaning* | *CH0* | *CH1* | *CH2* | *CH3* | ++=========================+=======+=======+=======+=======+ +| **D0:** *UART-RX* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D1:** *UART-TX* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D2** | WO4 | | | | ++-------------------------+-------+-------+-------+-------+ +| **D3** | | WO1 | | | ++-------------------------+-------+-------+-------+-------+ +| **D4** | WO0 | | | | ++-------------------------+-------+-------+-------+-------+ +| **D5** | | WO5 | | | ++-------------------------+-------+-------+-------+-------+ +| **D6** | | | WO6 | | ++-------------------------+-------+-------+-------+-------+ +| **D7** | | | | WO7 | ++-------------------------+-------+-------+-------+-------+ +| **D8** | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D9** | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D10:** *SPI-CS* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D11:** *SPI-MOSI* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D12:** *SPI-MISO* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D13:** *SPI-CLK* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D14:** *A0* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D15:** *A1* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D16:** *A2* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D17:** *A3* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D18:** *(A4) I2C-SDA* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D19:** *(A5) I2C-SCL* | | | | | ++-------------------------+-------+-------+-------+-------+ +| **D20:** *ADC6* | | | | | ++-------------------------+-------+-------+-------+-------+ diff --git a/boards/shields/grove/doc/index.rst b/boards/shields/grove/doc/index.rst index 2972bd3ae1..3bbeb62fa1 100644 --- a/boards/shields/grove/doc/index.rst +++ b/boards/shields/grove/doc/index.rst @@ -609,22 +609,22 @@ not be complete. .. group-tab:: ``nucleo_f303re`` - This is based on the Zephyr board :ref:`nucleo_f303re_board` and its - :dtcompatible:`arduino-header-r3`. + This is based on the Zephyr board :ref:`zephyr:nucleo_f303re_board` + and its :dtcompatible:`arduino-header-r3`. .. include:: /boards/shields/grove/doc/grove_pwms-nucleo_f303re.rsti .. group-tab:: ``nucleo_f401re`` - This is based on the Zephyr board :ref:`nucleo_f401re_board` and its - :dtcompatible:`arduino-header-r3`. + This is based on the Zephyr board :ref:`zephyr:nucleo_f401re_board` + and its :dtcompatible:`arduino-header-r3`. .. include:: /boards/shields/grove/doc/grove_pwms-nucleo_f401re.rsti .. group-tab:: ``nucleo_f767zi`` - This is based on the Zephyr board :ref:`nucleo_f767zi_board` and its - :dtcompatible:`arduino-header-r3`. + This is based on the Zephyr board :ref:`zephyr:nucleo_f767zi_board` + and its :dtcompatible:`arduino-header-r3`. .. include:: /boards/shields/grove/doc/grove_pwms-nucleo_f767zi.rsti @@ -634,10 +634,11 @@ not be complete. .. group-tab:: ``mimxrt1010_evk`` - This is based on the Zephyr board :ref:`mimxrt1010_evk` and its - :dtcompatible:`arduino-header-r3`. + This is based on the Zephyr board :ref:`zephyr:mimxrt1010_evk` + and its :dtcompatible:`arduino-header-r3`. .. note:: + This board shares many signals on this |Laced Grove Signal Interface| with other on-board function units, e.g. audio codec and sensors or the SPI Flash (when populated). Check your current board configuration @@ -648,10 +649,11 @@ not be complete. .. group-tab:: ``mimxrt1060_evk(b)`` - This is based on the Zephyr board :ref:`mimxrt1060_evk` and its - :dtcompatible:`arduino-header-r3`. + This is based on the Zephyr board :ref:`zephyr:mimxrt1060_evk` + and its :dtcompatible:`arduino-header-r3`. .. note:: + This board shares many signals on this |Laced Grove Signal Interface| with other on-board function units, e.g. camera and display or the M.2 and TF/SD-Card connectors. Check your current board configuration @@ -666,10 +668,11 @@ not be complete. .. group-tab:: ``arduino_zero`` - This is based on the Bridle board :ref:`arduino_zero` and its - :dtcompatible:`arduino-header-r3`. + This is based on the Bridle board :ref:`arduino_zero` + and its :dtcompatible:`arduino-header-r3`. .. note:: + This board basically provides all channels from all timers as PWM to the outside. However, the SoC's ability to route channels to multiple pads may result in channels being connected in parallel. The second @@ -679,12 +682,29 @@ not be complete. .. include:: /boards/shields/grove/doc/grove_pwms-arduino_zero.rsti + .. group-tab:: ``seeeduino_lotus`` + + This is based on the Bridle board :ref:`seeeduino_lotus` + and its :dtcompatible:`arduino-header-r3`. + + .. note:: + + This board basically provides only some channels from a few timers as + PWM to the outside. The SoC's ability to route channels to multiple + pads may result in channels being connected in parallel. The second + table below shows the possibilities which channels can really + be used independently at the associated signals of the + |Laced Grove Signal Interface|. + + .. include:: /boards/shields/grove/doc/grove_pwms-seeeduino_lotus.rsti + .. group-tab:: ``seeed_xiao_samd21`` - This is based on the Bridle board :ref:`seeed_xiao_samd21` and its - :dtcompatible:`seeed,xiao-gpio`. + This is based on the Bridle board :ref:`seeed_xiao_samd21` + and its :dtcompatible:`seeed,xiao-gpio`. .. note:: + This board basically provides only some channels from a few timers as PWM to the outside. The SoC's ability to route channels to multiple pads may result in channels being connected in parallel. The second @@ -696,10 +716,11 @@ not be complete. .. group-tab:: ``seeeduino_xiao`` - This is based on the Zephyr board :ref:`seeeduino_xiao` and its - :dtcompatible:`seeed,xiao-gpio`. + This is based on the Zephyr board :ref:`zephyr:seeeduino_xiao` + and its :dtcompatible:`seeed,xiao-gpio`. .. note:: + This board basically provides only some channels from a few timers as PWM to the outside. The SoC's ability to route channels to multiple pads may result in channels being connected in parallel. The second @@ -715,10 +736,11 @@ not be complete. .. group-tab:: ``rpi_pico`` - This is based on the Zephyr board :ref:`rpi_pico` and its - :dtcompatible:`raspberrypi,pico-header-r3`. + This is based on the Zephyr board :ref:`zephyr:rpi_pico` + and its :dtcompatible:`raspberrypi,pico-header-r3`. .. note:: + This board basically provides all channels from nearly all PWMs to the outside. However, the SoC's ability to route channels to multiple pads may result in channels being connected in parallel. The second @@ -812,7 +834,8 @@ example: https://wiki.seeedstudio.com/Grove-Starter-Kit-for-Raspberry-Pi-Pico .. _`Grove Shield for Pi Pico V1`: - https://wiki.seeedstudio.com/Grove_Shield_for_Pi_Pico_V1.0 + https://wiki.seeedstudio.com/Grove-Starter-Kit-for-Raspberry-Pi-Pico +.. https://wiki.seeedstudio.com/Grove_Shield_for_Pi_Pico_V1.0 .. _`Grove Shield for Pi Pico V1.0 Schematic`: https://files.seeedstudio.com/wiki/Grove_Shield_for_Pi_Pico_V1.0/Grove_shield_for_PI_PICOv1.0SCH.pdf diff --git a/boards/shields/loopback_test/doc/index.rst b/boards/shields/loopback_test/doc/index.rst index e668cb5e8e..f2f800f4a1 100644 --- a/boards/shields/loopback_test/doc/index.rst +++ b/boards/shields/loopback_test/doc/index.rst @@ -26,7 +26,8 @@ This shield requires a board which provides a configuration that allows: .. note:: Sometimes boards declare standard headers like |Arduino UNO R3| but not define all connections. Make sure that the board you are using have all - definitions to avoid build errors (see :ref:`shields` for more details). + definitions to avoid build errors (see :ref:`zephyr:shields` for more + details). Supported variations ==================== diff --git a/boards/shields/x_grove_testbed/doc/index.rst b/boards/shields/x_grove_testbed/doc/index.rst index bdb987024d..fec80fc73b 100644 --- a/boards/shields/x_grove_testbed/doc/index.rst +++ b/boards/shields/x_grove_testbed/doc/index.rst @@ -26,7 +26,8 @@ an |Arduino UNO R3| header, then the |Base Shield V2| can be plugged in between. .. note:: Sometimes boards declare standard headers like |Arduino UNO R3| but not define all connections. Make sure that the board you are using have all - definitions to avoid build errors (see :ref:`shields` for more details). + definitions to avoid build errors (see :ref:`zephyr:shields` for more + details). Supported variations ==================== @@ -132,7 +133,7 @@ For example: .. group-tab:: ST Nucleo F303RE - This is based on the Zephyr board :ref:`nucleo_f303re_board`. + This is based on the Zephyr board :ref:`zephyr:nucleo_f303re_board`. * Diagrams.Net project file: :download:`x_grove_testbed.drawio` @@ -144,7 +145,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -158,7 +159,7 @@ For example: .. group-tab:: LED Fade - This is based on the Zephyr sample :ref:`fade-led-sample`. + This is based on the Zephyr sample :ref:`zephyr:fade-led-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/fade_led @@ -172,7 +173,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -186,7 +187,7 @@ For example: .. group-tab:: ST Nucleo F401RE - This is based on the Zephyr board :ref:`nucleo_f401re_board`. + This is based on the Zephyr board :ref:`zephyr:nucleo_f401re_board`. * Diagrams.Net project file: :download:`x_grove_testbed.drawio` @@ -198,7 +199,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -212,7 +213,7 @@ For example: .. group-tab:: LED Fade - This is based on the Zephyr sample :ref:`fade-led-sample`. + This is based on the Zephyr sample :ref:`zephyr:fade-led-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/fade_led @@ -226,7 +227,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -240,7 +241,7 @@ For example: .. group-tab:: ST Nucleo F413ZH - This is based on the Zephyr board :ref:`nucleo_f413zh_board`. + This is based on the Zephyr board :ref:`zephyr:nucleo_f413zh_board`. * Diagrams.Net project file: :download:`x_grove_testbed.drawio` @@ -252,7 +253,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -266,7 +267,7 @@ For example: .. group-tab:: LED Fade - This is based on the Zephyr sample :ref:`fade-led-sample`. + This is based on the Zephyr sample :ref:`zephyr:fade-led-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/fade_led @@ -280,7 +281,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -294,7 +295,7 @@ For example: .. group-tab:: ST Nucleo F767ZI - This is based on the Zephyr board :ref:`nucleo_f767zi_board`. + This is based on the Zephyr board :ref:`zephyr:nucleo_f767zi_board`. * Diagrams.Net project file: :download:`x_grove_testbed.drawio` @@ -306,7 +307,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -320,7 +321,7 @@ For example: .. group-tab:: LED Fade - This is based on the Zephyr sample :ref:`fade-led-sample`. + This is based on the Zephyr sample :ref:`zephyr:fade-led-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/fade_led @@ -334,7 +335,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -352,7 +353,7 @@ For example: .. group-tab:: NXP MIMXRT1010-EVK - This is based on the Zephyr board :ref:`mimxrt1010_evk`. + This is based on the Zephyr board :ref:`zephyr:mimxrt1010_evk`. * Diagrams.Net project file: :download:`x_grove_testbed.drawio` @@ -361,10 +362,11 @@ For example: :align: center .. note:: - The :ref:`mimxrt1010_evk` doesn't provide any PWM channel on the - |Laced Grove Signal Interface| line :strong:`D6` for the output - of a variable average value of voltage over time to the LED. Thus - the Zephyr sample :ref:`fade-led-sample` is not supported. + The :ref:`zephyr:mimxrt1010_evk` doesn't provide any PWM channel + on the |Laced Grove Signal Interface| line :strong:`D6` for the + output of a variable average value of voltage over time to the + LED. Thus the Zephyr sample :ref:`zephyr:fade-led-sample` is not + supported. Should it be absolutely necessary to use a PWM channel, then this can only be carried out in this test bed assembly on lines @@ -374,7 +376,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -389,7 +391,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -404,7 +406,7 @@ For example: .. group-tab:: NXP MIMXRT1060-EVK(B) - This is based on the Zephyr board :ref:`mimxrt1060_evk`. + This is based on the Zephyr board :ref:`zephyr:mimxrt1060_evk`. * Diagrams.Net project file: :download:`x_grove_testbed.drawio` @@ -413,10 +415,11 @@ For example: :align: center .. note:: - The :ref:`mimxrt1060_evk` doesn't provide any PWM channel on the - |Laced Grove Signal Interface| line :strong:`D6` for the output - of a variable average value of voltage over time to the LED. Thus - the Zephyr sample :ref:`fade-led-sample` is not supported. + The :ref:`zephyr:mimxrt1060_evk` doesn't provide any PWM channel + on the |Laced Grove Signal Interface| line :strong:`D6` for the + output of a variable average value of voltage over time to the + LED. Thus the Zephyr sample :ref:`zephyr:fade-led-sample` is not + supported. Should it be absolutely necessary to use a PWM channel, then this can only be carried out in this test bed assembly on line @@ -426,7 +429,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -441,7 +444,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -472,7 +475,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -486,7 +489,7 @@ For example: .. group-tab:: LED Fade - This is based on the Zephyr sample :ref:`fade-led-sample`. + This is based on the Zephyr sample :ref:`zephyr:fade-led-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/fade_led @@ -500,7 +503,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -526,7 +529,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -540,7 +543,7 @@ For example: .. group-tab:: LED Fade - This is based on the Zephyr sample :ref:`fade-led-sample`. + This is based on the Zephyr sample :ref:`zephyr:fade-led-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/fade_led @@ -554,7 +557,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -580,7 +583,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -594,7 +597,7 @@ For example: .. group-tab:: LED Fade - This is based on the Zephyr sample :ref:`fade-led-sample`. + This is based on the Zephyr sample :ref:`zephyr:fade-led-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/fade_led @@ -608,7 +611,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -622,7 +625,7 @@ For example: .. group-tab:: Seeeduino XIAO - This is based on the Zephyr board :ref:`seeeduino_xiao`. + This is based on the Zephyr board :ref:`zephyr:seeeduino_xiao`. * Diagrams.Net project file: :download:`x_grove_testbed.drawio` @@ -634,7 +637,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -648,7 +651,7 @@ For example: .. group-tab:: LED Fade - This is based on the Zephyr sample :ref:`fade-led-sample`. + This is based on the Zephyr sample :ref:`zephyr:fade-led-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/fade_led @@ -662,7 +665,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button @@ -680,7 +683,7 @@ For example: .. group-tab:: Raspberry Pi Pico - This is based on the Zephyr board :ref:`rpi_pico`. + This is based on the Zephyr board :ref:`zephyr:rpi_pico`. * Diagrams.Net project file: :download:`x_grove_testbed.drawio` @@ -692,7 +695,7 @@ For example: .. group-tab:: LED Blinky - This is based on the Zephyr sample :ref:`blinky-sample`. + This is based on the Zephyr sample :ref:`zephyr:blinky-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/blinky @@ -707,7 +710,7 @@ For example: .. group-tab:: LED Fade - This is based on the Zephyr sample :ref:`fade-led-sample`. + This is based on the Zephyr sample :ref:`zephyr:fade-led-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/fade_led @@ -722,7 +725,7 @@ For example: .. group-tab:: LED Button - This is based on the Zephyr sample :ref:`button-sample`. + This is based on the Zephyr sample :ref:`zephyr:button-sample`. .. zephyr-app-commands:: :app: zephyr/samples/basic/button diff --git a/cmake/modules/bridle/requirements.cmake b/cmake/modules/bridle/requirements.cmake index 28bc773cae..f4289cf321 100644 --- a/cmake/modules/bridle/requirements.cmake +++ b/cmake/modules/bridle/requirements.cmake @@ -56,7 +56,7 @@ else() endif() # This will determine and set the required Sphinx version. -file(STRINGS ${ZEPHYR_BASE}/scripts/requirements-doc.txt +file(STRINGS ${ZEPHYR_BASE}/doc/requirements.txt sphinx_string LIMIT_COUNT 1 REGEX "^sphinx[~,<,>]?=" ) string(REGEX MATCH "=([^ \t]*)[^ \t]*,[<,>]([^ \t]*)" @@ -73,7 +73,7 @@ if(NOT CMAKE_MATCH_1) else() message(FATAL_ERROR "Sphinx: malformatted PIP version string as input?\n" "Got: '${sphinx_string}'\n" - "Check: ${ZEPHYR_BASE}/scripts/requirements-doc.txt" + "Check: ${ZEPHYR_BASE}/doc/requirements.txt" ) endif() endif() @@ -87,7 +87,7 @@ else() else() message(FATAL_ERROR "Sphinx: malformatted PIP version string as input?\n" "Got: '${sphinx_string}'\n" - "Check: ${ZEPHYR_BASE}/scripts/requirements-doc.txt" + "Check: ${ZEPHYR_BASE}/doc/requirements.txt" ) endif() endif() diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index e3e23fc81f..a5a108e495 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 TiaC Systems +# Copyright (c) 2021-2023 TiaC Systems # Copyright (c) 2019-2021 Li-Pro.Net # Copyright (c) 2019-2021 Nordic Semiconductor ASA # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause @@ -34,8 +34,8 @@ file(TO_CMAKE_PATH "${BRIDLE_BASE}" BRIDLE_BASE) #------------------------------------------------------------------------------- # Options -set(SPHINXOPTS_DEFAULT "-j auto" CACHE INTERNAL "Default Sphinx Options") -set(SPHINXOPTS_EXTRA "-W" CACHE STRING "Extra Sphinx Options (from CLI/CI)") +set(SPHINXOPTS_DEFAULT "-j auto -W --keep-going -T" CACHE INTERNAL "Default Sphinx Options") +set(SPHINXOPTS_EXTRA "" CACHE STRING "Extra Sphinx Options (from CLI/CI)") separate_arguments(SPHINXOPTS_DEFAULT) separate_arguments(SPHINXOPTS_EXTRA) @@ -113,23 +113,24 @@ function(add_docset name sphinxopts) separate_arguments(sphinxopts) - if(NOT ${DOCSET_DODGY}) - set(SPHINXOPTS_DECENT ${SPHINXOPTS_EXTRA}) + if(${DOCSET_DODGY}) + list(REMOVE_ITEM SPHINXOPTS "-W" "--keep-going") endif() add_doc_target( ${name}-inventory COMMAND ${CMAKE_COMMAND} -E make_directory ${DOCSET_MAKE_DIRS} COMMAND ${CMAKE_COMMAND} -E env ${DOCSET_ENV} - ${SPHINXBUILD} -v - -b inventory - -c ${DOCSET_SPHINX_DIR} - -d ${DOCSET_DOCTREE_DIR} - -w ${DOCSET_BUILD_DIR}/inventory.log - ${SPHINXOPTS_DEFAULT} - ${sphinxopts} - ${DOCSET_SRC_DIR} - ${DOCSET_HTML_DIR} + ${SPHINXBUILD} -v + -b inventory + -c ${DOCSET_SPHINX_DIR} + -d ${DOCSET_DOCTREE_DIR} + -w ${DOCSET_BUILD_DIR}/inventory.log + ${SPHINXOPTS_DEFAULT} + ${SPHINXOPTS_EXTRA} + ${sphinxopts} + ${DOCSET_SRC_DIR} + ${DOCSET_HTML_DIR} VERBATIM WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} COMMENT "Generating documentation inventory for ${name}" @@ -140,16 +141,16 @@ function(add_docset name sphinxopts) ${name}-html COMMAND ${CMAKE_COMMAND} -E make_directory ${DOCSET_MAKE_DIRS} COMMAND ${CMAKE_COMMAND} -E env ${DOCSET_ENV} - ${SPHINXBUILD} -v - -b html - -c ${DOCSET_SPHINX_DIR} - -d ${DOCSET_DOCTREE_DIR} - -w ${DOCSET_BUILD_DIR}/html.log - ${SPHINXOPTS_DEFAULT} - ${SPHINXOPTS_DECENT} - ${sphinxopts} - ${DOCSET_SRC_DIR} - ${DOCSET_HTML_DIR} + ${SPHINXBUILD} -v + -b html + -c ${DOCSET_SPHINX_DIR} + -d ${DOCSET_DOCTREE_DIR} + -w ${DOCSET_BUILD_DIR}/html.log + ${SPHINXOPTS_DEFAULT} + ${SPHINXOPTS_EXTRA} + ${sphinxopts} + ${DOCSET_SRC_DIR} + ${DOCSET_HTML_DIR} VERBATIM WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} COMMENT "Generating HTML documentation for ${name}" @@ -160,16 +161,16 @@ function(add_docset name sphinxopts) ${name}-linkcheck COMMAND ${CMAKE_COMMAND} -E make_directory ${DOCSET_MAKE_DIRS} COMMAND ${CMAKE_COMMAND} -E env ${DOCSET_ENV} - ${SPHINXBUILD} -v - -b linkcheck - -c ${DOCSET_SPHINX_DIR} - -d ${DOCSET_DOCTREE_DIR} - -w ${DOCSET_BUILD_DIR}/linkcheck.log - ${SPHINXOPTS_DEFAULT} - ${SPHINXOPTS_DECENT} - ${sphinxopts} - ${DOCSET_SRC_DIR} - ${DOCSET_BUILD_DIR} + ${SPHINXBUILD} -v + -b linkcheck + -c ${DOCSET_SPHINX_DIR} + -d ${DOCSET_DOCTREE_DIR} + -w ${DOCSET_BUILD_DIR}/linkcheck.log + ${SPHINXOPTS_DEFAULT} + ${SPHINXOPTS_EXTRA} + ${sphinxopts} + ${DOCSET_SRC_DIR} + ${DOCSET_HTML_DIR} VERBATIM WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} COMMENT "Running documentation linkcheck for ${name}" @@ -243,6 +244,9 @@ function(add_docset name sphinxopts) -DPROJECT_VERSION="${DOCSET_VERSION}" -DPROJECT_BRIEF="${DOCSET_BRIEF}" -P ${BRIDLE_BASE}/doc/update_cfgfile.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + COMMENT "Update doxyfile in ${DOCSET_DOXY_DIR}" + USES_TERMINAL ) endif() @@ -292,25 +296,53 @@ string(REPLACE ";" "\\;" zephyr_kws_files_escaped "${zephyr_kws_files}") add_custom_command( OUTPUT ${ZEPHYR_BINARY_DIR}/known-warnings.txt + DEPENDS + ${zephyr_kws_files} COMMAND ${CMAKE_COMMAND} -DIN_FILES="${zephyr_kws_files_escaped}" -DOUT_FILE=${ZEPHYR_BINARY_DIR}/known-warnings.txt -P ${BRIDLE_BASE}/doc/update_appends.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + COMMENT "Update known-warnings.txt in ${ZEPHYR_BINARY_DIR}" + USES_TERMINAL +) + +set(zephyr_kwsi_files + ${ZEPHYR_BASE}/doc/known-warnings.txt + ${BRIDLE_BASE}/doc/zephyr/known-warnings-inventory.txt +) +string(REPLACE ";" "\\;" zephyr_kwsi_files_escaped "${zephyr_kwsi_files}") + +add_custom_command( + OUTPUT ${ZEPHYR_BINARY_DIR}/known-warnings-inventory.txt DEPENDS - ${zephyr_kws_files} + ${zephyr_kwsi_files} + COMMAND ${CMAKE_COMMAND} + -DIN_FILES="${zephyr_kwsi_files_escaped}" + -DOUT_FILE=${ZEPHYR_BINARY_DIR}/known-warnings-inventory.txt + -P ${BRIDLE_BASE}/doc/update_appends.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + COMMENT "Update known-warnings-inventory.txt in ${ZEPHYR_BINARY_DIR}" + USES_TERMINAL ) add_custom_target( zephyr-known-warnings DEPENDS ${ZEPHYR_BINARY_DIR}/known-warnings.txt + ${ZEPHYR_BINARY_DIR}/known-warnings-inventory.txt + COMMENT "Generating known warnings lists for zephyr" ) add_docset(zephyr "" API) + add_dependencies(zephyr-inventory zephyr-known-warnings) -add_dependencies(zephyr-inventory-all zephyr-known-warnings) -add_dependencies(zephyr-html zephyr-known-warnings kconfig-inventory) -add_dependencies(zephyr-html-all zephyr-known-warnings kconfig-inventory-all) +add_dependencies(zephyr-html zephyr-known-warnings) +add_dependencies(zephyr-html-all + zephyr-known-warnings + devicetree-inventory + kconfig-inventory +) #------------------------------------------------------------------------------- # docset: devicetree @@ -339,12 +371,13 @@ add_custom_target( devicetree-content COMMAND ${CMAKE_COMMAND} -E make_directory ${DTS_BINDINGS_RST_OUT} COMMAND ${CMAKE_COMMAND} -E env - PYTHONPATH=${ZEPHYR_BASE}/scripts/dts/python-devicetree/src${SEP}$ENV{PYTHONPATH} - ZEPHYR_BASE=${ZEPHYR_BASE} - GEN_DEVICETREE_REST_ZEPHYR_DOCSET=${GEN_DEVICETREE_REST_ZEPHYR_DOCSET} - ${PYTHON_EXECUTABLE} ${GEN_DEVICETREE_REST_SCRIPT} - --vendor-prefixes ${ZEPHYR_BASE}/dts/bindings/vendor-prefixes.txt - ${DTS_ROOT_ARGS} ${DTS_BINDINGS_RST_OUT} + PYTHONPATH=${ZEPHYR_BASE}/scripts/dts/python-devicetree/src${SEP}$ENV{PYTHONPATH} + ZEPHYR_BASE=${ZEPHYR_BASE} + GEN_DEVICETREE_REST_ZEPHYR_DOCSET=${GEN_DEVICETREE_REST_ZEPHYR_DOCSET} + ${PYTHON_EXECUTABLE} + ${GEN_DEVICETREE_REST_SCRIPT} + --vendor-prefixes ${ZEPHYR_BASE}/dts/bindings/vendor-prefixes.txt + ${DTS_ROOT_ARGS} ${DTS_BINDINGS_RST_OUT} VERBATIM WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} COMMENT "Running gen_devicetree_rest.py ${DTS_BINDINGS_RST_OUT}" @@ -354,17 +387,20 @@ add_custom_target( set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${GEN_DEVICETREE_REST_SCRIPT}) add_docset(devicetree "") + add_dependencies(devicetree-inventory devicetree-content) -add_dependencies(devicetree-inventory-all devicetree-content) -add_dependencies(devicetree-html devicetree-content zephyr-inventory) -add_dependencies(devicetree-html-all devicetree-content zephyr-inventory-all) +add_dependencies(devicetree-html devicetree-content) +add_dependencies(devicetree-html-all + devicetree-content + zephyr-inventory +) #------------------------------------------------------------------------------- # docset: kconfig add_docset(kconfig "") -add_dependencies(kconfig-html zephyr-inventory) -add_dependencies(kconfig-html-all zephyr-inventory-all) + +add_dependencies(kconfig-html-all zephyr-inventory) #------------------------------------------------------------------------------- # docset: bridle @@ -377,11 +413,11 @@ set(tools_version_files ) set(pip_requirements_files - ${ZEPHYR_BASE}/scripts/requirements-base.txt - ${ZEPHYR_BASE}/scripts/requirements-doc.txt ${BRIDLE_BASE}/scripts/requirements-base.txt ${BRIDLE_BASE}/scripts/requirements-doc.txt ${BRIDLE_BASE}/scripts/requirements-build.txt + ${ZEPHYR_BASE}/scripts/requirements-base.txt + ${ZEPHYR_BASE}/doc/requirements.txt ) string(REPLACE ";" "\\;" tools_files_escaped "${tools_version_files}") @@ -391,34 +427,41 @@ set(BRIDLE_DOC_DIR ${BRIDLE_BASE}/doc/bridle) add_custom_command( OUTPUT ${BRIDLE_BINARY_DIR}/src/versions.txt + DEPENDS + ${BRIDLE_DOC_DIR}/versions.txt.in + ${tools_version_files} + ${pip_requirements_files} COMMAND ${CMAKE_COMMAND} -DTOOLS_VERSION_FILES="${tools_files_escaped}" -DPIP_REQUIREMENTS_FILES="${pip_files_escaped}" -DVERSION_IN=${BRIDLE_DOC_DIR}/versions.txt.in -DVERSION_OUT=${BRIDLE_BINARY_DIR}/src/versions.txt -P ${BRIDLE_BASE}/doc/update_versions.cmake - DEPENDS - ${BRIDLE_DOC_DIR}/versions.txt.in - ${tools_version_files} - ${pip_requirements_files} + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + COMMENT "Update versions.txt in ${BRIDLE_BINARY_DIR}" + USES_TERMINAL ) add_custom_target( bridle-versions DEPENDS ${BRIDLE_BINARY_DIR}/src/versions.txt + COMMENT "Generating version lists for bridle" ) add_docset(bridle "-j 1" API) # no parallel reading, because of sphinx-csv-filter + add_dependencies(bridle-inventory bridle-versions) -add_dependencies(bridle-inventory-all bridle-versions) -add_dependencies(bridle-html bridle-versions kconfig-inventory - devicetree-inventory zephyr-inventory) -add_dependencies(bridle-html-all bridle-versions kconfig-inventory-all - devicetree-inventory-all zephyr-inventory-all) +add_dependencies(bridle-html bridle-versions) +add_dependencies(bridle-html-all + bridle-versions + devicetree-inventory + kconfig-inventory + zephyr-inventory +) #------------------------------------------------------------------------------- -# Global targets +# Deployment targets add_custom_target( copy-extra-content @@ -428,6 +471,10 @@ add_custom_target( ${CMAKE_CURRENT_LIST_DIR}/_docroot/index.html ${BRIDLE_BASE}/doc/versions.json ${HTML_DIR} + VERBATIM + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + COMMENT "Copy HTML extra content" + USES_TERMINAL ) set_target_properties( @@ -440,24 +487,32 @@ add_custom_target( merge-search-indexes COMMAND ${PYTHON_EXECUTABLE} - ${BRIDLE_BASE}/doc/_scripts/merge_search_indexes.py - -b ${CMAKE_BINARY_DIR} + ${BRIDLE_BASE}/doc/_scripts/merge_search_indexes.py + -b ${CMAKE_BINARY_DIR} VERBATIM WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} - COMMENT "Merging HTML search indexes..." + COMMENT "Merging HTML search indexes" USES_TERMINAL ) add_dependencies(merge-search-indexes bridle-html-all zephyr-html-all +) + +#------------------------------------------------------------------------------- +# Global targets + +add_dependencies(zephyr-html-all kconfig-html-all devicetree-html-all ) -add_dependencies(zephyr-html-all kconfig-html-all devicetree-html-all) -add_dependencies(bridle-html-all zephyr-html-all - kconfig-html-all devicetree-html-all) +add_dependencies(bridle-html-all + zephyr-html-all + kconfig-html-all + devicetree-html-all +) add_custom_target(build-all ALL) add_dependencies(build-all @@ -466,9 +521,11 @@ add_dependencies(build-all bridle-html-all zephyr-html-all kconfig-html-all + devicetree-html-all ) add_custom_target(linkcheck) add_dependencies(linkcheck bridle-linkcheck + zephyr-linkcheck ) diff --git a/doc/_cacerts/asf.microchip.com.pem b/doc/_cacerts/asf.microchip.com.pem new file mode 100644 index 0000000000..49c288d314 --- /dev/null +++ b/doc/_cacerts/asf.microchip.com.pem @@ -0,0 +1,50 @@ +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEyDCCA7CgAwIBAgIQDPW9BitWAvR6uFAsI8zwZjANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0yMTAzMzAwMDAwMDBaFw0zMTAzMjkyMzU5NTlaMFkxCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxMzAxBgNVBAMTKkRpZ2lDZXJ0IEdsb2Jh +bCBHMiBUTFMgUlNBIFNIQTI1NiAyMDIwIENBMTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMz3EGJPprtjb+2QUlbFbSd7ehJWivH0+dbn4Y+9lavyYEEV +cNsSAPonCrVXOFt9slGTcZUOakGUWzUb+nv6u8W+JDD+Vu/E832X4xT1FE3LpxDy +FuqrIvAxIhFhaZAmunjZlx/jfWardUSVc8is/+9dCopZQ+GssjoP80j812s3wWPc +3kbW20X+fSP9kOhRBx5Ro1/tSUZUfyyIxfQTnJcVPAPooTncaQwywa8WV0yUR0J8 +osicfebUTVSvQpmowQTCd5zWSOTOEeAqgJnwQ3DPP3Zr0UxJqyRewg2C/Uaoq2yT +zGJSQnWS+Jr6Xl6ysGHlHx+5fwmY6D36g39HaaECAwEAAaOCAYIwggF+MBIGA1Ud +EwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHSFgMBmx9833s+9KTeqAx2+7c0XMB8G +A1UdIwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdgYIKwYBBQUHAQEEajBoMCQG +CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQAYIKwYBBQUHMAKG +NGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RH +Mi5jcnQwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29t +L0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDA9BgNVHSAENjA0MAsGCWCGSAGG/WwC +ATAHBgVngQwBATAIBgZngQwBAgEwCAYGZ4EMAQICMAgGBmeBDAECAzANBgkqhkiG +9w0BAQsFAAOCAQEAkPFwyyiXaZd8dP3A+iZ7U6utzWX9upwGnIrXWkOH7U1MVl+t +wcW1BSAuWdH/SvWgKtiwla3JLko716f2b4gp/DA/JIS7w7d7kwcsr4drdjPtAFVS +slme5LnQ89/nD/7d+MS5EHKBCQRfz5eeLjJ1js+aWNJXMX43AYGyZm0pGrFmCW3R +bpD0ufovARTFXFZkAdl9h6g4U5+LXUZtXMYnhIHUfoyMo5tS58aI7Dd8KvvwVVo4 +chDYABPPTHPbqjc1qCmBaZx2vN4Ye5DUys/vZwP9BFohFrH/6j/f3IL16/RZkiMN +JCqVJUzKoZHm1Lesh3Sz8W2jmdv51b2EQJ8HmA== +-----END CERTIFICATE----- diff --git a/doc/_doxygen/doxyfile-bridle.in b/doc/_doxygen/doxyfile-bridle.in index 1bd8f9225f..fa13c41b4d 100644 --- a/doc/_doxygen/doxyfile-bridle.in +++ b/doc/_doxygen/doxyfile-bridle.in @@ -2255,6 +2255,8 @@ PREDEFINED = __DOXYGEN__ \ CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT \ CONFIG_ARCH_HAS_CUSTOM_SWAP_TO_MAIN \ CONFIG_BT_BREDR \ + CONFIG_BT_EATT \ + CONFIG_BT_L2CAP_SEG_RECV \ CONFIG_BT_MESH_MODEL_EXTENSIONS \ CONFIG_BT_REMOTE_INFO \ CONFIG_BT_USER_DATA_LEN_UPDATE \ @@ -2301,8 +2303,8 @@ PREDEFINED = __DOXYGEN__ \ "__printf_like(x, y)=" \ __attribute__(x)= \ __syscall= \ + __syscall_always_inline= \ __must_check= \ - DT_DOXYGEN \ "ATOMIC_DEFINE(x, y)=atomic_t x[ATOMIC_BITMAP_SIZE(y)]" # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this diff --git a/doc/_doxygen/doxyfile-zephyr.in b/doc/_doxygen/doxyfile-zephyr.in index 923612c632..f020ea633c 100644 --- a/doc/_doxygen/doxyfile-zephyr.in +++ b/doc/_doxygen/doxyfile-zephyr.in @@ -2257,6 +2257,8 @@ PREDEFINED = __DOXYGEN__ \ CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT \ CONFIG_ARCH_HAS_CUSTOM_SWAP_TO_MAIN \ CONFIG_BT_BREDR \ + CONFIG_BT_EATT \ + CONFIG_BT_L2CAP_SEG_RECV \ CONFIG_BT_MESH_MODEL_EXTENSIONS \ CONFIG_BT_REMOTE_INFO \ CONFIG_BT_USER_DATA_LEN_UPDATE \ @@ -2304,8 +2306,8 @@ PREDEFINED = __DOXYGEN__ \ "__printf_like(x, y)=" \ __attribute__(x)= \ __syscall= \ + __syscall_always_inline= \ __must_check= \ - DT_DOXYGEN \ "ATOMIC_DEFINE(x, y)=atomic_t x[ATOMIC_BITMAP_SIZE(y)]" # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this diff --git a/doc/_scripts/merge_search_indexes.py b/doc/_scripts/merge_search_indexes.py index 223b20c4fe..0eaa6b732d 100644 --- a/doc/_scripts/merge_search_indexes.py +++ b/doc/_scripts/merge_search_indexes.py @@ -200,7 +200,7 @@ def main(build_dir: Path) -> None: if __name__ == "__main__": - parser = argparse.ArgumentParser() + parser = argparse.ArgumentParser(allow_abbrev=False) parser.add_argument( "-b", diff --git a/doc/bridle/conf.py b/doc/bridle/conf.py index 762b4bb28b..c87ad41e8c 100644 --- a/doc/bridle/conf.py +++ b/doc/bridle/conf.py @@ -8,8 +8,9 @@ # pylint: skip-file # -import sys import os +import sys +import sphinx from pathlib import Path from sphinx.cmd.build import get_parser @@ -71,10 +72,19 @@ else: sys.exit('Could not extract Bridle version.') +# Overview --------------------------------------------------------------------- + +logcfg = sphinx.util.logging.getLogger(__name__) +logcfg.info(project + ' ' + release, color='yellow') +logcfg.info('Build with tags: ' + ':'.join(map(str, tags)), color='red') +logcfg.info('BRIDLE_BASE is: "{}"'.format(BRIDLE_BASE), color='green') +logcfg.info('BRIDLE_BUILD is: "{}"'.format(BRIDLE_BUILD), color='yellow') +logcfg.info('ZEPHYR_BASE is: "{}"'.format(ZEPHYR_BASE), color='green') + # General ---------------------------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. -needs_sphinx = '5.0' +needs_sphinx = '6.2' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom @@ -275,7 +285,7 @@ # Options for zephyr.warnings_filter ------------------------------------------- warnings_filter_config = os.path.join(BRIDLE_BASE, 'doc', 'bridle', 'known-warnings.txt') -warnings_filter_silent = False +warnings_filter_silent = True # -- Options for notfound.extension -------------------------------------------- @@ -343,10 +353,16 @@ } linkcheck_ignore = [ + # well know broken links + r'.*seeedstudio\.com.*Grove_Shield_for_Seeeduino_XIAO_v1\.0\.zip', + # any valid (local) ip number + r'.*((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).*', # intersphinx links r'(\.\.(\\|/))+(zephyr|kconfig|devicetree)', # redirecting and used in release notes 'https://github.com/tiacsys/bridle', + # used in introductional module revision table, but useless + 'https://github.com/tiacsys/zephyr/releases', # link to access local documentation 'http://localhost:4711/latest/index.html', 'http://localhost:8000/latest/index.html', @@ -356,10 +372,39 @@ linkcheck_timeout = 30 linkcheck_workers = 10 linkcheck_anchors = True -linkcheck_anchors_ignore = [r'page='] +linkcheck_anchors_ignore = [r'page=', r'L[0-9]?'] + +# CA certification and TLS verification for internal HTTP library (requests) --- + +tls_verify = True +tls_cacerts = { + 'asf.microchip.com': os.path.join( + BRIDLE_BASE, 'doc', '_cacerts', 'asf.microchip.com.pem' + ), +} + + +# This function will update the zephyr.warnings_filter setup in case of +# the inventory builder to be more tolerant against missing references. +def update_inventory_warnings_filter_config(app): + # Check if the value was provided by the original configuration. + if "warnings_filter_config" in app.config: + # Update the warnings_filter_config value. + app.config.warnings_filter_config = os.path.join( + BRIDLE_BASE, 'doc', 'bridle', 'known-warnings-inventory.txt' + ) + +def update_config(app): + # Check if a specific builder was initialized by the user. + if "inventory" == app.builder.name: + update_inventory_warnings_filter_config(app) + logcfg.info('Warnings filter from: "{}"'.format( + app.config.warnings_filter_config + ), color='yellow') def setup(app): + app.connect("builder-inited", update_config, 0) app.add_css_file('css/common.css') app.add_css_file('css/bridle.css') app.add_css_file('css/colors.css') diff --git a/doc/bridle/doc_build.rst b/doc/bridle/doc_build.rst index 9696ca05cd..a81c3a0af3 100644 --- a/doc/bridle/doc_build.rst +++ b/doc/bridle/doc_build.rst @@ -168,7 +168,7 @@ a way with direct calls to the necessary configuration and build tools. .. zephyr-app-commands:: :app: bridle/doc :build-dir: bridle-doc - :goals: zephyr-doxygen build-doxygen build-all + :goals: zephyr-doxygen bridle-doxygen build-all :host-os: unix :tool: cmake :generator: ninja diff --git a/doc/bridle/gs_installing.rst b/doc/bridle/gs_installing.rst index 6e86677ea4..b52dcd84aa 100644 --- a/doc/bridle/gs_installing.rst +++ b/doc/bridle/gs_installing.rst @@ -540,6 +540,13 @@ Use the following commands to install the requirements for each repository. pip3 install --upgrade --requirement zephyr\\scripts\\requirements.txt pip3 install --upgrade --requirement bridle\\scripts\\requirements.txt + Optional, when you plan to generate the documentation: + + .. parsed-literal:: + :class: highlight + + pip3 install --upgrade --requirement zephyr\\doc\\requirements.txt + .. group-tab:: Linux Open a terminal window in the ``workspace`` folder and @@ -551,6 +558,13 @@ Use the following commands to install the requirements for each repository. pip3 install --upgrade --requirement zephyr/scripts/requirements.txt pip3 install --upgrade --requirement bridle/scripts/requirements.txt + Optional, when you plan to generate the documentation: + + .. parsed-literal:: + :class: highlight + + pip3 install --upgrade --requirement zephyr/doc/requirements.txt + .. group-tab:: macOS Open a terminal window in the ``workspace`` folder and @@ -562,6 +576,13 @@ Use the following commands to install the requirements for each repository. pip3 install --upgrade --requirement zephyr/scripts/requirements.txt pip3 install --upgrade --requirement bridle/scripts/requirements.txt + Optional, when you plan to generate the documentation: + + .. parsed-literal:: + :class: highlight + + pip3 install --upgrade --requirement zephyr/doc/requirements.txt + .. _installing_tbd: .. rst-class:: numbered-step diff --git a/doc/bridle/gs_modifying.rst b/doc/bridle/gs_modifying.rst index 72b036ddbf..be02dc8468 100644 --- a/doc/bridle/gs_modifying.rst +++ b/doc/bridle/gs_modifying.rst @@ -111,8 +111,8 @@ how to run menuconfig or guiconfig. To locate a specific configuration option, use the filter (:guilabel:`Jump to` in menuconfig and guiconfig). The documentation for each -:ref:`configuration option ` also lists the menu path -where the option can be found. +:ref:`configuration option ` also lists the menu +path where the option can be found. .. important:: All changes to the :file:`.config` file are lost when you clean your build directory. You can save it to another location, but you must then diff --git a/doc/bridle/known-warnings-inventory.txt b/doc/bridle/known-warnings-inventory.txt new file mode 100644 index 0000000000..32a4b233dd --- /dev/null +++ b/doc/bridle/known-warnings-inventory.txt @@ -0,0 +1,44 @@ +# Each line should contain the regular expression of a known Sphinx warning +# that should be filtered out + +# Comming later from zephyr docset +.*term not in glossary: 'zephyr:.*' +.*unknown document: 'zephyr:.*' +.*undefined label: 'zephyr:.*' + +# Comming later from kconfig docset +.*undefined label: 'kconfig:.*' + +# +# TODO: is ".. _install_dependencies_windows:" +# inside ".. group-tab::" realy working? +# +# reference target in: bridle/doc/bridle/doc_build.rst:55 +# reference target in: bridle/doc/bridle/gs_installing.rst:58 +# +.*Duplicate explicit target name: "install_dependencies_windows"\. + +# +# TODO: is ".. _install_dependencies_linux:" +# inside ".. group-tab::" realy working? +# +# reference target in: bridle/doc/bridle/doc_build.rst:71 +# reference target in: bridle/doc/bridle/gs_installing.rst:74 +# +.*Duplicate explicit target name: "install_dependencies_linux"\. + +# +# TODO: is ".. _install_dependencies_macos:" +# inside ".. group-tab::" realy working? +# +# reference target in: bridle/doc/bridle/doc_build.rst:113 +# reference target in: bridle/doc/bridle/gs_installing.rst:99 +# +.*Duplicate explicit target name: "install_dependencies_macos"\. + +# FIXME: Sphinx emits "toctree glob pattern %r didn't match any documents" +# instead of: +# .*toctree glob pattern 'applications/\*/README' didn't match any documents +# .*toctree glob pattern 'tests/\*/README' didn't match any documents +# .*toctree glob pattern '\*\*index' didn't match any documents +.*toctree glob pattern %r didn't match any documents diff --git a/doc/bridle/known-warnings.txt b/doc/bridle/known-warnings.txt index 20af05aec3..ce40080ed5 100644 --- a/doc/bridle/known-warnings.txt +++ b/doc/bridle/known-warnings.txt @@ -1,5 +1,6 @@ # Each line should contain the regular expression of a known Sphinx warning # that should be filtered out + # FIXME: Sphinx emits "toctree glob pattern %r didn't match any documents" # instead of: # .*toctree glob pattern 'applications/\*/README' didn't match any documents diff --git a/doc/bridle/links.txt b/doc/bridle/links.txt index 409b4fe7e8..9cbf4c39bf 100644 --- a/doc/bridle/links.txt +++ b/doc/bridle/links.txt @@ -11,7 +11,7 @@ .. |zephyr_repo| replace:: https://github.com/zephyrproject-rtos/zephyr .. _`zephyr-core`: https://github.com/zephyrproject-rtos/zephyr -.. _`Zephyr coding style`: http://docs.zephyrproject.org/contribute/contribute_guidelines.html +.. _`Zephyr coding style`: https://docs.zephyrproject.org/contribute/guidelines.html#coding-style @@ -40,7 +40,7 @@ .. _`Ccache`: https://ccache.dev/download.html .. _`CMake`: https://cmake.org/download/ -.. _`DFU Utilities`: http://dfu-util.sourceforge.net/ +.. _`DFU Utilities`: https://dfu-util.sourceforge.net/ .. _`dfu_util`: http://dfu-util.sourceforge.net/ .. _`Device tree compiler`: https://www.devicetree.org/ .. _`dtc`: https://www.devicetree.org/ @@ -50,7 +50,7 @@ .. _`dtc_macos`: https://formulae.brew.sh/formula/dtc .. _`Device tree compiler (Snap Craft)`: https://snapcraft.io/device-tree-compiler .. _`dtc_linux`: https://snapcraft.io/device-tree-compiler -.. _`OpenOCD`: http://openocd.org/getting-openocd/ +.. _`OpenOCD`: https://openocd.org/pages/getting-openocd.html .. _`Git`: https://git-scm.com/downloads .. _`GNU gperf`: https://www.gnu.org/software/gperf/ .. _`gperf`: https://www.gnu.org/software/gperf/ @@ -58,9 +58,9 @@ .. _`Python`: https://www.python.org/downloads/ .. _`Zephyr SDK`: https://github.com/zephyrproject-rtos/sdk-ng/releases .. _`zephyrsdk`: https://github.com/zephyrproject-rtos/sdk-ng/releases -.. _`GNU Arm Embedded Toolchain`: https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads +.. _`GNU Arm Embedded Toolchain`: https://developer.arm.com/downloads/-/gnu-rm .. _`GCC compiler`: https://gcc.gnu.org/ -.. _`gnuarmemb`: https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads +.. _`gnuarmemb`: https://developer.arm.com/downloads/-/gnu-rm .. _`Graphviz`: https://graphviz.org/ .. _`Doxygen`: https://www.doxygen.org/ .. _`MscGen`: https://www.mcternan.me.uk/mscgen/ @@ -213,8 +213,8 @@ .. _`Kconfig language`: https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html .. _`Devicetree reference`: https://elinux.org/Device_Tree_Reference -.. _`Sphinx Documentation`: https://www.sphinx-doc.org/en/3.x/contents.html -.. _`reStructuredText Primer`: http://www.sphinx-doc.org/en/3.x/usage/restructuredtext/basics.html +.. _`Sphinx Documentation`: https://www.sphinx-doc.org/en/master/contents.html +.. _`reStructuredText Primer`: https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html .. _`Li-Pro.Net Sphinx Primer`: https://lpn-doc-sphinx-primer.readthedocs.io/en/latest/ .. _`Breathe documentation`: https://breathe.readthedocs.io/en/stable/directives.html#directives diff --git a/doc/bridle/release_notes.rst b/doc/bridle/release_notes.rst index 37b567320d..a338cd0e09 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.5.0 releases/release-notes-3.4.1 releases/release-notes-3.4.0 releases/release-notes-3.3.1 diff --git a/doc/bridle/releases/release-notes-3.0.0.rst b/doc/bridle/releases/release-notes-3.0.0.rst index 81ca1dad6d..4549ca7ee4 100644 --- a/doc/bridle/releases/release-notes-3.0.0.rst +++ b/doc/bridle/releases/release-notes-3.0.0.rst @@ -84,7 +84,8 @@ Take over the new build principles from Zephyr: Documentation ============= -1. Renamed references to :ref:`canbus` in the :ref:`tiac_magpie_board` page. +1. Renamed references to :ref:`zephyr:canbus` in the + :ref:`tiac_magpie_board` page. #. Update all documented output messages. Issue Related Items diff --git a/doc/bridle/releases/release-notes-3.1.0.rst b/doc/bridle/releases/release-notes-3.1.0.rst index 51426038de..ce0e6b9522 100644 --- a/doc/bridle/releases/release-notes-3.1.0.rst +++ b/doc/bridle/releases/release-notes-3.1.0.rst @@ -90,7 +90,8 @@ Take over the new build principles from Zephyr: Documentation ============= -1. Renamed references to :ref:`kconfig` in the :ref:`tiac_magpie_board` page. +1. Renamed references to :ref:`zephyr:kconfig` in the + :ref:`tiac_magpie_board` page. #. Update all documented output messages. Issue Related Items diff --git a/doc/bridle/releases/release-notes-3.3.1.rst b/doc/bridle/releases/release-notes-3.3.1.rst index edb6038894..5a7fa270ae 100644 --- a/doc/bridle/releases/release-notes-3.3.1.rst +++ b/doc/bridle/releases/release-notes-3.3.1.rst @@ -90,14 +90,14 @@ The following sections provide detailed lists of changes by component. * :ref:`grove_shield`, with integration tested for: * :ref:`arduino_zero` - * :ref:`mimxrt1010_evk` - * :ref:`mimxrt1060_evk` - * :ref:`nucleo_f303re_board` - * :ref:`nucleo_f401re_board` - * :ref:`nucleo_f767zi_board` - * :ref:`rpi_pico` + * :ref:`zephyr:mimxrt1010_evk` + * :ref:`zephyr:mimxrt1060_evk` + * :ref:`zephyr:nucleo_f303re_board` + * :ref:`zephyr:nucleo_f401re_board` + * :ref:`zephyr:nucleo_f767zi_board` + * :ref:`zephyr:rpi_pico` * :ref:`seeeduino_lotus` - * :ref:`seeeduino_xiao` + * :ref:`zephyr:seeeduino_xiao` * :ref:`seeed_xiao_samd21` * :ref:`grove_button_shield` diff --git a/doc/bridle/releases/release-notes-3.4.1.rst b/doc/bridle/releases/release-notes-3.4.1.rst index 309ec83727..1a729e6e65 100644 --- a/doc/bridle/releases/release-notes-3.4.1.rst +++ b/doc/bridle/releases/release-notes-3.4.1.rst @@ -1,7 +1,7 @@ .. _bridle_release_notes_341: -|BRIDLE| 3.4.1 Release Notes (Working draft) -############################################ +|BRIDLE| 3.4.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,7 +11,8 @@ product development. Highlights ********** -* :brd:`NOT YET, tbd.` +* |BRIDLE| as CMake package for freestanding projects. +* West manifest harmonized with upstream. .. note:: See the changelog and readme files in the component repositories for a detailed description of changes. @@ -42,11 +43,21 @@ For more details, see: :ref:`repos_and_revs`. | hal_altera | hal_atmel | hal_espressif + | hal_gigadevice + | hal_infineon + | hal_microchip | hal_nordic + | hal_nuvoton | hal_nxp + | hal_openisa + | hal_quicklogic + | hal_renesas | hal_rpi_pico + | hal_silabs | hal_st | hal_stm32 + | hal_telink + | hal_ti | hal_xtensa | libmetal | liblc3 @@ -54,13 +65,18 @@ For more details, see: :ref:`repos_and_revs`. | loramac-node | lvgl | mbedtls + | mcuboot | mipi-sys-t | net-tools | open-amp | openthread | picolibc + | psa-arch-tests | segger + | tf-m-tests | tinycrypt + | trusted-firmware-a + | trusted-firmware-m - | tiacsys/v3.4-branch | (v3.4-branch) - v3.4.1 @@ -68,8 +84,6 @@ For more details, see: :ref:`repos_and_revs`. Supported boards **************** -:brd:`NOT YET, tbd.` - * Arduino/Genuino Zero * Seeed Studio XIAO SAMD21 (Seeeduino XIAO) * Seeeduino Lotus Cortex-M0+ @@ -78,8 +92,6 @@ Supported boards Supported shields ***************** -:brd:`NOT YET, tbd.` - * Seeed Studio Grove Interconnect Shields * Grove Button Shields * Grove LED Shields @@ -87,11 +99,14 @@ Supported shields Change log ********** -:brd:`NOT YET, tbd.` - -* tbd. -* tbd. -* tbd. +* |BRIDLE| can now properly find in freestanding CMake projects with + :code:`find_package(Bridle …)`. The CMake package configuration now + falls back to Zephyr immediately and let it include again by Zephyr + build configuration. +* All tests and samples use now this mechanic to find |BRIDLE|. +* The Seeed Studio Grove Interconnect Shields now supports the Seeeduino + Lotus Cortex-M0+ board too, although the board already provides its own + Grove connectors beside the Arduino header. The following sections provide detailed lists of changes by component. @@ -102,17 +117,19 @@ Build Infrastructure Take over the new build principles from Zephyr: -:brd:`NOT YET, tbd.` +* Use West submanifest for upstream Zephyr and add multiple more projects: -* tbd. -* tbd. -* tbd. + * HAL modules for: Renesas, Nuvoton, QuickLogic, Microchip, OpenISA, + Telink, Texas Instruments, Infineon, SiLabs, GigaDevice + * secure MCU boot module + * Arm PSA tests module + * TF-M tests module + * TF-M module + * TF-A module Documentation ============= -:brd:`NOT YET, tbd.` - 1. Update all output messages in documentation to be in sync with the upcoming Bridle version v3.4.1, based on Zephyr v3.4 (samples and tests). @@ -121,8 +138,13 @@ Issue Related Items These GitHub issues were addressed since project bootstrapping: +* :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 diff --git a/doc/bridle/releases/release-notes-3.5.0.rst b/doc/bridle/releases/release-notes-3.5.0.rst new file mode 100644 index 0000000000..d89a500319 --- /dev/null +++ b/doc/bridle/releases/release-notes-3.5.0.rst @@ -0,0 +1,174 @@ +.. _bridle_release_notes_350: + +|BRIDLE| 3.5.0 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.` + +.. 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 + - Imports + - Branch + - Tag + * - `tiac-bridle`_ + - + - main + - + * - | `tiac-zephyr`_ + | (`zephyr-core`_) + - | canopennode + | chre + | cmsis + | edtt + | fatfs + | hal_altera + | hal_atmel + | hal_espressif + | hal_gigadevice + | hal_infineon + | hal_microchip + | hal_nordic + | hal_nuvoton + | hal_nxp + | hal_openisa + | hal_quicklogic + | hal_renesas + | hal_rpi_pico + | hal_silabs + | hal_st + | hal_stm32 + | hal_telink + | hal_ti + | hal_xtensa + | libmetal + | liblc3 + | littlefs + | loramac-node + | lvgl + | mbedtls + | mcuboot + | mipi-sys-t + | net-tools + | open-amp + | openthread + | picolibc + | psa-arch-tests + | segger + | tf-m-tests + | tinycrypt + | trusted-firmware-a + | trusted-firmware-m + - | tiacsys/main + | (main) + - + +Supported boards +**************** + +:brd:`NOT YET, tbd.` + +* Arduino/Genuino Zero +* Seeed Studio XIAO SAMD21 (Seeeduino XIAO) +* Seeeduino Lotus Cortex-M0+ +* TiaC Magpie STM32F777NIHx + +Supported shields +***************** + +:brd:`NOT YET, tbd.` + +* Seeed Studio Grove Interconnect Shields +* Grove Button Shields +* Grove LED Shields + +Change log +********** + +:brd:`NOT YET, tbd.` + +* tbd. +* tbd. +* tbd. + +The following sections provide detailed lists of changes by component. + +* PROJECT UPDATE to `Zephyr Project`_ v3.5 + +Build Infrastructure +==================== + +Take over the new build principles from Zephyr: + +:brd:`NOT YET, tbd.` + +* Zephyr has moved requirements into doc folder, |BRIDLE| build directions + adapted to that new behavior. +* Enable "warning as error" for all Sphinx builder is now default. +* Introduce sensitive filter for Sphinx builders regarding known and expected + warnings. +* Sphinx config is now fixed to v6.2 (or later). +* Use the "docset" name as prefix to all inter-Sphinx (external) references. + +Documentation +============= + +1. Update all output messages in documentation to be in sync with the upcoming + Bridle version v3.4.99, based on Zephyr v3.5 (samples and tests). + +Issue Related Items +******************* + +These GitHub issues were addressed since project bootstrapping: + +* :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 diff --git a/doc/bridle/shortcuts.txt b/doc/bridle/shortcuts.txt index 9134d32513..540443f345 100644 --- a/doc/bridle/shortcuts.txt +++ b/doc/bridle/shortcuts.txt @@ -1,6 +1,6 @@ .. |TIAC| replace:: TiaC Systems .. |BRIDLE| replace:: Bridle -.. |release| replace:: v3.4.0 -.. |release_tt| replace:: ``v3.4.0`` -.. |release_number_tt| replace:: ``3.4.0`` +.. |release| replace:: v3.4.1 +.. |release_tt| replace:: ``v3.4.1`` +.. |release_number_tt| replace:: ``3.4.1`` diff --git a/doc/devicetree/conf.py b/doc/devicetree/conf.py index efeaa3dc55..fa96fb6677 100644 --- a/doc/devicetree/conf.py +++ b/doc/devicetree/conf.py @@ -6,8 +6,9 @@ # pylint: skip-file # -import sys import os +import sys +import sphinx from pathlib import Path # Paths ------------------------------------------------------------------------ @@ -65,10 +66,18 @@ else: sys.exit('Could not extract Bridle version.') +# Overview --------------------------------------------------------------------- + +logcfg = sphinx.util.logging.getLogger(__name__) +logcfg.info(project + ' ' + release, color='yellow') +logcfg.info('Build with tags: ' + ':'.join(map(str, tags)), color='red') +logcfg.info('BRIDLE_BASE is: "{}"'.format(BRIDLE_BASE), color='green') +logcfg.info('ZEPHYR_BASE is: "{}"'.format(ZEPHYR_BASE), color='green') + # General ---------------------------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. -needs_sphinx = '5.0' +needs_sphinx = '6.2' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom @@ -81,6 +90,7 @@ 'sphinx_tabs.tabs', 'sphinx_copybutton', 'notfound.extension', + 'zephyr.warnings_filter', 'zephyr.dtcompatible-role', 'zephyr.kconfig', 'zephyr.external_content', @@ -178,6 +188,11 @@ if bridle_mapping: intersphinx_mapping['bridle'] = bridle_mapping +# Options for zephyr.warnings_filter ------------------------------------------- + +warnings_filter_config = os.path.join(BRIDLE_BASE, 'doc', 'devicetree', 'known-warnings.txt') +warnings_filter_silent = True + # -- Options for notfound.extension -------------------------------------------- notfound_urls_prefix = '/doc/{}/devicetree/'.format( @@ -203,6 +218,26 @@ ] +# This function will update the zephyr.warnings_filter setup in case of +# the inventory builder to be more tolerant against missing references. +def update_inventory_warnings_filter_config(app): + # Check if the value was provided by the original configuration. + if "warnings_filter_config" in app.config: + # Update the warnings_filter_config value. + app.config.warnings_filter_config = os.path.join( + BRIDLE_BASE, 'doc', 'devicetree', 'known-warnings-inventory.txt' + ) + +def update_config(app): + # Check if a specific builder was initialized by the user. + if "inventory" == app.builder.name: + update_inventory_warnings_filter_config(app) + + logcfg.info('Warnings filter from: "{}"'.format( + app.config.warnings_filter_config + ), color='yellow') + def setup(app): + app.connect("builder-inited", update_config, 0) app.add_css_file('css/common.css') app.add_css_file('css/devicetree.css') diff --git a/doc/devicetree/known-warnings-inventory.txt b/doc/devicetree/known-warnings-inventory.txt new file mode 100644 index 0000000000..dd043a62d4 --- /dev/null +++ b/doc/devicetree/known-warnings-inventory.txt @@ -0,0 +1,7 @@ +# Each line should contain the regular expression of a known Sphinx warning +# that should be filtered out additional to the original filter set + +# Comming later from zephyr docset +.*undefined label: 'dt-guide' +.*undefined label: 'zephyr:dt-bindings' +.*undefined label: 'zephyr:dt-important-props' diff --git a/doc/devicetree/known-warnings.txt b/doc/devicetree/known-warnings.txt new file mode 100644 index 0000000000..617dfae390 --- /dev/null +++ b/doc/devicetree/known-warnings.txt @@ -0,0 +1,2 @@ +# Each line should contain the regular expression of a known Sphinx warning +# that should be filtered out additional to the original filter set diff --git a/doc/kconfig/conf.py b/doc/kconfig/conf.py index 9eeaef45d3..ac66238e0a 100644 --- a/doc/kconfig/conf.py +++ b/doc/kconfig/conf.py @@ -8,8 +8,9 @@ # pylint: skip-file # -import sys import os +import sys +import sphinx from pathlib import Path # Paths ------------------------------------------------------------------------ @@ -67,10 +68,18 @@ else: sys.exit('Could not extract Bridle version.') +# Overview --------------------------------------------------------------------- + +logcfg = sphinx.util.logging.getLogger(__name__) +logcfg.info(project + ' ' + release, color='yellow') +logcfg.info('Build with tags: ' + ':'.join(map(str, tags)), color='red') +logcfg.info('BRIDLE_BASE is: "{}"'.format(BRIDLE_BASE), color='green') +logcfg.info('ZEPHYR_BASE is: "{}"'.format(ZEPHYR_BASE), color='green') + # General ---------------------------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. -needs_sphinx = '5.0' +needs_sphinx = '6.2' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom @@ -83,6 +92,7 @@ # 'sphinx_tabs.tabs', # stay in conflict with 'zephyr.kconfig' 'sphinx_copybutton', 'notfound.extension', + 'zephyr.warnings_filter', 'zephyr.dtcompatible-role', 'zephyr.kconfig', 'zephyr.external_content', @@ -185,6 +195,11 @@ kconfig_generate_db = True kconfig_ext_paths = [ZEPHYR_BASE, BRIDLE_BASE] +# Options for zephyr.warnings_filter ------------------------------------------- + +warnings_filter_config = os.path.join(BRIDLE_BASE, 'doc', 'kconfig', 'known-warnings.txt') +warnings_filter_silent = True + # -- Options for notfound.extension -------------------------------------------- notfound_urls_prefix = '/doc/{}/kconfig/'.format( @@ -208,6 +223,26 @@ ] +# This function will update the zephyr.warnings_filter setup in case of +# the inventory builder to be more tolerant against missing references. +def update_inventory_warnings_filter_config(app): + # Check if the value was provided by the original configuration. + if "warnings_filter_config" in app.config: + # Update the warnings_filter_config value. + app.config.warnings_filter_config = os.path.join( + BRIDLE_BASE, 'doc', 'kconfig', 'known-warnings-inventory.txt' + ) + +def update_config(app): + # Check if a specific builder was initialized by the user. + if "inventory" == app.builder.name: + update_inventory_warnings_filter_config(app) + + logcfg.info('Warnings filter from: "{}"'.format( + app.config.warnings_filter_config + ), color='yellow') + def setup(app): + app.connect("builder-inited", update_config, 0) app.add_css_file('css/common.css') app.add_css_file('css/kconfig.css') diff --git a/doc/kconfig/known-warnings-inventory.txt b/doc/kconfig/known-warnings-inventory.txt new file mode 100644 index 0000000000..58fee6b1c8 --- /dev/null +++ b/doc/kconfig/known-warnings-inventory.txt @@ -0,0 +1,5 @@ +# Each line should contain the regular expression of a known Sphinx warning +# that should be filtered out additional to the original filter set + +# Comming later from zephyr docset +.*undefined label: 'kconfig' diff --git a/doc/kconfig/known-warnings.txt b/doc/kconfig/known-warnings.txt new file mode 100644 index 0000000000..617dfae390 --- /dev/null +++ b/doc/kconfig/known-warnings.txt @@ -0,0 +1,2 @@ +# Each line should contain the regular expression of a known Sphinx warning +# that should be filtered out additional to the original filter set diff --git a/doc/versions.json b/doc/versions.json index efb99a6842..0277b6fcc3 100644 --- a/doc/versions.json +++ b/doc/versions.json @@ -2,6 +2,7 @@ "VERSIONS": [ "latest", "3.4", + "3.4.1", "3.4.0", "3.3", "3.3.1", @@ -22,11 +23,15 @@ ], "COMPONENTS_BY_VERSION": { "latest": { - "bridle": "3.4.0", - "zephyr": "3.4.0" + "bridle": "3.4.99", + "zephyr": "3.4.99" }, "3.4": { - "bridle": "3.4.0", + "bridle": "3.4.1", + "zephyr": "3.4.0" + }, + "3.4.1": { + "bridle": "3.4.1", "zephyr": "3.4.0" }, "3.4.0": { diff --git a/doc/zephyr/conf.py b/doc/zephyr/conf.py index ff3a17e272..402c61c7d7 100644 --- a/doc/zephyr/conf.py +++ b/doc/zephyr/conf.py @@ -8,8 +8,9 @@ # pylint: skip-file # -import sys import os +import sys +import sphinx from pathlib import Path from sphinx.config import eval_config_file @@ -85,10 +86,21 @@ else: sys.exit('Could not extract Bridle version.') +# Overview --------------------------------------------------------------------- + +logcfg = sphinx.util.logging.getLogger(__name__) +logcfg.info(project + ' ' + release, color='yellow') +logcfg.info('Build with tags: ' + ':'.join(map(str, tags)), color='red') +logcfg.info('BRIDLE_BASE is: "{}"'.format(BRIDLE_BASE), color='green') +logcfg.info('ZEPHYR_BASE is: "{}"'.format(ZEPHYR_BASE), color='green') +logcfg.info('ZEPHYR_BUILD is: "{}"'.format(ZEPHYR_BASE), color='yellow') +logcfg.info('BRIDLE_ZEPHYR_BUILD is: "{}"'.format(BRIDLE_ZEPHYR_BUILD), + color='yellow') + # General ---------------------------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. -needs_sphinx = '5.0' +needs_sphinx = '6.2' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom @@ -211,7 +223,7 @@ # Options for zephyr.warnings_filter ------------------------------------------- warnings_filter_config = os.path.join(BRIDLE_ZEPHYR_BUILD, 'known-warnings.txt') -warnings_filter_silent = False +warnings_filter_silent = True # -- Options for notfound.extension -------------------------------------------- @@ -224,9 +236,47 @@ # Clear external content keeping, Bridle provides its own docsets for that. external_content_keep.clear() +# Linkcheck options ------------------------------------------------------------ + +linkcheck_ignore = [ + # intersphinx links + r'(\.\.(\\|/))+(bridle|kconfig|devicetree)', + # redirecting and used in release notes + 'https://github.com/zephyrproject-rtos/zephyr', + # link to access local documentation + 'http://localhost:4711/latest/index.html', + 'http://localhost:8000/latest/index.html', + 'http://localhost:8080/latest/index.html', +] + +linkcheck_timeout = 30 +linkcheck_workers = 10 +linkcheck_anchors = True +linkcheck_anchors_ignore = [r'page='] + # pylint: enable=undefined-variable,used-before-assignment +# This function will update the zephyr.warnings_filter setup in case of +# the inventory builder to be more tolerant against missing references. +def update_inventory_warnings_filter_config(app): + # Check if the value was provided by the original configuration. + if "warnings_filter_config" in app.config: + # Update the warnings_filter_config value. + app.config.warnings_filter_config = os.path.join( + BRIDLE_ZEPHYR_BUILD, 'known-warnings-inventory.txt' + ) + +def update_config(app): + # Check if a specific builder was initialized by the user. + if "inventory" == app.builder.name: + update_inventory_warnings_filter_config(app) + + logcfg.info('Warnings filter from: "{}"'.format( + app.config.warnings_filter_config + ), color='yellow') + def setup(app): + app.connect("builder-inited", update_config, 0) app.add_css_file('css/common.css') app.add_css_file('css/zephyr.css') diff --git a/doc/zephyr/known-warnings-inventory.txt b/doc/zephyr/known-warnings-inventory.txt new file mode 100644 index 0000000000..09a7cbd2cb --- /dev/null +++ b/doc/zephyr/known-warnings-inventory.txt @@ -0,0 +1,86 @@ +# Each line should contain the regular expression of a known Sphinx warning +# that should be filtered out additional to the original filter set + +# Comming later from devicetree docset +.*undefined label: 'devicetree_binding_index' +.*undefined label: 'dt_vendor_zephyr' + +# +# TODO: anchor ".. _Using J-Link RT1170:" multiple times used! +# +# reference target in: zephyr/boards/arm/vmu_rt1170/doc/index.rst:222 +# reference target in: zephyr/boards/arm/mimxrt1170_evk/doc/index.rst:322 +# +.*duplicate label using j-link rt1170.* + +# +# TODO: is ".. tab:: _`Using Segger J-Link`" realy working? +# +# reference target in: zephyr/doc/develop/flash_debug/probes.rst:251 +# refered to there in: zephyr/samples/bluetooth/hci_uart/README.rst:127 +# +.*undefined label: 'using segger j-link' +.*Duplicate explicit target name: "using segger j-link"\. + +# +# TODO: is ".. _install_dependencies_ubuntu:" +# inside ".. group-tab::" realy working? +# +# reference target in: zephyr/doc/develop/getting_started/index.rst:77 +# +.*Duplicate explicit target name: "install_dependencies_ubuntu"\. + +# +# TODO: is ".. _install_dependencies_macos:" +# inside ".. group-tab::" realy working? +# +# reference target in: zephyr/doc/develop/getting_started/index.rst:113 +# +.*Duplicate explicit target name: "install_dependencies_macos"\. + +# +# TODO: is ".. _install_dependencies_windows:" +# inside ".. group-tab::" realy working? +# +# reference target in: zephyr/doc/develop/getting_started/index.rst:149 +# +.*Duplicate explicit target name: "install_dependencies_windows"\. + +# +# TODO: is ".. _ubuntu_zephyr_sdk:" +# inside ".. group-tab::" realy working? +# +# reference target in: zephyr/doc/develop/getting_started/index.rst:497 +# +.*Duplicate explicit target name: "ubuntu_zephyr_sdk"\. + +# +# TODO: is ".. _macos_zephyr_sdk:" +# inside ".. group-tab::" realy working? +# +# reference target in: zephyr/doc/develop/getting_started/index.rst:554 +# +.*Duplicate explicit target name: "macos_zephyr_sdk"\. + +# +# TODO: is ".. _windows_zephyr_sdk:" +# inside ".. group-tab::" realy working? +# +# reference target in: zephyr/doc/develop/getting_started/index.rst:603 +# +.*Duplicate explicit target name: "windows_zephyr_sdk"\. + +# +# TODO: Most 3rd-party API documentations are not sufficiently well-written +# for processing with Doxygen (by zephyr.doxyrunner Sphinx extension) +# without issuing warnings that would lead to errors. +# +.*following parameters of BT_AUDIO_CODEC_CFG_LC3_DATA.* not documented.* +.*following parameters of BT_AUDIO_CODEC_CAP_LC3.* not documented.* +.*following parameters of BT_AUDIO_CODEC_LC3_CONFIG.* not documented.* +.*following parameter of BT_AUDIO_CODEC_LC3_CONFIG.* not documented.* +.*following parameter of BT_BAP_LC3_BROADCAST_PRESET.* not documented.* +.*following parameter of BT_BAP_LC3_UNICAST_PRESET.* not documented.* +.*following parameter of BT_GATT_CHARACTERISTIC.* not documented.* +.*argument '.*' of command @param is not found in the argument list of.* +.*found tag without matching .* diff --git a/doc/zephyr/known-warnings.txt b/doc/zephyr/known-warnings.txt index 6706fcf6ed..7a229f6d18 100644 --- a/doc/zephyr/known-warnings.txt +++ b/doc/zephyr/known-warnings.txt @@ -1,16 +1,10 @@ # Each line should contain the regular expression of a known Sphinx warning # that should be filtered out additional to the original filter set -.*undefined label.*devicetree_binding_.* -.*undefined label.*dtbinding_.* -.*undefined label.*dt_.* -.*Duplicate explicit target name.*"install_dependencies_ubuntu"\. -.*Duplicate explicit target name.*"install_dependencies_macos"\. -.*Duplicate explicit target name.*"install_dependencies_windows"\. + # -# TODO: is ".. tab:: _`Using Segger J-Link`" realy working? +# TODO: anchor ".. _Using J-Link RT1170:" multiple times used! # -# reference target in: zephyr/doc/guides/flash_debug/probes.rst:222 -# refered to there in: zephyr/samples/bluetooth/hci_uart/README.rst:127 +# reference target in: zephyr/boards/arm/vmu_rt1170/doc/index.rst:222 +# reference target in: zephyr/boards/arm/mimxrt1170_evk/doc/index.rst:322 # -.*undefined label.*using segger j-link -.*Duplicate explicit target name.*"using segger j-link"\. +.*duplicate label using j-link rt1170.* diff --git a/samples/button/CMakeLists.txt b/samples/button/CMakeLists.txt index d9cb8c59f4..31e0c10c37 100644 --- a/samples/button/CMakeLists.txt +++ b/samples/button/CMakeLists.txt @@ -3,7 +3,8 @@ cmake_minimum_required(VERSION 3.20.0) -find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +# Standard Bridle application boilerplate, includes Zephyr. +find_package(Bridle REQUIRED HINTS $ENV{BRIDLE_BASE}) project("Fancy Button" VERSION 0.1) target_sources(app PRIVATE src/init.c) diff --git a/samples/button/README.rst b/samples/button/README.rst index 85899e6d67..449c20c086 100644 --- a/samples/button/README.rst +++ b/samples/button/README.rst @@ -25,9 +25,10 @@ Requirements The board hardware must have a push button connected via a GPIO pin. These are called "User buttons" on many of Zephyr's :ref:`boards`. -The button must be configured using the ``sw0`` :ref:`devicetree ` -alias, usually in the :ref:`BOARD.dts file `. You will -see this error if you try to build this sample for an unsupported board: +The button must be configured using the ``sw0`` +:ref:`devicetree ` alias, usually in the +:ref:`BOARD.dts file `. You will see this error +if you try to build this sample for an unsupported board: .. code-block:: none @@ -83,15 +84,17 @@ both an ``sw0`` and an ``led0`` alias. }; As shown, the ``sw0`` devicetree alias must point to a child node of a node -with a "gpio-keys" :ref:`compatible `, and the ``led0`` -alias must point to a child node of one with a "gpio-leds" :ref:`compatible `. +with a "gpio-keys" :ref:`compatible `, and the +``led0`` alias must point to a child node of one with a "gpio-leds" +:ref:`compatible `. The above situation is for the common case where: - ``gpio0`` is an example node label referring to a GPIO controller - ``PIN`` should be a pin number, like ``8`` or ``0`` -- ``FLAGS`` should be a logical OR of :ref:`GPIO configuration flags ` - meant to apply to the button, such as ``(GPIO_PULL_UP | GPIO_ACTIVE_LOW)`` +- ``FLAGS`` should be a logical OR of + :ref:`GPIO configuration flags ` meant to apply to the + button, such as ``(GPIO_PULL_UP | GPIO_ACTIVE_LOW)`` This assumes the common case, where ``#gpio-cells = <2>`` in the ``gpio0`` node, and that the GPIO controller's devicetree binding names those two cells diff --git a/samples/helloshell/CMakeLists.txt b/samples/helloshell/CMakeLists.txt index 72391b5718..f05644a5f4 100644 --- a/samples/helloshell/CMakeLists.txt +++ b/samples/helloshell/CMakeLists.txt @@ -1,11 +1,11 @@ -# Copyright (c) 2021-2022 TiaC Systems +# Copyright (c) 2021-2023 TiaC Systems # Copyright (c) 2019-2021 Li-Pro.Net # SPDX-License-Identifier: Apache-2.0 cmake_minimum_required(VERSION 3.20.0) -# Standard Zephyr application boilerplate. -find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +# Standard Bridle application boilerplate, includes Zephyr. +find_package(Bridle REQUIRED HINTS $ENV{BRIDLE_BASE}) project("Hello Shell" VERSION 0.1) assert(CONFIG_SHELL "Zephyr's embedded shell must be enabled") diff --git a/samples/helloshell/README.rst b/samples/helloshell/README.rst index 1cc46f7680..2bc4e36303 100644 --- a/samples/helloshell/README.rst +++ b/samples/helloshell/README.rst @@ -149,10 +149,10 @@ Sample Output Hello from shell. uart:~$ kernel version - Zephyr version 3.4.0 + Zephyr version 3.4.99 uart:~$ bridle version - Bridle version 3.4.0 + Bridle version 3.4.99 uart:~$ kernel uptime Uptime: 254707293 ms diff --git a/scripts/requirements-doc.txt b/scripts/requirements-doc.txt index a5474a0913..06499e4724 100644 --- a/scripts/requirements-doc.txt +++ b/scripts/requirements-doc.txt @@ -1,3 +1,4 @@ +breathe>=4.34 docutils>=0.16,<0.20 pygments~=2.14 recommonmark~=0.7 diff --git a/share/bridle-package/cmake/BridleConfig.cmake b/share/bridle-package/cmake/BridleConfig.cmake index d29e003f1b..60ffe8a3f7 100644 --- a/share/bridle-package/cmake/BridleConfig.cmake +++ b/share/bridle-package/cmake/BridleConfig.cmake @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 TiaC Systems +# Copyright (c) 2021-2023 TiaC Systems # SPDX-License-Identifier: Apache-2.0 # This file provides Bridle Config Package functionality. @@ -9,7 +9,7 @@ # - Support automatic Bridle installation lookup through # the use of find_package(Bridle). -macro(include_boilerplate location) +macro(include_bridle_boilerplate location) set(Bridle_DIR ${BRIDLE_BASE}/share/bridle-package/cmake CACHE PATH "The directory containing a CMake configuration file for Bridle." FORCE ) @@ -41,6 +41,18 @@ macro(include_boilerplate location) endif() endmacro() +# If BRIDLE_ZephyrBuildConfig is set, it means this file was include by +# ZephyrBuildConfig instead of called via find_package directly. When +# called directly, the Bridle package have to redirect back to the Zephyr +# package immediately and let it include again by ZephyrBuildConfig. +if(NOT DEFINED BRIDLE_ZephyrBuildConfig OR NOT BRIDLE_ZephyrBuildConfig) + list(LENGTH Bridle_FIND_COMPONENTS components_length) + if(components_length EQUAL 0) + find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) + return() + endif() +endif() + # First check to see if user has provided a Bridle base manually and # it is first run (cache not set). Set Bridle base to environment setting. # It will be empty if not set in environment. @@ -51,12 +63,12 @@ if((NOT DEFINED BRIDLE_BASE) AND (DEFINED ENV_BRIDLE_BASE)) # must also work. get_filename_component(BRIDLE_BASE ${ENV_BRIDLE_BASE} ABSOLUTE) set(BRIDLE_BASE ${BRIDLE_BASE} CACHE PATH "Bridle base") - include_boilerplate("Bridle base") + include_bridle_boilerplate("Bridle base") return() endif() -if (DEFINED BRIDLE_BASE) - include_boilerplate("Bridle base (cached)") +if(DEFINED BRIDLE_BASE) + include_bridle_boilerplate("Bridle base (cached)") return() endif() @@ -78,11 +90,11 @@ get_filename_component(CURRENT_WORKSPACE_DIR string(FIND "${CMAKE_CURRENT_SOURCE_DIR}" "${CURRENT_BRIDLE_DIR}/" COMMON_INDEX) -if (COMMON_INDEX EQUAL 0) +if(COMMON_INDEX EQUAL 0) # Project is in Bridle repository. # We are in Bridle repository. set(BRIDLE_BASE ${CURRENT_BRIDLE_DIR} CACHE PATH "Bridle base") - include_boilerplate("Bridle repository") + include_bridle_boilerplate("Bridle repository") return() endif() @@ -90,13 +102,11 @@ if(IS_INCLUDED) # A higher level did the checking and included us and as we are not in Bridle # repository (checked above) then we must be in Bridle workspace. set(BRIDLE_BASE ${CURRENT_BRIDLE_DIR} CACHE PATH "Bridle base") - include_boilerplate("Bridle workspace") -endif() - -if(NOT IS_INCLUDED) + include_bridle_boilerplate("Bridle workspace") +else() string(FIND "${CMAKE_CURRENT_SOURCE_DIR}" "${CURRENT_WORKSPACE_DIR}/" COMMON_INDEX) - if (COMMON_INDEX EQUAL 0) + if(COMMON_INDEX EQUAL 0) # Project is in Bridle workspace. This means this Bridle is likely the # correct one, but there could be an alternative installed along-side. # Thus, check if there is an even better candidate. This check works the @@ -114,7 +124,7 @@ if(NOT IS_INCLUDED) # We are the best candidate, so let's include boiler plate. set(BRIDLE_BASE ${CURRENT_BRIDLE_DIR} CACHE PATH "Bridle base") - include_boilerplate("Bridle workspace") + include_bridle_boilerplate("Bridle workspace") return() endif() @@ -127,5 +137,5 @@ if(NOT IS_INCLUDED) # Previous find_package would have cleared Bridle_FOUND variable, thus set # it again. set(BRIDLE_BASE ${CURRENT_BRIDLE_DIR} CACHE PATH "Bridle base") - include_boilerplate("Freestanding") + include_bridle_boilerplate("Freestanding") endif() diff --git a/share/bridle-package/cmake/BridleConfigVersion.cmake b/share/bridle-package/cmake/BridleConfigVersion.cmake index 786432037e..8f530827ed 100644 --- a/share/bridle-package/cmake/BridleConfigVersion.cmake +++ b/share/bridle-package/cmake/BridleConfigVersion.cmake @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 TiaC Systems +# Copyright (c) 2021-2023 TiaC Systems # SPDX-License-Identifier: Apache-2.0 # This file provides Bridle Config Package version information. @@ -59,7 +59,7 @@ if((DEFINED BRIDLE_BASE) OR (DEFINED ENV_BRIDLE_BASE)) # BRIDLE_BASE was set in cache from earlier run or in environment (first run), # meaning the package version must be ignored and the Bridle pointed to by # BRIDLE_BASE is to be used regardless of version. - if (${BRIDLE_BASE}/share/bridle-package/cmake STREQUAL ${CMAKE_CURRENT_LIST_DIR}) + if(${BRIDLE_BASE}/share/bridle-package/cmake STREQUAL ${CMAKE_CURRENT_LIST_DIR}) # We are the Bridle to be used set(NO_PRINT_VERSION True) @@ -81,7 +81,7 @@ if((DEFINED BRIDLE_BASE) OR (DEFINED ENV_BRIDLE_BASE)) set(PACKAGE_VERSION "ignored (BRIDLE_BASE is set)") endif() endif() - elseif ((NOT IS_INCLUDED) AND (DEFINED BRIDLE_BASE)) + elseif((NOT IS_INCLUDED) AND (DEFINED BRIDLE_BASE)) check_bridle_package(BRIDLE_BASE ${BRIDLE_BASE} VERSION_CHECK) else() # User has pointed to a different Bridle installation, so don't use this version @@ -102,6 +102,11 @@ get_filename_component(CURRENT_WORKSPACE_DIR # this Bridle's repository current version. set(BRIDLE_BASE ${CURRENT_BRIDLE_DIR}) +# Temporary set local Zephyr base to allow using Zephyr's cmake extensions. +if(NOT DEFINED ZEPHYR_BASE) + set(ZEPHYR_BASE ${CURRENT_WORKSPACE_DIR}/zephyr) +endif() + # Tell bridle/version.cmake to not print as printing version for all Bridle # installations being tested will lead to confusion on which is being used. set(NO_PRINT_VERSION True) @@ -109,10 +114,13 @@ include(${BRIDLE_BASE}/cmake/modules/bridle/version.cmake) # Bridle uses project version, but CMake package uses PACKAGE_VERSION set(PACKAGE_VERSION ${PROJECT_VERSION}) set(BRIDLE_BASE) +if(DEFINED ZEPHYR_BASE) + unset(ZEPHYR_BASE) +endif() # Do we share common index, if so, this is the correct version to check. string(FIND "${CMAKE_CURRENT_SOURCE_DIR}" "${CURRENT_BRIDLE_DIR}/" COMMON_INDEX) -if (COMMON_INDEX EQUAL 0) +if(COMMON_INDEX EQUAL 0) # Project is a Bridle repository app. check_bridle_version() return() @@ -122,7 +130,7 @@ if(NOT IS_INCLUDED) # Only do this if we are an installed CMake Config package and checking # for workspace candidates. string(FIND "${CMAKE_CURRENT_SOURCE_DIR}" "${CURRENT_WORKSPACE_DIR}/" COMMON_INDEX) - if (COMMON_INDEX EQUAL 0) + if(COMMON_INDEX EQUAL 0) # Project is a Bridle workspace app. This means this Bridle is likely # the correct one, but there could be an alternative installed along-side. # Thus, check if there is an even better candidate. @@ -150,4 +158,3 @@ endif() # the app is built as a Bridle Freestanding application. Let's do basic # CMake version checking. check_bridle_version() - diff --git a/share/bridle-package/cmake/bridle_package_search.cmake b/share/bridle-package/cmake/bridle_package_search.cmake index e17f2f0238..70d762164a 100644 --- a/share/bridle-package/cmake/bridle_package_search.cmake +++ b/share/bridle-package/cmake/bridle_package_search.cmake @@ -1,4 +1,4 @@ -# Copyright (c) 2022 TiaC Systems +# Copyright (c) 2023 TiaC Systems # SPDX-License-Identifier: Apache-2.0 # The purpose of this file is to provide search mechanism for locating @@ -29,7 +29,7 @@ function(set_bridle_dir bridle_candidate) endfunction() # This macro returns a list of parent folders to use for later searches. -macro(get_search_paths START_PATH SEARCH_PATHS PREFERENCE_LIST) +macro(get_bridle_search_paths START_PATH SEARCH_PATHS PREFERENCE_LIST) get_filename_component(SEARCH_PATH ${START_PATH} DIRECTORY) while(NOT (SEARCH_PATH STREQUAL SEARCH_PATH_PREV)) foreach(preference ${PREFERENCE_LIST}) @@ -74,14 +74,14 @@ macro(check_bridle_package) endif() if(CHECK_BRIDLE_PACKAGE_SEARCH_PARENTS) - get_search_paths(${CMAKE_CURRENT_SOURCE_DIR} SEARCH_PATHS - "${CHECK_BRIDLE_PACKAGE_CANDIDATES_PREFERENCE_LIST}") + get_bridle_search_paths(${CMAKE_CURRENT_SOURCE_DIR} SEARCH_PATHS + "${CHECK_BRIDLE_PACKAGE_CANDIDATES_PREFERENCE_LIST}") set(SEARCH_SETTINGS PATHS ${SEARCH_PATHS} NO_DEFAULT_PATH) endif() - # Searching for version zero means there will be no match, but we obtain - # a list of all potential Bridle candidates in the tree to consider. - find_package(Bridle 0.0.0 EXACT QUIET ${SEARCH_SETTINGS}) + ### OFF ### # Searching for version zero means there will be no match, but we obtain + ### OFF ### # a list of all potential Bridle candidates in the tree to consider. + ### OFF ### find_package(Bridle 0.0.0 EXACT QUIET ${SEARCH_SETTINGS}) # The find package will also find ourself when searching using installed # candidates. So avoid re-including unless NO_DEFAULT_PATH is set. diff --git a/share/zephyrbuild-package/cmake/ZephyrBuildConfig.cmake b/share/zephyrbuild-package/cmake/ZephyrBuildConfig.cmake index bccd687d61..f6b0a70dcc 100644 --- a/share/zephyrbuild-package/cmake/ZephyrBuildConfig.cmake +++ b/share/zephyrbuild-package/cmake/ZephyrBuildConfig.cmake @@ -1,5 +1,10 @@ -# Copyright (c) 2021-2022 TiaC Systems +# Copyright (c) 2021-2023 TiaC Systems # SPDX-License-Identifier: Apache-2.0 +if(NOT DEFINED ZEPHYR_BASE) + message(FATAL_ERROR "ZEPHYR_BASE not set") +endif() + # The ZephyrBuildConfig is simply including Bridle package. +set(BRIDLE_ZephyrBuildConfig True) include(${CMAKE_CURRENT_LIST_DIR}/../../bridle-package/cmake/BridleConfig.cmake) diff --git a/submanifests/zephyr.yml b/submanifests/zephyr.yml new file mode 100644 index 0000000000..36d2892523 --- /dev/null +++ b/submanifests/zephyr.yml @@ -0,0 +1,91 @@ +# The west submanifest file for Zephyr. +# +# Copyright (c) 2021-2023 TiaC Systems +# +# SPDX-License-Identifier: Apache-2.0 + +manifest: + version: "0.13" + + # If not otherwise specified, the projects below should be obtained + # from the tiacsys remote. + defaults: + remote: tiacsys + + # "remotes" is a list of locations where git repositories are cloned + # and fetched from. + remotes: + - name: tiacsys + url-base: https://github.com/tiacsys + + # "projects" is a list of git repositories which make up the TIAC + # source code. Please add items below based on alphabetical order. + projects: + + # The Zephyr RTOS fork in the TIAC organization, along with the subset + # of its modules which TIAC imports (partly but not yet) directly. + - name: zephyr + path: zephyr + remote: tiacsys + repo-path: zephyr + revision: tiacsys/main + clone-depth: 5000 + # import submodules from Zephyr manifest + import: + # In addition to the Zephyr repository itself, TIAC also + # imports the contents of Zephyr/west.yml at the above + # revision. Only the projects explicitly named in the + # following allowlist are imported. + # + # Note that the Zephyr west extensions (like 'build', 'flash', + # 'debug', etc.) are automatically provided by this import, so + # there's no need to add a redundant west-commands: key for + # the Zephyr project. + # + # Please keep this list sorted alphabetically. + name-allowlist: + - canopennode + - chre + - cmsis + - edtt + - fatfs + - hal_altera + - hal_atmel + - hal_espressif + - hal_gigadevice + - hal_infineon + - hal_microchip + - hal_nordic + - hal_nuvoton + - hal_nxp + - hal_openisa + - hal_quicklogic + - hal_renesas + - hal_rpi_pico + - hal_silabs + - hal_st + - hal_stm32 + - hal_telink + - hal_ti + - hal_xtensa + - libmetal + - liblc3 + - littlefs + - loramac-node + - lvgl + - mbedtls + - mcuboot + - mipi-sys-t + - net-tools + - open-amp + - openthread + - picolibc + - psa-arch-tests + - segger + - tf-m-tests + - tinycrypt + - trusted-firmware-a + - trusted-firmware-m + # hook up for Bridle zephyr_trampoline.py + userdata: + west-commands-path: scripts/west_commands diff --git a/tests/bridle/common/CMakeLists.txt b/tests/bridle/common/CMakeLists.txt index d50030063c..99cc0a8b1e 100644 --- a/tests/bridle/common/CMakeLists.txt +++ b/tests/bridle/common/CMakeLists.txt @@ -1,8 +1,8 @@ -# Copyright (c) 2021-2022 TiaC Systems +# Copyright (c) 2021-2023 TiaC Systems # SPDX-License-Identifier: Apache-2.0 cmake_minimum_required(VERSION 3.20.0) -find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +find_package(Bridle REQUIRED HINTS $ENV{BRIDLE_BASE}) project(bridle_common) target_sources(app PRIVATE diff --git a/tests/shields/grove/dts_bindings/CMakeLists.txt b/tests/shields/grove/dts_bindings/CMakeLists.txt index 11158e1cf1..d643936cf7 100644 --- a/tests/shields/grove/dts_bindings/CMakeLists.txt +++ b/tests/shields/grove/dts_bindings/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.20.0) -find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +find_package(Bridle REQUIRED HINTS $ENV{BRIDLE_BASE}) project(grove_shields) target_sources(app PRIVATE src/main.c) @@ -434,11 +434,30 @@ if(DEFINED if_path) endif() endif() + # check board specific add-ons for arduino_zero + if(CONFIG_BOARD_SEEEDUINO_LOTUS) + + test_if_label_on_path("grove_pwms" "${if_path}") + + if(CONFIG_SHIELD_SEEED_GROVE_BASE_V2 OR + CONFIG_SHIELD_SEEED_GROVE_BASE_V1) + + test_if_label_matching("grove_pwm_d2" "tcc0") + test_if_label_matching("grove_pwm_d3" "tcc0") + test_if_label_matching("grove_pwm_d4" "tcc0") + test_if_label_matching("grove_pwm_d5" "tcc0") + test_if_label_matching("grove_pwm_d6" "tcc0") + test_if_label_matching("grove_pwm_d7" "tcc0") + + endif() + endif() + # check common board specific add-ons if(CONFIG_BOARD_NUCLEO_F401RE OR CONFIG_BOARD_MIMXRT1060_EVK OR CONFIG_BOARD_MIMXRT1060_EVKB OR - CONFIG_BOARD_ARDUINO_ZERO) + CONFIG_BOARD_ARDUINO_ZERO OR + CONFIG_BOARD_SEEEDUINO_LOTUS) test_if_label_matching("grove_serial" "arduino_serial") test_if_label_matching("grove_i2c" "arduino_i2c") diff --git a/tests/shields/grove/dts_bindings/README.rst b/tests/shields/grove/dts_bindings/README.rst index 62c76759cc..5a7165a230 100644 --- a/tests/shields/grove/dts_bindings/README.rst +++ b/tests/shields/grove/dts_bindings/README.rst @@ -2,8 +2,8 @@ Grove Interconnect Shields DTS Binding ###################################### This integration test verifies the DTS binding of the :ref:`grove_base_shield` -against all possible :term:`boards ` and shields that are supported by -:ref:`Zephyr ` and :ref:`Bridle `. +against all possible :term:`boards ` and shields that are supported +by :ref:`Zephyr ` and :ref:`Bridle `. Depending on the number of compatible boards, this test suite will take several minutes to complete:: @@ -33,6 +33,7 @@ supported by this shield and that will be used for maintenance:: --verbose \ --inline-logs \ --platform arduino_zero \ + --platform arduino_zero@usbcons \ --platform mimxrt1010_evk \ --platform mimxrt1060_evk \ --platform mimxrt1060_evkb \ @@ -41,7 +42,9 @@ supported by this shield and that will be used for maintenance:: --platform nucleo_f413zh \ --platform nucleo_f767zi \ --platform rpi_pico \ - --platform seeed_xiao_samd21 \ + --platform seeed_xiao_samd21 \ + --platform seeed_xiao_samd21@usbcons \ --platform seeeduino_xiao \ --platform seeeduino_lotus \ + --platform seeeduino_lotus@usbcons \ --testsuite-root bridle/tests/shields/grove/dts_bindings diff --git a/tests/shields/grove/dts_bindings/testcase.yaml b/tests/shields/grove/dts_bindings/testcase.yaml index ae884ae3bd..1e456627c6 100644 --- a/tests/shields/grove/dts_bindings/testcase.yaml +++ b/tests/shields/grove/dts_bindings/testcase.yaml @@ -5,16 +5,9 @@ common: filter: dt_compat_enabled("seeed,grove-laced-if") and dt_compat_enabled("seeed,grove-connector") platform_exclude: - cy8ckit_062_ble_m0 cy8ckit_062_ble_m0@0.0.0 cy8ckit_062_ble_m0@1.0.0 - cy8ckit_062_ble_m4 cy8ckit_062_ble_m4@0.0.0 - da1469x_dk_pro - frdm_kw41z - hifive1 hifive1_revb - lpcxpresso55s16 - nrf9160dk_nrf9160_ns - pan1781_evb pan1782_evb - rv32m1_vega_ri5cy rv32m1_vega_zero_riscy - stm32h735g_disco stm32mp157c_dk2 + # stm32h735g_disco.yaml has "arduino_gpio", but + # there is no "arduino-header-r3" node in DTS + stm32h735g_disco tests: grove.base.v2: depends_on: arduino_gpio @@ -33,8 +26,6 @@ tests: dt_nodelabel_enabled("grove_a3_header") and dt_nodelabel_enabled("grove_uart_header") and dt_nodelabel_enabled("grove_i2c_header") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2 grove.base.v1: depends_on: arduino_gpio @@ -61,8 +52,6 @@ tests: dt_nodelabel_enabled("grove_uart_header") and dt_nodelabel_enabled("grove_i2c_header") and dt_nodelabel_enabled("grove_spi_header") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1 grove.xiao.v1: filter: dt_nodelabel_enabled("grove_laced_if_v1") and @@ -77,6 +66,7 @@ tests: dt_nodelabel_enabled("grove_i2c_header") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1 grove.rpipico.v1: @@ -118,8 +108,12 @@ tests: nucleo_f413zh nucleo_f767zi mimxrt1010_evk - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v2 grove.base.v1.arduino: # May be skipped if the board has at least one of the Ardunio standard @@ -140,8 +134,12 @@ tests: nucleo_f413zh nucleo_f767zi mimxrt1010_evk - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v1 grove.xiao.v1.xiao: # May be skipped if the board has at least one of the XIAO standard @@ -157,6 +155,7 @@ tests: dt_nodelabel_enabled("grove_spi") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1 grove.rpipico.v1.rpipico: @@ -184,8 +183,12 @@ tests: nucleo_f413zh nucleo_f767zi mimxrt1010_evk - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v2 grove_pwms.base.v1: depends_on: arduino_gpio @@ -197,14 +200,19 @@ tests: nucleo_f413zh nucleo_f767zi mimxrt1010_evk - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v1 grove_pwms.xiao.v1: filter: dt_nodelabel_enabled("grove_laced_if_v1") and dt_nodelabel_enabled("grove_pwms") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1 grove_pwms.rpipico.v1: diff --git a/tests/shields/grove_btn/dts_bindings/CMakeLists.txt b/tests/shields/grove_btn/dts_bindings/CMakeLists.txt index 24a0ab83a6..ef1b7eae40 100644 --- a/tests/shields/grove_btn/dts_bindings/CMakeLists.txt +++ b/tests/shields/grove_btn/dts_bindings/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.20.0) -find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +find_package(Bridle REQUIRED HINTS $ENV{BRIDLE_BASE}) project(grove_btn_shields) target_sources(app PRIVATE src/main.c) diff --git a/tests/shields/grove_btn/dts_bindings/README.rst b/tests/shields/grove_btn/dts_bindings/README.rst index 0580a16725..00eef22416 100644 --- a/tests/shields/grove_btn/dts_bindings/README.rst +++ b/tests/shields/grove_btn/dts_bindings/README.rst @@ -2,8 +2,8 @@ Grove Button Shields DTS Binding ################################ This integration test verifies the DTS binding of the :ref:`grove_button_shield` -against all possible :term:`boards ` and shields that are supported by -:ref:`Zephyr ` and :ref:`Bridle `. +against all possible :term:`boards ` and shields that are supported +by :ref:`Zephyr ` and :ref:`Bridle `. Depending on the number of compatible boards, this test suite will take several hours to complete:: @@ -33,6 +33,7 @@ supported by this shield and that will be used for maintenance:: --verbose \ --inline-logs \ --platform arduino_zero \ + --platform arduino_zero@usbcons \ --platform mimxrt1010_evk \ --platform mimxrt1060_evk \ --platform mimxrt1060_evkb \ @@ -42,6 +43,8 @@ supported by this shield and that will be used for maintenance:: --platform nucleo_f767zi \ --platform rpi_pico \ --platform seeed_xiao_samd21 \ + --platform seeed_xiao_samd21@usbcons \ --platform seeeduino_xiao \ --platform seeeduino_lotus \ + --platform seeeduino_lotus@usbcons \ --testsuite-root bridle/tests/shields/grove_btn/dts_bindings diff --git a/tests/shields/grove_btn/dts_bindings/testcase.yaml b/tests/shields/grove_btn/dts_bindings/testcase.yaml index 36524d380e..6c29857496 100644 --- a/tests/shields/grove_btn/dts_bindings/testcase.yaml +++ b/tests/shields/grove_btn/dts_bindings/testcase.yaml @@ -5,16 +5,9 @@ common: filter: dt_compat_enabled("seeed,grove-laced-if") and dt_compat_enabled("seeed,grove-connector") platform_exclude: - cy8ckit_062_ble_m0 cy8ckit_062_ble_m0@0.0.0 cy8ckit_062_ble_m0@1.0.0 - cy8ckit_062_ble_m4 cy8ckit_062_ble_m4@0.0.0 - da1469x_dk_pro - frdm_kw41z - hifive1 hifive1_revb - lpcxpresso55s16 - nrf9160dk_nrf9160_ns - pan1781_evb pan1782_evb - rv32m1_vega_ri5cy rv32m1_vega_zero_riscy - stm32h735g_disco stm32mp157c_dk2 + # stm32h735g_disco.yaml has "arduino_gpio", but + # there is no "arduino-header-r3" node in DTS + stm32h735g_disco tests: # # Grove Button by simple GPIO on Grove Base Shield @@ -24,256 +17,240 @@ tests: filter: dt_nodelabel_enabled("grove_d0_header") and dt_nodelabel_enabled("grove_uart_header") and dt_label_with_parent_compat_enabled("grove_btn_d0", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d0 grove.base.v1.grove_btn.gpio.d0: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d0_header") and dt_nodelabel_enabled("grove_uart_header") and dt_label_with_parent_compat_enabled("grove_btn_d0", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d0 grove.base.v2.grove_btn.gpio.d1: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d0_header") and dt_nodelabel_enabled("grove_uart_header") and dt_label_with_parent_compat_enabled("grove_btn_d1", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d1 grove.base.v1.grove_btn.gpio.d1: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d0_header") and dt_nodelabel_enabled("grove_uart_header") and dt_label_with_parent_compat_enabled("grove_btn_d1", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d1 grove.base.v2.grove_btn.gpio.d2: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d2_header") and dt_label_with_parent_compat_enabled("grove_btn_d2", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d2 grove.base.v1.grove_btn.gpio.d2: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d2_header") and dt_label_with_parent_compat_enabled("grove_btn_d2", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d2 grove.base.v2.grove_btn.gpio.d3: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d3_header") and dt_label_with_parent_compat_enabled("grove_btn_d3", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d3 grove.base.v1.grove_btn.gpio.d3: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d3_header") and dt_label_with_parent_compat_enabled("grove_btn_d3", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d3 grove.base.v2.grove_btn.gpio.d4: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d4_header") and dt_label_with_parent_compat_enabled("grove_btn_d4", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d4 grove.base.v1.grove_btn.gpio.d4: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d4_header") and dt_label_with_parent_compat_enabled("grove_btn_d4", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d4 grove.base.v2.grove_btn.gpio.d5: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d5_header") and dt_label_with_parent_compat_enabled("grove_btn_d5", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d5 grove.base.v1.grove_btn.gpio.d5: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d5_header") and dt_label_with_parent_compat_enabled("grove_btn_d5", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d5 grove.base.v2.grove_btn.gpio.d6: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d6_header") and dt_label_with_parent_compat_enabled("grove_btn_d6", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d6 grove.base.v1.grove_btn.gpio.d6: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d6_header") and dt_label_with_parent_compat_enabled("grove_btn_d6", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d6 grove.base.v2.grove_btn.gpio.d7: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d7_header") and dt_label_with_parent_compat_enabled("grove_btn_d7", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d7 grove.base.v1.grove_btn.gpio.d7: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d7_header") and dt_label_with_parent_compat_enabled("grove_btn_d7", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d7 grove.base.v2.grove_btn.gpio.d8: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d8_header") and dt_label_with_parent_compat_enabled("grove_btn_d8", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d8 grove.base.v1.grove_btn.gpio.d8: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d8_header") and dt_label_with_parent_compat_enabled("grove_btn_d8", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d8 grove.base.v2.grove_btn.gpio.d9: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d8_header") and dt_label_with_parent_compat_enabled("grove_btn_d9", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d9 grove.base.v1.grove_btn.gpio.d9: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d9_header") and dt_label_with_parent_compat_enabled("grove_btn_d9", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d9 grove.base.v1.grove_btn.gpio.d10: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d10_header") and dt_label_with_parent_compat_enabled("grove_btn_d10", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d10 grove.base.v1.grove_btn.gpio.d11: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d11_header") and dt_label_with_parent_compat_enabled("grove_btn_d11", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d11 grove.base.v1.grove_btn.gpio.d12: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d12_header") and dt_label_with_parent_compat_enabled("grove_btn_d12", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d12 grove.base.v1.grove_btn.gpio.d13: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d13_header") and dt_label_with_parent_compat_enabled("grove_btn_d13", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d13 grove.base.v2.grove_btn.gpio.d14: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a0_header") and dt_label_with_parent_compat_enabled("grove_btn_d14", "gpio-keys") platform_exclude: - seeeduino_lotus + frdm_kw41z + hifive1 + hifive1_revb extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d14 grove.base.v1.grove_btn.gpio.d14: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a0_header") and dt_label_with_parent_compat_enabled("grove_btn_d14", "gpio-keys") platform_exclude: - seeeduino_lotus + frdm_kw41z + hifive1 + hifive1_revb extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d14 grove.base.v2.grove_btn.gpio.d15: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a1_header") and dt_label_with_parent_compat_enabled("grove_btn_d15", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d15 grove.base.v1.grove_btn.gpio.d15: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a1_header") and dt_label_with_parent_compat_enabled("grove_btn_d15", "gpio-keys") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d15 grove.base.v2.grove_btn.gpio.d16: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a2_header") and dt_label_with_parent_compat_enabled("grove_btn_d16", "gpio-keys") platform_exclude: - seeeduino_lotus + stm32mp157c_dk2 extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d16 grove.base.v1.grove_btn.gpio.d16: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a2_header") and dt_label_with_parent_compat_enabled("grove_btn_d16", "gpio-keys") platform_exclude: - seeeduino_lotus + stm32mp157c_dk2 extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d16 grove.base.v2.grove_btn.gpio.d17: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a3_header") and dt_label_with_parent_compat_enabled("grove_btn_d17", "gpio-keys") platform_exclude: - seeeduino_lotus + lpcxpresso55s16 + stm32mp157c_dk2 extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d17 grove.base.v1.grove_btn.gpio.d17: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a3_header") and dt_label_with_parent_compat_enabled("grove_btn_d17", "gpio-keys") platform_exclude: - seeeduino_lotus + lpcxpresso55s16 + stm32mp157c_dk2 extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d17 grove.base.v2.grove_btn.gpio.d18: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_btn_d18", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d18 grove.base.v1.grove_btn.gpio.d18: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_btn_d18", "gpio-keys") platform_exclude: - seeeduino_lotus + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d18 grove.base.v2.grove_btn.gpio.d19: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_btn_d19", "gpio-keys") platform_exclude: - seeeduino_lotus + frdm_kw41z + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d19 grove.base.v1.grove_btn.gpio.d19: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_btn_d19", "gpio-keys") platform_exclude: - seeeduino_lotus + frdm_kw41z + pan1781_evb + pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_btn_d19 # # Grove Button by simple GPIO on Grove Shield for Seeeduino XIAO @@ -283,6 +260,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d0", "gpio-keys") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_btn_d0 grove.xiao.v1.grove_btn.gpio.d1: @@ -290,6 +268,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d1", "gpio-keys") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_btn_d1 grove.xiao.v1.grove_btn.gpio.d2: @@ -297,6 +276,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d2", "gpio-keys") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_btn_d2 grove.xiao.v1.grove_btn.gpio.d5: @@ -305,6 +285,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d5", "gpio-keys") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_btn_d5 grove.xiao.v1.grove_btn.gpio.d7: @@ -313,6 +294,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d7", "gpio-keys") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_btn_d7 grove.xiao.v1.grove_btn.gpio.d8: @@ -320,6 +302,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d8", "gpio-keys") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_btn_d8 grove.xiao.v1.grove_btn.gpio.d9: @@ -327,6 +310,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d9", "gpio-keys") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_btn_d9 # @@ -454,6 +438,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d9", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d9 grove.connectors.grove_btn.gpio.d10: depends_on: grove_gpio @@ -461,6 +446,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d10", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d10 grove.connectors.grove_btn.gpio.d11: depends_on: grove_gpio @@ -468,6 +454,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d11", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d11 grove.connectors.grove_btn.gpio.d12: depends_on: grove_gpio @@ -475,6 +462,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d12", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d12 grove.connectors.grove_btn.gpio.d13: depends_on: grove_gpio @@ -482,6 +470,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d13", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d13 grove.connectors.grove_btn.gpio.d14: depends_on: grove_gpio @@ -528,6 +517,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d20", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d20 grove.connectors.grove_btn.gpio.d21: depends_on: grove_gpio @@ -535,6 +525,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d21", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d21 grove.connectors.grove_btn.gpio.d22: depends_on: grove_gpio @@ -542,6 +533,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d22", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d22 grove.connectors.grove_btn.gpio.d23: depends_on: grove_gpio @@ -549,6 +541,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d23", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d23 grove.connectors.grove_btn.gpio.d24: depends_on: grove_gpio @@ -556,6 +549,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d24", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d24 grove.connectors.grove_btn.gpio.d25: depends_on: grove_gpio @@ -563,6 +557,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d25", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d25 grove.connectors.grove_btn.gpio.d26: depends_on: grove_gpio @@ -570,6 +565,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d26", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d26 grove.connectors.grove_btn.gpio.d27: depends_on: grove_gpio @@ -577,6 +573,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d27", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d27 grove.connectors.grove_btn.gpio.d28: depends_on: grove_gpio @@ -584,6 +581,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d28", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d28 grove.connectors.grove_btn.gpio.d29: depends_on: grove_gpio @@ -591,6 +589,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d29", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d29 grove.connectors.grove_btn.gpio.d30: depends_on: grove_gpio @@ -598,6 +597,7 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d30", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d30 grove.connectors.grove_btn.gpio.d31: depends_on: grove_gpio @@ -605,4 +605,5 @@ tests: dt_label_with_parent_compat_enabled("grove_btn_d31", "gpio-keys") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d31 diff --git a/tests/shields/grove_led/dts_bindings/CMakeLists.txt b/tests/shields/grove_led/dts_bindings/CMakeLists.txt index ea79c3f075..3683fe5b92 100644 --- a/tests/shields/grove_led/dts_bindings/CMakeLists.txt +++ b/tests/shields/grove_led/dts_bindings/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.20.0) -find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +find_package(Bridle REQUIRED HINTS $ENV{BRIDLE_BASE}) project(grove_led_shields) target_sources(app PRIVATE src/main.c) diff --git a/tests/shields/grove_led/dts_bindings/README.rst b/tests/shields/grove_led/dts_bindings/README.rst index ee1a1557fc..1d5d8a8c91 100644 --- a/tests/shields/grove_led/dts_bindings/README.rst +++ b/tests/shields/grove_led/dts_bindings/README.rst @@ -2,8 +2,8 @@ Grove LED Shields DTS Binding ############################# This integration test verifies the DTS binding of the :ref:`grove_led_shield` -against all possible :term:`boards ` and shields that are supported by -:ref:`Zephyr ` and :ref:`Bridle `. +against all possible :term:`boards ` and shields that are supported +by :ref:`Zephyr ` and :ref:`Bridle `. Depending on the number of compatible boards, this test suite will take several hours to complete:: @@ -33,6 +33,7 @@ supported by this shield and that will be used for maintenance:: --verbose \ --inline-logs \ --platform arduino_zero \ + --platform arduino_zero@usbcons \ --platform mimxrt1010_evk \ --platform mimxrt1060_evk \ --platform mimxrt1060_evkb \ @@ -42,6 +43,8 @@ supported by this shield and that will be used for maintenance:: --platform nucleo_f767zi \ --platform rpi_pico \ --platform seeed_xiao_samd21 \ + --platform seeed_xiao_samd21@usbcons \ --platform seeeduino_xiao \ --platform seeeduino_lotus \ + --platform seeeduino_lotus@usbcons \ --testsuite-root bridle/tests/shields/grove_led/dts_bindings diff --git a/tests/shields/grove_led/dts_bindings/testcase.yaml b/tests/shields/grove_led/dts_bindings/testcase.yaml index 02422b1a40..8c87637a79 100644 --- a/tests/shields/grove_led/dts_bindings/testcase.yaml +++ b/tests/shields/grove_led/dts_bindings/testcase.yaml @@ -5,16 +5,9 @@ common: filter: dt_compat_enabled("seeed,grove-laced-if") and dt_compat_enabled("seeed,grove-connector") platform_exclude: - cy8ckit_062_ble_m0 cy8ckit_062_ble_m0@0.0.0 cy8ckit_062_ble_m0@1.0.0 - cy8ckit_062_ble_m4 cy8ckit_062_ble_m4@0.0.0 - da1469x_dk_pro - frdm_kw41z - hifive1 hifive1_revb - lpcxpresso55s16 - nrf9160dk_nrf9160_ns - pan1781_evb pan1782_evb - rv32m1_vega_ri5cy rv32m1_vega_zero_riscy - stm32h735g_disco stm32mp157c_dk2 + # stm32h735g_disco.yaml has "arduino_gpio", but + # there is no "arduino-header-r3" node in DTS + stm32h735g_disco tests: # # Grove LED by simple GPIO on Grove Base Shield @@ -24,256 +17,226 @@ tests: filter: dt_nodelabel_enabled("grove_d0_header") and dt_nodelabel_enabled("grove_uart_header") and dt_label_with_parent_compat_enabled("grove_led_d0", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_led_d0 grove.base.v1.grove_led.gpio.d0: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d0_header") and dt_nodelabel_enabled("grove_uart_header") and dt_label_with_parent_compat_enabled("grove_led_d0", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d0 grove.base.v2.grove_led.gpio.d1: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d0_header") and dt_nodelabel_enabled("grove_uart_header") and dt_label_with_parent_compat_enabled("grove_led_d1", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_led_d1 grove.base.v1.grove_led.gpio.d1: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d0_header") and dt_nodelabel_enabled("grove_uart_header") and dt_label_with_parent_compat_enabled("grove_led_d1", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d1 grove.base.v2.grove_led.gpio.d2: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d2_header") and dt_label_with_parent_compat_enabled("grove_led_d2", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_led_d2 grove.base.v1.grove_led.gpio.d2: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d2_header") and dt_label_with_parent_compat_enabled("grove_led_d2", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d2 grove.base.v2.grove_led.gpio.d3: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d3_header") and dt_label_with_parent_compat_enabled("grove_led_d3", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_led_d3 grove.base.v1.grove_led.gpio.d3: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d3_header") and dt_label_with_parent_compat_enabled("grove_led_d3", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d3 grove.base.v2.grove_led.gpio.d4: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d4_header") and dt_label_with_parent_compat_enabled("grove_led_d4", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_led_d4 grove.base.v1.grove_led.gpio.d4: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d4_header") and dt_label_with_parent_compat_enabled("grove_led_d4", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d4 grove.base.v2.grove_led.gpio.d5: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d5_header") and dt_label_with_parent_compat_enabled("grove_led_d5", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_led_d5 grove.base.v1.grove_led.gpio.d5: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d5_header") and dt_label_with_parent_compat_enabled("grove_led_d5", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d5 grove.base.v2.grove_led.gpio.d6: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d6_header") and dt_label_with_parent_compat_enabled("grove_led_d6", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_led_d6 grove.base.v1.grove_led.gpio.d6: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d6_header") and dt_label_with_parent_compat_enabled("grove_led_d6", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_led_d6 grove.base.v2.grove_led.gpio.d7: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d7_header") and dt_label_with_parent_compat_enabled("grove_led_d7", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_led_d7 grove.base.v1.grove_led.gpio.d7: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d7_header") and dt_label_with_parent_compat_enabled("grove_led_d7", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_led_d7 grove.base.v2.grove_led.gpio.d8: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d8_header") and dt_label_with_parent_compat_enabled("grove_led_d8", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_led_d8 grove.base.v1.grove_led.gpio.d8: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d8_header") and dt_label_with_parent_compat_enabled("grove_led_d8", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_led_d8 grove.base.v2.grove_led.gpio.d9: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d8_header") and dt_label_with_parent_compat_enabled("grove_led_d9", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_led_d9 grove.base.v1.grove_led.gpio.d9: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d9_header") and dt_label_with_parent_compat_enabled("grove_led_d9", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_led_d9 grove.base.v1.grove_led.gpio.d10: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d10_header") and dt_label_with_parent_compat_enabled("grove_led_d10", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d10 grove.base.v1.grove_led.gpio.d11: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d11_header") and dt_label_with_parent_compat_enabled("grove_led_d11", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d11 grove.base.v1.grove_led.gpio.d12: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d12_header") and dt_label_with_parent_compat_enabled("grove_led_d12", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d12 grove.base.v1.grove_led.gpio.d13: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_d13_header") and dt_label_with_parent_compat_enabled("grove_led_d13", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d13 grove.base.v2.grove_led.gpio.d14: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a0_header") and dt_label_with_parent_compat_enabled("grove_led_d14", "gpio-leds") platform_exclude: - seeeduino_lotus + frdm_kw41z + hifive1 hifive1_revb extra_args: SHIELD=seeed_grove_base_v2;grove_led_d14 grove.base.v1.grove_led.gpio.d14: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a0_header") and dt_label_with_parent_compat_enabled("grove_led_d14", "gpio-leds") platform_exclude: - seeeduino_lotus + frdm_kw41z + hifive1 hifive1_revb extra_args: SHIELD=seeed_grove_base_v1;grove_led_d14 grove.base.v2.grove_led.gpio.d15: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a1_header") and dt_label_with_parent_compat_enabled("grove_led_d15", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v2;grove_led_d15 grove.base.v1.grove_led.gpio.d15: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a1_header") and dt_label_with_parent_compat_enabled("grove_led_d15", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=seeed_grove_base_v1;grove_led_d15 grove.base.v2.grove_led.gpio.d16: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a2_header") and dt_label_with_parent_compat_enabled("grove_led_d16", "gpio-leds") platform_exclude: - seeeduino_lotus + stm32mp157c_dk2 extra_args: SHIELD=seeed_grove_base_v2;grove_led_d16 grove.base.v1.grove_led.gpio.d16: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a2_header") and dt_label_with_parent_compat_enabled("grove_led_d16", "gpio-leds") platform_exclude: - seeeduino_lotus + stm32mp157c_dk2 extra_args: SHIELD=seeed_grove_base_v1;grove_led_d16 grove.base.v2.grove_led.gpio.d17: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a3_header") and dt_label_with_parent_compat_enabled("grove_led_d17", "gpio-leds") platform_exclude: - seeeduino_lotus + lpcxpresso55s16 + stm32mp157c_dk2 extra_args: SHIELD=seeed_grove_base_v2;grove_led_d17 grove.base.v1.grove_led.gpio.d17: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_a3_header") and dt_label_with_parent_compat_enabled("grove_led_d17", "gpio-leds") platform_exclude: - seeeduino_lotus + lpcxpresso55s16 + stm32mp157c_dk2 extra_args: SHIELD=seeed_grove_base_v1;grove_led_d17 grove.base.v2.grove_led.gpio.d18: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_led_d18", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_led_d18 grove.base.v1.grove_led.gpio.d18: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_led_d18", "gpio-leds") platform_exclude: - seeeduino_lotus + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_led_d18 grove.base.v2.grove_led.gpio.d19: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_led_d19", "gpio-leds") platform_exclude: - seeeduino_lotus + frdm_kw41z + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v2;grove_led_d19 grove.base.v1.grove_led.gpio.d19: depends_on: arduino_gpio filter: dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_led_d19", "gpio-leds") platform_exclude: - seeeduino_lotus + frdm_kw41z + pan1781_evb pan1782_evb extra_args: SHIELD=seeed_grove_base_v1;grove_led_d19 # # Grove LED by dedicated PWM on Grove Base Shield @@ -285,6 +248,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d0", "pwm-leds") platform_allow: arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d0 grove.base.v1.grove_led.pwm.d0: depends_on: arduino_gpio @@ -293,6 +257,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d0", "pwm-leds") platform_allow: arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d0 grove.base.v2.grove_led.pwm.d1: depends_on: arduino_gpio @@ -301,6 +266,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d1", "pwm-leds") platform_allow: arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d1 grove.base.v1.grove_led.pwm.d1: depends_on: arduino_gpio @@ -309,6 +275,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d1", "pwm-leds") platform_allow: arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d1 grove.base.v2.grove_led.pwm.d2: depends_on: arduino_gpio @@ -318,8 +285,12 @@ tests: platform_allow: nucleo_f303re nucleo_f401re - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d2 grove.base.v1.grove_led.pwm.d2: depends_on: arduino_gpio @@ -329,8 +300,12 @@ tests: platform_allow: nucleo_f303re nucleo_f401re - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d2 grove.base.v2.grove_led.pwm.d3: depends_on: arduino_gpio @@ -342,8 +317,12 @@ tests: nucleo_f401re nucleo_f413zh nucleo_f767zi - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d3 grove.base.v1.grove_led.pwm.d3: depends_on: arduino_gpio @@ -355,8 +334,12 @@ tests: nucleo_f401re nucleo_f413zh nucleo_f767zi - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d3 grove.base.v2.grove_led.pwm.d4: depends_on: arduino_gpio @@ -365,8 +348,12 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d4", "pwm-leds") platform_allow: nucleo_f303re - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d4 grove.base.v1.grove_led.pwm.d4: depends_on: arduino_gpio @@ -375,8 +362,12 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d4", "pwm-leds") platform_allow: nucleo_f303re - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d4 grove.base.v2.grove_led.pwm.d5: depends_on: arduino_gpio @@ -388,8 +379,12 @@ tests: nucleo_f401re nucleo_f413zh nucleo_f767zi - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d5 grove.base.v1.grove_led.pwm.d5: depends_on: arduino_gpio @@ -401,8 +396,12 @@ tests: nucleo_f401re nucleo_f413zh nucleo_f767zi - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d5 grove.base.v2.grove_led.pwm.d6: depends_on: arduino_gpio @@ -415,6 +414,9 @@ tests: nucleo_f413zh nucleo_f767zi arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d6 grove.base.v1.grove_led.pwm.d6: depends_on: arduino_gpio @@ -427,6 +429,9 @@ tests: nucleo_f413zh nucleo_f767zi arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d6 grove.base.v2.grove_led.pwm.d7: depends_on: arduino_gpio @@ -437,6 +442,9 @@ tests: nucleo_f303re nucleo_f401re arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d7 grove.base.v1.grove_led.pwm.d7: depends_on: arduino_gpio @@ -447,6 +455,9 @@ tests: nucleo_f303re nucleo_f401re arduino_zero + arduino_zero@usbcons + seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d7 grove.base.v2.grove_led.pwm.d8: depends_on: arduino_gpio @@ -458,6 +469,7 @@ tests: nucleo_f401re mimxrt1010_evk arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d8 grove.base.v1.grove_led.pwm.d8: depends_on: arduino_gpio @@ -469,6 +481,7 @@ tests: nucleo_f401re mimxrt1010_evk arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d8 grove.base.v2.grove_led.pwm.d9: depends_on: arduino_gpio @@ -482,6 +495,7 @@ tests: nucleo_f767zi mimxrt1010_evk arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d9 grove.base.v1.grove_led.pwm.d9: depends_on: arduino_gpio @@ -495,6 +509,7 @@ tests: nucleo_f767zi mimxrt1010_evk arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d9 grove.base.v1.grove_led.pwm.d10: depends_on: arduino_gpio @@ -506,8 +521,10 @@ tests: nucleo_f401re nucleo_f413zh nucleo_f767zi - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d10 grove.base.v1.grove_led.pwm.d11: depends_on: arduino_gpio @@ -519,8 +536,10 @@ tests: nucleo_f401re nucleo_f413zh nucleo_f767zi - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d11 grove.base.v1.grove_led.pwm.d12: depends_on: arduino_gpio @@ -531,8 +550,10 @@ tests: nucleo_f303re nucleo_f413zh nucleo_f767zi - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d12 grove.base.v1.grove_led.pwm.d13: depends_on: arduino_gpio @@ -544,8 +565,10 @@ tests: nucleo_f401re nucleo_f413zh nucleo_f767zi - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d13 grove.base.v2.grove_led.pwm.d18: depends_on: arduino_gpio @@ -557,6 +580,7 @@ tests: nucleo_f413zh nucleo_f767zi arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d18 grove.base.v1.grove_led.pwm.d18: depends_on: arduino_gpio @@ -569,6 +593,7 @@ tests: nucleo_f413zh nucleo_f767zi arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d18 grove.base.v2.grove_led.pwm.d19: depends_on: arduino_gpio @@ -581,6 +606,7 @@ tests: nucleo_f413zh nucleo_f767zi arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_pwm_led_d19 grove.base.v1.grove_led.pwm.d19: depends_on: arduino_gpio @@ -593,6 +619,7 @@ tests: nucleo_f413zh nucleo_f767zi arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v1;grove_pwm_led_d19 # # Grove LED by simple GPIO on Grove Shield for Seeeduino XIAO @@ -602,6 +629,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d0", "gpio-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_led_d0 grove.xiao.v1.grove_led.gpio.d1: @@ -609,6 +637,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d1", "gpio-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_led_d1 grove.xiao.v1.grove_led.gpio.d2: @@ -616,6 +645,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d2", "gpio-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_led_d2 grove.xiao.v1.grove_led.gpio.d5: @@ -624,6 +654,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d5", "gpio-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_led_d5 grove.xiao.v1.grove_led.gpio.d7: @@ -632,6 +663,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d7", "gpio-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_led_d7 grove.xiao.v1.grove_led.gpio.d8: @@ -639,6 +671,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d8", "gpio-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_led_d8 grove.xiao.v1.grove_led.gpio.d9: @@ -646,6 +679,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d9", "gpio-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_led_d9 # @@ -657,6 +691,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d1", "pwm-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_pwm_led_d1 grove.xiao.v1.grove_led.pwm.d2: @@ -665,6 +700,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d2", "pwm-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_pwm_led_d2 grove.xiao.v1.grove_led.pwm.d5: @@ -674,6 +710,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d5", "pwm-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_pwm_led_d5 grove.xiao.v1.grove_led.pwm.d8: @@ -682,6 +719,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d8", "pwm-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_pwm_led_d8 grove.xiao.v1.grove_led.pwm.d9: @@ -690,6 +728,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d9", "pwm-leds") platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_pwm_led_d9 # @@ -841,6 +880,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d9", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d9 grove.connectors.grove_led.gpio.d10: depends_on: grove_gpio @@ -848,6 +888,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d10", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d10 grove.connectors.grove_led.gpio.d11: depends_on: grove_gpio @@ -855,6 +896,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d11", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d11 grove.connectors.grove_led.gpio.d12: depends_on: grove_gpio @@ -862,6 +904,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d12", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d12 grove.connectors.grove_led.gpio.d13: depends_on: grove_gpio @@ -869,55 +912,54 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d13", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d13 grove.connectors.grove_led.gpio.d14: depends_on: grove_gpio - filter: dt_nodelabel_enabled("grove_d14_header") and + filter: dt_nodelabel_enabled("grove_d14_header") or + dt_nodelabel_enabled("grove_a0_header") and dt_label_with_parent_compat_enabled("grove_led_d14", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=grove_led_d14 grove.connectors.grove_led.gpio.d15: depends_on: grove_gpio - filter: dt_nodelabel_enabled("grove_d15_header") and + filter: dt_nodelabel_enabled("grove_d15_header") or + dt_nodelabel_enabled("grove_a1_header") and dt_label_with_parent_compat_enabled("grove_led_d15", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=grove_led_d15 grove.connectors.grove_led.gpio.d16: depends_on: grove_gpio - filter: dt_nodelabel_enabled("grove_d16_header") and + filter: dt_nodelabel_enabled("grove_d16_header") or + dt_nodelabel_enabled("grove_a2_header") and dt_label_with_parent_compat_enabled("grove_led_d16", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=grove_led_d16 grove.connectors.grove_led.gpio.d17: depends_on: grove_gpio - filter: dt_nodelabel_enabled("grove_d17_header") and + filter: dt_nodelabel_enabled("grove_d17_header") or + dt_nodelabel_enabled("grove_a3_header") and dt_label_with_parent_compat_enabled("grove_led_d17", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=grove_led_d17 grove.connectors.grove_led.gpio.d18: depends_on: grove_gpio - filter: dt_nodelabel_enabled("grove_d18_header") and + filter: dt_nodelabel_enabled("grove_d18_header") or + dt_nodelabel_enabled("grove_a4_header") or + dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_led_d18", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=grove_led_d18 grove.connectors.grove_led.gpio.d19: depends_on: grove_gpio - filter: dt_nodelabel_enabled("grove_d19_header") and + filter: dt_nodelabel_enabled("grove_d19_header") or + dt_nodelabel_enabled("grove_a5_header") or + dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_led_d19", "gpio-leds") - platform_exclude: - seeeduino_lotus extra_args: SHIELD=grove_led_d19 grove.connectors.grove_led.gpio.d20: depends_on: grove_gpio - filter: dt_nodelabel_enabled("grove_d20_header") and + filter: dt_nodelabel_enabled("grove_d20_header") or + dt_nodelabel_enabled("grove_a6_header") and dt_label_with_parent_compat_enabled("grove_led_d20", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d20 grove.connectors.grove_led.gpio.d21: depends_on: grove_gpio @@ -925,6 +967,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d21", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d21 grove.connectors.grove_led.gpio.d22: depends_on: grove_gpio @@ -932,6 +975,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d22", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d22 grove.connectors.grove_led.gpio.d23: depends_on: grove_gpio @@ -939,6 +983,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d23", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d23 grove.connectors.grove_led.gpio.d24: depends_on: grove_gpio @@ -946,6 +991,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d24", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d24 grove.connectors.grove_led.gpio.d25: depends_on: grove_gpio @@ -953,6 +999,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d25", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d25 grove.connectors.grove_led.gpio.d26: depends_on: grove_gpio @@ -960,6 +1007,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d26", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d26 grove.connectors.grove_led.gpio.d27: depends_on: grove_gpio @@ -967,6 +1015,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d27", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d27 grove.connectors.grove_led.gpio.d28: depends_on: grove_gpio @@ -974,6 +1023,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d28", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d28 grove.connectors.grove_led.gpio.d29: depends_on: grove_gpio @@ -981,6 +1031,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d29", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d29 grove.connectors.grove_led.gpio.d30: depends_on: grove_gpio @@ -988,6 +1039,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d30", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d30 grove.connectors.grove_led.gpio.d31: depends_on: grove_gpio @@ -995,6 +1047,7 @@ tests: dt_label_with_parent_compat_enabled("grove_led_d31", "gpio-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_led_d31 # # Grove LED by dedicated PWM on Grove Connectors @@ -1005,6 +1058,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d0", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d0 grove.connectors.grove_led.pwm.d1: depends_on: grove_pwm @@ -1012,6 +1066,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d1", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d1 grove.connectors.grove_led.pwm.d2: depends_on: grove_pwm @@ -1049,6 +1104,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d8", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d8 grove.connectors.grove_led.pwm.d9: depends_on: grove_pwm @@ -1056,6 +1112,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d9", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d9 grove.connectors.grove_led.pwm.d10: depends_on: grove_pwm @@ -1063,6 +1120,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d10", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d10 grove.connectors.grove_led.pwm.d11: depends_on: grove_pwm @@ -1070,6 +1128,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d11", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d11 grove.connectors.grove_led.pwm.d12: depends_on: grove_pwm @@ -1077,6 +1136,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d12", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d12 grove.connectors.grove_led.pwm.d13: depends_on: grove_pwm @@ -1084,55 +1144,72 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d13", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d13 grove.connectors.grove_led.pwm.d14: depends_on: grove_pwm - filter: dt_nodelabel_enabled("grove_d14_header") and + filter: dt_nodelabel_enabled("grove_d14_header") or + dt_nodelabel_enabled("grove_a0_header") and dt_label_with_parent_compat_enabled("grove_pwm_led_d14", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d14 grove.connectors.grove_led.pwm.d15: depends_on: grove_pwm - filter: dt_nodelabel_enabled("grove_d15_header") and + filter: dt_nodelabel_enabled("grove_d15_header") or + dt_nodelabel_enabled("grove_a1_header") and dt_label_with_parent_compat_enabled("grove_pwm_led_d15", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d15 grove.connectors.grove_led.pwm.d16: depends_on: grove_pwm - filter: dt_nodelabel_enabled("grove_d16_header") and + filter: dt_nodelabel_enabled("grove_d16_header") or + dt_nodelabel_enabled("grove_a2_header") and dt_label_with_parent_compat_enabled("grove_pwm_led_d16", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d16 grove.connectors.grove_led.pwm.d17: depends_on: grove_pwm - filter: dt_nodelabel_enabled("grove_d17_header") and + filter: dt_nodelabel_enabled("grove_d17_header") or + dt_nodelabel_enabled("grove_a3_header") and dt_label_with_parent_compat_enabled("grove_pwm_led_d17", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d17 grove.connectors.grove_led.pwm.d18: depends_on: grove_pwm - filter: dt_nodelabel_enabled("grove_d18_header") and + filter: dt_nodelabel_enabled("grove_d18_header") or + dt_nodelabel_enabled("grove_a4_header") or + dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_pwm_led_d18", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d18 grove.connectors.grove_led.pwm.d19: depends_on: grove_pwm - filter: dt_nodelabel_enabled("grove_d19_header") and + filter: dt_nodelabel_enabled("grove_d19_header") or + dt_nodelabel_enabled("grove_a5_header") or + dt_nodelabel_enabled("grove_i2c_header") and dt_label_with_parent_compat_enabled("grove_pwm_led_d19", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d19 grove.connectors.grove_led.pwm.d20: depends_on: grove_pwm - filter: dt_nodelabel_enabled("grove_d20_header") and + filter: dt_nodelabel_enabled("grove_d20_header") or + dt_nodelabel_enabled("grove_a6_header") and dt_label_with_parent_compat_enabled("grove_pwm_led_d20", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d20 grove.connectors.grove_led.pwm.d21: depends_on: grove_pwm @@ -1140,6 +1217,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d21", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d21 grove.connectors.grove_led.pwm.d22: depends_on: grove_pwm @@ -1147,6 +1225,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d22", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d22 grove.connectors.grove_led.pwm.d23: depends_on: grove_pwm @@ -1154,6 +1233,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d23", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d23 grove.connectors.grove_led.pwm.d24: depends_on: grove_pwm @@ -1161,6 +1241,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d24", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d24 grove.connectors.grove_led.pwm.d25: depends_on: grove_pwm @@ -1168,6 +1249,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d25", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d25 grove.connectors.grove_led.pwm.d26: depends_on: grove_pwm @@ -1175,6 +1257,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d26", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d26 grove.connectors.grove_led.pwm.d27: depends_on: grove_pwm @@ -1182,6 +1265,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d27", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d27 grove.connectors.grove_led.pwm.d28: depends_on: grove_pwm @@ -1189,6 +1273,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d28", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d28 grove.connectors.grove_led.pwm.d29: depends_on: grove_pwm @@ -1196,6 +1281,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d29", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d29 grove.connectors.grove_led.pwm.d30: depends_on: grove_pwm @@ -1203,6 +1289,7 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d30", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d30 grove.connectors.grove_led.pwm.d31: depends_on: grove_pwm @@ -1210,4 +1297,5 @@ tests: dt_label_with_parent_compat_enabled("grove_pwm_led_d31", "pwm-leds") platform_exclude: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_pwm_led_d31 diff --git a/tests/shields/x_grove_testbed/dts_bindings/CMakeLists.txt b/tests/shields/x_grove_testbed/dts_bindings/CMakeLists.txt index d9d97c7c2b..b41e976b87 100644 --- a/tests/shields/x_grove_testbed/dts_bindings/CMakeLists.txt +++ b/tests/shields/x_grove_testbed/dts_bindings/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.20.0) -find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +find_package(Bridle REQUIRED HINTS $ENV{BRIDLE_BASE}) project(grove_x_grove_testbed_shield) target_sources(app PRIVATE src/main.c) diff --git a/tests/shields/x_grove_testbed/dts_bindings/README.rst b/tests/shields/x_grove_testbed/dts_bindings/README.rst index 52644c1883..710cdd8162 100644 --- a/tests/shields/x_grove_testbed/dts_bindings/README.rst +++ b/tests/shields/x_grove_testbed/dts_bindings/README.rst @@ -2,7 +2,7 @@ Grove Wiring Test Bed DTS Binding ################################# This integration test verifies the DTS binding of the -:ref:`x_grove_testbed_shield` against all possible :term:`boards ` +:ref:`x_grove_testbed_shield` against all possible :term:`boards ` that are supported by this shield:: west twister \ diff --git a/tests/shields/x_grove_testbed/dts_bindings/testcase.yaml b/tests/shields/x_grove_testbed/dts_bindings/testcase.yaml index e14ae087b1..558e3cee0b 100644 --- a/tests/shields/x_grove_testbed/dts_bindings/testcase.yaml +++ b/tests/shields/x_grove_testbed/dts_bindings/testcase.yaml @@ -9,7 +9,8 @@ tests: depends_on: arduino_gpio platform_allow: mimxrt1010_evk - mimxrt1060_evk mimxrt1060_evkb + mimxrt1060_evk + mimxrt1060_evkb extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d4;grove_led_d6;x_grove_testbed grove.base.v2.x_grove_testbed.pwm: @@ -29,16 +30,19 @@ tests: grove.arduino.zero.x_grove_testbed.pwm: platform_allow: arduino_zero + arduino_zero@usbcons extra_args: SHIELD=seeed_grove_base_v2;grove_btn_d7;grove_led_d6;grove_pwm_led_d6;x_grove_testbed grove.seeeduino.xiao.x_grove_testbed.pwm: platform_allow: seeed_xiao_samd21 + seeed_xiao_samd21@usbcons seeeduino_xiao extra_args: SHIELD=seeed_grove_xiao_v1;grove_btn_d0;grove_led_d1;grove_pwm_led_d1;x_grove_testbed grove.seeeduino.lotus.x_grove_testbed.pwm: platform_allow: seeeduino_lotus + seeeduino_lotus@usbcons extra_args: SHIELD=grove_btn_d7;grove_led_d6;grove_pwm_led_d6;x_grove_testbed diff --git a/west.yml b/west.yml index 64214ec646..53097814d3 100644 --- a/west.yml +++ b/west.yml @@ -32,65 +32,6 @@ manifest: remotes: - name: tiacsys url-base: https://github.com/tiacsys - - name: zephyrproject - url-base: https://github.com/zephyrproject-rtos - - # "projects" is a list of git repositories which make up the TIAC - # source code. Please add items below based on alphabetical order. - projects: - - # The Zephyr RTOS fork in the TIAC organization, along with the subset - # of its modules which TIAC imports (partly but not yet) directly. - - name: zephyr - path: zephyr - remote: tiacsys - repo-path: zephyr - revision: tiacsys/main - clone-depth: 5000 - # import submodules from Zephyr manifest - import: - # In addition to the Zephyr repository itself, TIAC also - # imports the contents of Zephyr/west.yml at the above - # revision. Only the projects explicitly named in the - # following allowlist are imported. - # - # Note that the Zephyr west extensions (like 'build', 'flash', - # 'debug', etc.) are automatically provided by this import, so - # there's no need to add a redundant west-commands: key for - # the Zephyr project. - # - # Please keep this list sorted alphabetically. - name-allowlist: - - canopennode - - chre - - cmsis - - edtt - - fatfs - - hal_altera - - hal_atmel - - hal_espressif - - hal_nordic - - hal_nxp - - hal_rpi_pico - - hal_st - - hal_stm32 - - hal_xtensa - - libmetal - - liblc3 - - littlefs - - loramac-node - - lvgl - - mbedtls - - mipi-sys-t - - net-tools - - open-amp - - openthread - - picolibc - - segger - - tinycrypt - # hook up for Bridle zephyr_trampoline.py - userdata: - west-commands-path: scripts/west_commands # West-related configuration for the Bridle repository. self: