tmedicci opened a new pull request, #17068:
URL: https://github.com/apache/nuttx/pull/17068
## Summary
* risc-v/espressif/rmt: Update common source code functions
- Updates the common source code for the RMT peripheral used by
Espressif's RISC-Vs SoCs. This enables newer SoCs to be supported in the future
while maintaining backwards compatibility.
## Impact
Impact on user: No.
Impact on build: No.
Impact on hardware: Not yet: newer Espressif SoCs can be supported on NuttX
following this change.
Impact on documentation: No.
Impact on security: No.
Impact on compatibility: No. It's totally backwards compatible.
## Testing
Testing can be performed using any of the `rmt` defconfig available for any
of Espressif's RISC-V-based devices (ESP32-C3, ESP32-C6, or ESP32-H2). The
behavior of the rmt peripheral didn't change, and this PR's results are the
same of the results before it. This can be verified:
### Building
#### ESP32-C3
```
make -j distclean && ./tools/configure.sh esp32c3-generic:rmt &&
kconfig-tweak -e DEBUG_ASSERTIONS && kconfig-tweak -e DEBUG_FEATURES &&
kconfig-tweak -e EXPERIMENTAL && kconfig-tweak -e RMT_LOOP_TEST_MODE &&
kconfig-tweak --set-val RMT_DEFAULT_RX_BUFFER_SIZE 512 && make olddefconfig &&
make flash ESPTOOL_PORT=/dev/ttyUSB0 && picocom -b 115200 /dev/ttyUSB0
```
#### ESP32-C6
```
make -j distclean && ./tools/configure.sh esp32c6-devkitc:rmt &&
kconfig-tweak -e DEBUG_ASSERTIONS && kconfig-tweak -e DEBUG_FEATURES &&
kconfig-tweak -e EXPERIMENTAL && kconfig-tweak -e RMT_LOOP_TEST_MODE &&
kconfig-tweak --set-val RMT_DEFAULT_RX_BUFFER_SIZE 512 && make olddefconfig &&
make flash ESPTOOL_PORT=/dev/ttyUSB0 && picocom -b 115200 /dev/ttyUSB0
```
#### ESP32-H2
```
make -j distclean && ./tools/configure.sh esp32h2-devkit:rmt &&
kconfig-tweak -e DEBUG_ASSERTIONS && kconfig-tweak -e DEBUG_FEATURES &&
kconfig-tweak -e EXPERIMENTAL && kconfig-tweak -e RMT_LOOP_TEST_MODE &&
kconfig-tweak --set-val RMT_DEFAULT_RX_BUFFER_SIZE 512 && make olddefconfig &&
make flash ESPTOOL_PORT=/dev/ttyUSB0 && picocom -b 115200 /dev/ttyUSB0
```
### Running
Run `rmtchar` application and check that the received data is equal to the
transmitted data.
### Results
```
nsh> rmtchar
rmtchar_main: Start receiver thread
rmtchar_main: Start transmitter thread
rmtchar_main: Waiting for the transmitter thread
[0]: L 1 D 1000 L 0 D 1000
[1]: L 1 D 1010 L 0 D 1010
[2]: L 1 D 1020 L 0 D 1020
[3]: L 1 D 1030 L 0 D 1030
[4]: L 1 D 1040 L 0 D 1040
[5]: L 1 D 1050 L 0 D 1050
[6]: L 1 D 1060 L 0 D 1060
[7]: L 1 D 1070 L 0 D 1070
[8]: L 1 D 1080 L 0 D 1080
[9]: L 1 D 1090 L 0 D 1090
[10]: L 1 D 1100 L 0 D 1100
[11]: L 1 D 1110 L 0 D 1110
[12]: L 1 D 1120 L 0 D 1120
[13]: L 1 D 1130 L 0 D 1130
[14]: L 1 D 1140 L 0 D 1140
[15]: L 1 D 1150 L 0 D 1150
[16]: L 1 D 1160 L 0 D 1160
[17]: L 1 D 1170 L 0 D 1170
[18]: L 1 D 1180 L 0 D 1180
[19]: L 1 D 1190 L 0 D 1190
[20]: L 1 D 1200 L 0 D 1200
[21]: L 1 D 1210 L 0 D 1210
[22]: L 1 D 1220 L 0 D 1220
[23]: L 1 D 1230 L 0 D 1230
[24]: L 1 D 1240 L 0 D 1240
[25]: L 1 D 1250 L 0 D 1250
[26]: L 1 D 1260 L 0 D 1260
[27]: L 1 D 1270 L 0 D 1270
[28]: L 1 D 1280 L 0 D 1280
[29]: L 1 D 1290 L 0 D 1290
[30]: L 1 D 1300 L 0 D 1300
[31]: L 1 D 1310 L 0 D 1310
[32]: L 1 D 1320 L 0 D 1320
[33]: L 1 D 1330 L 0 D 1330
[34]: L 1 D 1340 L 0 D 1340
[35]: L 1 D 1350 L 0 D 1350
[36]: L 1 D 1360 L 0 D 1360
[37]: L 1 D 1370 L 0 D 1370
[38]: L 1 D 1380 L 0 D 1380
[39]: L 1 D 1390 L 0 D 1390
[40]: L 1 D 1400 L 0 D 1400
[41]: L 1 D 1410 L 0 D 1410
[42]: L 1 D 1420 L 0 D 1420
[43]: L 1 D 1430 L 0 D 1430
[44]: L 1 D 1440 L 0 D 1440
[45]: L 1 D 1450 L 0 D 1450
[46]: L 1 D 1460 L 0 D 1460
[47]: L 1 D 1470 L 0 D 1470
[48]: L 1 D 1480 L 0 D 1480
[49]: L 1 D 1490 L 0 D 1490
[50]: L 1 D 1500 L 0 D 1500
[51]: L 1 D 1510 L 0 D 1510
[52]: L 1 D 1520 L 0 D 1520
[53]: L 1 D 1530 L 0 D 1530
[54]: L 1 D 1540 L 0 D 1540
[55]: L 1 D 1550 L 0 D 1550
[56]: L 1 D 1560 L 0 D 1560
[57]: L 1 D 1570 L 0 D 1570
[58]: L 1 D 1580 L 0 D 1580
[59]: L 1 D 1590 L 0 D 1590
[60]: L 1 D 1600 L 0 D 1600
[61]: L 1 D 1610 L 0 D 1610
[62]: L 1 D 1620 L 0 D 1620
[63]: L 1 D 1630 L 0 D 1630
rmtchar_transmitter: Send buffer with 256 bytes
rmtchar_receiver: Received buffer:
[0]: L 1 D 1000 L 0 D 1000
rmtchar_main: Waiting for the receiver thread
[1]: L 1 D 1010 L 0 D 1010
[2]: L 1 D 1020 L 0 D 1020
[3]: L 1 D 1030 L 0 D 1030
[4]: L 1 D 1040 L 0 D 1040
[5]: L 1 D 1050 L 0 D 1050
[6]: L 1 D 1060 L 0 D 1060
[7]: L 1 D 1070 L 0 D 1070
[8]: L 1 D 1080 L 0 D 1080
[9]: L 1 D 1090 L 0 D 1090
[10]: L 1 D 1100 L 0 D 1100
[11]: L 1 D 1110 L 0 D 1110
[12]: L 1 D 1120 L 0 D 1120
[13]: L 1 D 1130 L 0 D 1130
[14]: L 1 D 1140 L 0 D 1140
[15]: L 1 D 1150 L 0 D 1150
[16]: L 1 D 1160 L 0 D 1160
[17]: L 1 D 1170 L 0 D 1170
[18]: L 1 D 1180 L 0 D 1180
[19]: L 1 D 1190 L 0 D 1190
[20]: L 1 D 1200 L 0 D 1200
[21]: L 1 D 1210 L 0 D 1210
[22]: L 1 D 1220 L 0 D 1220
[23]: L 1 D 1230 L 0 D 1230
[24]: L 1 D 1240 L 0 D 1240
[25]: L 1 D 1250 L 0 D 1250
[26]: L 1 D 1260 L 0 D 1260
[27]: L 1 D 1270 L 0 D 1270
[28]: L 1 D 1280 L 0 D 1280
[29]: L 1 D 1290 L 0 D 1290
[30]: L 1 D 1300 L 0 D 1300
[31]: L 1 D 1310 L 0 D 1310
[32]: L 1 D 1320 L 0 D 1320
[33]: L 1 D 1330 L 0 D 1330
[34]: L 1 D 1340 L 0 D 1340
[35]: L 1 D 1350 L 0 D 1350
[36]: L 1 D 1360 L 0 D 1360
[37]: L 1 D 1370 L 0 D 1370
[38]: L 1 D 1380 L 0 D 1380
[39]: L 1 D 1390 L 0 D 1390
[40]: L 1 D 1400 L 0 D 1400
[41]: L 1 D 1410 L 0 D 1410
[42]: L 1 D 1420 L 0 D 1420
[43]: L 1 D 1430 L 0 D 1430
[44]: L 1 D 1440 L 0 D 1440
[45]: L 1 D 1450 L 0 D 1450
[46]: L 1 D 1460 L 0 D 1460
[47]: L 1 D 1470 L 0 D 1470
[48]: L 1 D 1480 L 0 D 1480
[49]: L 1 D 1490 L 0 D 1490
[50]: L 1 D 1500 L 0 D 1500
[51]: L 1 D 1510 L 0 D 1510
[52]: L 1 D 1520 L 0 D 1520
[53]: L 1 D 1530 L 0 D 1530
[54]: L 1 D 1540 L 0 D 1540
[55]: L 1 D 1550 L 0 D 1550
[56]: L 1 D 1560 L 0 D 1560
[57]: L 1 D 1570 L 0 D 1570
[58]: L 1 D 1580 L 0 D 1580
[59]: L 1 D 1590 L 0 D 1590
[60]: L 1 D 1600 L 0 D 1600
[61]: L 1 D 1610 L 0 D 1610
[62]: L 1 D 1620 L 0 D 1620
[63]: L 1 D 1630 L 0 D 0
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]