This PR fixes a kivu12 board problem where some short triggers for GateIn inputs could be missed, if the trigger itself was shorter than 8ms.
This was because we were using a multiplexer, and reading a new value each buffer, so when the buffer is 48 sample and the audio rate is 48014Hz, each new value would be read every 1ms. Since there are 8 parallel values on the multiplexer, rotating would take a full 8ms.
Now we are using a shift register, which takes all values simultaneously on every buffer, so 1ms for 48 samples @48kHz.
One should note that increasing the buffer size will potentially bring this problem again, but at least the buffer size can now be 8 times shorter compared to the previous method.
This PR fixes a
kivu12
board problem where some short triggers forGateIn
inputs could be missed, if the trigger itself was shorter than 8ms.This was because we were using a multiplexer, and reading a new value each buffer, so when the buffer is 48 sample and the audio rate is 48014Hz, each new value would be read every 1ms. Since there are 8 parallel values on the multiplexer, rotating would take a full 8ms.
Now we are using a shift register, which takes all values simultaneously on every buffer, so 1ms for 48 samples @48kHz.
One should note that increasing the buffer size will potentially bring this problem again, but at least the buffer size can now be 8 times shorter compared to the previous method.