Jump to content

MIDI merge with LPC17


John_W._Couvillon
 Share

Recommended Posts

Hi,

MIOS32 handles MIDI data packet based which simplifies the merging: package in -> package out

I guess that with "MIDI router of LPC" you actually mean the MIDI router of MIDIO128?

Yes, you can configure it to forward incoming data to a MIDI Out port.

16 nodes are available (16 "virtual cables") which you can use for setting up forwarding rules.

The parameters are explained at the MIDIO128 page, search for the keyword "router".

Best Regards, Thorsten.

Link to comment
Share on other sites

TK,

Still having problems getting the LPC and the pic8 core to work together.

Info about the setup; an LPC (ID=0) 0working with the USB connection to the PC, running midio 128 ver. 3. The LPC responds to the mios studio, and also responds to matrix inputs.

it has4 8x8 matrices, three for keyboards, one for STOP contacts. No problems there.

The pic 8 core is running midio128 ver 2., its ID=1.

When I connect up the LPC alone to the pc, mios studio finds it, etc.

When I connect the PIC 8 to the pc through a midiman 2x2, mios studio finds it.

Both units respond to DINS connected as monitored with midiox

Per your post, I connected the IN1 port on the LPC to the out port on the PIC8, and the OUT1 on the LPC to the IN port on the PIC8.

With the control surface, I went to the router section and set NODE 1, (srcP) USB1 , ALL, (desP) OUT1, ALL, and NODE 2, (srcP) IN1, ALL, (desP) USB1, ALL

With this setup, nothing is going to or from the pic8.

I also went to the global settings on the LPC (midio128), saved it to the LPC and enabled the midi merger. still nothing.

with mios studio loaded and the setup as above, Mios studio finds the LPC, but not the PIC8. QUESTION: should it?

Confused!

Johnc

Link to comment
Share on other sites

TK,

On the instructions for the control surface configuration for DOUT, The highlighted text shows USB1, OUT1, OUT2....., and at the bottom the following:

"USB1..OSC4: selects the MIDI ports over which the selected DOUT pin will receive MIDI events"

As I read the above, the midi event for a DOUT pin will come through the OUT1 port. Shouldn't the highlighted text say "IN1, IN2"? You send midi event message for a DIN pin out to an external device through the OUT1, OUT2 port, why not then receive a midi event message for a DOUT pin through the IN1, IN2 ports.

Oh, I left off the last questions; If the ports are selected on the DOUT amd DIN configuration, is it still necessary to set up the router nodes as I discussed on my previous post to daisey chain an LPC and a core8?

Lastly, On the .MIO config file, the router srcP and desP are shown as "0x10, 0X20". Which port do these represent, IN1, OUT1, IN2, OUT2. USB1, USB2,...?

Johnc

Edited by John_W._Couvillon
Link to comment
Share on other sites

DOUT: I fixed the screenshot in the documentation.

Coding of source/destination ports in .MIO file: USB1:0x10, MIDI1: 0x20, MIDI2: 0x21, OSC1: 0x40, OSC2: 0x41, OSC3: 0x42, OSC4: 0x43

SysEx forwarding issue: I remember that somebody else had the same problem with his MIDIbox SEQ, and it turned out that it was related to a problem in the UART handler.

I forgot to release an MIDIO128 update, so here it is (V3.007): http://www.ucapps.de/mios32_download.html

Please download it to get SysEx transfers working.

Sidenote: it's possible to use a MIOS8 based core with device ID 0 if it's connected to MIDI2 (IN2/OUT2)

But since you've already changed the ID, it should also work at MIDI1 (IN1/OUT1) -> continue with this setup.

Best Regards, Thorsten.

Link to comment
Share on other sites

TK,

Before I reload midio128, remember that you did a custom for me on the mode issue so i have a MAP mode for matrix setup. if I download the new version will this kill the Map feature?

A new problem came up this morning while I was testing, which involves the MSD card.

I customized the default.mio, renamed it ARTISAN.MIO and with the MSD enabled on the LPC transferred it to the sd card. I disabled MSD, went back to the menu on the CS, disk, found ARTISAN on the list and pressed LOAD. The message patch loaded came up. Went back to the menu selected "router", selected node 1, then set the channel for ALL.

I enabled MSD again, and opened the ARTISAN.mio in the the sd card directory with notepad++. Looking down the file, the change i made to the router node 1 to add channel "all" was not changed.

5 Questions:

