Katanafloor - Pedalera USB para Katana

lutop
#37 por lutop el 25/05/2020
Y aqui tienes una mas simple todavia, sin "presets".
Subir
frandelrio
#38 por frandelrio el 25/05/2020
Hola.

En cuanto puedo los pruebo y te digo.

Tengo el Katana 50. A ver si va a estar ahí el problema.
Subir
lutop
#39 por lutop el 25/05/2020
#38

si es el Katana original deberia funcionar tal cual. El mkii no lo se
Subir
frandelrio
#40 por frandelrio el 25/05/2020
Es el original
Subir
frandelrio
#41 por frandelrio el 25/05/2020
Sigue sin funcionar.

La cosa es que conecta con el katana. Es cuando le envía información cuando da el error.
Si le pongo el modo debug de la libreria MS3 esto es lo que sale.


Waiting...

Katana NOT READY!


Waiting...

*** USB task state: 20.
Katana NOT READY!


Waiting...

Katana NOT READY!


Waiting...

*** USB task state: 40.
Katana NOT READY!


Waiting...

*** USB task state: 50.
*** USB task state: 51.
Katana NOT READY!


Waiting...

############ Now I'm ready!

TX: F0 7E 00 06 02 41 33 03 00 00 01 01 00 00 F7 (15) *** Transfer error: 13.
TX: F0 7E 00 06 02 41 33 03 00 00 01 01 00 00 F7 (15) *** Transfer error: 13.
TX: F0 41 00 00 00 00 33 12 7F 00 00 01 01 7F F7 (15) *** Transfer error: 13.
*** Editor mode set!
Add item 0 to the queue: 0x10000 / 0x11 / 0x2.
Picked up item 0 from the queue: 10000 / 0x11 / 0x2.
TX: F0 41 00 00 00 00 33 11 00 01 00 00 00 00 00 02 7D F7 (18) *** Transfer error: 13.
Bank 1
Button 1 click.
FX mode
Button 1 click.
Bank 1
Button 1 click.
Add item 0 to the queue: 0x10000 / 0x12 / 0x1.
FX modechannel: 1
FX1 off
FX2 off
Rvb off
Picked up item 0 from the queue: 10000 / 0x12 / 0x1.
TX: F0 41 00 00 00 00 33 12 00 01 00 00 00 01 7E F7 (16) *** Transfer error: 13.
Bank 1
Button 1 click.
Add item 0 to the queue: 0x10000 / 0x12 / 0x2.
FX modechannel: 2
FX1 off
FX2 off
Rvb off
Picked up item 0 from the queue: 10000 / 0x12 / 0x2.
TX: F0 41 00 00 00 00 33 12 00 01 00 00 00 02 7D F7 (16) *** Transfer error: 13.
Bank 1
Button 1 click.
Add item 0 to the queue: 0x10000 / 0x12 / 0x3.
FX modechannel: 3
FX1 off
FX2 off
Rvb off
Picked up item 0 from the queue: 10000 / 0x12 / 0x3.
TX: F0 41 00 00 00 00 33 12 00 01 00 00 00 03 7C F7 (16) *** Transfer error: 13.
Bank 1
Button 1 click.
Add item 0 to the queue: 0x10000 / 0x12 / 0x4.
FX modechannel: 4
FX1 off
FX2 off
Rvb off
Picked up item 0 from the queue: 10000 / 0x12 / 0x4.
TX: F0 41 00 00 00 00 33 12 00 01 00 00 00 04 7B F7 (16) *** Transfer error: 13.

Si te fijas es cuando hace el send cuando da error. Entiendo que el mensaje está bien montado.
Subir
frandelrio
#42 por frandelrio el 25/05/2020
Y esto es lo que sale cuando activo el DEBUG en la libería usb_midi.h


Waiting...

*** USB task state: 20.
Katana NOT READY!


Waiting...

Katana NOT READY!


Waiting...

*** USB task state: 40.
Katana NOT READY!


Waiting...

*** USB task state: 50.
*** USB task state: 51.
Katana NOT READY!


Waiting...

############ Now I'm ready!

TX: F0 7E 00 06 02 41 33 03 00 00 01 01 00 00 F7 (15)SendSysEx:
Length: 000F
Total pktSize: 0014
wptr: 04
*** Transfer error: 13.
TX: F0 7E 00 06 02 41 33 03 00 00 01 01 00 00 F7 (15)SendSysEx:
Length: 000F
Total pktSize: 0014
wptr: 04
*** Transfer error: 13.
TX: F0 41 00 00 00 00 33 12 7F 00 00 01 01 7F F7 (15)SendSysEx:
Length: 000F
Total pktSize: 0014
wptr: 04
*** Transfer error: 13.
*** Editor mode set!
Add item 0 to the queue: 0x10000 / 0x11 / 0x2.
Picked up item 0 from the queue: 10000 / 0x11 / 0x2.
TX: F0 41 00 00 00 00 33 11 00 01 00 00 00 00 00 02 7D F7 (18)SendSysEx:
Length: 0012
Total pktSize: 0018
wptr: 04
*** Transfer error: 13.
Subir
Micky Vega mod
#43 por Micky Vega el 25/05/2020
lutop escribió:
Veo que inocente de mi cree unos posts vacios para llenarlos mas tarde de info, pero el foro no me permite editarlos, asi que tendre que colgarlo todo aqui abajo.

Ahora que te leo: si aún lo necesitas, yo te puedo ayudar: me dices lo que querías poner y dejamos el post super majo.
Subir
lutop
#44 por lutop el 26/05/2020
#42

Pues parece que no comunica con el Katana. Porque los mensajes si que se envian.

