examples: Fix incorrect category heading
examples: shorten coap folder name
static-tests/examples: check subfolders for entries
ci/test_native: Adjust to new examples structure
examples: adjust makefiles to new structure
ci/tests: Fix symlinks to point towards proper examples
Instead of listing 'no targets found', detect unsupported targets as
well. Once we need to attach, assert that the target is supported.
Starting with firmware 2.0.0 of the BMP, not all targets are supported
by defaults (depends on the firmware flavor). Adding support for this
case therefore makes sense.
Parse the version number from the product description as returned by
libusb. This works for stable firmware releases, and ensures that
older firmwares work out of the box.
Some commands have been renamed since version 1.9.0 and 1.10.0.
To still provide compatibility with older debuggers, allow one to
override the firmware version assumed. A dependency for packaging
was added for comparing version numbers.
The tool would always exit if no probes are detected, even if `--port`
was provided. By making this assertion conditional, it becomes
possible to override the port in any case.
Use cases for this is running the BMP externally, and connecto to it
via ser2net, for example.
Per conventions:
- Put main code in a function.
- Move argument parsing to separate function to not pollute global
scope. This does mean that all invocations now need `args` as an
additional argument.
Python 3.12 removed the `distutils` package, which is only used for
checking if GDB is available on PATH.
The `shutil.which` method does the same, and is available since
Python 3.3.
It turns out that the ID mechanics of docker are even more crazy than
realized before: On Linux (x86_64) they use a different SHA256 when
referring to a locally installed image than when referring to the
same image at dockerhub. On Mac OS (Apple Silicon), the use the repo
SHA256 also when referring to the local image.
Instead of increasing the complexity of the current solution even more
by covering both cases, we now use
`docker.io/riot/riotbuild@sha256:<SHA256_OF_DOCKERHUB_IMAGE>` to refer
to a specific docker image, which hopefully works across systems.
Instead of pulling the image explicitly, we now can rely on docker
to do so automatically if the pinned image is not found locally. As
a result, the knob to disable automatic pulling has been dropped.
Fixes https://github.com/RIOT-OS/RIOT/issues/20853