Allocate a free channel
| 150 | |
| 151 | // Allocate a free channel |
| 152 | PwmPinState* allocate() { |
| 153 | PwmStateData& st = state(); |
| 154 | for (u8 i = 0; i < MAX_PWM_CHANNELS; i++) { |
| 155 | if (st.channels[i].pin < 0) { |
| 156 | return &st.channels[i]; |
| 157 | } |
| 158 | } |
| 159 | return nullptr; |
| 160 | } |
| 161 | |
| 162 | // Count active ISR-backend channels |
| 163 | u8 countIsrChannels() { |