Tienes otro cable para probar? Lo digo para eliminar posibles fallos.

Yo para empezar intentaria algun otro proyecto que utilice USB , para probar que el usb shield funciona bien. Un lector de mouse o teclado, por ejemplo

Mientras te busco que creo que tenia otra version todavia mas simple que no utilizaba sysex.
Subir
frandelrio
#45 por frandelrio el 26/05/2020
He probado el ejemplo hub_demo y le he enchufado un pendrive y me da la información del pendrive.

También he probado el board_qc y la salida es esta:

Circuits At Home 2011
USB Host Shield Quality Control Routine
Reading REVISION register... Die revision 03
SPI long test. Transfers 1MB of data. Each dot is 64K...
Test failed. Value written: 09 read: 00
Unrecoverable error - test halted!!
0x55 pattern is transmitted via SPI
Press RESET to restart test
Circuits At Home 2011
USB Host Shield Quality Control Routine
Reading REVISION register... Die revision 03
SPI long test. Transfers 1MB of data. Each dot is 64K................ SPI long test passed
GPIO test. Connect GPIN0 to GPOUT7, GPIN1 to GPOUT6, and so on
Test failed. Value written: 00 Value read: FF
Press any key to continue...
GPIO test passed.
PLL test. 100 chip resets will be performed
Resetting oscillator

Reset number 0 Time to stabilize - 332 cycles
Reset number 1 Time to stabilize - 332 cycles
Reset number 2 Time to stabilize - 332 cycles
Reset number 3 Time to stabilize - 332 cycles
.
.
.
Reset number 98 Time to stabilize - 332 cycles

Reset number 99 Time to stabilize - 332 cycles

Checking USB device communication.

Waiting for device...
Reset complete. Waiting for the first SOF...
Getting device descriptor
Descriptor Length: 12
Descriptor type: 01
USB version: 0200
Device class: 00
Device Subclass: 00
Device Protocol: 00
Max.packet size: 40
Vendor ID: 0951
Product ID: 1607
Revision ID: 0100
Mfg.string index: 01
Prod.string index: 02
Serial number index: 03
Number of conf.: 01

All tests passed. Press RESET to restart test

Con lo que entiendo que funciona.
Subir
lutop
#46 por lutop el 26/05/2020
para empezar quizas probaria sin la libreria MS3, solo con USBH Midi, enviar un mensaje de PC a ver si el katana reacciona
Subir
frandelrio
#47 por frandelrio el 26/05/2020
Perdona que te pregunte, pero estoy totalmente pegado en esto.

Para mandarle un PC no hay que poner primero el katana en modo edición (HANDSHAKE)?

Es el HANDSHAKE un PC o un CC?

Tienes algún programa básico que haga eso que al pulsar un boton mande un PC sin usar MS3?
Subir
frandelrio
#48 por frandelrio el 26/05/2020
He encontrado este codigo para controlar un Zoom.

¿Podría servir? ¿Qué mensaje tendría que montar para enviar al katana y funcione?

#include <usbh_midi.h>
USB Usb;
USBH_MIDI Midi(&Usb);
int switchPin[5] = {2,3,4,5,6};
int ledPin[5]={7,8,9,10,11};
int currentPreset;
int maxPresetNumber = 98; // for Zoom MS70cdr change by this = 50
bool pinState[5];
int programChange[4] = {+1,-1,+10,-10};
/***********************************************************************************/
void setup()
{
for(int i=0; i<5; i++)
{
pinMode(ledPin, OUTPUT);
pinMode(switchPin, INPUT_PULLUP);
}
if (Usb.Init() == -1)
{
digitalWrite(ledPin[5], HIGH);
while(1); // Halt
}
currentPreset = 0;
SendMIDI(currentPreset);
}
/***********************************************************************************/
void SendMIDI(byte programChange)
{
Usb.Task();
if( Usb.getUsbTaskState() == USB_STATE_RUNNING )
{
byte Message[2]; // Construct the midi message (2 bytes)
Message[0]=192; // 0xC0 is for Program Change
Message[1]=programChange; // Number is the program/patch
Midi.SendData(Message); // Send the message
delay(10);
}

}
/***********************************************************************************/
void ledsOff()
{
for(int i=0; i<5; i++)
{
digitalWrite(ledPin, LOW);
}
}
/***********************************************************************************/
void loop() //+1 -1 +10 -10 presets mode
{
for(int i=0; i<4; i++)
{
pinState=digitalRead(switchPin);
if(pinState != HIGH)
{
currentPreset = currentPreset + programChange;
ledsOff();
digitalWrite(ledPin, HIGH);
delay(500);
}
else
{
NULL;
}
}

if(currentPreset > maxPresetNumber)
{
currentPreset = 0;
}
if(currentPreset < 0)
{
currentPreset = maxPresetNumber;
}
SendMIDI(currentPreset);
}
/***********************************************************************************
void loop() //for Zoom MS70cdr
{
void loop() //4 presets mode
{
for(int i=0; i<4; i++)
{
pinState=digitalRead(switchPin);
if(pinState != HIGH)
{
SendMIDI(41 +i); //presets from 41 to 44
ledsOff();
digitalWrite(ledPin, HIGH);
delay(200);
}
else
{
NULL;
}
}
}
}
************************************************************************************/
void blinkLed()
{
digitalWrite(ledPin[4], HIGH);
delay(60);
ledsOff();
delay(60);
digitalWrite(ledPin[4], HIGH);
delay(60);
ledsOff();
delay(60);
digitalWrite(ledPin[4], HIGH);
delay(60);
ledsOff();
delay(60);
digitalWrite(ledPin[4], HIGH);
delay(60);
ledsOff();
}
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo