Hello,
the PWM driver currently uses channel number 0 for channels that are not supposed to be used. During the meeting for Google Summer of Code project NuttX Support for Rapid Control Applications Development with pysimCoder (information about the project can be found here https://cwiki.apache.org/ confluence/display/NUTTX/%5B2021%5D+NuttX+Support+for+Rapid+Control+ Applications+Development+with+pysimCoder) with Professor Bucher and Dr. Píša we discussed an option to add channel number -1 as a "stop" value. That would indicate that it is not necessary to check the other channels and that they all can be skipped. This can be useful when for example just one channel out of x is used and thus there is no need to waste time by checking the others. The example of the code can be found here <https://github.com/ michallenc/incubator-nuttx/blob/teensy-dc/arch/arm/src/imxrt/imxrt_flexpwm. c#L920>. The key part is: for (int i = 0; ret == OK && i < CONFIG_PWM_NCHANNELS; i++) { /* Enable PWM output for each channel */ if (info->channels[i].channel == -1) { break; } if (info->channels[i].channel != 0) { ... The advantage is that this addition would not damage current drivers or already developed applications in any way but would just add the possibility to break the loop from the application level code. It would be great if the options like 0 and -1 would be standardized and documented somewhere (probably extend this page https://nuttx.apache.org/docs/latest/components/ drivers/character/pwm.html). If there is no major problem with adding -1 as a "stop" value to all PWM drivers I can create a PR during the following days. Best regards, Michal Lenc