Jump to content

'MIDI Time Out! What's up ?'


Recommended Posts

Greetings Forum members.


I wonder if there is a definitive explanation for the above title message? It seems to occour under various situations, but what is it actually intended for? 'Time out' implies some acknowledgement not being recieved after a transmission of midi data, but many midiboxes work quite happily with just a MIDI out connected. No messages pop up.


I came across the 'time out' message when trying to use the merge option in a MB64, and the same occoured when I tried using a midi merger (both circuits and firmware belonging to the MBHB stable). It seems to occour when an input contains 'active sense' MIDI messages. But I have not found any reference to this in the archives.


It happens that the source code comes with the midi merger (midimerger_v1_5), and after reading through it to see under what circumstances the message 'MIDI Time Out! What's up ???' is invoked, I am surprised to find no such message within the code. There are some references to some locations which begin with "MIDI_TIMEOUT_........" but none shed any light on the missing message.


Does anyone understand what the message means? Has anyone got information on how the message is missing in the source, but is obviously in the hex file? Is this perhaps a copyright thing of TK's?


Any assistance in this matter would be gratefully recieved.





Link to comment
Share on other sites

I think I can shed some light into some of your questions but the way you have worded your question,

it isn't very clear. I should also say that this is the first time I have looked at this merger code

and I am not familiar with some of your acronyms.<br /><br />The "TimeOut" message doesn't have anything to do with an acknowledgement at all.

Most Midi messages are received in 2 or 3 bytes of data. If a command is sent and the following bytes to complete the command is not received in a timely fashion, some units will display an error to the user. The MidiBox projects I have seen will display something if the command isn't completed properly.

In looking at the midimerger_v1_5.zip code, it is NOT running under MIOS. It is a stand alone piece of software that runs on the PIC. This means there isn't any bootloader. It doesn't have a display so the message you are seeing is generated on the receiving device.

The "Active Sense" Midi command is used as a keep-alive message telling the receiving device that the Midi cable is still connected. If the receiver stops seeing this AS command after a predefined time, then it is assumed that the cable was removed and any notes still playing should be turned off by the receiving device.

From your post it seems like the problem happens when the AS command is being sent thru the merger unit. I looked at the code and it seems to me to process the command correctly. What I was worried about is that the AS command can come in at any time and be imbedded between the data of the Midi command being received. This AS command must not change the running status state or the expected bytes of the command. Everything looks OK in the merger from what I see.


Edited by kpete
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.

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.


  • Create New...