johnh Posted January 27, 2004 Report Share Posted January 27, 2004 Greetings...In my application I need to process system exclusive messages. Is there any example code that demonstrates how this is done?Looking at the functions that MIOS provides it looks like there are two user functions that get called on input: USER_MIDI_NotifyRx and USER_MPROC_NotifyReceivedByte. I'm not sure of the difference between the two.It would seem that I could take calls to one of these functions and watch for the start of a sysex message and then continue to queue bytes one call at a time until the end of the sysex and then process the entire queued message. This would be easier in my case than trying to process the message on the fly (plus it would put less code in the interrupt routines) Am I overlooking an easier solution?Sorry for what may be naive questions but this is my first attempt at coding a custom app under MIOS. Quote Link to comment Share on other sites More sharing options...
TK. Posted January 29, 2004 Report Share Posted January 29, 2004 Hi John,there are a lot of simple and also more complex examples for parsing SysEx in the MIOS download section.A simple one: see the led_digits_mtc_v1_3.zip example or the midimon (mtc.inc)More complex ones: see the MIDIbox applications like "midibox64" or "midibox_lc"Don't use USER_MIDI_NotifyRx for parsing SysEx streams, this is an interrupt service routine which should only be taken on very special cases (e.g. for receiving a MIDI clock or for a software implemented MIDI In LED)USER_MIDI_NotifyReceivedByte is a low priority task (at the same level like USER_Tick) - which doesn't mean that it has a mentionable latency!).Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.