intechstudio / grid-fw

GNU General Public License v3.0
24 stars 7 forks source link

MIDI RX engine stops receiving data if values are sent too fast from host #35

Open narayb opened 1 year ago

narayb commented 1 year ago

When a MIDI RX event is receiving data from Host e.g. Ableton with a mapped encoder, quick enough value changes on the host side cause all RX communication to stop on the Grid module until reboot.

This behavior is evidently not caused by a set amount of data being received (it's not caused by basically receiving too many messages), but it's caused by receiving messages too fast instead. Grid Editor MIDI monitor shows that if the data being sent from the Host is sent at a high enough frequency, the RX communication is already dropped after the third message received as seen below.

image

Expected behavior should be that messages are either skipped if they are sent at a high frequency or simply received.

SukuWc commented 1 year ago

Also some messages are ignored due to incorrect handling of the FIFO buffer, fix is WIP hopefully merged in the next release!