1. If a change is made to a parameter through the control surface is the change also made on the SD card? So if i download the .MIO file, it will be changed.

2. Is it a problem to use notepad++ in lieu of open calc.

3. In the matrix setup in the .mio file. What do you put in the string for mode, "MAP, NORM, whatever". The default has a 1? Is the mode 1n normal?

4. Same question for Router setup, What do you put in the string for CH if you want "ALL", the word, or is there a number?

5. When the LPC is energized, does it load the default.mio automatically, such tha if you want something else, you have to manually change it. Using the LPC in my organ, I don't want to have to manually load the .mio file each time I turn on the organ.

Sorry about all the question, but who else can I ask.

Johnc

Link to comment
Share on other sites

If you are already using a customized version, you could just update your (complete) repository to get the latest changes under $MIOS32_PATH/mios32 - thereafter recompile your application -> done!

You have to store your changes in the SAVE menu, thats the problem.

After boot MIDIO128 will always load the DEFAULT setup. This means in other words: you have to rename your setup to DEFAULT if you want to get it active after boot.

You can determine the router setup values by yourself after you've changed them on the CS, stored the setup, mounted the SD card and opened the file with an editor.

Best Regards, Thorsten.

Link to comment
Share on other sites

I looked into my records and noticed, that you are not using a customized version, but the precompiled version.

Therefore please ignore the answer, and just upload the .hex file -> it will work for you!

Best Regards, Thorsten.

Link to comment
Share on other sites

TK,

Thanks for the help.

At this point I have loaded the new midio128 version, and seems to work ok, with exception of the Router. Mios studio does show the correct version.

I use one default file which is the original default.MIO customized, but retaining filename DEFAULT.MIO. I removed all the extra matrix codes beyond 4 and anything else that is not being used so i have codes for DIN, DOUT, Matrixes and router. With it loaded to the sd card, the changes do appear on the CS LCD, as do the pin numbers, channels and corresponding MIDI notes.

I have yet to make a change on the CS, save it to the default.mio, reversing the process, but will do that.

As setup, I have 4, 8x8 matrices, using 4DINS and 1DOUT, set up as "mapped" in the .MIO. With the LPC operating alone(no cross MIDI connection to the core8), midiox displays all the correct note parameters for 3 keyboards and all of the stop sense contacts.

FOR the Router setup;

1. The "all channel" appears as "17" on the default mio, and as "ALL" on the CS LCD, so I assume that is correct?

2. Current setup for the router is; Node 1 is 10;17;20;17 and node 2 20;17;10;17. As I understand the router, this connects the USB1 to the midi1 ports on the LPC. The LCD display still shows IN1 and OUT1 rather then "midi1" as per you post. should It? Physically speaking midi out1 of the PLC is connected to midiin on the core8, and midi in1 on the LPC is connected to midiout on the core 8. The LPC is ID=0 and the core8 is id=1. Connected as I have described, the core 8 is not found by mios studio, nor do DIN inputs to the core 8 show up on midiox. I have tried all that I can think of to no avail. Help!

Johnc

Link to comment
Share on other sites

MIDI1 selects IN1 if an input port, and OUT1 if an output port

MIDI2 selects IN2 if an input port, and OUT2 if an output port

Your configuration seems to be correct. You can doublecheck it by entering the "router" command in MIOS Terminal, it should output:


