[sdiy] Simple MIDI Seq for firmware updates

Colin f colin at colinfraser.com
Sat Mar 13 00:24:33 CET 2010


 

> So my choices are to learn the MIDI API and write my own 
> "updater" program or look at how other people do it. It seems 
> that .MID files are popular when you can't send the whole 
> firmware over in one chunk. I don't see how I can do the 
> individual blocks with SysEx (E.g. MIDI-OX) because there 
> would probably be a handshake of sorts after each block.

You only need a handshake if you want to handle an error.
Once you have written the bootloader and tested how long it typically takes
to write one page, you can send a page per sysex block with a delay between
each block long enough to ensure the page is written.
MIDI-Ox has a configurable delay after each F7

A MID file is essentially just MIDI event data with header data and
timestamps.
A MID file doing a firmware update is just going to be sysex blocks.
You can turn a sysex file into a MID file so that the sysex blocks are sent
out with a preset delay between each one by adding a handful of bytes into
the sysex stream.
I could mail you the Visual C# code I use for the purpose privately if you
want to see it.
Or you could google up on the SMF format and work it out for yourself. That
was fun.

Cheers,
Colin f





More information about the Synth-diy mailing list