Katanafloor - Pedalera USB para Katana
OFERTAS Ver todas
-
Harley Benton ST-20HSS SBK Standard Series
-
-29%Boss T-Shirt CCB-MT2TMC (Talla M)
-
-11%Boss DD-500
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.
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.
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.
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.
mod
#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.
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.
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.
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.
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();
}
¿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();
}
Hilos similares
Nuevo post
Regístrate o identifícate para poder postear en este hilo