Posición en el ranking: 70374
Foros65
Pues si, probaré a oonerle un delay
El shift register va de lujo. No se nota ningun tipo de lag, y la verdad es que con 3 pines lo controlas. Y te da 8 salidas. Y si necesitas más puedes poner otro conectado a este y te da 16 salidas.
Bueno, ahora le voy a añadir una pantalla lcd de 20x4 y ya voy a ir pensando en la caja donde meterlo todo.
Gracias por la información. Cuando lo tenga mas ...
el 30/05/2020
Bingo!!!
Lo conseguí!!!
Alucinante. Dije que parecía que no estaba haciendo el init del usb. Así que le puse un Serial.println el constructor de la librería usbh_midi.cpp para ver si pasaba por ahí.
Pues, a partir de ahí, emepezó a funcionar. Y ya consiguo cambiar de canal, que cuando cambie de canal en el katana se refresque la pedalera.
Lo que no entiendo es por qué al ponerle esa instr...
el 30/05/2020
Si son las que tu me pasaste
el 28/05/2020
Lo que está pasando es que en el init no se está inicializando el MIDI Device y entonces no carga una serie de variables para hacer los calculos.
En la librería usbh_midi.cpp no se carga la estructura epInfo y por eso no funciona. Uno de los datos que necesita es epInfo.maxPktSize que al ser 0 está provocando que no envíe el sysex correctamente.
Lo que no sé es como forzar el init, porque en...
el 28/05/2020
Buenas, he probado mandar los mensajes Sysex para ponerlo en modo editor y luego mandar el envio de canal directamente sin usar la liberia MS3 y ha funcionado.
Mira esto es lo que he hecho:
void sendMidi() {
const byte HANDSHAKE = {0xF0, 0x7E, 0x00, 0x06, 0x02, 0x41, 0x33, 0x03, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xF7};
const byte KATANA_EDIT = {0xF0, 0x41, 0x00, 0x00, 0x00, 0x00,...
el 28/05/2020
Nada. Sigue igual.
He dejado libres los pines 7,8 y 9 y tampoco.
el 27/05/2020
Yo quitaria todo lo de estos pins (no solo el 9), y los dejaria sin utilizar
Probaré a pasar los dos pines del shift register que me faltan a los pines analógicos.
Luego lo haré y te cuento.
el 27/05/2020
Puede ser que falte esto?
MIDI_CREATE_INSTANCE(HardwareSerial, Serial1, MIDI);
Y esto en el setup
MIDI.begin(MIDI_CHANNEL_OMNI);
el 27/05/2020
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...
el 27/05/2020
Si, estoy poniendo mensajes en la librería usbh_midi a ver si averiguo dónde revienta
el 27/05/2020