1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

5958 Commits

Author SHA1 Message Date
bors[bot]
d193988db2
Merge #19105
19105: Documentation: Document PWM and other Peripherals for Weact STM32F4x1Cx boards r=maribu a=jhaand

### Contribution description
The  Weact boards with STM32F4x1Cx MCU's have their PWM outputs enabled. But these currently do not show in the the documentation. This PR updates the documentation for these 3 boards.  

### Testing procedure
I rebuild the documentation with `make doc` and checked the resulting 3 html files. 

### Issues/PRs references
Fixes this issue: https://github.com/jhaand/RIOT/issues/1
Also referred to in this issue: https://github.com/RIOT-OS/RIOT/issues/19103

### Context
Discussed `@maribu` and `@benpicco` on matrix [link](https://matrix.to/#/!pqHdpanAvkJvlCwUDE:matrix.org/$lEMfOAG5rGGrkEjfJcsg0nC1Ebj4vlitvH9zm8uP-NM?via=matrix.org&via=rubdos.be&via=schleiser.de)


Co-authored-by: Jelle Haandrikman <jhaand@freedom.nl>
2023-01-07 10:28:49 +00:00
Jelle Haandrikman
443cafd2d5 boards/stm32f4x1xx: Improve documentation 2023-01-06 23:10:26 +01:00
Marian Buschsieweke
527f7be65b
boards/hamilton: Fix TMP00x parameters
The TMP006 driver has been renamed to TMP00x, as it (now) supports both
TMP006 and TMP007 infrared thermopile sensors. However, the board
configuration was never updated to match the new names. This fixes the
issue.
2023-01-06 15:53:25 +01:00
bors[bot]
745973d594
Merge #19014 #19094
19014: boards/qn9080dk: add TTY_BOARD_FILTER r=kaspar030 a=maribu

### Contribution description

With `MOST_RECENT_PORT=1` the TTY interface of the most recently connected board with an embedded NXP debugger is selected. If only a single board with an embedded NXP debugger is selected, this will automatically connect to the correct board using:

```
make term MOST_RECENT_PORT=1
```

### Testing procedure

Run `make term MOST_RECENT_PORT=1` with a qn9080dk board and some non-NXP boards attached. It should reliably select the qn9080dk regardless of TTY names and order they were connected.

### Issues/PRs references

None

19094: dist/tools/doccheck: Reduce noise r=benpicco a=maribu

### Contribution description

This adds central documentation of driver initialization parameters in `driver/foo/include/foo_params.h` where missing for drivers used by the Hamilton board. In addition, the macros to overwrite the default parameters are no longer expected to be documented by adding generic exclude patterns. The reasoning is that having the macros documented once is sufficient.

### Testing procedure

Static tests should pass

### Issues/PRs references

Required to get https://github.com/RIOT-OS/RIOT/pull/19090 in

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-05 22:26:18 +00:00
bors[bot]
170dd0300f
Merge #17919
17919: board/microbit: increase testtimeout for emulated testing r=benpicco a=kfessel

### Contribution description

this increases the timeout for tests run by murdock on emulated microbit (accounting for startup of qemu)

### Testing procedure

murdock

### Issues/PRs references

#17894 

Co-authored-by: Karl Fessel <karl.fessel@ovgu.de>
2023-01-05 19:45:29 +00:00
bors[bot]
e51d8285f3
Merge #19037
19037: sys/usb, pkg/tinyusb: move USB board reset from highlevel STDIO to CDC ACM r=dylad a=gschorcht

### Contribution description

The USB board reset function `usb_board_reset_coding_cb` can be used on any CDC-ACM interface, even if the CDC ACM interface is not used as high-level STDIO. Therefore, this PR provides the following changes:

- The call of the board reset function `usb_board_reset_coding_cb` from USBUS stack has been moved from the STDIO CDC ACM implementation to the CDC ACM implementation and is thus a feature of any USBUS CDC ACM interface which does not necessarily have to be used as highlevel STDIO.

- The call of the board reset function `usb_board_reset_coding_cb` from tinyUSB stack been moved from module `tinyusb_stdio_cdc_acm` to module `tinyusb_contrib` and is compiled in if the `tinyusb_class_cdc` module is used together the `tinyusb_device` module. Thus, it is now a feature of the tinyUSB CDC ACM interface, which does not necessarily have to be used as highlevel STDIO.
 
- The `usb_board_reset` module defines the `usb_board_reset_in_bootloader` function as a weak symbol to be used when reset in bootloader if no real implementation of this function is compiled in and the `riotboot_reset` module is not used. It only prints an error message that the reset in bootloader is not supported. This is necessary if the module `usb_board_reset` is used to be able to restart the board with an application via a USB CDC ACM interface, but the board's bootloader does not support the reset in bootloader feature.

- A test application has been added that either uses the highlevel STDIO `stdio_acm_cdc` or creates a CDC-ACM interface to enable board resets via USB. If the `usbus_dfu` module is used, it also initializes the DFU interface to be able to work together with the `riotboot_dfu` bootloader.

### Testing procedure

1. Use a board with a bootloader that supports the reset in bootloader via USB, but don't use the highlevel STDIO to check that it works with `usbus_cdc_acm`, for example:
   ```python
   USEMODULE=stdio_uart BOARD=arduino-mkr1000 make -C tests/usb_board_reset flash
   ```
   After reset in application with command
   ```python
   stty -F /dev/ttyACM0 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
   ```
   command `dmesg` should give an output like the following with RIOT's test VID/PID:
   ```python
   dmesg
   [1745182.057403] usb 1-4.1.2: new full-speed USB device number 69 using xhci_hcd
   [1745182.160386] usb 1-4.1.2: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00
   [1745182.160390] usb 1-4.1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
   [1745182.160392] usb 1-4.1.2: Product: arduino-mkr1000
   [1745182.160393] usb 1-4.1.2: Manufacturer: RIOT-os.org
   [1745182.160395] usb 1-4.1.2: SerialNumber: 6B6C2CA5229020D8
   [1745182.170982] cdc_acm 1-4.1.2:1.0: ttyACM0: USB ACM device
   ```
   After reset in bootloader with command
   ```python
   stty -F /dev/ttyACM0 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
   ```
   command `dmesg` should give an output like the following with vendor VID/PID:
   ```python
   [1746220.443792] usb 1-4.1.2: new full-speed USB device number 70 using xhci_hcd
   [1746220.544705] usb 1-4.1.2: New USB device found, idVendor=2341, idProduct=024e, bcdDevice= 2.00
   [1746220.544708] usb 1-4.1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
   [1746220.553471] cdc_acm 1-4.1.2:1.0: ttyACM0: USB ACM device
   ```
   
2. Test the same as in 1., but this time use the highlevel STDIO to check that there is no regression and it still works with `stdio_cdc_acm`, for example:
   ```python
   BOARD=arduino-mkr1000 make -C tests/usb_board_reset flash
   ```
   
3. Use a board that supports `riotboot_dfu` but doesn't use the highlevel STDIO and flash the `riotboot_dfu` bootloader, for example:
   ```python
   BOARD=stm32f429i-disc1 make -C bootloaders/riotboot_dfu flash term
   ```
   Once the bootloader is flashed, command `dfu-util --list` should give something like the following:
   ```python
   Found DFU: [1209:7d02] ver=0100, devnum=14, cfg=1, intf=0, path="1-2", alt=1, name="RIOT-OS Slot 1", serial="6591620BCB270283"
   Found DFU: [1209:7d02] ver=0100, devnum=14, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS Slot 0", serial="6591620BCB270283"
   ```
   If the output gives only
   ```python
   Found Runtime: [1209:7d00] ver=0100, devnum=123, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS bootloader", serial="6591620BCB270283"
   ```
   an application is already running in DFU Runtime mode. Use `dfu-util -e` to restart it in bootloader DFU mode.
   Then flash the test application, for example:
   ```python
   FEATURES_REQUIRED=riotboot USEMODULE='usbus_dfu riotboot_reset' \
   BOARD=stm32f429i-disc1 make -C tests/usbus_board_reset PROGRAMMER=dfu-util riotboot/flash-slot0
   ```
   Once the test application is flashed, command `dfu-util --list` should give:
   ```python
   Found Runtime: [1209:7d00] ver=0100, devnum=123, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS bootloader", serial="6591620BCB270283"
   ```
   Now, use command
   ```python
   stty -F /dev/ttyACM1 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
   ``` 
   to restart the board in application. Command `dfu-util --list` should give again the following:
   ```python
   Found Runtime: [1209:7d00] ver=0100, devnum=123, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS bootloader", serial="6591620BCB270283"
   ```
   That is, the application is running in DFU Runtime mode. Then use command
   ```python
   stty -F /dev/ttyACM1 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
   ```
   to restart the board in bootloader DFU mode. Command  `dfu-util --list` should now give the following:
   ```python
   Found DFU: [1209:7d02] ver=0100, devnum=50, cfg=1, intf=0, path="1-2", alt=1, name="RIOT-OS Slot 1", serial="7D156425A950A8EB"
   Found DFU: [1209:7d02] ver=0100, devnum=50, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS Slot 0", serial="7D156425A950A8EB"
   ```
   That is, the bootloader is in DFU mode and another application can be flash.
   
4. After a hard reset of the board under 3., try the commands `reboot` and `bootloader`. 

5. To check the same for tinyUSB, use the existing tinyUSB application with a CDC ACM interface and add module `usb_board_reset`, for example:
   ```python
   USEMODULE=usb_board_reset BOARD=stm32f429i-disc1 make -C tests/pkg_tinyusb_cdc_msc flash term
   ```
   After flashing, it should be possible to restart the application with command:
   ```python
   stty -F /dev/ttyACM1 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
   ```
   When using command
   ```python
   stty -F /dev/ttyACM1 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
   ```
   the following error message should be shown in terminal
   ```python
   [cdc-acm] reset in bootloader is not supported
   ```
   
### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-03 19:36:16 +00:00
Gunar Schorcht
0fbe9f6dfd boards/common/samdx1-arduino-bootloader: use any CDC ACM interface 2023-01-03 10:05:54 +01:00
Marian Buschsieweke
d2a3ff3d83
boards/{bluepill*,blackpill*}: rename and improve doc
- renamed:
    - `bluepill` --> `bluepill-stm32f103c8`
    - `bluepill-128kib` --> `bluepill-stm32f103cb`
    - `blackpill` --> `blackpill-stm32f103c8`
    - `blackpill-128kib` --> `blackpill-stm32f103cb`
- doc:
    - added link to corresponding hardware page on the STM32-base
      project
    - added picture
2023-01-02 16:23:10 +01:00
bors[bot]
f539035c86
Merge #18756
18756: drivers/usbdev_synopsys_dwc2: add EFM32 support r=chrysn a=gschorcht

### Contribution description

This PR provides the changes for the Synopsys USB OTG IP core DWC2 driver for EFM32 MCUs. It also provides the changes of the board definition for `stk3600` and `stk3700` for testing.

### Testing procedure

`tests/usbus_hid` should work on the EFM32 boards `stk3600` (EFM32LG family) and `stk3700` (EFM32GG family).

It is already tested for a `sltb009a` board (EFM32GG12 family).

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-12-19 12:55:57 +00:00
bors[bot]
a0f823c553
Merge #19023
19023: pkg/tinyusb: fix Kconfig problems r=maribu a=gschorcht

### Contribution description

This PR tries to fix the [problems with `tinyUSB` in nightlies](https://ci.riot-os.org/details/d11b383ba0cd45048ed6f8d98abbc0de).
- The `tinyusb_device` feature had to be moved from `boards/common/arduino-zero` definition to the `boards/arduino-zero` definition because the common `arduino-zero` features are also used by `wemos-zero` which uses the `highlevel_stdio` feature via the `stdio_cdc_acm` module.
- The `tinyusb_device` feature had to be removed from Kconfig of board `stm32f429i-disco` since it uses the `highlevel_stdio` feature via the `stdio_cdc_acm` module.

### Testing procedure

Green CI

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-12-13 10:27:45 +00:00
krzysztof-cabaj
d11a6409fe boards/rpi-pico: doc - fix link to datasheet 2022-12-12 06:02:55 -05:00
Gunar Schorcht
b805709791 boards/stm32f429i-disc1: disable tinyusb feature for stm32f429i-disco 2022-12-12 06:37:53 +01:00
bors[bot]
268e931f1c
Merge #19012
19012: boards/arduino-mega2560: add TTY_BOARD_FILTER r=gschorcht a=maribu

### Contribution description

This allows automatically selecting TTY actually belonging to an
Arduino Mega2560 if `MOST_RECENT_PORT=1` is set.

### Testing procedure

```
make BOARD=arduino-mega2560 MOST_RECENT_PORT=1 -C examples/default flash term
```

Should automatically select the TTY of the most recently connected Arduino Mega2560, even if a board of a different type is connect more recently.

### Issues/PRs references

- [x] depends on (and includes) https://github.com/RIOT-OS/RIOT/pull/19011

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2022-12-11 18:20:38 +00:00
Marian Buschsieweke
dadf22f07a
boards/arduino-mega2560: add TTY_BOARD_FILTER
This allows automatically selecting TTY actually belonging to an
Arduino Mega2560 if `MOST_RECENT_PORT=1` is set.

Note: Unless `ARDUINO_MEGA2560_COMPAT_WITH_CLONES` is set to `0`,
this will fall back to detecting any cheap USB UART bridge typically
found in Arduino Mega 2560 clones if no genuine Arduino Mega is found.
2022-12-11 18:58:19 +01:00
krzysztof-cabaj
185c44e42d boards/nucleo-l496zg: doc improvement 2022-12-10 11:41:45 -05:00
Gunar Schorcht
c7e6e3714d board/sltb009a: enable feature periph_usbdev 2022-12-07 16:34:34 +01:00
Gunar Schorcht
7651e68db9 boards/common/silabs: add common USB OTG FS config 2022-12-07 16:34:34 +01:00
Gunar Schorcht
f085a87c51 board/stk3600: enable feature periph_usbdev 2022-12-07 16:34:34 +01:00
Gunar Schorcht
a9afc97bb2 board/stk3700: enable feature periph_usbdev 2022-12-07 16:34:34 +01:00
Gunar Schorcht
0b1b7e8408 boards/arduino-zero: move tinusb_device feature
The `tinyusb_device` feature introduced with PR #18689 has to be moved from `common/arduino-zero` definition to the `arduino-zero` definition because the common `arduino-zero` features are also used by `wemos-zero` which uses `highlevel_stdio` feature via the `stdio_cdc_acm` module.
2022-12-07 13:56:24 +01:00
Marian Buschsieweke
08725d65cc
boards/qn9080dk: add TTY_BOARD_FILTER
With `MOST_RECENT_PORT=1` the TTY interface of the most recently
connected board with an embedded NXP debugger is selected. If only
a single board with an embedded NXP debugger is selected, this will
automatically connect to the correct board using:

```
make term MOST_RECENT_PORT=1
```
2022-12-05 11:20:39 +01:00
Gunar Schorcht
44893a37e4 boards/common/weact-f4x1cx: remove tinyUSB feature
weact-f4xcx boards have only a single USB-C connector that is used for `highlevel_stdio` via USBUS CDC ACM so that it conflicts with tinyUSB for the moment.
2022-12-04 16:23:02 +01:00
Gunar Schorcht
5c38fafee4 boards/stm32f723e-disco: fix periph_uart_hw_fc use
Enabling module `periph_uart_hw_fc` makes only sense if module `periph_uart` is used.
2022-12-04 16:06:14 +01:00
Gunar Schorcht
93215df868 sys/usb/usbus: enable USBUS stdio_cdc_acm only if tinyUSB is not used 2022-12-03 12:52:45 +01:00
Gunar Schorcht
9fa01d69d8 boards/common/blxxxpill: enable riotboot feature 2022-11-30 19:28:14 +01:00
Gunar Schorcht
941d6be666 boards: make DFU_USB_ID and DFU_USE_DFUSE overridable 2022-11-30 19:28:14 +01:00
Marian Buschsieweke
317b12af34
Merge pull request #18986 from maribu/boards/qn9080dk
boards/qn9080dk: add default OPENOCD_DEBUG_ADAPTER
2022-11-28 17:42:30 +01:00
Marian Buschsieweke
e94fdf129f
boards/qn9080dk: add default OPENOCD_DEBUG_ADAPTER
The board has integrated debugger:

    1fc9:0090 NXP Semiconductors LPC-LINK2 CMSIS-DAP V5.173

This commit changes the default debug adapter to this one.
2022-11-28 13:38:59 +01:00
krzysztof-cabaj
d7c56670d3 boards/nucleo-g071rb: improve ADC doc 2022-11-28 05:07:25 -05:00
krzysztof-cabaj
2d4ab71a3e boards/nucleo-g070rb: improve ADC doc 2022-11-28 05:07:25 -05:00
krzysztof-cabaj
66357132e4 boards/nucleo-l476rg: improve ADC doc 2022-11-26 17:30:47 -05:00
krzysztof-cabaj
fce4d350cd boards/nucleo-l496zg: move vbat divider info to main section 2022-11-26 17:30:47 -05:00
krzysztof-cabaj
633743240d boards/nucleo-l4r5zi: add doxygen info about Vbat divider 2022-11-26 17:30:47 -05:00
Juergen Fitschen
d9cde14669 treewide: fix typos found by recent codespell 2022-11-24 14:53:48 +01:00
Juergen Fitschen
a6ff838a4b
Merge pull request #18933 from jue89/feature/cpu_efm32_series_2_adc
cpu/efm32: add periph_adc support for Gecko Series 2
2022-11-24 11:32:56 +01:00
Marian Buschsieweke
778f566210
Merge pull request #18958 from benpicco/boards/pwm-style
boards/sam*-xpro: fix style of PWM config
2022-11-24 07:32:40 +01:00
benpicco
86d72c7b85
Merge pull request #18940 from krzysztof-cabaj/nucleo-l496zg-ADC
boards/nucleo-l496zg: add ADC support
2022-11-23 20:34:08 +01:00
Benjamin Valentin
07b3ccbc6a boards/samd21-xpro: fix style of PWM config 2022-11-23 14:06:30 +01:00
Benjamin Valentin
90b0607f18 boards/same54-xpro: fix style of PWM config 2022-11-23 13:53:46 +01:00
Benjamin Valentin
58e37a7c58 boards/saml21-xpro: fix style of PWM config 2022-11-23 13:53:32 +01:00
Benjamin Valentin
f878f11193 boards/samr21-xpro: fix style of PWM config 2022-11-23 13:53:14 +01:00
Marian Buschsieweke
232c70ba53
Merge pull request #18948 from maribu/boards/common/nrf52
boards/common/nrf52: fix timer config
2022-11-23 10:47:26 +01:00
Juergen Fitschen
ab86198112 boards/xg23-pk6068a: add ADC lines 2022-11-22 14:44:56 +01:00
Marian Buschsieweke
51b6379dee
boards/common/nrf52: fix timer config
The `channels` member should not be set to the number of hardware
channels *n*, but to *n* - 1 instead. The last channel is implicitly
used in `timer_read()`. Hence out of *n* hardware channels, only *n* - 1
are available to the application.

This fixes a bug introduced by 4d02e15247
which incorrectly set the channel number to *n* rather than to
*n* - 1.
2022-11-22 13:20:53 +01:00
Jue
2a81a2ab5c cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
krzysztof-cabaj
c7cd72c0bc boards/nucleo-l496zg: add ADC support 2022-11-21 08:35:05 -05:00
64dcfd67ff
Merge pull request #18811 from maribu/boards/common/nrf52
boards/common/nrf52: improve default clock config
2022-11-21 09:33:47 +00:00
benpicco
f533b3f282
Merge pull request #18929 from krzysztof-cabaj/nucleo-l476rg-doc
boards/nucleo-l476zg: doc improvements
2022-11-18 12:20:07 +01:00
krzysztof-cabaj
42104b79fb boards/nucleo-l476zg: doc improvements 2022-11-17 16:08:20 -05:00
Marian Buschsieweke
35149bd1c2
Merge pull request #18797 from MrKevinWeiss/pr/fixstmclk
cpu/stm32: Fix stm clock configuration
2022-11-15 11:39:25 +01:00