RIOT icon indicating copy to clipboard operation
RIOT copied to clipboard

boards/seeedstudio-xiao-nrf52840: initial board support

Open mguetschow opened this issue 1 year ago • 7 comments

Contribution description

Initial board support for the tiny Seed Studio XIAO nRF52840. It uses the same bootloader as the Adafruit nrf52840 Feather (Sense) boards.

Testing procedure

  • I'm still in the process of running BUILD_IN_DOCKER=1 dist/tools/compile_and_test_for_board/compile_and_test_for_board.py . seeedstudio-xiao-nrf52840 locally and will report back with the result later.

  • Look through the header and configuration files. I've mostly followed the example from feather-nrf52840-sense and nrf52840dk (for the external flash).

  • Check generated documentation for the board.

mguetschow avatar Nov 13 '24 10:11 mguetschow

  • I'm still in the process of running BUILD_IN_DOCKER=1 dist/tools/compile_and_test_for_board/compile_and_test_for_board.py . seeedstudio-xiao-nrf52840 locally and will report back with the result later.

Currently failing tests:

$ find results -name "*.failed"
results/seeedstudio-xiao-nrf52840/tests/sys/congure_test/test.failed
results/seeedstudio-xiao-nrf52840/tests/sys/pthread_flood/test.failed
results/seeedstudio-xiao-nrf52840/tests/sys/congure_quic/test.failed
results/seeedstudio-xiao-nrf52840/tests/sys/usbus/test.failed
results/seeedstudio-xiao-nrf52840/tests/sys/shell/test.failed
results/seeedstudio-xiao-nrf52840/tests/core/thread_msg/test.failed
results/seeedstudio-xiao-nrf52840/tests/core/msg_queue_print/test.failed
results/seeedstudio-xiao-nrf52840/tests/riotboot/test.failed
results/seeedstudio-xiao-nrf52840/tests/turo/test.failed
results/seeedstudio-xiao-nrf52840/tests/cpu/mpu_noexec_ram/test.failed
results/seeedstudio-xiao-nrf52840/tests/cpu/mpu_stack_guard/test.failed
results/seeedstudio-xiao-nrf52840/tests/riotboot_hdr/test.failed
results/seeedstudio-xiao-nrf52840/tests/pkg/libschc/test.failed

mguetschow avatar Nov 13 '24 19:11 mguetschow

