The EFM32 MCU allows the reference voltage to be configured per DAC device, not per DAC channel. Also, the DAC reference voltage was defined in the configuration but not used anywhere.
To be able to test the STMPE811 device driver in polling mode, variable `STMPE811_POLLING_MODE` is introduced. It is set to 0 by default and can be overriden by 1 to use the polling mode. The polling period can be controlled by the `STMPE811_POLLING_PERIOD` variable.
If the INT pin is initialized if the callback function parameter `cb` is `NULL`, the driver crashes the first time an interrupt is triggered. Therefore, the INT pin must be initialized only if also the callback function parameter `cb` is not `NULL`.
Even if the interrupt pin is not initialized here because the callback function parameter `cb` is NULL, the device interrupts are configured here so that they will work when the interrupt pin is initialized later, as is the case when the Touch Device API is used, for example. Since the interrupt state is cleared on each read, this is not a problem even if the interrupt pin is not used at all.
To be able to test the touch device in polling mode, variable `TOUCH_DEV_POLLING` is introduced. It is set to 0 by default and can be overriden by 1 to use the polling mode. The polling period can be controlled by the `TOUCH_DEV_POLLING_PERIOD` variable.
19863: pkg/flashdb: bump to 2.0.0 r=benpicco a=benpicco
19864: tests/gcoap_fileserver: add zep_dispatcher to TEST_DEPS r=benpicco a=benpicco
19865: tests/pkg/lvgl*: fix the main thread stack size for ESPs r=benpicco a=gschorcht
### Contribution description
ESPx SoC need more stack size for the main thread to avoid stack overflows.
### Testing procedure
Use any ESP32 board or any ESP32-S2 board and flash `tests/pkg/lvgl` for the `esp32-wrover-kit` respective the `esp32s2-lilygo-ttgo-t8`, for example:
```
BOARD=esp32-wrover-kit make -j8 -C tests/pkg/lvgl flash
```
Without this PR the application crashes
```
main(): This is RIOT! (Version: 2023.10-devel-106-gd512f-tests/pkg/lvgl_fix_main_stack_size)
EXCEPTION!! exccause=29 (StoreProhibitedCause) `@4008274a` excvaddr=fefffffb
heap: 310368 (used 4176, free 306192) [bytes]
register set
pc : 40082f74 ps : 00050033 exccause: 0000001d excvaddr: fefffffb
epc1 : 40082f74
a0 : 4008274a a1 : 3ffb1bd0 a2 : fefffff7 a3 : 00000000
a4 : 3ff000dc a5 : 400826e0 a6 : 00000000 a7 : 3ffb1e08
a8 : 0000000b a9 : 3ffb1df8 a10 : 3ffb1e7c a11 : 00000001
a12 : 00000000 a13 : 00000000 a14 : 00000000 a15 : 000000a3
```
with this PR the application works as expected.
### Issues/PRs references
19869: make: COMPILE_COMMANDS_PATH adapt for external apps r=benpicco a=kfessel
### Contribution description
`COMPILE_COMMANDS_PATH` currently defaults to `RIOTBASE` which may not be an parent path for external applications -> set to `APPDIR` in case
### Testing procedure
- current good will stay good
test with riot examples and or testes `$make compile-commands` should create a `compile_command.json` in `<RIOT>`
- test with external app Makefile including
`include $(RIOTBASE)/Makefile.include`
should create `compile_command.json` in `APPDIR`
### Issues/PRs references
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Karl Fessel <karl.fessel@ml-pa.com>
19824: boards/sipeed_longan_nano: separate board definition for Sipeed Longan Nano TFT r=benpicco a=gschorcht
### Contribution description
This PR provides a minimal separate board definition for the Sipeed Longan Nano version with TFT display which is just an extension of `boards/sipeed-longan-nano` with enabled TFT display module.
From the lessons we had to learn with the Kconfig modelling of optional hardware, the TFT version of the Sipeed Longan Nano board has been split off into its own board definition based on the existing Siepeed Longan Nano board.
Commits ba29a5eefad6f24106d51bf4fbd0d1407bc7b816, 237819eac894399e423f24ffd9b79b48af1cf25c, 6d8b56dcd426580ddbbbecd003ece54d46cee05c and c5faf349d63aef28b3aa3cfce8250229b6622a15 are small cleanups of peripheral configurations and could be split from this PR as follow-up PR (changes +70 -36).
### Testing procedure
Green CI
```
BOARD=sipeed-longan-nano-tft make -j8 -C tests/drivers/st77xx flash
```
should work
### Issues/PRs references
Follow up to PR #19813 and PR #19814
Prerequisite for PR #19825 and PR #19827
19855: gnrc_static: fix static PID assignment r=benpicco a=benpicco
19862: cpu/riscv_common: remove picolibc from blacklisting in CI r=benpicco a=gschorcht
### Contribution description
`picolibc` is now supported by the RISC-V toolchain in `riotdocker`. It is not necessary to blacklist it in CI any longer.
Reference: `picolib` was blacklisted by commit 45270dada0 in PR #15011.
### Testing procedure
1. Green CI
2. Check feature list for CI compilation:
```
BUILD_IN_DOCKER=1 RIOT_CI_BUILD=1 FEATURES_OPTIONAL=picolibc \
BOARD=sipeed-longan-nano make -j8 -C tests/sys/shell info-modules | grep picolib
picolibc
picolibc_stdout_buffered
picolibc_syscalls_default
```
### Issues/PRs references
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
After cleaning up the default config of SPI, this commit cleans up the configuration for `sipeed-longan-nano` a bit:
- PA4 is no longer used as default CS for `SPI_DEV(1)`
- At least one DAC channel PA4 is always available if DAC is used.
- PA4 is always available as ADC channel if DAC is not used.
- The order of ADC and DAC channels has been changed accordingly.
This commit includes the following cleanups:
- The macros `I2C_DEV_1_USED` and `SPI_DEV_1_USED` are now used with the values 0 and 1. This allows to enable but also to disable the second interface even if the board definition enables it by default.
- The second I2C device `I2C_DEV(1)` and the second SPI device `SPI_DEV(1)` are now disabled by default.
- The second SPI device `SPI_DEV(1)` now uses PB5 as default CS signal instead of PA4 to keep PA4 free for ADC or DAC even if `SPI_DEV(1)` is used, for example for the TFT display.
This commit introduces a separate board definition based on the `sipeed-longan-nano` board definition for the TFT version of the Sipeed Longan Nano board.
19856: tests/net/gcoap_fileserver: Fix failing nightlies r=benpicco a=MrKevinWeiss
### Contribution description
This test has been failing inconsistently in the nightlies and sometimes on unrelated PRs. I was able to reproduce it with murdock and as soon as I added some print statements to the test it went away. Since the issue is something to do with a failure when comparing 2 files after a node sends a file I am guessing that the comparison comes occasionally too fast and the file is not ready.
Maybe there is some more synchronization needed after a `ncput` but for now just adding a small sleep should prevent this issue.
### Testing procedure
Run murdock multiple times or try to get it failing on a local setup then apply the PR...
### Issues/PRs references
Co-authored-by: MrKevinWeiss <weiss.kevin604@gmail.com>
19854: cpu/esp_common: esp-wifi: drop assert(val) r=benpicco a=benpicco
19858: tests/drivers/shtcx: don't repeat last string on error r=benpicco a=benpicco
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>