1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-28 16:01:18 +01:00
bors[bot] d1edbd94d6
Merge #19881 #19892
19881: drivers/stmpe811: fix initialization if callback function parameter is NULL r=benpicco a=gschorcht

### Contribution description

This PR fixes the `stmpe811` driver initialization if the callback function parameter `cb` is `NULL. This might be the case for example if the application uses the touch device in polling mode.

If the interrupt 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`.

To be able to test the polling mode, this PR also includes a change of the `tests/drivers/stmpe811` application which introduces the environment variables `STMPE811_POLLING_MODE` `STMPE811_POLLING_PERIOD` and in the makefile.

### Testing procedure

1. Use a `stm32f429i-disc1` board and test it in polling mode:
   ```
   STMPE811_POLLING_MODE=1 BOARD=stm32f429i-disc1 make -C tests/drivers/stmpe811 flash term
   ```
   It should work as expected.
   ```
   main(): This is RIOT! (Version: 2023.10-devel-119-g26e7a-drivers/stmpe811_fix_cb_null)
   STMPE811 test application
   +------------Initializing------------+
   Initialization successful
   Pressed!
   X: 113, Y:135
   X: 113, Y:135
   X: 113, Y:136
   Released!
   ```

2. Checkout master branch and cerry-pick commit 691a5e6308426ddc685e5a2c297238529211c258. The test application `tests/drivers/stmpe811` will crash once a touch event occur:
   ```
   main(): This is RIOT! (Version: 2023.10-devel-117-g91441)
   STMPE811 test application
   +------------Initializing------------+
   Initialization successful
   Stack pointer corrupted, reset to top of stack
   FSR/FAR:
    CFSR: 0x00020000
    HFSR: 0x40000000
    DFSR: 0x00000008
    AFSR: 0x00000000
   Misc
   EXC_RET: 0xfffffff1
   *** RIOT kernel panic:
   HARD FAULT HANDLER
   ```

### Issues/PRs references

19892: pkg/tinydtls: allow to set buffer size from application again r=benpicco a=leandrolanzieri

### Contribution description

Currently the buffer size on tinydtls is set in its Makefile whenever `gcoap` module is present. This limits the ability of the user to override the value. This adds a pre-check of the `CFLAGS` to see if it was set before.

### Testing procedure

Try setting `CFLAGS += -DDTLS_MAX_BUF=<some_value>` on `examples/gcoap_dtls`, you should be able to override the default value without errors.


### Issues/PRs references
Reported in #19838


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2023-08-23 22:43:56 +00:00
..
2022-01-13 17:50:59 +01:00
2022-06-01 10:48:34 +02:00
2022-09-26 17:45:54 +02:00
2022-09-26 17:45:54 +02:00
2023-03-05 00:46:06 +01:00
2023-08-09 15:47:49 +02:00
2022-04-25 16:05:28 +02:00
2023-07-18 12:24:09 +02:00
2023-07-18 12:24:09 +02:00
2023-02-25 14:01:20 +01:00
2023-07-18 12:24:09 +02:00
2023-01-20 15:25:25 +01:00
2022-08-31 16:29:03 +02:00
2023-01-20 14:37:09 +01:00
2023-03-13 11:49:39 +01:00
2023-07-18 10:47:46 +00:00
2022-09-26 17:45:54 +02:00
2022-12-11 12:03:28 +00:00
2022-01-13 17:50:59 +01:00
2022-02-02 14:44:50 +01:00
2023-08-21 10:12:21 -04:00
2022-09-14 15:05:25 +02:00
2023-07-18 12:24:10 +02:00
2022-09-27 13:42:37 +02:00
2023-07-18 10:47:46 +00:00
2023-07-18 12:24:10 +02:00
2021-10-01 14:44:10 +02:00
2023-06-01 12:17:35 +02:00
2022-06-01 10:54:01 +02:00