MIOS Studio 2
MIOS Studio 2 is a Juce based, platform-independent MIDI processing environment which allows to upload an application binary to a MIOS8 and MIOS32 core. It also provides MIDI monitors, a virtual MIDI keyboard, a terminal to communicate with MIOS32 applications (partly also used by MIOS8 applications), a SysEx transfer tool and configuration tools for MIDIO128 and MIDIbox CV.
Four simple steps to upload a MIOS application
Start MIOS Studio and select the IN (1) and OUT (2) port of the MIDI interface to which you core module is connected:
MIOS Studio will automatically try to contact the core whenever a new MIDI port has been selected, and determine the run state. The detected application will be displayed in the query window.
You can repeat this check by pressing the Query button.
Select the .hex file you want to upload by pressing the browser button (3).
Thereafter press the start button to upload the binary (4).
DONE! - if the upload should fail, please continue at the MIDI troubleshooting guide.
MIOS Terminal
The MIOS Terminal is a very helpful debugging tool for MIOS32 applications. It displays strings which are sent with the MIOS32_MIDI_SendDebugMessage or MIOS32_MIDI_SendDebugHexDump function.
Some MIOS32 applications even provide an interactive command interface:
A small number of MIOS8 applications are sending messages to the terminal as well, e.g. to give you instructions for testing pin connections:
Note: MIOS8 won't respond to a command string sent to the PIC microcontroller. This feature is provided by MIOS32 only!
SysEx Tool
A simple SysEx upload/download/load/save/edit tool which should be self-explaining:
OSC Tool
This tool allows you to send and receive OSC datagrams:
Similar to the SysEx window, there is one frame to enter data that should be sent, and another frame which displays received messages.
Enter the remote host and port over which datagrams should be sent. You can either enter the IP address or the host name of the host that should receive outgoing data (such as "localhost" to send data internally on your PC/Mac).
The local port is the one which receives OSC datagrams from any IP. It's allowed to set the local port to the same number as the remote port if your application requires this.
E.g., by setting remote host to "localhost", and both ports (remote and local) to "10000", outgoing datagrams will be received like on a loopback.
The send window supports multiple OSC messages sent in a bundle. The syntax for entering datagrams is the same as displayed by the receive window.
Here some examples. To improve the readability, we always take /foo/bar as the free definable path, and we leave out the timestamp (which can optionally be specified by writing @<seconds>.<fraction> before the path.
- /foo/bar i1234 sends the integer value 1234 (int32)
- /foo/bar f0.42 sends the floating value 0.42 (float32)
- /foo/bar sHello! sends the string "Hello!"
- /foo/bar SHello! sends the alternate string "Hello!"
- /foo/bar b4:12345678 sends a "blob" with length of 4 bytes, values 0x12, 0x34, 0x56, 0x78
- /foo/bar h123456789012345678 sends an integer value with double resolution (int64)
- /foo/bar d3.1415927 sends the floaing value with double resolution (float64)
- /foo/bar t100.2 sends the timetag 100 (seconds) 2 (fraction)
- /foo/bar cX sends the ASCII character X
- /foo/bar r8899AAFF sends the RGB value (numbers in hexadecimal format)
- /foo/bar m903C7F00 sends a MIDI events (numbers in hexadecimal format, 8 digits required!)
- /foo/bar T sends "TRUE"
- /foo/bar F sends "FALSE"
- /foo/bar N sends "NIL"
- /foo/bar I sends "Infinitum"
- /foo/bar [ sends "Beginning of Array"
- /foo/bar ] sends "End of Array"
MIDIO128 Tool
Allows you to configure the MIDIO128 application:
MIDIbox CV Tool
Allows you to configure the MIDIbox CV application:
Download
Source Code
The source code is available in the SVN Repository. It requires the Juce v1.50 release to compile.
Known Issues
Firstly it should be highlighted, that the Juce based MIOS Studio 2 solved all MIDI uploading issues of V1 which were mainly related to the MIDI API of Java implemented by Sun and Apple (or third party vendors)!
Currently there is only one known issue:
- Windows7 64bit: the SysEx communication gets stucked if a MIOS32 core opens more than one USB port (like MIDIbox SEQ V4).
Workarounds: this seems to be related to the legacy USB MIDI driver provided by Microsoft. No issue with the 32bit version. SysEx transfers are working stable under 64bit if the bootloader is selected via J27 jumper, since it only opens a single USB port. Alternatively code can be uploaded properly through the common serial MIDI interface. However, there is hope that either Microsoft will fix this issue, or that a workaround will be integrated into Juce.
We found an easier workaround for MBSEQ V4: type "help" into the terminal window multiple times until the complete help page is displayed. See also this snapshot.

Last update: 2010-06-13
Copyright © 1998-2010, Thorsten Klose. All rights reserved.
|