[596720.708] MIDI Router Nodes (change with 'set router <in-port> <channel> <out-port> <channel>)
[596720.709] 1 SRC:IN1 all DST:USB1 all
[596720.709] 2 SRC:USB1 all DST:OUT1 all
[/code]

So, it looks like a hardware issue.

The integrated MIDI monitor of MIDIO128 helps you to debug this: enter the "Mon." page to get following screen:

mon1.gif

Whenever something is received via USB1, the USB1 in the left upper corner should show the MIDI event for ca. 1 second

Whenever something is transmitted via USB1, the USB1 in the left lower corner should show the MIDI event for ca. 1 second

Whenever something is received via MIDI1, the IN1 item should show the MIDI event for ca. 1 second

Whenever something is transmitted via MIDI1, the OUT1 item should show the MIDI event for ca. 1 second

Accordingly you are able to test:

- if MIDI data is received at IN1

- if MIDI data is sent through OUT1

- if MIDI data is forwarded from USB1 to OUT1 (because in this case the USB1 and OUT1 will show the event)

- if MIDI data is forwarded from IN1 to USB1 (because in this case the USB1 and IN1 will show the event)

If IN1 doesn't change if something (e.g. a MIDI note) is sent from the MIOS8 core, the most simple test would be to try IN2 -> does IN2 show the MIDI event?

Yes: adapt your router settings accordingly, is the bidirectional communication with MIOS Studio working now?

If neither IN1 nor IN2 show an event, check the MIDI OUT circuit of the MIOS8 core, because it's unlikely that you have the same (soldering?) error at IN1 or IN2 of the LPC17 Core.

If IN1 (and even IN2) are working ok, then the problem is probably located at the MIDI OUT1 port of the LPC17 core, or the MIDI IN port of the MIOS8 port.

In order to exclude, that the problem is located at MIDI OUT1 of the LPC17 core, you could try MIDI OUT2 instead and change the router settings accordingy? Does it help?

If none of these tests help to find the problem, you could use your MIDI interface for similar checks.

Best Regards, Thorsten.

Link to comment
Share on other sites

TK,

found out something interesting.

As I mentioned on my last post, I activated the MSD and downloaded the DEFAULT.MIO file from the MSD card:

1. Modified it deleting matrix code for matrix 5 thru 16 since they are not used.

2, Changed the Router setup on the .MIO per your changes, As shown on my last post, final file size 14K.

3. I deleted the DEFAULT.MIO file from the SD card, and uploaded the new one over to the SD card.

4. deactivated the MSD card, went to menu and checked the Router setting on the LCD to verify that they were there, and they were.

5. Deactivated the MSD again, and opened the DEFAULT.MIO in notepad++

The DEFAULT.MIO file was not the same as I had uploaded. It was the original DEFAULT.MIO, but with the modifications I had made, plus the code I had deleted. Also the notes and headings i had added were gone.

I interpret this to mean that the complete DEFAULT.MIO file has to be there. you can modify it, but not delete anything.

Lastly, before you made the change on the router, When making a change thru the CS, it took;

NODE 1 USB1;ALL;IN1

NODE 2 OUT1;All;USB1

After the change, the same entries i.e. IN1, OUT1, etc. still appear on the CS, but the new coding uses MIDI1 and MIDI2. Confused.

Johnc

Link to comment
Share on other sites

It's normal that the application fills non-available entries with default entries.

Please continue with the instructions that I gave you!

Especially check the router configuration as proposed, and configure the router from the CS because when you editing these entries in the .MIO file you are adding an unnecessary source for configuration errors!

Best Regards, Thorsten.

Link to comment
Share on other sites

TK,

The LPC is receiving input from the core8 as evidenced by the mon on the lpc, and the mon also shows that there is output to the core8 from the LPC.

However, mios studio will not query the Core 8.I changed out the input isol. chip on the core 8, but no effect. I also switched midicables, no effect

The core9 had been in use before without failure.

I used the midi terminal on the mios studio to look at the router setup, and it is ok, however there is a line item that refers to the set mclk_in <<portin/out>, <on/off>. is this relevant?

At this point I am agreeing with you that midi out is not getting to the core 8 input.

I'll check on solder connections on both core8 and LPC.

Is there a loop back test I can use on the LPC to confirm midi out to midi in? That would confirm solder connections on the LPC.

Thanks for staying with me on this.

Johnc

PS: The LPC is really a neat device, and I know will serve my organ project very well. The more I play with it, the more I learn, the more I see how powerful it is.

Congratulations!

Edited by John_W._Couvillon
Link to comment
Share on other sites

TK,

I went over the connections on the midio in and out, both 1 and 2 on the LPC, to no avail. Mios studio sees the LPC and also sees input from the keyboard matricies, but does not see the core 8 at all.

I disassembled the midi wiring, and reconnected the core8 with my midio2x2 adapter. The core8 responds to the query from mios studio and both in and out midi ports show up. with midiox, the inputs from the DIN connected to the core 8for the pedal come through and are displayed.

Don't know what to try next.

Johnc

Link to comment
Share on other sites

TK,

Actually, I had ver. 2.2.2 running. But this is what I found experimenting with two different Core8 units, with both versions of mios studio:

1. When I connected up a core8 to mios studio 2.2.2, the core would not be recognized. The midi inputs and outputs don't come up at the top for selection. I checked everything, nothing wrong in wiring. so I closed out mios studio, and loaded midiox. with no change in wiring, not even denergizing the core, midiox displayed the opening string, and pressing a DIN input key, saw the note on and note off on the monitor.

2. I changed to a different core8 and repeated the test, and got the same result.

3. Repeated 1 and 2 with mios studio 2.2.3 and got the same results.

Strangely, mios studio 2.2.2 and 2.2.3 will recognize the LPC query.

Also, I went over the solder connections on the LPC midi in and out connectors.

Johnc

Link to comment
Share on other sites

Sounds a bit like MIOS Studio is listening on the USB MIDI, as it detects the LPC. For the Core 8 you would have to refresh the device list and select a different MIDI I/O (the one that the Core 8 is connected to). Well, maybe that is too obvious?

Edit: Or are you trying to use the LPC as a MIDI interface to connect the Core8 to?

Edited by ilmenator
Link to comment
Share on other sites

Ilmmenator,

My intent is to use the LPC and a core8 in a daisey chain arrangement to secure more I/O.

This all started with setup of the LPC, etc. TK walked me through the setup and then the problems showed up.

Initially, mios studio detects the LPC and displays all pertinent data. However, the core 8 is not recognized, although it does have a different ID from the LPC. Tk first suspected a hardware problem, which was explored, and found the following;

With the core8 connected to midiox, with a midiman 2x2 adapter, both inputs and outputs are functioning with normal data displayed on the device list. with mios studio 2.2.3 running with the same hardware setup, the core8 is not recognized. and the midi in and out ports are not listed at the top for selection.

Is it possible that the LPC and core 8 are working together correctly, but the issue is with mios studio?

Johnc

Link to comment
Share on other sites

It's neither a MIOS Studio issue, nor a MIDIO128 firmware issue, as exactly the same setup is working at my side.

It's of course important that the PIC based core uses a different device ID so that it won't be mixed up with the LPC17 core during a Query, but Johnc already considered this (PIC configured for device id 1)

I need more log files to find out the root cause.

Please do following three tests:

1) connect an IN/OUT pair of your MIDISPORT 2x2 to OUT1/IN1 of the LPC17 module (a common bidirectional connection, nothing special here)

