tmedicci commented on PR #11428: URL: https://github.com/apache/nuttx/pull/11428#issuecomment-2536800038
Hi @raiden00pl and @xiaoxiang781216, let's put into perspective about RMT: > My reasoning is that if it's in the common driver headers (include/nuttx/rmt), then it's upper-half part. So here is our difference :) We can move it to `arch` folder. It's used by both xtensa and RISC-V. > RMT upper-half itself seems to be wrong, as it's architecture specific driver. It isn't, it's used by either RISC-V and xtensa device with the RMT peripheral. > ESP architecture logic should implement RMT_COMMON and then based on RMT_COMMON there should be lower-half implementation for rc/lirc_dev.c and WS2818_UPPER. We did this exactly the way you described for WS2812 upper-half. We didn't implement it for RC, but we encourage community to do it (and we can help with testing and validation). Then, I agree that we could even remove the RMT upper-half driver (`nuttx/drivers/rmt/rmtchar.c`) because it isn't coupled with the lower-half implementation. > The user can't write a general application to control the hardware come from different provider if these key elements doesn't catch in the design. I agree that this is partially true for the RMT peripheral, but users can move between different devices/architectures (from ESP32 to ESP32-C3, for instance). About WS2812, this isn't true: the same application (https://github.com/apache/nuttx-apps/tree/master/examples/ws2812, for instance) can be used by any chip/arch/vendor that implements the driver. -- 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]
