VGuitar Forums

Boss Katana MK1 Amplifiers => Katana Dev - Development hub & communication => Topic started by: CodeSmart on January 18, 2017, 08:42:11 PM

Title: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on January 18, 2017, 08:42:11 PM
Does anyone know how the communication works?
The foot controller is great (have one), and I feel it could be used in many other ways than just controlling the Cube and the Katana.
But then...the communication protocol needs to be known.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Elantric on January 19, 2017, 01:16:47 AM
Quote
Is there a circuit with lot of components or simply a bunch of switches?

(https://s6.postimg.cc/xqay7s83l/IMG_2323.jpg)


(https://s6.postimg.cc/sdm3tnk75/IMG_2322.jpg)

(https://s6.postimg.cc/78xneqltt/IMG_2306.jpg)

(https://s6.postimg.cc/ffpn6bbwh/IMG_2307.jpg)

(https://s6.postimg.cc/ib2qd6fwh/IMG_2308.jpg)

(https://s6.postimg.cc/ktofdv1mp/IMG_2309.jpg)


(https://s6.postimg.cc/7e1eoet4x/IMG_2312.jpg)

(https://s6.postimg.cc/d3hn8pzb5/IMG_2314.jpg)





Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on January 19, 2017, 02:06:55 AM
No micro controller :o
I thought it was a serial link.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on January 19, 2017, 03:12:47 PM
Quote from: CodeSmart on January 19, 2017, 02:06:55 AM
No micro controller :o
I thought it was a serial link.

I2C or CAN bus interface?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Elantric on January 19, 2017, 03:15:14 PM
(https://s6.postimg.cc/sdm3tnk75/IMG_2322.jpg)

i still think there is a small microcontroller on the opposite side of the GA-FC PCB
GA-FC Footcontroller CPU - NEC UPD78F0513AGA embedded microcontroller IC
its a simple TRS connection via stereo phone plug to the Katana Amp.  -

I suspect its

Tip  = Data
Ring = DC Voltage
Sleeve  = Ground

Just Like on old 1980's IVL Pitchrider foot pedal

Apparently the TRS Tip Data connection is a bi-directional serial protocol and it employs opto coupler ICs ( like MIDI ) on the host processor ( Katana, GA-212, Blues Cube Artist, etc)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on January 20, 2017, 04:19:18 AM
Is the chip a Cypress CY8C24423A (or same family)?  That's what Fender uses in their "smart" Mustang foot switches.  It is technically a microcontroller, but with an emphasis on one-wire communication (I2C). 
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 04, 2017, 01:37:57 AM
I'use Katana 100 112. I saw pcb behind GA-FC jack. Tip is bi-direction with 2 opto coupler. Ring is 5V supply. If any body can capture signal on tip for baudrate or some commands. I think I can know protocol.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on February 04, 2017, 06:05:29 AM
Still waiting for someone with a GA-FC to post the part number for the controller chip.  My bet is on I2C.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 04, 2017, 06:47:24 AM
If you think I2C. Where is power supply for GA-FC. And I2C not use for long range. The ring pin can drive more than 200ma. Not posible to CLK pin.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 04, 2017, 07:13:20 AM
Good news. System firmware between Katana100 and KatanaHead are same. And I saw midi pin on Kanata100/112 pcb. I plan to test midi transfer on my amp.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on February 04, 2017, 07:14:15 AM
All just speculation at this point.  Could well be some home-grown serial communication scheme, although opto-isolators do not preclude I2c, e.g.:

http://www.analog.com/media/en/technical-documentation/application-notes/AN_913.pdf

I have a logic analyzer with software that can decode serial protocols.  If I ever pickup a GA-FC I'll be glad to look at what's on the wire. 

Currently, I am concentrating on external control over sysex.  My work on reverse engineering the protocol and an early implementation of software to bridge MIDI ---> USB is here:

https://github.com/snhirsch/katana-midi-bridge

Codesmart is poking at this also with an eye towards building CC --> sysex mapping into the MIDX-20 product.  Robert and I are coordinating efforts such that my bridge will use the same mapping.  Folks who are technically proficient can download my code and install on an embedded computer.  Those who want to plug in and go can buy one of his excellent (and reasonably-priced!) MIDX-20 boxes.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on February 04, 2017, 07:17:48 AM
Quote from: meo_udon on February 04, 2017, 07:13:20 AM
Good news. System firmware between Katana100 and KatanaHead are same. And I saw midi pin on Kanata100/112 pcb. I plan to test midi transfer on my amp.

Elantric has always believed the PCB layout for 5-pin MIDI was present on the combo amps but not populated.  Can you post some photos of the board and let us know what's required to add serial MIDI?  I have meant to do this but never found time. 

Please keep us posted on your work.

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 04, 2017, 07:24:47 AM
I'm not take a photo but only opto-coupler and some resistor miss. If I open it again I will take a photo for you.
Next plan. I plan to use my mcu in my amp and use GA-FC jack to communication to it. Direct push switch by pc817.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 06, 2017, 07:01:30 AM
Midi port on KTN-100/112
Some part opto and R under pcb.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on February 11, 2017, 07:18:43 AM
Looks like Roland is using a custom DIN connector pair.  Not enough PCB holes for any production part I'm aware of.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 12, 2017, 11:29:25 PM
My GA-FC come to Thailand now. If I got it. I will capture signal for you.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on February 13, 2017, 04:38:19 AM
Would someone who owns a Katana head please take close-up photos of the MIDI connector region - both front and rear of board if possible?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 13, 2017, 04:49:58 AM
Miss 1 opto and 3 R same components as GA-FC port.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on February 13, 2017, 09:46:22 AM
QuoteWould someone who owns a Katana head please take close-up photos of the MIDI connector region - both front and rear of board if possible?

(https://s6.postimg.cc/qpl14dxmp/IMG_1333.jpg)
(https://s6.postimg.cc/ups6gmo3l/IMG_2167.jpg)
(https://s6.postimg.cc/6krgyx3sx/IMG_2166.jpg)


The missing "JK4" 5 pin DIN MIDI IN connector used on Katana Head  / Katana 100-112  / 212 PCB is a special type from here

T-Tatsumi / JALCO YKF51-5067V (YKF51-5067)
http://t-tatsumi.com/wp/wp-content/uploads/2015/10/c53310b95cfb71233ead925bf8cc92f2.pdf

(https://s6.postimg.cc/javpc0br5/Katana_head_MIDI.png)
http://t-tatsumi.com/


T-Tatsumi / JALCO YKF51-5067V(YKF51-5067) is a special MIDI connector that brings only three pins (#1,#2,#3) down to the PCB 
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on February 13, 2017, 04:18:17 PM
English web site for Jalco:

http://www.jalco.co.jp/eng/products/connector/

But, they don't show that series of connector.  Roland may be the only source in the US unless someone knows of a stocking distributer.

It should be possible to find a standard PC mount 5-pin jack that can be modified by snipping off two of the pins.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on February 13, 2017, 05:02:37 PM
Roland / Boss use a special DIN MIDI connector that brings only three pins (#1,#2,#3) down to the PCB on several products for years.
https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=Roland+%23+13429825 (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=Roland+%23+13429825)

https://www.google.com/search?q=13429825&biw=1920&bih=1061&source=lnms&tbm=isch&sa=X&ved=0ahUKEwihpsm9uY7SAhVDxrwKHe2yDWQQ_AUICCgD#tbm=isch&q=Roland+13429825 (https://www.google.com/search?q=13429825&biw=1920&bih=1061&source=lnms&tbm=isch&sa=X&ved=0ahUKEwihpsm9uY7SAhVDxrwKHe2yDWQQ_AUICCgD#tbm=isch&q=Roland+13429825)


Roland P/N# 13429825 = T-Tatsumi / JALCO YKF51-5067 (YKF51-5054)

http://martin78.com/files/rolandmc505/MC-505_groovebox_SM.pdf


Roland Corporation U.S.
5100 S. Eastern Ave.
Los Angeles, CA 90040-2938
Customer Service Tel: (323) 890-3700

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on February 13, 2017, 06:21:34 PM
The only Roland part number I see is for the dual-jack assembly as used in GR-55.  (YKF51-5054)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 14, 2017, 08:49:14 PM
I got it.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 14, 2017, 09:25:04 PM
Good news! Protocol is a MIDI*2.
(https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=19959.0;attach=15404;image)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on February 14, 2017, 11:02:20 PM
Quote from: meo_udon on February 14, 2017, 09:25:04 PM
Good news! Protocol is a MIDI*2.

That looks like a serious protocol analyzer you have there. Nice.
will it be possible to construct a MIDI in or MIDI in and out board  that can be connected to the footpedal jack?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on February 14, 2017, 11:22:13 PM
Quote from: meo_udon on February 14, 2017, 09:25:04 PM
Good news! Protocol is a MIDI*2.

Great work. Finally my initial thread question got answered.
Now it's just a matter of finding out the MIDI commands used.
Thank you  ;D
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on February 15, 2017, 04:36:04 AM
The foot controller functions are a strict subset of those available in sysex.  It would be odd if the command syntax was different.

meo_udon:  Can you document the various buttons on the controller so we can tell for sure?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on February 15, 2017, 05:27:59 AM
I have map every bytes already. So easy. I'm completed with arduino.
It is not I2C.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on March 06, 2017, 04:04:49 AM
https://youtu.be/2Xvn_7PZTO0 (https://youtu.be/2Xvn_7PZTO0)

I test with arduino.

Byte 5 SW
Byte 7 checksum
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: GuitarBuilder on March 06, 2017, 06:49:05 AM
Excellent work, meo_udon!
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: melodisk on March 25, 2017, 01:25:26 PM
Would it be possible to use other midi footcontroller and make a midi to stereo jack cable, and send midi commands into the katana ga-fc jack in.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 25, 2017, 02:35:05 PM
In terms of hardware protocol, definitely not MIDI.  However, based on the analyzer trace the software protocol might well be.  I wish meo_udon would update us on his progress.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on March 25, 2017, 03:12:56 PM
I've been looking for the schematics of one of the Boss amps having a jack for this foot controller. No luck. Anybody got it? Elantric?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 25, 2017, 06:38:38 PM
If you find the schematic, please let us know where.  I haven't seen one.

Meo_udon seems to be taking a break from the forum, but I'm wondering if the communication protocol isn't just asynchronous serial data (as from UART).  My little TechTools logic analyzer can directly decipher a number of serial protocols.  But, unfortunately I do not have a GA-FC.  Sweetwater expects them in April some time.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: gumtown on March 25, 2017, 07:56:46 PM
From the data capture, the transport protocol looks like 8 bit resolution PWM, rather than serial bit data.
(https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=19959.0;attach=15404;image)

the data protocol looks like Roland proprietary sysx command communication, such as the Tone Studio editors use.

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 26, 2017, 05:51:06 AM
Yes, and I'm betting the sysex protocol on the pedal jack matches the corresponding commands accepted on USB (or 5-pin MIDI).
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Elantric on March 26, 2017, 08:03:48 AM
QuoteMIDI ooutput port, though it is only populated on the Katana head


Actually The Katana Head only has one 5 pin DIN MIDI INPUT , no  5 pin DIN MIDI Output jack

5 pin DIN MIDI INPUT is for supporting an external MIDI Footcontroller
Title: Re: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on March 27, 2017, 07:25:06 PM
Why everybody do not believe me? It half duplex UART with midi protocol like.
snhirsch you are only hero another are not. I work with midi since 1985. I cloned MPU-401 in 1990. GA-FC only 20 mins to hacked.


Sent from my iPhone using Tapatalk
Title: Re: Re: Katana - Roland GA-FC Foot controller communication
Post by: gumtown on March 27, 2017, 07:44:32 PM
Quote from: meo_udon on March 27, 2017, 07:25:06 PM
Why everybody do not believe me? It half duplex UART with midi protocol like.
snhirsch you are only hero another are not. I work with midi since 1985. I cloned MPU-401 in 1990. GA-FC only 20 mins to hacked.


Sent from my iPhone using Tapatalk
Nobody has said they don't believe you, there is not enough information.
Would you could be kind to share with us what you have found?
what are the commands sent for each switch action?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on March 27, 2017, 09:03:03 PM
void loop()
{
  char  ch, sum;
 
  if (!a)
  {
    b++;
    if (b == 4)
      b = 5;
    if (b > 5)
      b = 0;

    ch = 1 << b;
    sum = 0x80-ch;
    sum += 2;
    sum &= 0x7f;
   
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(ch);
    Serial.write(0x0);
    Serial.write(sum);
    Serial.write(0xf7);
   
  }
  else
  {
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x02);
    Serial.write(0xf7);
  }
 
  pinMode(1, INPUT); 
  delay(10);
  pinMode(1, OUTPUT); 

  a++;
  a &= 0x03;     
  delay(330);
}
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: gumtown on March 27, 2017, 10:06:09 PM
Thank You  :)
Title: Re: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 28, 2017, 04:38:10 AM
Quote from: meo_udon on March 27, 2017, 07:25:06 PM
Why everybody do not believe me? It half duplex UART with midi protocol like.
snhirsch you are only hero another are not. I work with midi since 1985. I cloned MPU-401 in 1990. GA-FC only 20 mins to hacked.

Hero?  No, not really.  I know enough to be dangerous most of the time and correct somewhat less frequently.

What is the signaling rate on the pedal jack?  31.5 kHz (MIDI rate)?  It would make sense for Roland to use MIDI signaling on a non-isolated connection since they already have the decode logic on the board.  If this is the case it suggests a simple, cheap way to bring 5-pin MIDI to the combo amps without internal modification.

Title: Re: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on March 28, 2017, 07:40:10 AM
Quote from: meo_udon on March 27, 2017, 07:25:06 PM
It half duplex UART with midi protocol like.
snhirsch you are only hero another are not. I work with midi since 1985. I cloned MPU-401 in 1990. GA-FC only 20 mins to hacked.

How do you connect this to the uart on the Arduino? Half duplex suggests that it is the same line used for both sending and receiving.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on March 28, 2017, 08:55:02 AM
I say MIDI x2. 62500 Hz.
Title: Re: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on March 28, 2017, 09:00:41 AM
Quote from: sixeight on March 28, 2017, 07:40:10 AM
How do you connect this to the uart on the Arduino? Half duplex suggests that it is the same line used for both sending and receiving.

You can switching floating logic by software or use open corrector logic together. I put TX and RX for test but for long cable I use with opto same as MIDI interface. You can see circuit at the bottom of KATANA PCB nearly GA-FC socket.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on March 28, 2017, 09:03:38 AM
On KATANA no have short circuit protection for GA-FC socket. Be careful. Don't pull or push jack while power on.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on March 28, 2017, 03:15:10 PM
Quote from: meo_udon on March 28, 2017, 09:03:38 AM
On KATANA no have short circuit protection for GA-FC socket. Be careful. Don't pull or push jack while power on.

Thank you friend meo_udon very much. Your input is very much appreciated among us.
All your knowledge is very good.
Thanks  :)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 28, 2017, 05:13:55 PM
Quote from: meo_udon on March 28, 2017, 08:55:02 AM
I say MIDI x2. 62500 Hz.

Easy enough to do with a RaspberryPi.  There's plenty of information on setting the port to non-standard baud rates.

Bad news is that my idea for a simple and cheap 5-pin MIDI adapter sort of depended on it using 31.5 kHz. I'll pickup a GA-FC as soon as I can find one and start playing around.

And, yes, I imagine the foot controller jack does not have industrial strength isolation.  Thanks for all the information and warnings, meo_udon.

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on March 29, 2017, 08:42:05 PM
Cable -> arduino
Gnd -> gnd
Ring -> 5V
Tip -> TX0

char a, b;

void setup() {
  //  Set MIDI baud rate:
  Serial.begin(62500);

  delay(1070);
  Serial.write(0xf0);
  Serial.write(0x0);
  Serial.write(0x0);
  Serial.write(0x56);
  Serial.write(0x7f);
  Serial.write(0x2b);
  Serial.write(0xf7);
 
  delay(7);
  Serial.write(0xf0);
  Serial.write(0x0);
  Serial.write(0x0);
  Serial.write(0x7f);
  Serial.write(0x7f);
  Serial.write(0x02);
  Serial.write(0xf7);
  delay(300);
 
}

void loop()
{
  char  ch, sum;
 
  if (!a)
  {
    b++;
    if (b == 4)
      b = 5;
    if (b > 5)
      b = 0;

    ch = 1 << b;
    sum = 0x80-ch;
    sum += 2;
    sum &= 0x7f;
   
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(ch);
    Serial.write(0x0);
    Serial.write(sum);
    Serial.write(0xf7);
   
  }
  else
  {
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x02);
    Serial.write(0xf7);
  }
 
  pinMode(1, INPUT); 
  delay(10);
  pinMode(1, OUTPUT); 

  a++;
  a &= 0x03;     
  delay(330);
}
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on March 30, 2017, 02:19:03 AM
QuoteBad news is that my idea for a simple and cheap 5-pin MIDI adapter sort of depended on it using 31.5 kHz. I'll pickup a GA-FC as soon as I can find one and start playing around.

It is quite easy to build a convertor around a Teensy LC. The Teensy LC has three serial ports and it relatively cheap.

The RPi should be able to do it as well. I have already worked out the details in the VCbridge code for the VController on how to change the baud rate to midi clock. Just double the numbers and it should work for the GA-FC...

https://github.com/sixeight7/VCbridge (https://github.com/sixeight7/VCbridge)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 30, 2017, 05:17:10 AM
Yes, that will certainly work.  But, I'm hoping the pedal connector drives the same circuit as the opto-isolator behind a MIDI plug would.  If it can understand 31.5 kHz serial protocol than a 5-pin to 1/4" adapter involves about 4 components.  Meo_udon mentions 62.5 kHz, but I cannot understand why Roland would have done that when they already had a base circuit setup for 31.5 kHz.   I expected something like this:

MIDI Connector ---> opto-isolator --->
                                                        OR Gate ---> UART ---> Control logic        |
1/4" Pedal Plug -------------------------->

The GA-FC is pure unobtainium at the moment, but as soon as I get my hands on one I'll have this figured out.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on March 30, 2017, 07:17:48 AM
QuoteThe GA-FC is pure unobtainium at the moment, but as soon as I get my hands on one I'll have this figured out.

supposed to ship April 5 here:
https://www.amazon.com/gp/offer-listing/B008E0ZS0K/ref=dp_olp_new_mbc?ie=UTF8&condition=new

I find them used by checking the typical sites Reverb, TGP, Ebay, Guitar Center used - when they pop up for sale they go fast.

folks forget this same GA-FC is used by GA-112, GA-212, Cube-40GX, Cube-80GX, Blues Cube Artist, and Katana 100 watt models. Any buyer seeking any of these amps is seeking or selling a GA-FC (new / used)


Id be looking at the VG-99 schematic
https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=28.0;attach=965
- I bet the TRS interface for GA-FC is a variation on the RRC2 - ( which uses RJ-45 connection = CAT5 8 pins)  and feed the common UART on the CPU - however now they have a half duplex one wire bidirectional arrangement for GA-FC foot controller using  1/4" TRS cable

Tip  =  Data
Ring =  5VDC
Sleeve = Ground


However the data for GA-FC is bidirectional on one wire  - i.e.  you can change the current AMP Channel on the Katana amp ( CH1, CH2, CH3, CH4), and the GA-FC follows and stays in sync.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on March 30, 2017, 09:56:21 AM
Quote- I bet the TRS interface for GA-FC is a variation on the RRC2 - ( which uses RJ-45 connection = CAT5 8 pins)

RRC2 does midi in and out at normal MIDI speed. And it has separate pin pairs for midi in and midi out. Not much to learn here. An RRC2 to midi connector would require just the connectors and no extra components. The VG99 already has an optocoupler in place for the RRC2 midi in pins.

RRC2 does accept the same MIDI commands as the regular and usb midi ports do, though there is some extra sysex information being send, which is undocumented in the VG99 midi specification.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 30, 2017, 10:10:22 AM
Bi-directional.  Hmm.  I2C and other one-wire standards have a protocol for this.  But plain old serial communication?   Maybe some type of collision detection and backoff.  Or maybe I'm overthinking the entire thing.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on March 30, 2017, 10:26:51 AM
Quote from: snhirsch on March 30, 2017, 10:10:22 AM
Bi-directional.  Hmm.  I2C and other one-wire standards have a protocol for this.  But plain old serial communication?   Maybe some type of collision detection and backoff.  Or maybe I'm overthinking the entire thing.

I have been googling "uart duplex". Maybe something like this:

(https://s25.postimg.cc/udqz4110f/IMG_0283.jpg)

Though a solution of Roland is usually more elaborate than this.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on March 30, 2017, 10:29:22 AM
reference

https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/258461

Quote

Communicate through uart ports(TXD/RXD) with a single wire.Is this possible

In reply to Andy Neil:

I have a crude hardware interface circuit for half-duplex One-Wire UART to UART connection as shown here. 

(https://www.vguitarforums.com/smf/proxy.php?request=http%3A%2F%2Fe2e.ti.com%2Fresized-image.ashx%2F__size%2F550x0%2F__key%2Fcommunityserver-discussions-components-files%2F166%2F4503.OneWire.bmp&hash=d4423806435657beb9539806c7fdacf7d2bfe10e)
Both Tx and Rx are assumed to be active low. If Tx is from an open collector or open drain, the diode is not needed. This interface is prone to ground noise and RF interference.  It can also be very slow due the stray capacitance of the wire.

A fairly robust software protocol is as follows:

Both sides are normally in a watch-request-state (see below for details of how a request is made).

If a request from the other side is detected, the detecting side enters a receive-data-state. It stays in this state until there is no more data from the other side.  That condition is detected by a prearranged Rx timeout or by a prearranged special EOT byte appended to the end of data bytes. Either way, the side exits the receive-data-state and goes back to watch-request-state.

While both sides are in the watch-request-state, if either side wants to transmit data, it has to (a) make sure the other side is not sending a request, (b) send a 2-byte request of its own, and (c) receive the loop-back echo of that 2-byte request.  I suggest that one side uses 0xFF, 0xFF while the other side uses 0xFE, 0xFF as the said 2-byte request.

If the correct loop-back bytes are received, it indicates that there was no collision on the One-Wire interface and the side that makes the request goes into transmit-data-state. When all data bytes are transmitted, it uses either one of the aforementioned methods to end this transmit-data-state and goes back to watch-request-state.


QuoteThough a solution of Roland is usually more elaborate than this.

Absolutely!
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on March 30, 2017, 10:38:09 AM
QuoteWhile both sides are in the watch-request-state, if either side wants to transmit data, it has to (a) make sure the other side is not sending a request, (b) send a 2-byte request of its own, and (c) receive the loop-back echo of that 2-byte request.  I suggest that one side uses 0xFF, 0xFF while the other side uses 0xFE, 0xFF as the said 2-byte request.

There is probably no watch state data exchange going on, but it might. I would expect data to be send on pressing a switch and the Katana responds quickly with an updated LED state. If the data goes fast enough, there is no need for a mutual data exchange before sending. That might be the reason they doubled the MIDI speed. It may also mean there is a limited midi data set on this connection to avoid collisions.

All speculation though...
Title: Re: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on March 30, 2017, 11:04:18 AM
If you look at the my picture. You sould be found. Do not guess. Sorry for my english languege. I am Thai.


Sent from my iPhone using Tapatalk
------------
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 30, 2017, 02:53:14 PM
Unfortunately, I can learn nothing from your video.  I understand the language barrier, but code and schematics are sort of universal.  Would you consider posting a schematic of your interface?

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 30, 2017, 02:54:34 PM
Quote from: admsustainiac on March 30, 2017, 10:29:22 AM
reference

https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/258461

Very simple and elegant solution for collision detection.  Nice.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Elantric on March 30, 2017, 03:51:31 PM
Read all excellent Posts by: meo_udon here:
https://www.vguitarforums.com/smf/index.php?action=profile;area=showposts;u=21573

I'use Katana 100 112. I saw pcb behind GA-FC jack. Tip is bi-direction with 2 opto coupler. Ring is 5V supply. If any body can capture signal on tip for baudrate or some commands. I think I can know protocol.

If you think I2C. Where is power supply for GA-FC. And I2C not use for long range. The ring pin can drive more than 200ma. Not posible to CLK pin.

Good news. System firmware between Katana100 and KatanaHead are same. And I saw midi pin on Kanata100/112 pcb. I plan to test midi transfer on my amp.

I'm not take a photo but only opto-coupler and some resistor miss. If I open it again I will take a photo for you.
Next plan. I plan to use my mcu in my amp and use GA-FC jack to communication to it. Direct push switch by pc817.

Midi port on KTN-100/112
Some part opto and R under pcb.

My GA-FC come to Thailand now. If I got it. I will capture signal for you.

Miss 1 opto and 3 R same components as GA-FC port.
(https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=19959.0;attach=15403;image)
Good news! Protocol is a MIDI*2.

(https://s6.postimg.cc/hwq76cvep/arduino1.png)
I have map every bytes already. So easy. I'm completed with arduino.
It is not I2C.

GA-FC delay only lamps. 3Hz update time but every switch are realtime. I check from my GA-FC signal and I watch TAP switch.

Why everybody do not believe me? It half duplex UART with midi protocol like.
snhirsch you are only hero another are not. I work with midi since 1985. I cloned MPU-401 in 1990. GA-FC only 20 mins to hacked.


I say MIDI x2. 62500 Hz.


You can switching floating logic by software or use open corrector logic together. I put TX and RX for test but for long cable I use with opto same as MIDI interface. You can see circuit at the bottom of KATANA PCB nearly GA-FC socket.


On KATANA no have short circuit protection for GA-FC socket. Be careful. Don't pull or push jack while power on.

Cable -> arduino

GA-FC 1/4" plug TRS connections:

Tip -> TX0 ( data )
Ring -> 5VDC (Power)
Sleeve -> Gnd



char a, b;

void setup() {
  //  Set MIDI baud rate:
  Serial.begin(62500);

  delay(1070);
  Serial.write(0xf0);
  Serial.write(0x0);
  Serial.write(0x0);
  Serial.write(0x56);
  Serial.write(0x7f);
  Serial.write(0x2b);
  Serial.write(0xf7);
 
  delay(7);
  Serial.write(0xf0);
  Serial.write(0x0);
  Serial.write(0x0);
  Serial.write(0x7f);
  Serial.write(0x7f);
  Serial.write(0x02);
  Serial.write(0xf7);
  delay(300);
 
}

void loop()
{
  char  ch, sum;
 
  if (!a)
  {
    b++;
    if (b == 4)
      b = 5;
    if (b > 5)
      b = 0;

    ch = 1 << b;
    sum = 0x80-ch;
    sum += 2;
    sum &= 0x7f;
   
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(ch);
    Serial.write(0x0);
    Serial.write(sum);
    Serial.write(0xf7);
   
  }
  else
  {
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x02);
    Serial.write(0xf7);
  }
 
  pinMode(1, INPUT); 
  delay(10);
  pinMode(1, OUTPUT); 

  a++;
  a &= 0x03;     
  delay(330);
}



If you look at the my picture. You sould be found. Do not guess. Sorry for my english languege. I am Thai.

(https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=19959.0;attach=15403;image)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 30, 2017, 05:51:37 PM
I think this:

QuoteGA-FC delay only lamps. 3Hz update time but every switch are realtime. I check from my GA-FC signal and I watch TAP switch.

is discussing bi-directional communication, but I'm just not able to parse it.  Is he saying it listens for LED control commands from the amp every 1/3 sec? 
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Elantric on March 30, 2017, 06:11:51 PM
Quotes discussing bi-directional communication, but I'm just not able to parse it.  Is he saying it listens for LED control commands from the amp every 1/3 sec?

That was in response to a question: "How sluggish is the Katana Amp switching?"
https://www.vguitarforums.com/smf/index.php?topic=20322.msg146552#msg146552

his reply

QuoteGA-FC delay only lamps. 3Hz update time but every {GA-FC} Foot switch {press with a foot,  the Katana Amp channel changes occur in } realtime. I check from my GA-FC signal and I watch TAP switch.
Title: Re: Re: Katana - Roland GA-FC Foot controller communication
Post by: meo_udon on March 30, 2017, 06:13:35 PM
Last 6 bytes are talk from Katana. They have status lamps byte. When you touch any switch or volume Gafc force send data to katana. But if idle state is 3Hz .


Sent from my iPhone using Tapatalk
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 31, 2017, 05:09:03 AM
Let me play back what I think I understand: The pedal is always in listen state at idle, which is how it responds to panel changes on the amp.  When you step on a footswitch, the pedal goes active only long enough to send the message, then drops back to idle.  After receiving a command, the amp waits three clock periods before returning an LED control message to ensure the pedal is listening again.


Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on March 31, 2017, 08:22:09 AM
Quote from: snhirsch on March 31, 2017, 05:09:03 AM
Let me play back what I think I understand: The pedal is always in listen state at idle, which is how it responds to panel changes on the amp.  When you step on a footswitch, the pedal goes active only long enough to send the message, then drops back to idle.  After receiving a command, the amp waits three clock periods before returning an LED control message to ensure the pedal is listening again.

When I look at the MIDI sysex picture, there are two messages. My guess is the first message (F0 00 00 7F 7F 20 00 62 F7) is the message send by the pedal. Is the seconds message (F0 00 00 20 60 F7) the response from the Katana  or is it also sent from the pedal?

The numbers before F7 (62 and 60 hexadecimal) are checksum bytes.

An interesting experiment would be to send other commands from the Katana sysex document and see if the Katana responds or not. Then we know if there is a limited instruction set on this connection or not...
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 31, 2017, 10:00:33 AM
Quote from: sixeight on March 31, 2017, 08:22:09 AM
When I look at the MIDI sysex picture, there are two messages. My guess is the first message (F0 00 00 7F 7F 20 00 62 F7) is the message send by the pedal. Is the seconds message (F0 00 00 20 60 F7) the response from the Katana  or is it also sent from the pedal?

Meo_udon is saying that second message is amp response (LED control)

Quote
An interesting experiment would be to send other commands from the Katana sysex document and see if the Katana responds or not. Then we know if there is a limited instruction set on this connection or not...

I'd be amazed if the pedal interface port didn't understand the entire command set.  Why would they go to the expense of a separate data path?  My bet is it ties into the MIDI in/out path in an arrangement similar to the little ASCII diagram I posted above.

I believe the GA-FC output driver is active only for long enough to send a message and goes into Hi-Z (tri-state) immediately after.  Simply connecting a serial output to the amp is probably not a good idea.  On a RaspberryPi, one could use an additional control line to gate a driver.  Would require a little bit of hardware hacking, but not too bad.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on March 31, 2017, 10:14:47 AM
QuoteI'd be amazed if the pedal interface port didn't understand the entire command set.  Why would they go to the expense of a separate data path?  My bet is it ties into the MIDI in/out path in an arrangement similar to the little ASCII diagram I posted above.

I think there is a reasonable chance it does have a limited set. When the Katana is switched to editor mode it starts sending lots of sysex data. Because of the half duplex connection it may miss a button press when in editor mode. The easiest solution I see is to disable that uart from all editor related communication.

This uart already runs at a modified baud rate. So we are certain it is a different uart from the midi uart. I it really can go either way.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Elantric on March 31, 2017, 10:23:23 AM
QuoteWhen the Katana is switched to editor mode it starts sending lots of sysex data

Over USB  - which is the only connection option for the Boss Tone Studio for Katana Editor

Of course we can assume the  5 pin MIDI IN( Katana Head) and the GA-FC TRS connection  use a common serial UART on the Katana pSOC CPU , while the USB is a separate data communication path to the Katana's CPU   
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on March 31, 2017, 10:44:25 AM
Quote from: Elantric on March 31, 2017, 10:23:23 AM
Over USB  - which is the only connection option for the Boss Tone Studio for Katana Editor

The VG99 is able to send this data over serial MIDI and RRC2 as well.

QuoteOf course we can assume the  5 pin MIDI IN( Katana Head) and the GA-FC TRS connection  use a common serial UART on the Katana pSOC CPU , while the USB is a separate data communication path to the Katana's CPU   

Maybe meo_udon is willing to do a test for us. Maybe Steve can come up with a good sysex string to test this. I cannot verify anything as I do not have the Katana. But it is fun to join in this discussion...
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 31, 2017, 12:09:14 PM
I always love to speculate about vendor design choices.  Occasionally I'm correct, but I learn much more from the cases where I'm not.  I won't have time for a couple of weeks to breadboard a tri-state driver to talk with the GA-FC plug.  Still don't think it's a good idea to tie a TTL output directly to it if data comes out of the port as well.

Basic transmission scheme:

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: gumtown on March 31, 2017, 01:44:21 PM
"1 wire communication" is the phrase for today.

http://playground.arduino.cc/Learning/OneWire

https://www.pjrc.com/teensy/td_libs_OneWire.html


(https://www.maximintegrated.com/content/dam/images/products/communications/1-wire/homepage-1-wire.png)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on March 31, 2017, 02:30:29 PM
Thanks.  I'll do some reading this weekend.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on April 03, 2017, 04:46:43 PM
Quote
The GA-FC is pure unobtainium at the moment, but as soon as I get my hands on one I'll have this figured out.



https://www.amazon.com/Roland-GA-FC-Controller-GA-112-GA-212/dp/B008E0ZS0K
(https://s6.postimg.cc/bq1s2wikh/GA-_FC1.png)

https://8thstreet.com/Product/Get/68422/roland-ga-fc-foot-controller-for-ga-112-ga-212-and-cubes
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on April 03, 2017, 06:57:47 PM
Thank you, sir!  I just grabbed one.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Elantric on May 12, 2017, 11:20:25 AM

Good news! Protocol is a MIDI*2.
(https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=19959.0;attach=15404;image)


and the GA-FC Footswitch input circuit looks to be opto-isolated - like a 5pin DIN MIDI input
(https://s6.postimg.cc/58jdqb1mp/KAT_MIDI_IN_1.jpg)

find IC7, IC9
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on May 12, 2017, 05:45:58 PM
Without the isolation the life of that input would be at worst short and brutal and at best as unreliable as a Fender Mustang.  The first couple of times my Mustang IIIv2 jumped presets at a gig I thought it was either my imagination or my accidentally stepping on a footswitch. 
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: zlot on March 02, 2018, 02:47:39 AM
Hi, new member here.
Got my Katana 100 yesterday, here are some pics of the footswitch:
https://imgur.com/a/JfhpY (https://imgur.com/a/JfhpY)

I don't think that this will help anyone though. Will try to understand meo_udon's code when I got the time...
(https://i.imgur.com/e5MiK3e.jpg)

(https://i.imgur.com/9gUQIme.jpg)


Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on March 02, 2018, 09:21:05 AM
GA-FC MIDI Hardware Interface Revealed
I started this thread so I feel obliged to show my findings as I today spent some hours with a Multimeter and magnifying lamp.
It appears both sides of the TRS cable (more or less) share the same circuit.
Thanks everyone for your contributions.

(Don't be surprised if add a GA-FC interface to some future Primova Sound project  ;D)

(https://www.primovasound.com/gfx/gafc_ifc.png)

GA-FC parts (top and bottom board view)
(https://www.primovasound.com/gfx/gafc_ifc1.png)

KATANA parts (photo by Elantric)
Similar circuit.

(https://www.primovasound.com/gfx/gafc_ifc2.png)

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on March 02, 2018, 09:45:45 AM
QuoteGA-FC MIDI Hardware Interface Revealed

So definately half duplex then. I still expect there to be a limited function set on this connector. So probably no sysex control of internal parameters. Only messages for button press and LED states. Also the reason this port runs at twice the normal MIDI speed. Avoid collisions...

But now somebody can duplicate the schematic and try. Should be fun.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on March 02, 2018, 09:52:28 AM
GA-FC Footcontroller CPU - NEC UPD78F0513AGA embedded microcontroller IC

(https://ae01.alicdn.com/kf/HTB1_kPsQXXXXXX_XVXXq6xXFXXXD/D78F0513A-font-b-UPD78F0513A-b-font-.jpg)

(https://i.imgur.com/e5MiK3e.jpg)

(https://www.vguitarforums.com/smf/proxy.php?request=http%3A%2F%2Fwww.dientuvietnam.net%2Fforums%2Ffiledata%2Ffetch%3Fid%3D1656117&hash=e1be5290c5d8b28076aa43d08f0ae7289f6d12e2)
https://books.google.com/books?id=M_F_syq_NBwC&pg=PA274&lpg=PA274&dq=NEC+MICOM&source=bl&ots=Jn5qopTyLK&sig=58Gz1sVgpK131Yb25gG7oUhyRKA&hl=en&sa=X&ved=0ahUKEwjWs-fgms7ZAhXHr1QKHaVqDosQ6AEIPDAE#v=onepage&q=NEC%20MICOM&f=false
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: zlot on March 02, 2018, 09:55:01 AM
Quote from: sixeight on March 02, 2018, 09:45:45 AM
But now somebody can duplicate the schematic and try. Should be fun.
You could, but that wouldn't be enough, as getting the software embedded in the microcontroller is tricky ;)
It should be easier to replicate the GA-FC using an Arduino, with meo_udon's code for a starting point (I'm currently trying to understand it, will post my findings if I'm successful)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on March 02, 2018, 10:24:17 AM
Quote from: zlot on March 02, 2018, 09:55:01 AM
You could, but that wouldn't be enough, as getting the software embedded in the microcontroller is tricky ;)
It should be easier to replicate the GA-FC using an Arduino, with meo_udon's code for a starting point (I'm currently trying to understand it, will post my findings if I'm successful)

But ( in theory) if you populate a Katana 50 PCB with the missing parts (as described in this post)
https://www.vguitarforums.com/smf/index.php?topic=19959.msg166947#msg166947

- with luck a  GA-FC Footswitch may be connected and (hopefully)  work, assuming that the Katana 50's CPU has same code to read a connected GA-FC foot switch ,( as exists on Katana 100 /Head / Artist)   

I figure if we could locate a Roland GA-212 or Cube -80GX Amp service manual , it might go into more details on the GA-FC operation
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on March 02, 2018, 10:29:53 AM
Quote from: admsustainiac on March 02, 2018, 10:24:17 AM
I figure if we could locate a Roland GA-212 or Cube -80GX Amp service manual , it might go into more details on the GA-FC operation
I have tried and failed.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on March 02, 2018, 10:45:59 AM
Quote from: zlot on March 02, 2018, 09:55:01 AM
You could, but that wouldn't be enough, as getting the software embedded in the microcontroller is tricky ;)
For some of us here, it's not tricky at all.
1. Personally the first thing I would do is to grab the RXD wire out of a my MIDX-20 box, connect it to the TIP of the GA-FC cable and set the UART to double speed.
2. While stepping on every button and rocking the expression pedals the MIDX-20 will then dump all MIDI talk to the PC via USB port, and voila' I have the Katana/GA-FC MIDI protocol documented. Probably a one to two hour operation.

Then it's just a matter of making a new PCB and extend the firmware with recent findings.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: zlot on March 02, 2018, 11:04:38 AM
Right, sorry, I didn't understand that you were talking about the K50 :)
Ans yes, dumping the uC's ROM is not easy, but "sniffing" what comes out of it is more simple.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on April 23, 2018, 11:40:51 AM
OK gentlemen. What is the state of the GA-FC reverse engineering?

I have picked up a Katana 100 with a GA-FC a couple of days ago. Now I am trying to work out the nicest way to have an implementation of the VController with the Katana.

Has anybody been able to get this project further than the existing proof-of-concept that meo-udon provided? It would be interesting to just send a PC message and see what happens...

OK, still pretty sure that the GA-FC uses a different protocol than the USB, but I want to be certain now...
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on April 23, 2018, 11:53:01 AM
Quote from: sixeight on April 23, 2018, 11:40:51 AM
OK gentlemen. What is the state of the GA-FC reverse engineering?

I have picked up a Katana 100 with a GA-FC a couple of days ago. Now I am trying to work out the nicest way to have an implementation of the VController with the Katana.

Has anybody been able to get this project further than the existing proof-of-concept that meo-udon provided? It would be interesting to just send a PC message and see what happens...

Control Katana via RPI or Beaglebone Black via USB connection and info about Katana MIDI Sysex from VTGEarhead
https://www.vguitarforums.com/smf/index.php?board=240.0
https://www.vguitarforums.com/smf/index.php?topic=19782.0
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: gumtown on April 23, 2018, 12:06:33 PM
I just recently received some USB host boards (USB-SPI), which can be found on eBay

https://www.ebay.com/itm/Mini-USB-Host-Shield-Support-Google-ADK-Android-For-Arduino-UNO-MEGA-Duemilanove/141977602986?hash=item210e864baa:g:ABwAAOSwZQxW4W~U

And some code by a member Mr HaroldA on GIT Hub, who uses it on a Boss MS-3 USB for a midi controller
https://github.com/MrHaroldA/MS3

But I am also interested in the GAFC port too.
AFAIK it runs at 2x midi speed in half duplex mode
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on April 23, 2018, 02:59:05 PM
...and I haven't had time yet. ::)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: gumtown on April 23, 2018, 05:42:23 PM
Quote from: CodeSmart on April 23, 2018, 02:59:05 PM
...and I haven't had time yet. ::)
Yeah, tell me about it  ::)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on April 24, 2018, 04:56:41 AM
What is this "time" of which you speak?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: jwoertz on June 24, 2018, 03:46:22 PM
Does anyone know a junction box that I can use with both the GA-FC TRS and 1/4" audio? I want to connect a box to the end of my pedalboard so I can have removable audio and GA-FC lines. Thanks for your help!
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on August 02, 2018, 06:16:30 PM
Hello Gentlemen,

I have been following this thread and have been able to verify that the code that meo_udon provided does work with an arduino. Also, the opto-interface that CodeSmart provided does in fact work. I have been able to change channels 1-4 on bank A/1/whatever you call it and the panel on my Katana 100 combo but I have not been able to change channels 1-4 (5-8) on bank B/2/etc... I could use a little help in figuring out the hex values. When the panel button is held down on the GAFC (similar to holding down the panel button on the control panel) allows access to the second bank of 4 channels. My question is, what is being sent by the GAFC when a button is pressed while the panel light is flashing (hope this makes sense)
(https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=19959.0;attach=18055;image)
I have attached a pic of my little test circuit.  My goal is to retrofit an old Line6 Floorboard (amp died but floorboard is still workable) into a pseudo-GAFC with integrated expression pedals.  Kind of cool that the board gets power from the amp so an external power supply is not necessary.

Any help that you can provide would be greatly appreciated.

Regards,
Sean
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on August 03, 2018, 01:59:26 AM
QuoteI could use a little help in figuring out the hex values. When the panel button is held down on the GAFC (similar to holding down the panel button on the control panel) allows access to the second bank of 4 channels. My question is, what is being sent by the GAFC when a button is pressed while the panel light is flashing (hope this makes sense)

Hi Sean,

Great looking board you have there. You are actually treading in uncharted territory here. There are a number of things you can try:

1) Try sending a normal program change Midi message.  0xC0 followed by the channel number should select channels 0 - 8 (including the Panel)
2) Are you able to read the midi messages from the Katana? To make sense of them, here is a basic tutorial on Boss/Roland sysex messages: http://www.2writers.com/eddie/tutsysex.htm (http://www.2writers.com/eddie/tutsysex.htm)
3) The unanswered question is, whether the Katana will receive the same sysex messages it can receive on its USB port. These messages have been documented here: https://www.vguitarforums.com/smf/index.php?topic=19707.0 (https://www.vguitarforums.com/smf/index.php?topic=19707.0)

I hope this will help you get started. Please do share your discoveries.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on August 03, 2018, 08:05:57 AM
Hi Sixeight,

Thank you for the input. I found the sysex website right after I posted so I have been reading through that. Also, I tried sending a 0xC0 followed by 0x01 and nothing happened. The other code that works does not look like standard sysex messages or program change messages. I have attached my code that works for changing the channels along with the non-functioning program change code (SW7). If you see something that looks wrong, please let me know. I am new to midi but not new to electronics or coding. Thank you again for the help.

Regards,
Sean


Code below
=============================================================
//Katana channel switching program

const int SW7 = 6;     // the number of the pushbutton pin
const int SW6 = 7;      // the number of the LED pin
const int SW3 = 8;
const int SW4 = 9;
const int SW5 = 10;
const int SW8 = 11;

void setup() {
  // Initilize the switches as inputs:
  pinMode(SW7, INPUT_PULLUP);
  pinMode(SW6, INPUT_PULLUP);
  pinMode(SW3, INPUT_PULLUP);
  pinMode(SW4, INPUT_PULLUP);
  pinMode(SW5, INPUT_PULLUP);
  pinMode(SW8, INPUT_PULLUP);
 
  pinMode(13, OUTPUT);

//Start the Midi commuincation and initilize the system
  Serial.begin(62500);

  delay(1070);
  Serial.write(0xf0);
  Serial.write(0x0);
  Serial.write(0x0);
  Serial.write(0x56);
  Serial.write(0x7f);
  Serial.write(0x2b);
  Serial.write(0xf7);
 
  delay(7);
  Serial.write(0xf0);
  Serial.write(0x0);
  Serial.write(0x0);
  Serial.write(0x7f);
  Serial.write(0x7f);
  Serial.write(0x02);
  Serial.write(0xf7);
  delay(300);
 
}

void loop() {
  // main code

  if (digitalRead(SW4)==LOW)// channel 2
  {
    digitalWrite(13, HIGH);
    Serial.write(0xf0);//
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);//
    Serial.write(0x01);//channel of amp :2
    Serial.write(0x0);// 7
    Serial.write(0x01);//checksum
    Serial.write(0xf7);
    delay(10);
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x02);
    Serial.write(0xf7);
  }
  else{digitalWrite(13, LOW);}
 
if (digitalRead(SW5)==LOW) //channel 3
  {
    digitalWrite(13, HIGH);
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x02); //channel of amp: 3
    Serial.write(0x0);
    Serial.write(0x00);//checksum
    Serial.write(0xf7);
    delay(10);
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x02);
    Serial.write(0xf7);
  } 

  if (digitalRead(SW8)==LOW) //channel 4
  {
    digitalWrite(13, HIGH);
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x04); //channel of amp: 4
    Serial.write(0x0);
    Serial.write(0x7e);
    Serial.write(0xf7);
    delay(10);
    Serial.write(0xf0);//Sysex header
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);//Sysex header
    Serial.write(0x0);//channel of amp
    Serial.write(0x0);
    Serial.write(0x02);//checksum
    Serial.write(0xf7);
  } 

  if (digitalRead(SW6)==LOW) //channel Panel
  {
    digitalWrite(13, HIGH);
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x08); //channel of amp : panel
    Serial.write(0x0);
    Serial.write(0x7a);//checksum
    Serial.write(0xf7);
    delay(10);
   Serial.write(0xf0);//Sysex header
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);//Sysex header
    Serial.write(0x0);//channel of amp
    Serial.write(0x0);
    Serial.write(0x02);//checksum
    Serial.write(0xf7);
  } 

  if (digitalRead(SW3)==LOW) //channel 1
  {
    digitalWrite(13, HIGH);
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x20); //channel of amp: 1
    Serial.write(0x0);
    Serial.write(0x62);//checksum
    Serial.write(0xf7);
    delay(10);
        Serial.write(0xf0);//Sysex header
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);//Sysex header
    Serial.write(0x0);//channel of amp
    Serial.write(0x0);
    Serial.write(0x02);//checksum
    Serial.write(0xf7);
  } 

    if (digitalRead(SW7)==LOW) //channel ?
  {
    digitalWrite(13, HIGH);
    Serial.write(0xC0);
    Serial.write(0x01);
   } 
}

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on August 03, 2018, 08:34:08 AM
Grab the sysex documentation from here:

https://github.com/snhirsch/katana-midi-bridge/blob/master/doc/katana_sysex.txt

Read the command syntax explanation at the top, then see this section:


[Preset Recall]

Place in BTS control mode
7F 00 00 01 --> 01

Recall
00 01 00 00 --> 00 xx

Panel: 00
Ch1:   01
Ch2:   02
Ch3:   03
Ch4:   04

Exit BTS control mode
7F 00 00 01 --> 00


Try placing the Katana into 'control' mode and passing, e.g. 05, 06, etc. for channel value.  You may get lucky and it works.

Otherwise, we need to sniff the communication from GA-FC when the footswitch button is held down. 
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on August 03, 2018, 09:18:07 AM
Hi Sean,

Looking at your code, the checksums are the same on all messages. It is probably better to stick to the code as it was provided bij meo-udon as it calculates the checksum:

void loop()
{
  char  ch, sum;
 
  if (!a)
  {
    b++;
    if (b == 4)
      b = 5;
    if (b > 5)
      b = 0;

    ch = 1 << b;
    sum = 0x80-ch;
    sum += 2;
    sum &= 0x7f;
   
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(ch);
    Serial.write(0x0);
    Serial.write(sum);
    Serial.write(0xf7);
   
  }
  else
  {
    Serial.write(0xf0);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x02);
    Serial.write(0xf7);
  }
 
  pinMode(1, INPUT); 
  delay(10);
  pinMode(1, OUTPUT); 

  a++;
  a &= 0x03;     
  delay(330);
}


But my hunch is that you can only press the buttons as they exist on the GAFC. So to reach the other bank you will have to hold the PANEL switch for one second. You can probably simulate this in the Arduino sketch, but it will not give fast switching whenever you move from Bank A to bank B or back.

As the same connection is used for sending and receiving data, the Katana will listen to the GAFC and wait for a switch to be pressed. When that happens comunication is reversed, so the Katana can send the LED state. When that is done the Katana will go back to listening. This is how I think it is working, you will have to find out and confirm stuff.

If I am right then the GAFC connection will not support any other sysex data, as it will mess up the communication handshake of the GAFC connection. To have more functionality, you will have to look at the MIDI over USB. A normal USB shield should work. More info here:

https://www.vguitarforums.com/smf/index.php?topic=17866.0 (https://www.vguitarforums.com/smf/index.php?topic=17866.0)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on August 03, 2018, 09:26:04 AM
Quote from: TucsonSean on August 02, 2018, 06:16:30 PM
I have been able to change channels 1-4 on bank A/1/whatever you call it and the panel on my Katana 100 combo but I have not been able to change channels 1-4 (5-8) on bank B/2/etc...

A New recent discovery  -

QuoteI have my Boss FS-5U plugged into my GA-FC" VOL Expression Pedal input and it does an instant switch from A to B. So bank 1A switches to bank 1B etc...

https://www.vguitarforums.com/smf/index.php?topic=24053.msg174866#msg174866
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on August 03, 2018, 11:30:45 AM
Sixeight,

I did use the code that meo_udon supplied, I just figured out what the channels were and the corresponding checksum was and used those values instead of the auto-calculation method that he used. If you look at my code, it shows that each channel has the correct checksum corresponding to each channel before the delay(10). The second run of midi data out after the delay is what I am unfamiliar with. I do know that without it, it would not switch channels as reliably as with it. It could also be that I send data as long as the switch is pressed and not only once.

I used an Mega 2560 to send to the serial monitor the channel and calculated values given by the original code as it would switch through the 4 channels and the panel flawlessly. What I couldn't/haven't found was the codes for switching over to the second bank. I did press and hold the panel button on the actual amp and switched over to the second bank and then I could switch through the channels with the arduino and when I pressed the panel button (actual amp button) it switched back to the first bank of channels.

I did stumble on to the code for switching the effects on and off but it did not work flawlessly as I could not switch back over to selecting channels unless I pressed the panel button and then the channel. I need to clean up my code so that it only sends the data once for each button press (with de-bounce) and not rapid-fire like it currently does.

Progress is sometimes slow coming but well worth it in the end. Again, thanks for all of the help and suggestions.

Regards,
Sean


code snippet~

============================
if (digitalRead(SW4)==LOW)// channel 2
  {
    digitalWrite(13, HIGH);
    Serial.write(0xf0);//Sysex header
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);//Sysex header
    Serial.write(0x01);//channel of amp :6
    Serial.write(0x0);// 7
    Serial.write(0x01);//checksum
    Serial.write(0xf7);
    delay(10);
    Serial.write(0xf0);//Sysex header
    Serial.write(0x0);
    Serial.write(0x0);
    Serial.write(0x7f);
    Serial.write(0x7f);//Sysex header
    Serial.write(0x0);//channel of amp
    Serial.write(0x0);
    Serial.write(0x02);//checksum
    Serial.write(0xf7);

  }

bold and italicized code is what I was referring to. Don't mind the lables to the right as they are not correct. The labels on the upper code are correct (channel of amp and checksum)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on August 03, 2018, 12:39:20 PM
Quote from: admin on August 03, 2018, 09:26:04 AM
A New recent discovery : "I have my Boss FS-5U plugged into my GA-FC" VOL Expression Pedal input and it does an instant switch from A to B. So bank 1A switches to bank 1B etc..."

That is a great discovery. Sean, you may need to do some reverse engineering to really get this working. Do you have the GAFC? If you have one, you connect it in parallel with your board and send all the data of the Rx serial input to the serial monitor.

I guess timing is crucial in your sketch. You cannot send any data to the Katana if the Katana is sending data to your board.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on August 03, 2018, 02:51:40 PM
Unfortunately I do not have a GAFC. :(   If I did, I would just push all of the buttons and read the data into the serial port on the arduino and capture what I needed. I believe that a couple of members have the GAFC and the ability to capture the data from the unit. If they would be so kind as to provide the data, my project could move forward more quickly. As it stands, I will be sending data  and seeing what happens.  :-[

-Sean
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on August 04, 2018, 08:01:43 PM
Ok, so I had some time today to work on this and was able to clean up my code so that it only sent the data once for each button press. I went back and entered the data 0x10 and checksum 0x72 for one of the buttons and now this consistently gives me the ability to toggle the effects on and off, the same functionality as the EFFECTS button does on the GAFC.

Now I just have to figure out how to get the amp to switch to bank B. I believe that when the PANEL button is pressed for more than 1 second, a different code is sent besides the one that switches it to the panel mode. Now I just have to discover that code and my pedal will be almost complete.

The final steps will be to figure out what codes are sent for the Volume and Wah when expression controllers are connected to the GAFC. Thanks again for all of the help and guidance on this.

Regards,
Sean
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on August 06, 2018, 12:24:35 PM
Another update:

I went back to vtgearhead's suggestion and tried to send commands based on his Sysex writeup and none worked. Unless I did something completely wrong, I suspect that there is a limited instruction set that is recognized by this port since it is a bi-directional port and there is communication back to the GAFC. I do know that the code that meo_udon originally supplied can be trimmed down.  I could be completely wrong about sysex not working though so I am open to anyone correcting me on this.

Since none of the Sysex codes worked, I went back to working my way slowly through the hex codes to see if I can uncover the code to switch between banks. I haven't stumbled upon it yet but I have made some interesting discoveries such as being able to switch to a channel and immediately enacting an effect that wasn't active before. Through all of this, I was able to accomplish one of my goals: a dedicated pushbutton/footswitch to enable the boost/drive effect without having to switch over to the effects. I can also do this with any of the other effects (say hello to a volume boost ala the Sent/Return path being boosted). This will come in real handy.

Now, if I can only figure out how to switch banks and the codes for the Volume and Wah expression pedals, then I could have eight buttons that give me instant access to the all eight stored presets and two expression pedals available. Anyone have the secrete hex values? Anyone? Bueler?  Bueler???  ;D

Regards,
Sean
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on August 06, 2018, 06:57:46 PM
Well, I figured out how to switch banks and it looks like my dream of having all 8 presets available instantaneously may not transpire. It looks like in order to access the second bank, you must delay the second bit of code that is sent after your channel/panel select (the bold code from my earlier post). By delaying this code more than 1 second, it will switch over to bank B.

My problem is that it is not consistently switching with just the press of the button.  I don't know if there is another code that will access the second bank directly or not but I am still working my way through the available values. I have about half of the values tested and documented. I will keep going until I get through them all and hopefully there is one that does what I am looking for.  I really want to get my volume and wah pedals working as well so I may have to bite the bullet and purchase a GAFC to sniff the data stream. Unless some generous person is willing to share their findings with me (hint hint   8).

Meo_udon, if you are still available, could you please confirm my findings on the bank switching?

Regards,
Sean
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on August 07, 2018, 05:02:20 AM
Is there a reason you cannot use the USB connection?  We have that thoroughly documented and it gives you access to just about everything the amp can do.
https://www.vguitarforums.com/smf/index.php?topic=19782.0
https://github.com/snhirsch/katana-midi-bridge
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on August 07, 2018, 11:37:23 AM
No reason other than hardware availability. I had these things on hand and wanted to use them. Until last week, I only had a Raspberry Pi Zero and no other USB host boards. I did order an arduino USB host board and will begin working on that after this project is done. After the arduino USB, I will move on to the Raspberry Pi Zero (although I may order a BeableBone Green as you suggested) and then once again, learn a new programming environment. The fun never ceases!  ;)

Regards,
Sean
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on August 07, 2018, 01:46:36 PM
Quote from: TucsonSean on August 07, 2018, 11:37:23 AM
The fun never ceases!  ;)
That's the spirit! Learning new things is great.
I also hope to have time to interface with GA FC soon with a Micrcontroller.
Not because I need it so much, more just to because I know it can be done if given enough time.
It boosts the ego in some silly way ;D
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on August 07, 2018, 02:48:37 PM
Quote from: CodeSmart on August 07, 2018, 01:46:36 PM
That's the spirit! Learning new things is great.
I also hope to have time to interface with GA FC soon with a Micrcontroller.
Not because I need it so much, more just to because I know it can be done if given enough time.
It boosts the ego in some silly way ;D

That is true hacking spirit!  :-).  Do it because, well, you can!
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on August 07, 2018, 07:42:11 PM
Hacking isn't the half of it!  8) I could have bought a Ernie Ball VPjr but what's the fun in that? Now I just gotta get time to finish it up.

-Sean
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: gumtown on August 07, 2018, 08:20:00 PM
That is a nice bit of engineering.  :D

much better than my attempt,
I made an experimental midi EXP controller about 20 years ago, and found it recently.

(https://i.imgur.com/udWHv1y.jpg)

which used a short slider potentiometer that the pedal push/pulled up/down

(https://i.imgur.com/7nDuCyV.jpg)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vit3k on August 11, 2018, 05:47:44 AM
Quote from: TucsonSean on August 07, 2018, 11:37:23 AM
I did order an arduino USB host board and will begin working on that after this project is done. After the arduino USB, I will

Hi,
If you're interested in Arduino I've already done some work to connect it to Katana using USB host shield:
https://github.com/vit3k/katana_fx_controller

Regards
Vit3k
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: TucsonSean on September 15, 2018, 08:55:52 PM
Well, it's been a little while since I last posted. Work has picked up and school has started. Wife wants me to finish my PhD as quickly as possible so I have been working on that as opposed to my fun projects. Also, as of today, I now have access to a GAFC!  ;D 

Now, as soon as I can find a bit of time, I will be testing all functions of the GAFC and documenting them to be able to finish up my project. It is a nice little pedal but I still want my dream of calling up any of the eight preset channels and it looks like I will finally be able to make it happen.

-Sean
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on December 14, 2018, 04:38:49 PM
Spent a couple nights to modify a MIDX-20 as a listening device between the Katana and the GA-FC. Took some time to realize I had to invert the RXD data  :P

Anyhow I hope to produce a full doc of findings later in 2019 when I'm back from holidays.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on December 16, 2018, 04:59:40 AM
Could not rest until done-done. Thanks everyone. I started this thread, and I think now it's complete.
Two advices:
1. Make sure you have the right electrical polarity of digital data.
2. SysEx messages may interfere/collide, so whenever seeing a F0 (SysEx start), you should throw away what you have collected and restart the capture process.

GA-FC MIDI Software Interface
(https://www.primovasound.com/gfx/GA-FC_Spec.bmp)

GA-FC MIDI Hardware Interface
It appears both sides of the TRS cable (more or less) share the same circuit.

(https://www.primovasound.com/gfx/gafc_ifc.png)

GA-FC parts (top and bottom board view)
(https://www.primovasound.com/gfx/gafc_ifc1.png)

KATANA parts (photo by Elantric)
Similar circuit.

(https://www.primovasound.com/gfx/gafc_ifc2.png)

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on December 16, 2018, 07:29:44 AM
Thanks, Robert.  But, I think '6250 baud' might be a typo, no?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on December 16, 2018, 08:47:10 AM
Quote from: vtgearhead on December 16, 2018, 07:29:44 AM
Thanks, Robert.  But, I think '6250 baud' might be a typo, no?
Sure is. I'll change it. Thanks.

Edit:
Now changed to 62500 Baud (bits/s), normal MIDI is 31250.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on December 16, 2018, 10:34:10 AM
The timer based messages seem logically redundant with the real-time versions.  Is it possible they're both present because some Roland products respond only to one flavor?  If so, which is specific to the Katana?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: ElliotG on December 16, 2018, 11:37:46 AM
Quote from: vtgearhead on December 16, 2018, 10:34:10 AM
The timer based messages seem logically redundant with the real-time versions...

This could be a strategy for improved performance in the face of noise.  If a burst of noise impacted a real-time message, causing the checksum to be invalid, and the packet ignored, a timed event would quickly follow. 

Or if the user pressed a button on the amp and button on the footswitch at the same time, you would have a collision that would need to resolved.  The timed messages seem to address both these cases.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on December 16, 2018, 02:13:08 PM
Oh, very good point!  Incoming traffic to the pedal may collide with a synchronous transmission, in which case the next timer interval resends it.  Does an endpoint check for collisions by "listening to itself" during transmission and watching for a corrupted symbol?  The ancient 10Base-2 (coax) ethernet transport layer did something like that.

Wonder if the timer based transmissions repeat in the face of multiple collisions?
Title: Re: Katana - Roland GA-FC Foot controller communicatio
Post by: CodeSmart on December 16, 2018, 02:51:19 PM
 I've seen when rocking the expression pedal heavily, there's heavy amount of real-time expr. messages. If the LED continue to blink steadily (there's a Katana mode with LED 5 or 6 blinking) during this rocking, this should indicate that the timed messages keeps doing their work and for each there's a small time slot enough for the Katana to respond with the LED message before another real-time expression event is fired away. Just guessing here. On the other hand I've also seen some fragmented SysEx, a few starter bytes and then theres a new message taking its place.

Later next year I'll probably know more when I write GA-FC host code for my GX-2 project.
Title: Re: Katana - Roland GA-FC Foot controller communicatio
Post by: vtgearhead on December 16, 2018, 03:47:47 PM
Quote from: CodeSmart on December 16, 2018, 02:51:19 PM
On the other hand I've also seen some fragmented SysEx, a few starter bytes and then theres a new message taking its place.

That might be "collision / backoff / retransmit".  Wonder if the Katana can accept any of the previously documented MIDI or sysex commands on the GA-FC port?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: gumtown on December 16, 2018, 04:37:18 PM
I'm going to guess that the GAFC is the master, it is blinking things at it's own rate, and sending EXP and foot switch data at its own discretion.
When not sending commands, it is requesting status data from the Katana.
Based on that, data collisions would be rare, assuming that only one foot can be used on the GAFC and 2 x EXP pedals, only one will ever change state at any one time,
and the master controller decides when it is going to receive Katana status data that it has requested.

Half Duplex Serial SCADA Master/Client stations 101.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on December 17, 2018, 05:26:56 AM
Then why is Robert observing truncated messages?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Telegraph_Hill on January 17, 2019, 08:09:18 PM
Hello everyone!  I'm new to the forum, and I have read this thread several times.  I really respect and appreciate all the hard work that has gone into the GA-FC's comms.

OK... I am looking to use the GA-FC as a general purpose MIDI foot controller.  I will have an intermediate box (similar to CodeSmart's product...) which will manage the SYSEX conversion and
send MIDI commands 'up' to the host.  I know, I know, just get a foot controller that does that.  Looking at a bunch of them, but hey, the GA-FC is just sitting around underused.

I'm hung up on the parts list which I'd need to implement the circuit the CodeSmart posted.  I need some capacitor values, and the type of transistor being used.  I have the resistor values from the schematic -- thanks!

ALSO: If I'm making a connection just from my microprocessor to the GA-FC, are the opto-isolators really necessary?  How would the schematic change if they were removed?

Thanks to everyone who did such great research!  I've decided to buy an oscilloscope based (mainly!) on meo-udon's capture of serial communications.

Sorry if I've rambled.  Thanks again.

Capacitors to Identify:
C1145  -- small ; non-electrolytic (I'm going to go thru-hole)
C1154   -- small ; non-electrolytic
C1153   larger; Electrolytic

Transistor to Identify:
Q1100

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on January 17, 2019, 11:17:29 PM
QuoteCapacitors to Identify:
C1145  -- small ; non-electrolytic (I'm going to go thru-hole)
C1154   -- small ; non-electrolytic
C1153   larger; Electrolytic

Transistor to Identify:
Q1100

C1153 and C1154 look like ordinary decoupling capacitors, usually they are 100n
C1145 is the tough one as it forms a filter with R1150 (56 ohms). Communication is at 62.5 kHz. Not sure what frequency this low pass filter is set at. I would try something small, like 10 nF.

Q1100 could be any PNP transistor, like BC 557.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Telegraph_Hill on January 18, 2019, 02:07:56 PM
Thank you, sir!

I would be happy to purchase one of the MIDX boxes if it supports the GA-FC as an input device.  Again, my use case is different; it's not focused on the Katana, but more on adding more 'foot support' to Ableton Live.

I'll give it a try and post my results.

Also: I really studied the schematic yesterday and it looks like overkill to use the opto-isolators.  All the current is coming from the uC, so I don't see the risk of connecting directly to the GA-FC

The circuit, at a high level, looks to me to be: If the uC is transmitting, open the transistor gate for a path to the tip of the TRS plug. 
At the left hand side of the schematic, the paired resistors look to guide outbound current into the tip of the TRS to the GA-FC and away from the uC's input path.  (Assuming I'm correct that the current would rather flow onto the TRS tip than take the path past the 390 Ohm resistor (R1152).   Anyone want to school me on what a 'raw dog' circuit would look like (no isolators - try not to fry the uC).
Gumtown's post #71 (One Wire) looks interesting, but I think you'd have to cooperate on both sides of the wire.

Microprocessor heads: If I use one pin in INPUT MODE to receive data (normal case for the host side of the GA-FC) and then I change the pin's mode to OUTPUT to send the light status message... wouldn't that do the job with just one pin?  It seems like we have to account for collisions between TX/RX on the uC side in either case. I'm going to try that unless one of you says 'No! No! You'll surely let out the blue smoke if your try that!'

We know from numerous experiments (especially meo_udon's brave experiment with the Arduino) that a bare wire from a pin on the Arduino can talk to the Katana.  Without the isolators.

Has anyone gotten the bidirectional flow working really well from the GA-FC to a microprocessor?  Most of the attention seems to be on SIMULATING the GA-FC to the Katana. 

I'm all set to run my experiments this weekend.  Exciting, in a totally geeky I-have-no-life and I'll-spend-$200-getting-a-$100-part-working way.

My Siglent Technologies SDS1202X-E arrives this weekend, and I look forward to capturing some hot TX/RX action.  I've never used a modern 'scope -- my 30 year old Tek is still going strong, but not super well suited to signal analysis.

Cheers!

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on January 18, 2019, 03:12:10 PM
QuoteAgain, my use case is different; it's not focused on the Katana, but more on adding more 'foot support' to Ableton Live.

FWIW  -if your goal is controlling Ableton with a Foot controller  - there are already several available which focus on that  ( before you re-invent the wheel)


https://forum.ableton.com/viewtopic.php?f=1&t=141706


https://www.google.com/search?q=Ableton+with+a+Foot+controller&rlz=1C1GCEU_enUS821US821&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiejeWkuvjfAhXLGjQIHVxUA1IQ_AUIECgD&biw=865&bih=639

(https://images.reverb.com/image/upload/s--aEy7nBCR--/a_exif,c_limit,e_unsharp_mask:80,f_auto,fl_progressive,g_south,h_620,q_90,w_620/v1437593338/hvwrjgjlexp8hdl9hbgb.jpg)
Looptimus USB midi foot controller/pedal for Ableton Live--great for guitarists
https://reverb.com/item/917200-looptimus-usb-midi-foot-controller-pedal-for-ableton-live-great-for-guitarists



(https://images.reverb.com/image/upload/s--h_Yra5U8--/f_auto,t_supersize/v1534280670/asbhlintdzw3c71rdo3k.jpg)
Keith McMillen Instruments SoftStep 2 USB Midi Foot Controller
https://reverb.com/item/14426311-keith-mcmillen-instruments-softstep-2-usb-midi-foot-controller
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Telegraph_Hill on January 18, 2019, 11:29:45 PM
Yes, I totally agree that there are good options out there.  Thank you for
listing those...  Those are really good suggestions.  I'd love to get the
12-step 2, but it's a little pricey.  I'd rather recycle the controller I have
(and solve this puzzle) than buy the 12-step.  But with a little G.A.S.
patience I'll probably pick one up, eventually.  (Always Buy More Gear.)

I'm sorry that Looptimus went out of business.

I am a backer of Vince Cimo's Datalooper pedal:
https://www.indiegogo.com/projects/datalooper-the-loop-pedal-built-for-ableton-live/x/19427475#/
I think he's really on to something.  But ugh!  Having to mess around with all that Ableton Midi Remote Scripting!

Luckily, we are in a golden age of midi controllers.  Have you guys checked out nativeKontrol?
https://www.nativekontrol.com/
So many control surfaces! 

But I digress.  This forum isn't about Ableton.  But I still want to use the GA-FC with it.  And so I press on!

Dear reader: Do not take my course!  Surely it is madness!  The above devices
are better conceived and executed.

* * * Still with me? * * *

The GA-FC presents an interesting engineering challenge to me.  It's so simple
conceptually, but they have made it so baroque because of the requirement to limit
the implementation of the protocol on a 3-wire TRS connection for what should obviously
be a 4-wire solution:

1) power,
2) TX,
3) RX, and
4) ground. 

(USB, anyone?)

No 1/4" TRRS cables?  That would have made it easier!  The closest I found is a variant
of the truly venerable 1/4" plug, but sadly with a different diameter. 

http://connectors.nexus.com/image?prodid=3001001&itemid=1001&imgname=tp120.jpg

But hey!  TRS cables are everywhere!  And this protocol probably pre-dates USB by... a decade?
Any patent hounds here?  I'd love to see Roland/Boss's patent for this.

Am I right, or is there something perverse about this little controller?  Isn't that what
draws us to this forum and thread?

* * * A BIT LATER... I WAKE UP FROM A NAP WITH AN ALGORITHMIC  SOLUTION!  * * *

Today I had an epiphany about the **half-duplex** nature of the
communication scheme.  I 'got' how the communication works.  The GA-FC
controls the whole show.  Interestingly, the Katana is the 'slave' in this
system.

The logic is centered on the pacing of messages across the wire.  The key
design point is that the GF-CC controls the timing and content of what it
sends up.  The Katana has a much narrower set of options (only one!): 

Reply to every message from the GA-FC with a single status message.

I think: the GA-FC has a duty cycle, looping forever, in the following priorities:
Each time it is the GA-FC's time to send a message, it can only send ONE
of the following, in this order:

    1) REALTIME / Expression Pedal
    2) Button Press
    3) Keep-alive / state update

The key is the GA-FC controls the pacing.  And so, for each of its three message
types, it sends the message (one duty cycle), and listens for 2.5 or 3 cycles.
It just has to be long enough for the packet to complete the round trip.  Call
it 3 duty cycles.  It expects (hopes for?) a reply for every message.   But if
there is no reply, it simply repeats the process.  Never any collisions.

Note that the GA-FC probably has logic to intersperse button (type 2) and
keep-alive (type 3) messages when the user is is in the middle of a long
shred-fest/expression-pedal-heavy solo.

Whenever the Katana receives a MIDI message from the GA-FC it 'flips the pin'
on the single TX/RX line transmits its response.  After sending this message the
Katana is silent until it receives a message from the GA-FC. 

Thus there is a 'window' of 2 duty cycles on the GA-FC side to wait-for/listen for
the status messages from the Katana, which is sent back EVERY TIME the GA-FC
sends any one of it's 3 types of messages..  The Katana NEVER sends to the GA-FC
unless it's in response to a message from the GA-FC.

I think there is NO collision on the wire.  The fact that the GA-FC is the
driver in the communication makes it possible.  It doesn't send ANYTHING
except according to the priorities listed above -- there is no flood of
Expression pedal messages, no need to back off and get back in sync.

My problem is I was thinking of this like TCP/IP and Ethernet, which deals with
collisions all the time.  This is, in its own way, far simpler.

If it takes 1 'cycle' to send a message across the 'bus' wire, and one to send
the reply back, then the third cycle is reserved for 'slack' in the
communications to handle the tiny asynchronous nature of the protocol.

Also this means that the GA-FC will never send expression pedal info faster
than 3x (maybe 2.5x) of a cycle.  It can never get backed up.

The messages are tiny; a dozen bytes per packet, or less.  And at 64,500 baud,
that moves pretty fast.  On the order of < 1 ms per message.  So, potentially
the Katana can get a stream of expression pedal messages at one per 3
milliseconds.  That's fast enough for me!

I am going to code this up and see if it works.  I'll post a github link when
it's available.  I feel a sense of connection with the engineers who came up
with this scheme, and for this forum, which has helped shed light on this
puzzle.

I'm going to try to capture the packets and visualize the protocol.  Would be cool
if this is actually the way Roland/BOSS has implemented it.  The key indicator would
be a lack of collisions.

I'm sure @admin and @sixeight are face-palming right now because of how long
it took me to pick up on this.  (See posts 54 and 55 in this thread) Thanks for
being patient with me, guys.  Sorry for the TL;dr

Thanks, everyone! 
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: gumtown on January 18, 2019, 11:46:52 PM
Great job, that totally aligns with my assumptions (er..guess) from my previous post.

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on January 19, 2019, 01:16:47 AM
About the GAFC being in the lead;: most of the time the GAFC is controlling the Katana, but when you change channels on the Katana, the GAFC will show the new channel. So the GAFC is listening to the Katana as well.

A simultaneous channel change on both the Katana and the GAFC could cause a collision in theory, but when does that happen in real life....
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on January 19, 2019, 06:16:51 AM
Quote from: Telegraph_Hill on January 18, 2019, 02:07:56 PM
Also: I really studied the schematic yesterday and it looks like overkill to use the opto-isolators.  All the current is coming from the uC, so I don't see the risk of connecting directly to the GA-FC

Three words:  Static discharge protection

Those who couple ESD sensitive devices directly to free-running lengths of cable eventually come to regret it.  Famous example can be found in a pre-ethernet networking scheme called Omninet.  The first run of interface boards connected driver and receiver devices directly to twisted-pair building wiring.  I'm guessing about 98% of them were zapped in the field.  The company quickly reworked umpteen thousand cards by slapping on a daughter board containing a pair of opto-isolators.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on January 19, 2019, 06:26:31 AM
Quote from: sixeight on January 19, 2019, 01:16:47 AM
About the GAFC being in the lead;: most of the time the GAFC is controlling the Katana, but when you change channels on the Katana, the GAFC will show the new channel. So the GAFC is listening to the Katana as well.

A simultaneous channel change on both the Katana and the GAFC could cause a collision in theory, but when does that happen in real life....

Always.  Seriously, having developed and maintained highly parallelized engineering software for much of my career, I state with assurance that any possible race condition will eventually occur - and always at the most inconvenient time.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on January 19, 2019, 06:55:35 AM
Quote from: vtgearhead on January 19, 2019, 06:26:31 AM
Always.  Seriously, having developed and maintained highly parallelized engineering software for much of my career, I state with assurance that any possible race condition will eventually occur - and always at the most inconvenient time

The result of the action above would be that the Katana will be on the channel that was selected on the unit and the message from and to the GAFC would be lost, so it might show the wrong patch.

Both ends can check if the message that was sent has been lost in a collision, as all messages that are sent are received by the sending side as well. They share the same communication line. As long as both ends have a different timeout, messages can be sent again and all is well.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Telegraph_Hill on February 12, 2019, 05:43:33 PM
Hi guys, my adventure to provide a non-Katana 'host' for the GA-FC continues.  Here's some data I thought you all might like...

A screen shot of MIDI from the Saleae Logic 8 analyzer.  This is a bargain compared to a multi function oscilloscope.  Check for the 'maker' discount on their site.  Good stuff...
(https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=19959.0;attach=18802;image)
Also the raw decoded data from a 5 second capture.  It does appear from the decoded data that collisions are in fact happening on the line.

What's interesting (to me at least) is that the responses from the Katana to the GA-FC are in 'proper order' -- that means, I believe, that the Katana is replying 'in reverse'.  I will have to validate that theory.

My 6N138 optical isolators arrived a few days ago.  I'm going to continue to breadboard the circuit from this thread.

Thanks again, everyone, for paving the way.  This is a great learning exercise for me.  And a puzzle.

Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Telegraph_Hill on February 15, 2019, 10:09:35 AM
Hello again. 

NOTE: My conclusion that there were collisions on the line was incorrect in my previous posting.  I was confused.  No Collusion!

I ran a few scenarios and captured the data from the logic analyzer.  File attached.  The format is: length of the packet in bytes, then the sysex messages.

e.g.:
9: [F0, 00, 00, 37, 7F, 00, 00, 4A, F7]
6: [F0, 00, 00, 04, 7C, F7]
7: [F0, 00, 00, 41, 7F, 40, F7]

I found that CodeSmart's Communication Specification is highly accurate, with the following exception: Amplifier Response Messages are sent by the Katana in response to:
Time Status Messages
Foot Switch Messages

And they are not sent in response to Expression Pedal messages.

I observed no collisions or 'backing off' in the captures, despite some energetic testing with button mashing and expression pedal air-guitar action.  (Thanks go out to my 10 year old daughter for her help!)

So, a really 'raw' implementation of this could probably be made with one pin on the microprocessor changing from INPUT to OUTPUT mode when it receives TIMED or FOOT SWITCH messages.  It should listen the rest of the time.

I'm implementing my circuit with optical isolators to protect the microprocessor's pins from electrostatic discharge.  I'll send another update when I have my GAFC->MIDI adapter working.

This has been a fun introduction to logic analysis and circuit design.  Thanks again everyone!
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: admin on February 15, 2019, 10:21:40 AM
FWIW -

If you can solder you can build a GAFC functional equivalent thats already working with code here

(https://i.imgur.com/gsadnLZ.jpg)
(Teensy) USB MIDI foot controller for Katana amps
https://www.vguitarforums.com/smf/index.php?topic=25185.0
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Telegraph_Hill on February 19, 2019, 12:30:47 PM
well, that'll save me some time!  This is a replacement for the GA-FC, right?  I'm noodling around with creating an adapter from the GA-FC to ableton live.  Yes yes, a fool's errand, but I'm going for it.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: SteveO on February 19, 2019, 12:40:10 PM
Quote from: Telegraph_Hill on February 19, 2019, 12:30:47 PM
well, that'll save me some time!  This is a replacement for the GA-FC, right?  I'm noodling around with creating an adapter from the GA-FC to ableton live.  Yes yes, a fool's errand, but I'm going for it.

There's a couple of caveats; the expression pedal code and wiring isn't done yet and only two of us have made this controller. I'm not sure if the expression pedal can be programmed to work the same way it does on GA-FC, i.e. volume normally and an effect other times. Right now I have some rudimentary code that allows an expression pedal to act like switch #2 and control 1 of the pedal wah effects only.  So, it's still very much experimental.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on April 01, 2019, 12:33:29 PM
I can just confirm that the information (drawings and protocol) provided earlier is correct. I can now use a GA-FC connected to a PIC Microcontroller and do whatever I want with it.
- Setting individual LEDs on/off
- Capture FS and Expression Pedals change events.
- Capture the timed messages (abt. 3 per second)

Regarding the schematic I skipped the transistor as the controller can drive optocoupler directly. TX polarity had to be inverted (PIC controller UART register setting)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on April 01, 2019, 01:25:15 PM
Quote from: CodeSmart on April 01, 2019, 12:33:29 PM
I can just confirm that the information (drawings and protocol) provided earlier is correct. I can now use a GA-FC connected to a PIC Microcontroller and do whatever I want with it.
- Setting individual LEDs on/off
- Capture FS and Expression Pedals change events.
- Capture the timed messages (abt. 3 per second)

Regarding the schematic I skipped the transistor as the controller can drive optocoupler directly. TX polarity had to be inverted (PIC controller UART register setting)


(https://www.primovasound.com/gfx/gafc_1.jpg)

The communication as seen on an oscilloscope shows the red burst sent by the microcontroller, which is a response to the first yellow burst (a timed message sent by the GA-FC). The red burst will program the states of the LED's.

Because the conversation is carried on one wire (half-duplex), the transmitter will also see what he just sent, hence the second yellow burst.

Besides timed messages sent 3 per second, there are immediate messages sent when a expression pedal is rocked or a foot switch is changing state.

Also in the case of foot switch messages, the microcontroller may want to immediately change the LED state.


(https://www.primovasound.com/gfx/ga_fc2.jpg)
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vit3k on April 02, 2019, 01:08:11 AM
Does anyone know if katana takes simple program change messages on ga-fc port? Or only those sysex with buttons states described by CodeSmart?

Regards
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vtgearhead on April 02, 2019, 04:57:38 AM
Quote from: vit3k on April 02, 2019, 01:08:11 AM
Does anyone know if katana takes simple program change messages on ga-fc port? Or only those sysex with buttons states described by CodeSmart?

Regards

Of course it takes program change messages.  How else would the channel select footswitches work?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vit3k on April 02, 2019, 05:17:50 AM
As far as I understand, from the spec that CodeSmart created, GA-FC is a dump footswitch that sends the state of the switches, not commands to the amp. For example it says: switch 1 is pressed. Then Amp decides what to do with this (based on state - switch channels, change bank, turn on/off effects).

So my question is still valid in my opinion.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on April 02, 2019, 05:32:38 AM
Quote from: vit3k on April 02, 2019, 01:08:11 AM
Does anyone know if katana takes simple program change messages on ga-fc port? Or only those sysex with buttons states described by CodeSmart?

Regards

As I have stated before. Because the GAFC connector combines both in and out lines on one connection, the connection is half -duplex. So the designers must have limited communications to avoid collisions.

The oscilloscope shots shown so far only show the custom sysex commands and no other data.
Sending PC, CC messages or the sysex data the editor uses over the GAFC connector would serve no purpose and only cripple the communication between the Katana and the foot pedal.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vit3k on April 03, 2019, 04:07:14 AM
For me the purpose would be to use this as a way to switch to any of the 8 channels immediately using my diy controller without using USB.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on April 03, 2019, 08:44:10 AM
Quote from: vit3k on April 03, 2019, 04:07:14 AM
For me the purpose would be to use this as a way to switch to any of the 8 channels immediately using my diy controller without using USB.

That should be possible. The diy controller could simulate pressing several buttons after one another.

Or you could use a Teensy 3.6 with USB and have more options. I have the host port working with the Katana.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: vit3k on April 03, 2019, 09:56:51 AM
I think that switching banks requires holding panel switch for a while so it will not work immediately. I would like to leave USB for editing with android phone but I suppose it's the only way to send program changes.

Great to hear that you make the usb host on teensy 3.6 to work with katana.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on April 04, 2019, 06:48:55 AM
Quote from: vit3k on April 03, 2019, 09:56:51 AM
I think that switching banks requires holding panel switch for a while so it will not work immediately. I would like to leave USB for editing with android phone but I suppose it's the only way to send program changes.

I read somewhere that you can switch banks quickly by connecting an external footswitch to one of the expression pedal inputs of the GAFC. Maybe CodeSmart can confirm and catch the correct sysex command for this.. 
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on April 04, 2019, 08:12:40 AM
Quote from: sixeight on April 04, 2019, 06:48:55 AM
I read somewhere that you can switch banks quickly by connecting an external footswitch to one of the expression pedal inputs of the GAFC. Maybe CodeSmart can confirm and catch the correct sysex command for this..

I don't believe that is true. I think I tried connect a FS to the expr. inputs when I wrote the comm paper.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: SteveO on April 04, 2019, 08:33:55 AM
Quote from: CodeSmart on April 04, 2019, 08:12:40 AM
I don't believe that is true. I think I tried connect a FS to the expr. inputs when I wrote the comm paper.

I just tested this and it does work. A momentary switch plugged into the FX input on a GAFC does switch banks.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on April 04, 2019, 09:30:56 AM
Quote from: SteveO on April 04, 2019, 08:33:55 AM
I just tested this and it does work. A momentary switch plugged into the FX input on a GAFC does switch banks.

Thanks for testing. Did you use a normally-open or a normally-closed footswitch?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: SteveO on April 04, 2019, 10:09:10 AM
Quote from: sixeight on April 04, 2019, 09:30:56 AM
Thanks for testing. Did you use a normally-open or a normally-closed footswitch?

Normally open. Shield to tip on the plug.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: SteveO on April 04, 2019, 10:23:43 AM
Quote from: vit3k on April 03, 2019, 09:56:51 AM
...
I would like to leave USB for editing with android phone but I suppose it's the only way to send program changes.
...

Having to disconnect the USB cable from the Arduino controller Gumtown and I were working on and move it to my computer for editing is a pain. I guess it's a trade off because using the USB Host shield frees up the Teensy 3.2 rx and tx pins for a 5 pin MIDI connector. I use the MIDI IN (rx) to control MOD, delay 1 and delay 2 and teensy footswitches to control boost, FX, reverb, and loop. It would be nice to be able to use a TRS cable instead of USB. Or better still bluetooth but I don't see me working on that anytime soon.
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: sixeight on April 04, 2019, 10:38:39 AM
Quote from: SteveO on April 04, 2019, 10:23:43 AM
Having to disconnect the USB cable from the Arduino controller Gumtown and I were working on and move it to my computer for editing is a pain. I guess it's a trade off because using the USB Host shield frees up the Teensy 3.2 rx and tx pins for a 5 pin MIDI connector. I use the MIDI IN (rx) to control MOD, delay 1 and delay 2 and teensy footswitches to control boost, FX, reverb, and loop. It would be nice to be able to use a TRS cable instead of USB. Or better still bluetooth but I don't see me working on that anytime soon.

I have been partly successful in forwarding the data from and to the fxfloorboard editor through the non host USB port of the Teensy. I haven't tested this with the VC-mini yet...
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: ewidance on October 10, 2022, 11:32:36 PM
Quote from: CodeSmart on March 02, 2018, 09:21:05 AM(https://www.primovasound.com/gfx/gafc_ifc.png)

I'd like to leave the USB connector free for future use (Widi + mobile editor), so i started to build a little interface based on arduino pro micro for GA/FC.

Tried to drive directly with serial output with no luck. Everything works fine on table, but the signal collapses as soon as it is connected to GA-FC input. Tried to invert serial as codesmart suggested in its PIC post with a transisstor as buffer. No luck also.

Next step will be to build the real GA-FC interface. However, what reference of opto coupler is it? PC410L? And about Q1100? PNP?

Thanks for your attention !
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: Gandalf_Sr on December 10, 2022, 04:48:14 AM
I just upgraded from a Katana 50 mk1 to a 100 (1x12) mk2 (I still own the mk1).  I already own the Airstep Kat pedal that plugs into the USB port and that handles the preset tone selection and has neat Bluetooth connection to an iPad so that you can manipulate all the tone settings, save them to file/upload them to a preset tone bank. Stand-alone, the Airstep Kat handles changing tone banks so you can get to all 8 presets and also has a new GA-FC Expand mode that allows solo/boost, FS1, FS2, CH-, CH+ which is pretty neat https://xsonicaudio.com/pages/airstepkatedition

There's a new Boss GA-FC EX for $150 that has extra stuff but I don't want to buy a GA-FC or GA-FC EX as virtually all that I want is already handled by the Airstep Kat.  The one thing that's missing with my setup is to have both a volume and expression pedal simultaneously.  I could buy a GA-FC and plug both pedals into that but I'm wondering about a unit that would have just the pedal controls fed up the TRS Midi link.

Can anyone point me to a code set that handles the GA-FC equivalent funtions on something like a Teensy or PIC?
Title: Re: Katana - Roland GA-FC Foot controller communication
Post by: CodeSmart on January 09, 2023, 12:51:51 PM
I only wrote PIC code some years ago to serially communicate with the GAFC, but never wrote anything  to emulate a GAFC.

However the below info is still valid, however may not tell the whole truth.

Two advices:
1. Make sure you have the right electrical polarity of digital data.
2. SysEx messages may interfere/collide, so whenever seeing a F0 (SysEx start), you should throw away what you have collected and restart the capture process.


GA-FC MIDI Software Interface
(https://www.primovasound.com/gfx/GA-FC_Spec.bmp)