Select the appr. ports of your MIDISPORT interface in MIOS Studio and press the Query button -> is the LPC17 core regognized?

2) remove your MIDISPORT (not required for next tests), and select the IN/OUT port of your LPC17 core in MIOS Studio again.

Enter following commands in MIOS Terminal:


set router 1 IN2 all USB1 all
set router 2 USB1 all OUT2 all
router
save DEFAULT
[/code] "set router .." will change the setup of Node 1 and 2 remotely, the "router" command will output the current connections, "save DEFAULT" will store the changes in the .MIO file Please post the complete terminal output here which is print when these commands are entered. I especially need to know the complete router setup. Now connect your PIC core to IN2/OUT2 of the LPC17 core. Is the Query button working now? If not: enter following command in the MIOS terminal:
[code]
set midimon on

Now each incoming and outgoing MIDI message will be printed by the MIOS terminal as well (*)

Press the Query button and post the log messages here.

3) enable the MIOS terminal based MIDImon as above, and power-cycle the PIC core - does it send a SysEx message during startup?

Print the terminal output here

Next instructions once I got the logfiles and once I know in which direction the troubleshooting has to be continued.

Best Regards, Thorsten.

(*) just to highlight: the MIOS terminal based MIDImon, which is actually running on the LPC17 core, doesn't print SysEx messages send/received from USB1 or MIDI1 (IN1/OUT1) to avoid a clash with MIOS Terminal messages.

This might be confusing - and thats the reason why I recommend to test this with IN2/OUT2!

Link to comment
Share on other sites

It's neither a MIOS Studio issue, nor a MIDIO128 firmware issue, as exactly the same setup is working at my side.

It's of course important that the PIC based core uses a different device ID so that it won't be mixed up with the LPC17 core during a Query, but Johnc already considered this (PIC configured for device id 1)

I need more log files to find out the root cause.

Please do following three tests:

1) connect an IN/OUT pair of your MIDISPORT 2x2 to OUT1/IN1 of the LPC17 module (a common bidirectional connection, nothing special here)

Select the appr. ports of your MIDISPORT interface in MIOS Studio and press the Query button -> is the LPC17 core regognized?

2) remove your MIDISPORT (not required for next tests), and select the IN/OUT port of your LPC17 core in MIOS Studio again.

Enter following commands in MIOS Terminal:


set router 1 IN2 all USB1 all

set router 2 USB1 all OUT2 all

router

save DEFAULT

