This commit multiple issues with the following RMT TX tests:
- rmt_multi_channels_trans_no_dma
- rmt_multi_channels_trans_with_dma
The following issues are fixed:
- Channel stop times are now tested using TEST_ASSERT_INT64_WITHIN(). The
previous method did not account for the case where channel 1 finished before
channel 0
- Increased synchronous stop time delta for esp32-c6
- Increased main task stack size to prevent stack overflow onesp32-s3
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
The legacy driver can't handle the breaking change between esp chips
very well.
And it's not elegant to extend new feature like DMA, ETM.
The new driver can return a opaque handle for each RMT channel.
An obvious transaction concept was also introduced.
TX and RX functionalities are splited out.