|
#1
|
||||
|
||||
|
The MIDI CPU is configured via MIDI SysEx message. If you're unable to write your own SysEx, please start a forum thread and I'll help you write it. The procedure is very simple, once you give it a try.
Tools you need to send the SysEx file:
Test your interface: Most computer MIDI interfaces can send and receive SysEx messages, but some can't. To test your interface, download and install Sqwerl (link above). Using a MIDI cable, connect your computer's MIDI Out to your computer's MIDI In. Launch Sqwerl, and make sure that the correct MIDI interfaces are selected in the lower right part of the window. From the Sqwerl "help" menu, select the "loopback test" and make sure that all of the tests succeed. A SysEx message looks like: On the forums, I put SysEx in a little code window, like this: Code:
// Just a comment! F0 00 01 5D 04 01 // another comment! 00 00 00 4C 00 50 7F F7 The important parts are the sysex bytes. Each byte ("00" or "F0" or "4F", etc.) is shown as a hexadecimal or "hex" (machine-speak) number. Humans use decimal numbers. We might talk about "MIDI Note #60". "60" in this case is a decimal number. If we wanted to specify that note in the sysex, we must first convert it to hexadecimal. You can see a list of MIDI note numbers in both decimal and hex format here: http://highlyliquid.com/hl2012/blog/912 You can also type "60 in hex" into Google, and you'll get: "60 = 0x3C". Just remove the "0x" part to get the byte for the SysEx. The same conversion works for CC #s, slider positions, note velocity, and every other data byte in MIDI. How to send the code using SendSX: Select the text from the code window, copy it, and then paste it into the "Midi Out" pane of the SendSX window. SendSX knows to ignore the "//" comments, so you can leave that stuff in there. Then, make sure the correct MIDI port is selected in the "Midi Out" menu, and click the "Send" button. That's it! It is wise to save your sysex as a text file, so that you can easily make adjustments, if necessary. You can also tweak your hex code inside the SendSX application. Note: If SendSX reports an "undefined external error", try converting your hex code using the text-to-sysex converter first, then opening the .syx file with SendSX using the File->Open command. How to send the code using SysEx Librarian: SysEx Librarian uses binary-format (raw hex) sysex files with the extension ".syx". To generate a .syx file, go here: http://highlyliquid.com/hl2012/suppo...ysex-converter Copy your code into the window and click "convert". A file download will begin. Save the file with a ".syx" extension, load it into SysEx Librarian, send it to the MIDI CPU, and you're done. Last edited by John; 07-10-2012 at 01:31 AM. |
|
#2
|
|||
|
|||
|
Midi CPU can only process 1 Sysex configuration message at a time. A configuration message is a segement that starts with F0 and ends with F7. Your typical configuration file will have 2 or more of these messages. From your configuration file copy the first message into SendSx or equivalent and send it. You will see the led on the board it self light up and then go out. The Midi CPU resets when the light goes out. Now send the second message block.Again the on-board LED will light for a few seconds and the go out. Repeat this process until all the message blocks in your configuration definition have been sent. If after sending a block, the LED does not light up, it is an indication that there is an error in that particular block of configuration as the CPU did not accept it for processing. Check that block for errors. Once corrected, then re-send and continue on. Once all the message blocks have been accepted you are good to go and its time to check that what you configured is how you wanted it to work. Good Luck !
|
|
#3
|
|||
|
|||
|
The Sqwerl does not start it says
An exception of class NilObjectException was not handled. The application must shut down |
|
#4
|
|||
|
|||
|
Quote:
Standard procedure is: 1. Select your MIDI interface in the popup menu items for the IN and OUT 2. Connect the two MIDI cables from your interface to the MSA 3. Click the SCAN button to allow Sqwerl to find your MSA. If Sqwerl doesn't find your MSA, check the cables, check the IN and OUT (you might have them reversed; or you're using Thru not IN and OUT), the MIDI drivers for your interface are out of date, or your MIDI interface doesn't support SYSEX. Mel |
|
#5
|
|||
|
|||
|
Forgive me for being dumb, i am on my first few attempts at programming my CPU
Is it possible to configure one terminal at a time, ie, dump sysex: F0 00 01 5D 04 01 00 00 00 44 00 01 00 00 01 44 00 01 7F F7 OR will the device only accept a complete layer dump, about 296 bytes worth? and, does the activity indicator illumination time vary on message type or message length, ie with a successful sysex dump the LED appears to stay on longer than a "failed" dump. is this correct? thanks Last edited by slateboy; 03-04-2012 at 01:26 PM. Reason: ammended text |
|
#6
|
|||
|
|||
|
Yes - you can send individual terminal configuration messages as well as groups.
|
|
#7
|
||||
|
||||
|
Quote:
Any chunks not specified in your sysex will be unchanged in MIDI CPU configuration memory. Quote:
This is unrelated to the activity LED self-test, which is performed at every boot and also serves to indicate receipt of a sysex message that changes MIDI CPU configuration. This is always a fixed length. |
|
#8
|
|||
|
|||
|
Just for everybody's information and to help out those having issues programming...
I was having no luck at all using SendSx to program my MIDI-CPU project with countless tries and checks of my code and just about to pull my hair out when I was just copy/pasting my code text file into SendSx and sending. I could not even get the activity LED to flicker once... However I then tried using the text-to-sysex Converter mentioned and linked to in the above post to create sysex .syx files that I then sent using SendSx. Worked on the first try and all is good! ![]() Give the converter a try if you are having trouble. Cheers!!!
|
|
#9
|
|||
|
|||
|
Is there any app or tool to assist in programming sysex for the midi-CPU?
I am unaware of one so i have taken it upon myself to create something that will do the job. This really is in the early stages of functionality but if it appears of value or use i may invest my time further to advance it. If on the other hand there is a tool out there to do the job already please let me know so i can save myself (and others) time. Likewise, if my attempt is in anyway unsuitable please comment and i will act accordingly. see: http://sugarkick.co.uk/midicpu thanks for looking. |
|
#10
|
||||
|
||||
|
Quote:
I should disclose that I have been experimenting with Max to build a locally-executable app that does this sort of thing. But it is a pretty long way off. I hope that doesn't discourage you. I'll probably be using your app...a lot.
|
|
#11
|
|||
|
|||
|
thanks for the words of encouragement. If you, and others, feel it is of use by all means use it and direct others to do the same. I will add a bit more when i get time.
|
|
#12
|
|||
|
|||
|
Hello,
New member...embarking on a 25-note Hammond bass pedal project. Question: after having sent some SysEx to the MidiCPU, is it possible to restore it to the factory default? (I recall reading in the new user post that the MidiCPU ships with a default configuration.) Thanks! -Allan |
|
#13
|
|||
|
|||
|
Allan --
Read the manual buddy!!! ![]() I don't think there's any code that will reset the factory settings. But they're all listed in chapter 9 of the Firmware manual. Cut, paste, relax. |
|
#14
|
||||
|
||||
|
Quote:
As J.D. indicates, the factory defaults are described in the firmware user manual linked from the product page. Unfortunately, there is no shortcut to "globally revert" the MIDI CPU to its factory state. But you can get the same result by copying the default sysex from the manual and sending it to the MIDI CPU. I probably should post the default sysex files here for anyone that needs them. |
![]() |
| Tags |
| hex, howto, midi cpu, sysex |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|