"set router .." will change the setup of Node 1 and 2 remotely, the "router" command will output the current connections, "save DEFAULT" will store the changes in the .MIO file Please post the complete terminal output here which is print when these commands are entered. I especially need to know the complete router setup. Now connect your PIC core to IN2/OUT2 of the LPC17 core. Is the Query button working now? If not: enter following command in the MIOS terminal:

set midimon on

Now each incoming and outgoing MIDI message will be printed by the MIOS terminal as well (*)

Press the Query button and post the log messages here.

3) enable the MIOS terminal based MIDImon as above, and power-cycle the PIC core - does it send a SysEx message during startup?

Print the terminal output here

Next instructions once I got the logfiles and once I know in which direction the troubleshooting has to be continued.

Best Regards, Thorsten.

(*) just to highlight: the MIOS terminal based MIDImon, which is actually running on the LPC17 core, doesn't print SysEx messages send/received from USB1 or MIDI1 (IN1/OUT1) to avoid a clash with MIOS Terminal messages.

This might be confusing - and thats the reason why I recommend to test this with IN2/OUT2!

TK,

I'm reviewing the tests you prescribe and have a question. I am running the LPC on its USB port. If I understand test #1, I am to plug the USB midiman 2x2 into a USB port on the computer and connect the midi in and out to the LPC. Since you didn't ask how the LPC is being powered, it is not a problem for the LPC and midiman to be both USB connected to the same pc.

Sorry if this is a dumb question, but I don't want to blow anything. I have enough problems already.

Thanks.

johnc

Link to comment
Share on other sites

Per your data request;

1) connect an IN/OUT pair of your MIDISPORT 2x2 to OUT1/IN1 of the LPC17 module (a common bidirectional connection, nothing special here)

Select the appr. ports of your MIDISPORT interface in MIOS Studio and press the Query button -> is the LPC17 core regognized?

Yes! See screen print 1

2) remove your MIDISPORT (not required for next tests), and select the IN/OUT port of your LPC17 core in MIOS Studio again.

Enter following commands in MIOS Terminal:

set router 1 IN2 all USB1 all

set router 2 USB1 all OUT2 all

router

save DEFAULT

"set router .." will change the setup of Node 1 and 2 remotely, the "router" command will output the current connections, "save DEFAULT" will store the changes in the .MIO file

Please post the complete terminal output here which is print when these commands are entered. I especially need to know the complete router setup.

See Screen print 2

3) enable the MIOS terminal based MIDImon as above, and power-cycle the PIC core - does it send a SysEx message during startup?

Print the terminal output here

See screen print 3

Note.

1. The screen prints of the terminal log continue on each screen print.

2. The midimon did show the pic8 start up string with the power on cycle test.

3. The query of the pic8 never worked.

4. What is the midi clock item showing on the terminal log in step 1. Which ports does it refer to?

hopefully the screen prints are readable, if not I'll redo them.

The step 3 screen prints are on the next post.

Johnc

Per your data request;

1) connect an IN/OUT pair of your MIDISPORT 2x2 to OUT1/IN1 of the LPC17 module (a common bidirectional connection, nothing special here)

Select the appr. ports of your MIDISPORT interface in MIOS Studio and press the Query button -> is the LPC17 core regognized?

Yes! See screen print 1

2) remove your MIDISPORT (not required for next tests), and select the IN/OUT port of your LPC17 core in MIOS Studio again.

Enter following commands in MIOS Terminal:

set router 1 IN2 all USB1 all

set router 2 USB1 all OUT2 all

router

save DEFAULT

"set router .." will change the setup of Node 1 and 2 remotely, the "router" command will output the current connections, "save DEFAULT" will store the changes in the .MIO file

Please post the complete terminal output here which is print when these commands are entered. I especially need to know the complete router setup.

See Screen print 2

3) enable the MIOS terminal based MIDImon as above, and power-cycle the PIC core - does it send a SysEx message during startup?

Print the terminal output here

See screen print 3

Note.

1. The screen prints of the terminal log continue on each screen print.

2. The midimon did show the pic8 start up string with the power on cycle test.

3. The query of the pic8 never worked.

4. What is the midi clock item showing on the terminal log in step 1. Which ports does it refer to?

hopefully the screen prints are readable, if not I'll redo them.

The step 3 screen prints are on the next post.

Johnc

See step 3 screen prints below.

TK, how do you embed a .JPG photo within a post?

post-3665-165273_thumb.jpg

Edited by John_W._Couvillon
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...