Description
Hi!
I am using this library in this project: https://gitlab.com/yaeltex/ytx-controller/-/tree/unusedConfigUpdate
SysEx handling is done in IO_PROTOCOL.ino and configuration structs are defined in headers/types.h
I am sending a sysex configuration to the controller board, each sysex message being a different component to configure, with the BLOCK byte being what kind of component is or if it is a general configuration, and the SECTION bytes being indexes to encoder 1, 2, 3 or button 13 an so on.
I've been using this (almost) flawlessly and I had a good system set up and working, until I decided it'd be a nice idea, 2 weeks before shipping the first units sold for this kind of controllers, to set some extra bytes in the configuration for future implementation of features.
The branch unusedConfigUpdate is the one where I am testing these changes.
There is a timer firing MIDI.read() 2 times per millisecond
Now, I am receiving 2 kind of blocks, the larger ones, Configuration (272 bytes) and Encoders (74 bytes), perfectly, but when the configurator sends the digital or analog blocks (both 47 bytes), the first time through, the sysex callback doesn't seem to be launching.
I have a print right at the beginning of this callback, printing the received message, and I see nothing.
The configurator tool sends 3 times the same message, and as it's not getting an ACK message from the board, it gives up.
These 3 messages are going out of the configurator for sure, I sniffed with the macOS midi monitor, and I see them.
If I send the configuration a second time, without changing anything, just hit "Send" a second time, first I see the 3 messages that were sent before as if they were held somewhere, and then I see the new configuration get through complete. So the second time, all the messages arrive perfectly.
I am clueless, I was using until now the 4.4 version of the library with the USB transport, and just to test, I have updated now to 5.0.2, but the same thing happens (I have a different bug with the update sending sysex, some messages go out shorter than they should, but it's something else)
If anything like this ever happened to anyone, I'll apreciate whatever clue you can throw at me.
If you need further info, please let me know.
Thanks!