Qué puedo hacer para averiguarlo?
Por dónde empiezo?
Todos los ejemplos que te pase tienen el mismo problema?
Si, estoy poniendo mensajes en la librería usbh_midi a ver si averiguo dónde revienta
Si, me basé en ese. Pero es que el error está en el setEditorMode cuando ejecuta la instrucción MS3::send((byte *) HANDSHAKE);
Que realmente llama este trozo de código, que es el que da el error:
if ((result = MS3::SendSysEx(data, dataLength)) != 0) {
MS3_DEBUG(F(" *** Transfer error: "));
MS3_DEBUG(result);
}
Result es el error 13 que da.
Pero es que no sé qué significa el error 13. Pero lo da en todos los mensajes de envio.
Puede ser que falte esto?
MIDI_CREATE_INSTANCE(HardwareSerial, Serial1, MIDI);
Y esto en el setup
MIDI.begin(MIDI_CHANNEL_OMNI);
El error 13, segun la documentacion de MAXIM es "0x0D hrJERR J-state instead of response"
No da mucha luz... pero si que parece un problema de comunicacion. Has cambiado tambien los pins 7,8,9? En principio no deberias utilizar estos pins para nada porque los utiliza el usb host.
Yo quitaria todo lo de estos pins (no solo el 9), y los dejaria sin utilizar.
Nada. Sigue igual.
He dejado libres los pines 7,8 y 9 y tampoco.
Pues se me acaban las ideas. Viendo los errores que pones, parece que el error se produce al enviar un sysex cualquiera. Es decir, que no parece relacionado con el Katana en modo editor o no, sino con los mensajes.
Se me ocurren dos opciones:
1-Intentar hacer mas pruebas enviando otros sysex a ver si reacciona.
2-Utilizar los mensajes MIDI "estandar", pero con esto pierdes la comunicacion bidireccional, es solo en una direccion. Me refiero a que va a funcionar como una pedalera midi tradicional, si cambias algo en el Katana, no se vera reflejado en la pedalera. Asi es como lo tenia yo al principio hasta que pude hacer funcionar la libreria MS3. La idea es que en cada canal le configuras que FX tienes activos por defecto, asi cuando cambias de canal se te mostrara los FX activos correctos. Con esta configuracion solo necesitas enviar CC y PC
Una de las versionaes que te envie hace esto (la que se llama "preset"), solo que creo que envia sysex en lugar de midi estandar. Habria que modificar la funcion que hace el send.