Most of those are software-only and won't depend on the board. compile_and_test_for_board.py isn't the greatest way to test a board, there are tests/periph/spi, tests/periph/uart and tests/drivers/mtd_raw that come with a test command but that requires RX/TX / MISO/MOSI to be connected or a writable MTD device (in case the board exposes MTD). ``tests/periph/i2calso includesi2c_scan, but that can be included everywhere with shell_cmd_i2c_scan`.

(Thinking of it, we should probably add a general board test app that makes it easier to evaluate a newly ported board)

benpicco avatar Nov 13 '24 22:11 benpicco

Most of those are software-only and won't depend on the board.

True, but I've still managed to find some issues which are at least board-related :)

there are tests/periph/spi, tests/periph/uart and tests/drivers/mtd_raw

Great, I'll have a look! Do we have a list of such useful test applications for new boards somewhere? May be good to add a pointer to the documentation.

(Thinking of it, we should probably add a general board test app that makes it easier to evaluate a newly ported board)

Or even better!

mguetschow avatar Nov 14 '24 14:11 mguetschow

tests/periph/uart: :heavy_check_mark: SUCCESS

with UART pins connected (TX to RX)

make -C tests/periph/uart BOARD=seeedstudio-xiao-nrf52840 flash term
make: Entering directory '/home/mikolai/TUD/Code/RIOT-build/tests/periph/uart'
Building application "tests_uart" for "seeedstudio-xiao-nrf52840" with CPU "nrf52".

"make" -C /home/mikolai/TUD/Code/RIOT-build/pkg/cmsis/ 
"make" -C /home/mikolai/TUD/Code/RIOT-build/boards/common/init
"make" -C /home/mikolai/TUD/Code/RIOT-build/boards/seeedstudio-xiao-nrf52840
"make" -C /home/mikolai/TUD/Code/RIOT-build/core
"make" -C /home/mikolai/TUD/Code/RIOT-build/core/lib
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf52
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/cortexm_common
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/cortexm_common/periph
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf52/periph
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf52/vectors
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf5x_common
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf5x_common/periph
"make" -C /home/mikolai/TUD/Code/RIOT-build/drivers
"make" -C /home/mikolai/TUD/Code/RIOT-build/drivers/periph_common
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/auto_init
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/auto_init/usb
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/div
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/event
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/fmt
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/frac
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/isrpipe
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/libc
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/luid
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/malloc_thread_safe
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/newlib_syscalls_default
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/preprocessor
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/shell
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/stdio
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/tsrb
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/usb/usbus
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/usb/usbus/cdc/acm
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/usb_board_reset
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/ztimer
   text    data     bss     dec     hex filename
  28324     132    6324   34780    87dc /home/mikolai/TUD/Code/RIOT-build/tests/periph/uart/bin/seeedstudio-xiao-nrf52840/tests_uart.elf
stty -F /dev/ttyACM0 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
sleep 10
/home/mikolai/TUD/Code/RIOT-build/dist/tools/uf2/uf2conv.py -f 0xADA52840 /home/mikolai/TUD/Code/RIOT-build/tests/periph/uart/bin/seeedstudio-xiao-nrf52840/tests_uart.hex --base 0x1000
Converted to uf2, output size: 57344, start address: 0x1000
Flashing /media/mikolai/XIAO-SENSE (Seeed_XIAO_nRF52840_Sense)
Wrote 57344 bytes to /media/mikolai/XIAO-SENSE/NEW.UF2
sleep 2
/home/mikolai/TUD/Code/RIOT-build/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" -ln "/tmp/pyterm-mikolai" -rn "2024-11-25_16.37.17-tests_uart-seeedstudio-xiao-nrf52840"  
Twisted not available, please install it if you want to use pyterm's JSON capabilities
2024-11-25 16:37:17,369 # Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
2024-11-25 16:37:18,371 #  data 
2024-11-25 16:37:18,372 # being printed to STDOUT
2024-11-25 16:37:18,372 # 
2024-11-25 16:37:18,373 # NOTE: all strings need to be '\n' terminated!
2024-11-25 16:37:18,373 # 
2024-11-25 16:37:18,373 # 
2024-11-25 16:37:18,373 # UART INFO:
2024-11-25 16:37:18,374 # Available devices:               1
> test 0
2024-11-25 16:37:20,905 # test 0
2024-11-25 16:37:20,905 # [START]
2024-11-25 16:37:20,935 # warning: unsupported baudrate 48000
2024-11-25 16:37:20,939 # warning: unsupported baudrate 67200
2024-11-25 16:37:20,942 # warning: unsupported baudrate 86400
2024-11-25 16:37:20,943 # warning: unsupported baudrate 96000
2024-11-25 16:37:20,944 # warning: unsupported baudrate 105600
2024-11-25 16:37:20,944 # [SUCCESS]
> /exit
2024-11-25 16:37:55,158 # Exiting Pyterm
make: Leaving directory '/home/mikolai/TUD/Code/RIOT-build/tests/periph/uart'

mguetschow avatar Nov 25 '24 15:11 mguetschow

tests/periph/spi: :heavy_check_mark: SUCCESS

with SPI pins connected (MOSI to MISO)

make -C tests/periph/spi BOARD=seeedstudio-xiao-nrf52840 flash term
make: Entering directory '/home/mikolai/TUD/Code/RIOT-build/tests/periph/spi'
Building application "tests_spi" for "seeedstudio-xiao-nrf52840" with CPU "nrf52".

"make" -C /home/mikolai/TUD/Code/RIOT-build/pkg/cmsis/ 
"make" -C /home/mikolai/TUD/Code/RIOT-build/boards/common/init
"make" -C /home/mikolai/TUD/Code/RIOT-build/boards/seeedstudio-xiao-nrf52840
"make" -C /home/mikolai/TUD/Code/RIOT-build/core
"make" -C /home/mikolai/TUD/Code/RIOT-build/core/lib
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf52
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/cortexm_common
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/cortexm_common/periph
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf52/periph
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf52/vectors
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf5x_common
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf5x_common/periph
"make" -C /home/mikolai/TUD/Code/RIOT-build/drivers
"make" -C /home/mikolai/TUD/Code/RIOT-build/drivers/periph_common
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/auto_init
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/auto_init/usb
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/div
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/event
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/fmt
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/frac
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/isrpipe
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/libc
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/luid
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/malloc_thread_safe
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/newlib_syscalls_default
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/preprocessor
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/schedstatistics
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/shell
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/shell/cmds
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/stdio
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/tsrb
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/usb/usbus
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/usb/usbus/cdc/acm
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/usb_board_reset
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/ztimer
   text    data     bss     dec     hex filename
  30272     168    5704   36144    8d30 /home/mikolai/TUD/Code/RIOT-build/tests/periph/spi/bin/seeedstudio-xiao-nrf52840/tests_spi.elf
stty -F /dev/ttyACM0 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
sleep 10
/home/mikolai/TUD/Code/RIOT-build/dist/tools/uf2/uf2conv.py -f 0xADA52840 /home/mikolai/TUD/Code/RIOT-build/tests/periph/spi/bin/seeedstudio-xiao-nrf52840/tests_spi.hex --base 0x1000
Converted to uf2, output size: 60928, start address: 0x1000
Flashing /media/mikolai/XIAO-SENSE (Seeed_XIAO_nRF52840_Sense)
Wrote 60928 bytes to /media/mikolai/XIAO-SENSE/NEW.UF2
sleep 2
/home/mikolai/TUD/Code/RIOT-build/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" -ln "/tmp/pyterm-mikolai" -rn "2024-11-25_16.46.30-tests_spi-seeedstudio-xiao-nrf52840"  
Twisted not available, please install it if you want to use pyterm's JSON capabilities
2024-11-25 16:46:30,424 # Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
2024-11-25 16:46:31,426 # -board-xiao-nrf52840)
2024-11-25 16:46:31,427 # Manual SPI peripheral driver test (see README.md)
2024-11-25 16:46:31,428 # There are 2 SPI devices configured for your platform.
init 0 0 0
2024-11-25 16:46:38,372 # init 0 0 0
2024-11-25 16:46:38,373 # Trying to initialize SPI_DEV(0): mode: 0, clk: 0, cs_port: 0, cs_pin: 0
2024-11-25 16:46:38,383 # (if below the program crashes with a failed assertion, then it means the configuration is not supported)
2024-11-25 16:46:38,383 # Success.
> send hello
2024-11-25 16:46:43,524 # send hello
2024-11-25 16:46:43,525 # Sent bytes
2024-11-25 16:46:43,533 #    0    1    2    3    4 
2024-11-25 16:46:43,534 #   0x68 0x65 0x6c 0x6c 0x6f
2024-11-25 16:46:43,534 #     h    e    l    l    o 
2024-11-25 16:46:43,534 # 
2024-11-25 16:46:43,535 # Received bytes
2024-11-25 16:46:43,535 #    0    1    2    3    4 
2024-11-25 16:46:43,536 #   0x68 0x65 0x6c 0x6c 0x6f
2024-11-25 16:46:43,536 #     h    e    l    l    o 
2024-11-25 16:46:43,536 # 
> 

mguetschow avatar Nov 25 '24 15:11 mguetschow

tests/drivers/mtd_raw: :heavy_check_mark: SUCCESS

make -C tests/drivers/mtd_raw BOARD=seeedstudio-xiao-nrf52840 flash term
make: Entering directory '/home/mikolai/TUD/Code/RIOT-build/tests/drivers/mtd_raw'
Building application "tests_mtd_raw" for "seeedstudio-xiao-nrf52840" with CPU "nrf52".

"make" -C /home/mikolai/TUD/Code/RIOT-build/pkg/cmsis/ 
"make" -C /home/mikolai/TUD/Code/RIOT-build/boards/common/init
"make" -C /home/mikolai/TUD/Code/RIOT-build/boards/seeedstudio-xiao-nrf52840
"make" -C /home/mikolai/TUD/Code/RIOT-build/core
"make" -C /home/mikolai/TUD/Code/RIOT-build/core/lib
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf52
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/cortexm_common
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/cortexm_common/periph
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf52/periph
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf52/vectors
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf5x_common
"make" -C /home/mikolai/TUD/Code/RIOT-build/cpu/nrf5x_common/periph
"make" -C /home/mikolai/TUD/Code/RIOT-build/drivers
"make" -C /home/mikolai/TUD/Code/RIOT-build/drivers/mtd
"make" -C /home/mikolai/TUD/Code/RIOT-build/drivers/mtd_spi_nor
"make" -C /home/mikolai/TUD/Code/RIOT-build/drivers/periph_common
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/auto_init
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/auto_init/usb
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/div
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/event
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/fmt
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/isrpipe
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/libc
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/luid
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/malloc_thread_safe
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/newlib_syscalls_default
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/od
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/preprocessor
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/shell
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/shell/cmds
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/stdio
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/test_utils/interactive_sync
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/test_utils/print_stack_usage
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/tsrb
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/usb/usbus
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/usb/usbus/cdc/acm
"make" -C /home/mikolai/TUD/Code/RIOT-build/sys/usb_board_reset
   text    data     bss     dec     hex filename
  30980     172    4664   35816    8be8 /home/mikolai/TUD/Code/RIOT-build/tests/drivers/mtd_raw/bin/seeedstudio-xiao-nrf52840/tests_mtd_raw.elf
stty -F /dev/ttyACM0 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
sleep 10
/home/mikolai/TUD/Code/RIOT-build/dist/tools/uf2/uf2conv.py -f 0xADA52840 /home/mikolai/TUD/Code/RIOT-build/tests/drivers/mtd_raw/bin/seeedstudio-xiao-nrf52840/tests_mtd_raw.hex --base 0x1000
Converted to uf2, output size: 62464, start address: 0x1000
Flashing /media/mikolai/XIAO-SENSE (Seeed_XIAO_nRF52840_Sense)
Wrote 62464 bytes to /media/mikolai/XIAO-SENSE/NEW.UF2
sleep 2
/home/mikolai/TUD/Code/RIOT-build/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" -ln "/tmp/pyterm-mikolai" -rn "2024-11-25_16.52.18-tests_mtd_raw-seeedstudio-xiao-nrf52840"  
Twisted not available, please install it if you want to use pyterm's JSON capabilities
2024-11-25 16:52:18,148 # Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
2024-11-25 16:52:19,150 # main(): This is RIOT! (Version: 2025.01-devel-193-g72f9f-board-xiao-nrf52840)
2024-11-25 16:52:19,151 # Manual MTD test
2024-11-25 16:52:19,151 # init MTD_0… OK (2 MiB)
info
2024-11-25 16:52:24,740 # info
2024-11-25 16:52:24,741 # mtd devices: 1
2024-11-25 16:52:24,741 #  -=[ MTD_0 ]=-
2024-11-25 16:52:24,742 # sectors: 512
2024-11-25 16:52:24,742 # pages per sector: 16
2024-11-25 16:52:24,742 # page size: 256
2024-11-25 16:52:24,743 # total: 2 MiB
> test 0
2024-11-25 16:52:27,891 # test 0
2024-11-25 16:52:27,891 # [START]
2024-11-25 16:52:28,207 # [SUCCESS]
> 

mguetschow avatar Nov 25 '24 15:11 mguetschow

Status update on tests that have been failing previously:

  • [x] tests/sys/congure_test
  • [x] tests/sys/pthread_flood (only with stdio_uart)
  • [x] tests/sys/congure_quic (only with stdio_uart)
  • [x] tests/sys/usbus (only with stdio_uart)
  • [x] tests/sys/shell (see #21036)
  • [x] tests/core/thread_msg (see #20989)
  • [x] tests/core/msg_queue_print (with stdio_uart, for highlevel_stdio see #21047)
  • [ ] tests/riotboot
  • [x] tests/turo (only with stdio_uart)
  • [x] tests/cpu/mpu_noexec_ram (only with stdio_uart, highlevel_stdio blacklisted since #20990)
  • [x] tests/cpu/mpu_stack_guard (only with stdio_uart, highlevel_stdio blacklisted since #20990)
  • [x] tests/riotboot_hdr
  • [x] tests/pkg/libschc (only with stdio_uart)

Some of them fail with stdio_cdc_acm but not with stdio_uart. In some cases this is expected, in others not really.

mguetschow avatar Nov 26 '24 20:11 mguetschow

I've created #21231 for tests that reproducibly fail on other boards as well with stdio_cdc_acm but succeed with stdio_uart.

For tests/sys/congure_quick and tests/pkg/libschc I couldn't reproduce with BOARD=feather-nrf52840-sense. Not sure whether it's worth to investigate more here what the difference could be.

tests/riotboot is probably deemed to fail as long as we use the adafruit bootloader.

mguetschow avatar Feb 20 '25 13:02 mguetschow

Regarding the failing static tests, do you think it actually makes sense to keep these defines in the header (and document them accordingly) or should I just move them to the c-file? In the end, the flash is hard-soldered onto the board anyways.

mguetschow avatar Feb 20 '25 13:02 mguetschow

Other than that, I'd say this is ready to be reviewed again from my side.

mguetschow avatar Feb 20 '25 13:02 mguetschow

Murdock results

:heavy_check_mark: PASSED

a0678a7a55e09636487dc88b0392f2074e0c4bba boards/seeedstudio-xiao-nrf52840: Arduino pin map

Success Failures Total Runtime
10270 0 10271 12m:32s

Artifacts

riot-ci avatar Feb 20 '25 14:02 riot-ci

IMO it looks good and you can resolve the suggestions. I gave this a quick test run with tests/sys/shell via USB, tests/sys/shell_ble via BLE, tests/periph/adc and examples/essentials/filesystem for the flash and everything seems to work (after the US_PER_MS change).

crasbe avatar Feb 20 '25 14:02 crasbe

Regarding the failing static tests, do you think it actually makes sense to keep these defines in the header (and document them accordingly) or should I just move them to the c-file? In the end, the flash is hard-soldered onto the board anyways.

For consistency with the other boards, I would probably leave them in the header. How to deal with the doccheck? Good question, I don't know.


Do you want/need to have anything else tested specifically?

It seems like the static tests are unhappy about trailing whitespaces in boards/seeedstudio-xiao-nrf52840/doc.txt and the closing operator for the group @} is missing. This happened when you included the asterisks I think.


I ordered a Xiao nRF52840 Sense board yesterday, which we want to use for an upcoming seminar. Apparently the LSM6DS3TR-C is fully compatible with the LSM6DSL that is already implemented in RIOT :)

crasbe avatar Feb 25 '25 12:02 crasbe

For consistency with the other boards, I would probably leave them in the header. How to deal with the doccheck? Good question, I don't know.

As for the other boards, I've left them there and added them to the doccheck excludes (using a pattern instead of listing them all individually).

the closing operator for the group @} is missing.

which one do you mean?

I ordered a Xiao nRF52840 Sense board yesterday, which we want to use for an upcoming seminar. Apparently the LSM6DS3TR-C is fully compatible with the LSM6DSL that is already implemented in RIOT :)

Nice, should be straightforward to add to RIOT with this one as blue-print!

Do you want/need to have anything else tested specifically?

I'd say I'm happy with the testing both from my and your side. Thanks again!

mguetschow avatar Feb 25 '25 17:02 mguetschow

which one do you mean?

Nevermind, there is no group-opening operator in the doc.txt.

crasbe avatar Feb 25 '25 19:02 crasbe

LGTM, IMO this is ready for merge.

crasbe avatar Mar 11 '25 21:03 crasbe

Would you mind to just obey with what the CI suggests (see inline) to get rid of the linter warnings?

Sure sorry, done :)

mguetschow avatar Mar 12 '25 11:03 mguetschow

Thanks everyone!

mguetschow avatar Mar 12 '25 15:03 mguetschow