Implement a new module stdio_nimble, which uses nimble
for stdio. The characteristic for stdin is writable and
the characteristic for stdout uses the indicate mechanism
to publish the system's output to a connected device.
Data will be sent out asynchronously via callout functions.
The module can be enabled with "USEMODULE += stdio_nimble"
Co-authored-by: Francisco Molina <femolina@uc.cl>
This test fails rather regularly on CI, so disable it.
socat - open:/dev/ttyUSB0,b115200,echo=0,raw
Traceback (most recent call last):
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/tests/pkg_edhoc_c/tests/01-run.py", line 101, in <module>
sys.exit(run(testfunc))
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/__init__.py", line 28, in run
logfile=sys.stdout if echo else None)
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/spawn.py", line 88, in setup_child
sync_child(child, env)
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/spawn.py", line 123, in sync_child
TEST_INTERACTIVE_DELAY)
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/utils.py", line 41, in test_utils_interactive_sync_shell
_test_utils_interactive_sync(child, retries, delay, '\n', '>')
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/utils.py", line 17, in _test_utils_interactive_sync
ret = child.expect_exact([ready_exp, pexpect.TIMEOUT], timeout=delay)
File "/usr/local/lib/python3.5/dist-packages/pexpect/spawnbase.py", line 421, in expect_exact
return exp.expect_loop(timeout)
File "/usr/local/lib/python3.5/dist-packages/pexpect/expect.py", line 179, in expect_loop
return self.eof(e)
File "/usr/local/lib/python3.5/dist-packages/pexpect/expect.py", line 122, in eof
raise exc
pexpect.exceptions.EOF: End Of File (EOF). Exception style platform.
The ENTROPY test always fails on this board
main(): This is RIOT! (Version: buildtest)
mbedtls test
SHA-224 test #1: passed
SHA-224 test #2: passed
SHA-224 test #3: passed
SHA-256 test #1: passed
SHA-256 test #2: passed
SHA-256 test #3: passed
ENTROPY test: failed
Building `fuzzing/gcoap` with afl-gcc 11.2 gives
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c: In function ‘thread_stack_init’:
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c:120:11: error: variable ‘stk’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
120 | char *stk = NULL;
| ^~~
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c:118:72: error: argument ‘stack_start’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
118 | char *thread_stack_init(thread_task_func_t task_func, void *arg, void *stack_start, int stacksize)
|
We can re-write the function to not use this temporary variable and the error goes away.
Since commit 3a11b1fbd2 (#16972)
building RIOT applications with `BOARD=hifive1` causes the following
linker error to be emitted on my system:
/opt/rv32imc/lib/gcc/riscv32-unknown-elf/10.2.0/../../../../riscv32-unknown-elf/bin/ld:riscv_base.ld:220: warning: memory region `rom' not declared
This is due to the fact that the RISC-V linker script doesn't have a rom
memory region. While many other ARM-based boards have a rom memory
region defined in the linker script, the corresponding region name in
the RISC-V linker script is flash and rom is not declared as a memory
region hence the warning.
I think this was accidentally overlooked in
3a11b1fbd2. It is fixed in this commit by
replacing the rom region with the flash region. The linker script
identifiers (e.g. _srom and _erom) are not renamed.
By default if IoT-LAB Cli Tools V3 is used then BINFILE is used to
flash on IoT-LAB. But BINFILE is not built by default when RIOT_CI_BUILD
is set as a ci optimization.
But since before IOTLAB_NODE was not passed to docker when building it
did not know that it should BUILD BINFILE as well, which led to failures
if doing:
$ IOTLAB_NODE=iotlab-m3.grenoble.iot-lab.info BOARD=iotlab-m3 \
RIOT_CI_BUILD=1 BUILD_IN_DOCKER=1 make -C examples/hello-world/ flash
But if IOTLAB_NODE is passed at is checks for IoT-LAB cli Tools also
happen in the docker container which leads to a make error since those
are not present in docker.
Therefore add BINFILE to BUILD_FILES if RIOT_CI_BUILD is set, but unset
IOTLAB_NODE once INSIDE_DOCKER.
The device ID returned on WLR089 is 0x13 instead of 0x12, but it appears to
work just like sx1276.
Also check for the other device ID to make the driver work on this module.
In the feather-m0 board the sx127x pin parameters are hardcoded for the
feather-m0-lora variant, but this is not compatible with other
configurations.
For example in the feather-m0 adalogger PA06 and PA08 are used for the
SD card. When combined with the RFM95W FeatherWing the IRQ/CS/RST pins
must be wired, and then the sx127x pins must be configured to match the
wiring (which will be necessarily different from the lora variant
configuration).