Jump to content

Component: USB MIDI (Comms: USB): Difference between revisions

From Flowcode Help
XML import
 
No edit summary
Line 1: Line 1:
 
{| style="width:50%"
 
{| width="50%"
|-
|-
| width="20%" style="color: gray;" | Author
| width="20%" style="color:gray;" | Author
| Matrix Ltd.
| Matrix Ltd.
|-
|-
| width="20%" style="color: gray;" | Version
| width="20%" style="color:gray;" | Version
| 1.3 (Release)
| 1.3
|-
|-
| width="20%" style="color: gray;" | Category
| width="20%" style="color:gray;" | Category
| Comms: USB
| Comms: USB
|}
|}




==USB MIDI component==
Component to create and communicate using a standard MIDI connection. Compatible with simulation and USB enabled microcontroller devices. Currently only compatible with the 16-bit PIC range of devices.
==Detailed description==


==[[File:Component Icon fdceef06_919a_405b_8d0b_6118cd0e104c.png|Image]] USB MIDI component==
''No detailed description exists yet for this component''
Component to create and communicate using a standard MIDI connection.
Compatible with simulation and USB enabled microcontroller devices.
Currently only compatible with the 16-bit PIC range of devices.


==Examples==
==Examples==
''<span style="color:red;">No additional examples</span>''
''<span style="color:red;">No additional examples</span>''


Line 26: Line 27:
==Downloadable macro reference==
==Downloadable macro reference==


===<span style="font-weight: normal;"><u><tt>SendMIDI</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Sends a MIDI packet consisting of up to three bytes of information,
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendMIDI'''
|-
| colspan="2" | Sends a MIDI packet consisting of up to three bytes of information,&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Status
|-
| colspan="2" | MIDI Status Byte - Used for commands such as NoteOn, NoteOff etc.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Data1
|-
| colspan="2" | MIDI Data Byte - Used as a parameter specific to the specified command&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Data2
|-
| colspan="2" | MIDI Data Byte - Used as a parameter specific to the specified command&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Parameters'''


:[[Variable Types|BYTE]] ''Status''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::MIDI Status Byte - Used for commands such as NoteOn, NoteOff etc.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendPitchChange'''
|-
| colspan="2" | Sends out a pitch change command on the specified channel.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | Channel to send the pitch change to&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Pitch_Change
|-
| colspan="2" | New pitch value to use, Default 0x2000&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Data1''
::MIDI Data Byte - Used as a parameter specific to the specified command


:[[Variable Types|BYTE]] ''Data2''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::MIDI Data Byte - Used as a parameter specific to the specified command
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendNoteOff'''
|-
| colspan="2" | Sends a note off command using the channel, note and velocity specified.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Note
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Velocity
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




'''Return value'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendControl'''
|-
| colspan="2" | Sends a control command using the channel, controller and value specified.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Controller
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This call does not return a value''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendNoteOn'''
|-
| colspan="2" | Sends a note on command using the channel, note and velocity specified.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Note
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Velocity
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


===<span style="font-weight: normal;"><u><tt>SendPitchChange</tt></u></span>===
Sends out a pitch change command on the specified channel.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReceiveMIDI'''
|-
| colspan="2" | Waits for the time specified in the timeout parameter for an incoming MIDI message. Returns 0 to indicate a timeout, otherwise returns the first value from the MIDI message.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Timeout
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Channel''
::Channel to send the pitch change to


:[[Variable Types|UINT]] ''Pitch_Change''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::New pitch value to use, Default 0x2000
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendPolyPressure'''
|-
| colspan="2" | Sends a note press with an associated polyphonic pressure value.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Note
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Pressure
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




'''Return value'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadData'''
|-
| colspan="2" | Reads a byte from the last received MIDI message&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Idx
|-
| colspan="2" | Byte to read 0-3&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This call does not return a value''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendPatch'''
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Instrument
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


===<span style="font-weight: normal;"><u><tt>SendNoteOff</tt></u></span>===
Sends a note off command using the channel, note and velocity specified.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendChannelPressure'''
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Pressure
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Channel''


:[[Variable Types|BYTE]] ''Note''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
| colspan="2" | Starts up the USB communications and attempts to enumerate. Returns 0 for a successful startup or 255 for a enumeration timeout.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Velocity''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''OUTPUT'''
|-
| colspan="2" | Sets the output to; 0 = ON, 1 = OFF, 2 = NORMAL, 3 = INVERT.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | SetOutput
|-
| colspan="2" | Set the output. (0 = ON, 1 = OFF, 2 = NORMAL, 3 = INVERT).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:''This call does not return a value''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPWMDEVWDT'''
|-
| colspan="2" | Sets the PWM waveform deviation to <nrf> sec.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Sec
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>SendControl</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Sends a control command using the channel, controller and value specified.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWPMODE'''
|-
| colspan="2" | Sets the sweep mode to <CONT> or <TRIG>. 0 = CONT, 1 = TRIG.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Mode
|-
| colspan="2" | Set the sweep mode (0 = CONT, 1 = TRIG).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Parameters'''


:[[Variable Types|BYTE]] ''Channel''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODFSKRATE'''
|-
| colspan="2" | Sets FSK rate to <nrf> Hz. (Lower limit: 2mHz - Upper limit: 100kHz).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Rate
|-
| colspan="2" | Sets FSK rate in Hertz(Hz) (2mHz - 100kHz).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Controller''


:[[Variable Types|BYTE]] ''Value''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BST'''
|-
| colspan="2" | Sets the burst mode to;  0 = <OFF>, 1 = <NCYC>, 2= <GATED>, 3 = <INFINITE>.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | MODE
|-
| colspan="2" | Sets the burst mode (0 = OFF, 1 = NCYC, 2 = GATED, 3 = INFINITE).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




'''Return value'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SYNCTYPE'''
|-
| colspan="2" | Sets the sync type to; 0 = AUTO, 1 = CARRIER, 2 = MODULATION, 3 = SWEEP, 4 = BURST, 5 = TRIGGER.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Type
|-
| colspan="2" | Set the sync type (0 = AUTO, 1 = CARRIER, 2 = MODULATION, 3 = SWEEP, 4 = BURST, 5 = TRIGGER).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This call does not return a value''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPWMSHAPE'''
|-
| colspan="2" | Sets PWM waveform shape to; 0 = SINE, 1 = SQUARE, 2 = RAMPUP, 3 = RAMPDN, 4 = TRIANG, 5 = NOISE, 6 = DC, 7 = SINC, 8 = EXPRISE, 9 = LOGRISE, 10 = ARB1,  11 = ARB2, 12 = ARB3, 13= ARB4.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Shape
|-
| colspan="2" | Sets PWM waveform shape (1 = SINE, 2 = SQUARE, 3 = RAMPUP, 4 = RAMPDN, 5 = TRIANG, 6 = NOISE, 7 = DC, 8 = SINC, 9 = EXPRISE, 10 = LOGRISE, 11 = ARB1, 12 = ARB2, 13 = ARB3, 14= ARB4).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


===<span style="font-weight: normal;"><u><tt>SendNoteOn</tt></u></span>===
Sends a note on command using the channel, note and velocity specified.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LOLVL'''
|-
| colspan="2" | Sets the amplitude-low-level to <nrf> Volts. (Lower limit: 5.000 V - Upper limit: -0.010 V).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | LowLevel
|-
| colspan="2" | Sets the amplitude-low-level in Volts(V) (-5.000 V - -0.010 V).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Channel''


:[[Variable Types|BYTE]] ''Note''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SAV'''
|-
| colspan="2" | Saves the complete instrument setup to the setup-file named <nrf>&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | StoreLocation
|-
| colspan="2" | Memory location of register (0-9)&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Velocity''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TRG'''
|-
| colspan="2" | This command is the same as pressing the TRIGGER key.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:''This call does not return a value''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARBDCOFFS'''
|-
| colspan="2" | Sets the arbritary dc waveform offset to <nrf> volts.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | OffsetVoltage
|-
| colspan="2" | Set the offset voltage&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>ReceiveMIDI</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Waits for the time specified in the timeout parameter for an incoming MIDI message.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWPTRGPOL'''
|-
| colspan="2" | Sets the sweep trigger slope to; 0 = POS, 1 = NEG.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Slope
|-
| colspan="2" | Set the sweep trigger slope (0 = POS, 1 = NEG).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


Returns 0 to indicate a timeout, otherwise returns the first value from the MIDI message.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PULSRISE'''
|-
| colspan="2" | Sets the pulse waveform negative edge to <nrf> micro seconds. (Lower limit: 5ns - Upper limit: 99.9ns).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Rise
|-
| colspan="2" | Sets the pulse waveform positive edge in micro seconds (5ns - 99.9ns).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Timeout''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODAMSHAPE'''
|-
| colspan="2" | Sets AM waveform shape to: 0 = SINE, 1 = SQUARE, 2 = RAMPUP, 3 = RAMPDN, 4 = TRIANG, 5 = NOISE, 6 = DC, 7 = SINC, 8 = EXPRISE, 9 = LOGRISE, 10 = ARB1, 11 = ARB2, 12 = ARB3, 13= ARB4.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Shape
|-
| colspan="2" | Sets AM waveform shape (1 = SINE, 2 = SQUARE, 3 = RAMPUP, 4 = RAMPDN, 5 = TRIANG, 6 = NOISE, 7 = DC, 8 = SINC, 9 = EXPRISE, 10 = LOGRISE, 11 = ARB1, 12 = ARB2, 13 = ARB3, 14= ARB4).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:[[Variable Types|BYTE]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CLKSRC'''
|-
| colspan="2" | Sets the clock source to; 0 = INT, 1 = EXT.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Source
|-
| colspan="2" | Sets the clock source (0 = INT, 1 = EXT).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>SendPolyPressure</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Sends a note press with an associated polyphonic pressure value.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARB1DEFRet'''
|-
| colspan="2" | Returns user specified waveform name, waveform pint interpolation state and waveform length of ARB1.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Parameters'''


:[[Variable Types|BYTE]] ''Channel''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BEEP'''
|-
| colspan="2" | Sound one beep.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Note''


:[[Variable Types|BYTE]] ''Pressure''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWPCNTFREQ'''
|-
| colspan="2" | Sets the sweep centre frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 50MHz).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Frequency
|-
| colspan="2" | Sets the sweep centre frequency in Hertz(Hz) (1uHz - 50MHz).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




'''Return value'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWP'''
|-
| colspan="2" | Sets the sweep to <ON> or <OFF>. 0 = ON, 1 = OFF.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Sweep
|-
| colspan="2" | Enable or disable the sweep (0 = ON, 1 = OFF).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This call does not return a value''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BSTTRGSRC'''
|-
| colspan="2" | Sets the burst trigger source to; 0 = INT, 1 = EXT, 2 = MAN.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Source
|-
| colspan="2" | Set the burst trigger source (0 = INT, 1 = EXT, 2 = MAN).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


===<span style="font-weight: normal;"><u><tt>ReadData</tt></u></span>===
Reads a byte from the last received MIDI message


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPWMFREQ'''
|-
| colspan="2" | Sets PWM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Frequency
|-
| colspan="2" | Sets PWM waveform frequency in Hertz(Hz) (1uHz - 20kHz).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Idx''
::Byte to read 0-3


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARB2Ret'''
|-
| colspan="2" | Returns the binary-data from an existing abbitrary wavefrom memory location.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:[[Variable Types|BYTE]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RST'''
|-
| colspan="2" | Resets the instrument parameters to their default values.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>SendPatch</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
''<span style="color:red;">No additional information</span>''
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RMPSYMM'''
|-
| colspan="2" | Sets the ramp waveform symmetry to <nrf> %. (Lower limit: 0 - Upper limit: 100)&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Symmetry
|-
| colspan="2" | Sets the ramp waveform symmetry in percent (0 - 100).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BSTCOUNT'''
|-
| colspan="2" | Sets the burst count to <nrf> cycles, maximum 1048575 cycles.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Count
|-
| colspan="2" | Sets the burst count in cycles (1 - 1048575).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Parameters'''


:[[Variable Types|BYTE]] ''Channel''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWPMKR'''
|-
| colspan="2" | Sets the sweep marker to <ON> or <OFF>. 0 = ON, 1 = OFF.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Marker
|-
| colspan="2" | Enable or disable the sweep marker (0 = ON, 1 = OFF).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Instrument''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PULSFREQ'''
|-
| colspan="2" | Sets the pulse waveform frequency to <nrf> Hz (Lower limit: 1uHz - Upper limit: 50MHz).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Frequency
|-
| colspan="2" | Sets the pulse waveform frequency in Hertz(Hz) (1uHz - 50MHz).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:''This call does not return a value''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODFMDEV'''
|-
| colspan="2" | Sets FM waveform deviation to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 25MHz).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Deviation
|-
| colspan="2" | Sets FM waveform deviation in Hertz(Hz) (1uHz - 25MHz).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>SendChannelPressure</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
''<span style="color:red;">No additional information</span>''
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RCL'''
|-
| colspan="2" | Recalls the instrument setup contained in store <nrf>.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | StoreLocation
|-
| colspan="2" | Memory location (0-9)&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ESESet'''
|-
| colspan="2" | Sets the standard event status enable register to the value of <nrf>. (Lower limit: 0 - Upper limit: 255)&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
|-
| colspan="2" | Enable the register to this value. (0 - 255)&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Parameters'''


:[[Variable Types|BYTE]] ''Channel''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LOCAL'''
|-
| colspan="2" | Returns the instrument to local opertion and unlocks the keyboard.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Pressure''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWPSPNFREQ'''
|-
| colspan="2" | Sets the sweep frequency span to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 50.25kHz).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Frequency
|-
| colspan="2" | Set the sweep frequency span in Hertz(Hz) (1uHz - 50.25kHz).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:''This call does not return a value''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CALSTEP'''
|-
| colspan="2" | Step to the next calibration point.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Starts up the USB communications and attempts to enumerate.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''OPC'''
|-
| colspan="2" | Sets the Operation Complete bit (bit 0) in the Standard Event Status Register. This will happen immediately the command is executed because of the sequential nature of all operations.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


Returns 0 for a successful startup or 255 for a enumeration timeout.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SRERet'''
|-
| colspan="2" | Returns the value of the Service Request Enable Register in <nr1> numeric format.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This macro has no parameters''
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPMFREQ'''
|-
| colspan="2" | Sets PM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Frequency
|-
| colspan="2" | Sets FM waveform frequency in Hertz(Hz) (1uHz - 20kHz).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARBRESIZE'''
|-
| colspan="2" | Changes the size of arbritary waveform <cpd> to <nrf>.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Size
|-
| colspan="2" | Size of waveform&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Waveform
|-
| colspan="2" | Arbritary Waveform&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LRN'''
|-
| colspan="2" | Intall data from a previous *LRN? command.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPMSHAPE'''
|-
| colspan="2" | Sets PM waveform shape to; 0 = SINE, 1 = SQUARE, 2 = RAMPUP, 3 = RAMPDN, 4 = TRIANG, 5 = NOISE, 6 = DC, 7 = SINC, 8 = EXPRISE, 9 = LOGRISE, 10 = ARB1,  11 = ARB2, 12 = ARB3, 13= ARB4.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Shape
|-
| colspan="2" | Sets PM waveform shape (1 = SINE, 2 = SQUARE, 3 = RAMPUP, 4 = RAMPDN, 5 = TRIANG, 6 = NOISE, 7 = DC, 8 = SINC, 9 = EXPRISE, 10 = LOGRISE, 11 = ARB1, 12 = ARB2, 13 = ARB3, 14= ARB4).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARB4'''
|-
| colspan="2" | Loads the binary-data to an existing arbitrary waveform memory location ARB4.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Waveform
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CLKSRRet'''
|-
| colspan="2" | Returns the clock source <INT> or <EXT>.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPMDEV'''
|-
| colspan="2" | Sets PM waveform deviation to <nrf> degrees. (Lower limit: -360° - Upper limit: 360°).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Degrees
|-
| colspan="2" | Sets PM waveform deviation in degrees (-360 - 360).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MSTLOCK'''
|-
| colspan="2" | Sends signal to SLAVE generator to get synchronised&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''HILVL'''
|-
| colspan="2" | Sets the amplitude-high-level to <nrf> Volts. (Lower limit: -0.490 V - Upper limit: 5.000 V).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | HighLevel
|-
| colspan="2" | Sets the amplitude-high-level in Volts(V) (-0.490 V - 5.000 V).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARB3'''
|-
| colspan="2" | Loads the binary-data to an existing arbitrary waveform memory location ARB3.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Waveform
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WAVE'''
|-
| colspan="2" | Sets the waveform type.  0 = SINE, 1 = SQUARE, 2 = RAMP, 3 = TRIANG, 4 = PULSE, 5 = NOISE, 6 = ARB&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | WaveType
|-
| colspan="2" | 0 = SINE, 1 = SQUARE, 2 = RAMP, 3 = TRIANG, 4 = PULSE, 5 = NOISE, 6 = ARB.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CALADJ'''
|-
| colspan="2" | Adjust the selected calibration value by <nrf> (Lower limit: -100 - Upper limit: 100).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Calibrate
|-
| colspan="2" | Adjust the selected calibration value (-100 - 100).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''STBRet'''
|-
| colspan="2" | Returns the value of the Status Byte Register in <nr1> numeric format.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARB2'''
|-
| colspan="2" | Loads the binary-data to an existing arbitrary waveform memory location ARB2.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Waveform
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EERRet'''
|-
| colspan="2" | Query and clear execution error number register.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODFMSRC'''
|-
| colspan="2" | Sets FM waveform source to; 0 INT, 1 = EXT.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Source
|-
| colspan="2" | Sets FM waveform source (0 = INT, 1 = EXT).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODAMFREQ'''
|-
| colspan="2" | Sets AM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz).&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Frequency
|-
| colspan="2" | Sets AM waveform frequency in Hertz(Hz) (1uHz - 20kHz).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ESE'''
|-
| colspan="2" | Sets the Standard Event Status Enable Register to the value of <nrf>.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
|-
| colspan="2" | Value of register 0-255&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARB1'''
|-
| colspan="2" | Loads the binary-data to an existing arbitrary waveform memory location ARB1.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Waveform
|-
| colspan="2" | 16 Bit binary number for arbitrary waveform.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARB4DEFRet'''
|-
| colspan="2" | Returns user specified waveform name, waveform pint interpolation state and waveform length of ARB4.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




'''Return value'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CLS'''
|-
| colspan="2" | Clears status byte register of the interface.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]]


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MSTRELOCK'''
|-
| colspan="2" | Resynchronises the two generators in MASTER-SLAVE mode.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




==Simulation macro reference==
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''NOISLVL'''
|-
| colspan="2" | Sets the output noise level to <nr1> %. (Lower limit: 0% - Upper limit: 50%)&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Percent
|-
| colspan="2" | Sets the output noise level in percent. (0 - 50)&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


''This component does not contain any simulation macros''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LOCKMODE'''
|-
| colspan="2" | Sets the synchronising mode to; 0 = MASTER, 1 = SLAVE, 2 = INDEP.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Mode
|-
| colspan="2" | Sets the synchronising mode (0 = MASTER, 1 = SLAVE, 2 = INDEP).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


==Property reference==
<span style="font-weight: normal;"><u>Vendor ID</u></span>


This property is of type ''Signed integer'' and can be referenced with the variable name ''vendor_ID''.
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ADDRESSRet'''
|-
| colspan="2" | Returns the instruments address&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


USB VID


<span style="font-weight: normal;"><u>Product ID</u></span>
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPMSRC'''
|-
| colspan="2" | Sets PM waveform source to; 0 INT, 1 = EXT.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Source
|-
| colspan="2" | Sets PM waveform source (0 = INT, 1 = EXT).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


This property is of type ''Signed integer'' and can be referenced with the variable name ''product_ID''.


USB PID
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPWMSRC'''
|-
| colspan="2" | Sets PWM waveform source to; 0 = INT, 1 = EXT.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Source
|-
| colspan="2" | Sets PWM waveform source (0 = INT, 1 = EXT).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


<span style="font-weight: normal;"><u>Device Name</u></span>


This property is of type ''Line of text'' and can be referenced with the variable name ''dev_name''.
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MOD'''
|-
| colspan="2" | Sets modulation to; 0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Modulation
|-
| colspan="2" | Sets modulation (0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


USB Device Name


<span style="font-weight: normal;"><u>Manufacturer</u></span>
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ISTRet'''
|-
| colspan="2" | Returns IST local message as defined by IEEE Std. 488.2. The syntax of the response is 0<rmt>, if the local message is false, or 1<rmt>, if the local message is true.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


This property is of type ''Line of text'' and can be referenced with the variable name ''dev_manufacturer''.


USB Manufacturer
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LRNRet'''
|-
| colspan="2" | Returns the complete setup of the instrument as a binary data block&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


<span style="font-weight: normal;"><u>Major Version</u></span>


This property is of type ''Signed integer'' and can be referenced with the variable name ''major_version''.
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''OPCRet'''
|-
| colspan="2" | Query Operation Complete status. The response is always 1<rmt> and will be available immediately the command is executed because all commands are sequential.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


USB Major Version Number


<span style="font-weight: normal;"><u>Minor Version</u></span>
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWPTYPE'''
|-
| colspan="2" | Sets the sweep type to; 0 = LINUP, 1 = LINDN, 2 = LINUPDN, 3 = LINDNUP, 4 = LOGUP, 5 = LOGDN, 6 = LOGUPDN, 7 = LOGDNUP.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Type
|-
| colspan="2" | Set the sweep type (0 = LINUP, 1 = LINDN, 2 = LINUPDN, 3 = LINDNUP, 4 = LOGUP, 5 = LOGDN, 6 = LOGUPDN, 7 = LOGDNUP).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


This property is of type ''Signed integer'' and can be referenced with the variable name ''minor_version''.


USB Minor Version Number
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PULSRANGE'''
|-
| colspan="2" | Sets PWM waveform source to <1>, <2> or <3>; 1 = 1, 2 = 2, 3 = 3.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Range
|-
| colspan="2" | Sets the pulse rise and fall range. (1, 2 or 3)&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


<span style="font-weight: normal;"><u>Enumeration Timeout</u></span>


This property is of type ''True or false'' and can be referenced with the variable name ''enumeration_tout''.
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TSTRet'''
|-
| colspan="2" | The generator has no self test capability and the response is always 0 <rmt>.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


Specifies if the enumeration (Initialise function) can timeout if taking too long.


<span style="font-weight: normal;"><u>Label</u></span>
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BSTTRGPOL'''
|-
| colspan="2" | Sets the burst trigger slope to; 0 = POS, 1 = NEG.&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Slope
|-
| colspan="2" | Set the burst trigger slope (0 = POS, 1 = NEG).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


This property is of type ''Line of text'' and can be referenced with the variable name ''label''.


Text displayed on the I/O flasher comms component.
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ARB3Ret'''
|-
| colspan="2" | Returns the binary-data from an existing abbitrary wavefrom memory location.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BSTPHASE'''
|-
| colspan="2" | Sets the burst phase to <nrf> degrees. (Lower limit: -360 - Upper limit: 360)&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Degrees
|-
| colspan="2" | Sets the burst phase in degrees (-360 - 360)&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


<span style="font-weight: normal;"><u>Data Source</u></span>


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''DataSource''.
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IDNRet'''
|-
| colspan="2" | Returns the instrument identification. The IDN is saved to the variable passed from the function 'ReturnIDN'. The return parameter is TRUE when the IDN is successfully returned.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | ReturnIDN
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


Simulation data source used to allow the component to connect to specific MIDI hardware or the the data injector components.


<span style="font-weight: normal;"><u>MIDI Port</u></span>
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWPTRGPER'''
|-
| colspan="2" | Sets the sweep trigger period to <nrf> seconds&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Seconds
|-
| colspan="2" | Set the sweep trigger period in seconds.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Midi_Port''.


''<span style="color:red;">No additional information</span>''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PULSDLY'''
|-
| colspan="2" | Sets the waveform delay to <nrf> sec&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Sec
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
| colspan="2" | Opens the COM port ready for communications.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
 
 
==Property reference==
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
|-
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Vendor ID
|-
| colspan="2" | USB VID&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Product ID
|-
| colspan="2" | USB PID&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
| width="90%" | Device Name
|-
| colspan="2" | USB Device Name&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
| width="90%" | Manufacturer
|-
| colspan="2" | USB Manufacturer&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Major Version
|-
| colspan="2" | USB Major Version Number&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Minor Version
|-
| colspan="2" | USB Minor Version Number&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Enumeration Timeout
|-
| colspan="2" | Specifies if the enumeration (Initialise function) can timeout if taking too long.&nbsp;
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''  
|-
|-
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
| width="90%" | Label
|-
| colspan="2" | Text displayed on the I/O flasher comms component.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Data Source
|-
| colspan="2" | Simulation data source used to allow the component to connect to specific MIDI hardware or the the data injector components.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | MIDI Port
|-
| colspan="2" | &nbsp;
|}

Revision as of 20:59, 16 November 2021

Author Matrix Ltd.
Version 1.3
Category Comms: USB


USB MIDI component

Component to create and communicate using a standard MIDI connection. Compatible with simulation and USB enabled microcontroller devices. Currently only compatible with the 16-bit PIC range of devices.

Detailed description

No detailed description exists yet for this component

Examples

No additional examples


Downloadable macro reference

SendMIDI
Sends a MIDI packet consisting of up to three bytes of information, 
- BYTE Status
MIDI Status Byte - Used for commands such as NoteOn, NoteOff etc. 
- BYTE Data1
MIDI Data Byte - Used as a parameter specific to the specified command 
- BYTE Data2
MIDI Data Byte - Used as a parameter specific to the specified command 
- VOID Return


SendPitchChange
Sends out a pitch change command on the specified channel. 
- BYTE Channel
Channel to send the pitch change to 
- UINT Pitch_Change
New pitch value to use, Default 0x2000 
- VOID Return


SendNoteOff
Sends a note off command using the channel, note and velocity specified. 
- BYTE Channel
 
- BYTE Note
 
- BYTE Velocity
 
- VOID Return


SendControl
Sends a control command using the channel, controller and value specified. 
- BYTE Channel
 
- BYTE Controller
 
- BYTE Value
 
- VOID Return


SendNoteOn
Sends a note on command using the channel, note and velocity specified. 
- BYTE Channel
 
- BYTE Note
 
- BYTE Velocity
 
- VOID Return


ReceiveMIDI
Waits for the time specified in the timeout parameter for an incoming MIDI message. Returns 0 to indicate a timeout, otherwise returns the first value from the MIDI message. 
- BYTE Timeout
 
- BYTE Return


SendPolyPressure
Sends a note press with an associated polyphonic pressure value. 
- BYTE Channel
 
- BYTE Note
 
- BYTE Pressure
 
- VOID Return


ReadData
Reads a byte from the last received MIDI message 
- BYTE Idx
Byte to read 0-3 
- BYTE Return


SendPatch
 
- BYTE Channel
 
- BYTE Instrument
 
- VOID Return


SendChannelPressure
 
- BYTE Channel
 
- BYTE Pressure
 
- VOID Return


Initialise
Starts up the USB communications and attempts to enumerate. Returns 0 for a successful startup or 255 for a enumeration timeout. 
- BYTE Return


OUTPUT
Sets the output to; 0 = ON, 1 = OFF, 2 = NORMAL, 3 = INVERT. 
- BYTE SetOutput
Set the output. (0 = ON, 1 = OFF, 2 = NORMAL, 3 = INVERT). 
- VOID Return


MODPWMDEVWDT
Sets the PWM waveform deviation to <nrf> sec. 
[[File:]] - Sec
 
- VOID Return


SWPMODE
Sets the sweep mode to <CONT> or <TRIG>. 0 = CONT, 1 = TRIG. 
[[File:]] - Mode
Set the sweep mode (0 = CONT, 1 = TRIG). 
- VOID Return


MODFSKRATE
Sets FSK rate to <nrf> Hz. (Lower limit: 2mHz - Upper limit: 100kHz). 
[[File:]] - Rate
Sets FSK rate in Hertz(Hz) (2mHz - 100kHz). 
- VOID Return


BST
Sets the burst mode to; 0 = <OFF>, 1 = <NCYC>, 2= <GATED>, 3 = <INFINITE>. 
- BYTE MODE
Sets the burst mode (0 = OFF, 1 = NCYC, 2 = GATED, 3 = INFINITE). 
- VOID Return


SYNCTYPE
Sets the sync type to; 0 = AUTO, 1 = CARRIER, 2 = MODULATION, 3 = SWEEP, 4 = BURST, 5 = TRIGGER. 
- BYTE Type
Set the sync type (0 = AUTO, 1 = CARRIER, 2 = MODULATION, 3 = SWEEP, 4 = BURST, 5 = TRIGGER). 
- VOID Return


MODPWMSHAPE
Sets PWM waveform shape to; 0 = SINE, 1 = SQUARE, 2 = RAMPUP, 3 = RAMPDN, 4 = TRIANG, 5 = NOISE, 6 = DC, 7 = SINC, 8 = EXPRISE, 9 = LOGRISE, 10 = ARB1, 11 = ARB2, 12 = ARB3, 13= ARB4. 
- BYTE Shape
Sets PWM waveform shape (1 = SINE, 2 = SQUARE, 3 = RAMPUP, 4 = RAMPDN, 5 = TRIANG, 6 = NOISE, 7 = DC, 8 = SINC, 9 = EXPRISE, 10 = LOGRISE, 11 = ARB1, 12 = ARB2, 13 = ARB3, 14= ARB4). 
- VOID Return


LOLVL
Sets the amplitude-low-level to <nrf> Volts. (Lower limit: 5.000 V - Upper limit: -0.010 V). 
[[File:]] - LowLevel
Sets the amplitude-low-level in Volts(V) (-5.000 V - -0.010 V). 
- VOID Return


SAV
Saves the complete instrument setup to the setup-file named <nrf> 
- BYTE StoreLocation
Memory location of register (0-9) 
- VOID Return


TRG
This command is the same as pressing the TRIGGER key. 
- VOID Return


ARBDCOFFS
Sets the arbritary dc waveform offset to <nrf> volts. 
[[File:]] - OffsetVoltage
Set the offset voltage 
- VOID Return


SWPTRGPOL
Sets the sweep trigger slope to; 0 = POS, 1 = NEG. 
[[File:]] - Slope
Set the sweep trigger slope (0 = POS, 1 = NEG). 
- VOID Return


PULSRISE
Sets the pulse waveform negative edge to <nrf> micro seconds. (Lower limit: 5ns - Upper limit: 99.9ns). 
[[File:]] - Rise
Sets the pulse waveform positive edge in micro seconds (5ns - 99.9ns). 
- VOID Return


MODAMSHAPE
Sets AM waveform shape to: 0 = SINE, 1 = SQUARE, 2 = RAMPUP, 3 = RAMPDN, 4 = TRIANG, 5 = NOISE, 6 = DC, 7 = SINC, 8 = EXPRISE, 9 = LOGRISE, 10 = ARB1, 11 = ARB2, 12 = ARB3, 13= ARB4. 
- BYTE Shape
Sets AM waveform shape (1 = SINE, 2 = SQUARE, 3 = RAMPUP, 4 = RAMPDN, 5 = TRIANG, 6 = NOISE, 7 = DC, 8 = SINC, 9 = EXPRISE, 10 = LOGRISE, 11 = ARB1, 12 = ARB2, 13 = ARB3, 14= ARB4). 
- VOID Return


CLKSRC
Sets the clock source to; 0 = INT, 1 = EXT. 
[[File:]] - Source
Sets the clock source (0 = INT, 1 = EXT). 
- VOID Return


ARB1DEFRet
Returns user specified waveform name, waveform pint interpolation state and waveform length of ARB1. 
- STRING Return


BEEP
Sound one beep. 
- VOID Return


SWPCNTFREQ
Sets the sweep centre frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 50MHz). 
[[File:]] - Frequency
Sets the sweep centre frequency in Hertz(Hz) (1uHz - 50MHz). 
- VOID Return


SWP
Sets the sweep to <ON> or <OFF>. 0 = ON, 1 = OFF. 
[[File:]] - Sweep
Enable or disable the sweep (0 = ON, 1 = OFF). 
- VOID Return


BSTTRGSRC
Sets the burst trigger source to; 0 = INT, 1 = EXT, 2 = MAN. 
- BYTE Source
Set the burst trigger source (0 = INT, 1 = EXT, 2 = MAN). 
- VOID Return


MODPWMFREQ
Sets PWM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz). 
[[File:]] - Frequency
Sets PWM waveform frequency in Hertz(Hz) (1uHz - 20kHz). 
- VOID Return


ARB2Ret
Returns the binary-data from an existing abbitrary wavefrom memory location. 
- UINT Return


RST
Resets the instrument parameters to their default values. 
- VOID Return


RMPSYMM
Sets the ramp waveform symmetry to <nrf> %. (Lower limit: 0 - Upper limit: 100) 
[[File:]] - Symmetry
Sets the ramp waveform symmetry in percent (0 - 100). 
- VOID Return


BSTCOUNT
Sets the burst count to <nrf> cycles, maximum 1048575 cycles. 
[[File:]] - Count
Sets the burst count in cycles (1 - 1048575). 
- VOID Return


SWPMKR
Sets the sweep marker to <ON> or <OFF>. 0 = ON, 1 = OFF. 
[[File:]] - Marker
Enable or disable the sweep marker (0 = ON, 1 = OFF). 
- VOID Return


PULSFREQ
Sets the pulse waveform frequency to <nrf> Hz (Lower limit: 1uHz - Upper limit: 50MHz). 
[[File:]] - Frequency
Sets the pulse waveform frequency in Hertz(Hz) (1uHz - 50MHz). 
- VOID Return


MODFMDEV
Sets FM waveform deviation to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 25MHz). 
[[File:]] - Deviation
Sets FM waveform deviation in Hertz(Hz) (1uHz - 25MHz). 
- VOID Return


RCL
Recalls the instrument setup contained in store <nrf>. 
- BYTE StoreLocation
Memory location (0-9) 
- VOID Return


ESESet
Sets the standard event status enable register to the value of <nrf>. (Lower limit: 0 - Upper limit: 255) 
- BYTE Value
Enable the register to this value. (0 - 255) 
- VOID Return


LOCAL
Returns the instrument to local opertion and unlocks the keyboard. 
- VOID Return


SWPSPNFREQ
Sets the sweep frequency span to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 50.25kHz). 
[[File:]] - Frequency
Set the sweep frequency span in Hertz(Hz) (1uHz - 50.25kHz). 
- VOID Return


CALSTEP
Step to the next calibration point. 
- VOID Return


OPC
Sets the Operation Complete bit (bit 0) in the Standard Event Status Register. This will happen immediately the command is executed because of the sequential nature of all operations. 
- VOID Return


SRERet
Returns the value of the Service Request Enable Register in <nr1> numeric format. 
- BYTE Return


MODPMFREQ
Sets PM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz). 
[[File:]] - Frequency
Sets FM waveform frequency in Hertz(Hz) (1uHz - 20kHz). 
- VOID Return


ARBRESIZE
Changes the size of arbritary waveform <cpd> to <nrf>. 
[[File:]] - Size
Size of waveform 
- STRING Waveform
Arbritary Waveform 
- VOID Return


LRN
Intall data from a previous *LRN? command. 
- VOID Return


MODPMSHAPE
Sets PM waveform shape to; 0 = SINE, 1 = SQUARE, 2 = RAMPUP, 3 = RAMPDN, 4 = TRIANG, 5 = NOISE, 6 = DC, 7 = SINC, 8 = EXPRISE, 9 = LOGRISE, 10 = ARB1, 11 = ARB2, 12 = ARB3, 13= ARB4. 
- BYTE Shape
Sets PM waveform shape (1 = SINE, 2 = SQUARE, 3 = RAMPUP, 4 = RAMPDN, 5 = TRIANG, 6 = NOISE, 7 = DC, 8 = SINC, 9 = EXPRISE, 10 = LOGRISE, 11 = ARB1, 12 = ARB2, 13 = ARB3, 14= ARB4). 
- VOID Return


ARB4
Loads the binary-data to an existing arbitrary waveform memory location ARB4. 
- BYTE Waveform
 
- VOID Return


CLKSRRet
Returns the clock source <INT> or <EXT>. 
[[File:]] - Return


MODPMDEV
Sets PM waveform deviation to <nrf> degrees. (Lower limit: -360° - Upper limit: 360°). 
[[File:]] - Degrees
Sets PM waveform deviation in degrees (-360 - 360). 
- VOID Return


MSTLOCK
Sends signal to SLAVE generator to get synchronised 
- VOID Return


HILVL
Sets the amplitude-high-level to <nrf> Volts. (Lower limit: -0.490 V - Upper limit: 5.000 V). 
[[File:]] - HighLevel
Sets the amplitude-high-level in Volts(V) (-0.490 V - 5.000 V). 
- VOID Return


ARB3
Loads the binary-data to an existing arbitrary waveform memory location ARB3. 
- UINT Waveform
 
- VOID Return


WAVE
Sets the waveform type. 0 = SINE, 1 = SQUARE, 2 = RAMP, 3 = TRIANG, 4 = PULSE, 5 = NOISE, 6 = ARB 
- BYTE WaveType
0 = SINE, 1 = SQUARE, 2 = RAMP, 3 = TRIANG, 4 = PULSE, 5 = NOISE, 6 = ARB. 
- VOID Return


CALADJ
Adjust the selected calibration value by <nrf> (Lower limit: -100 - Upper limit: 100). 
[[File:]] - Calibrate
Adjust the selected calibration value (-100 - 100). 
- VOID Return


STBRet
Returns the value of the Status Byte Register in <nr1> numeric format. 
- BYTE Return


ARB2
Loads the binary-data to an existing arbitrary waveform memory location ARB2. 
- UINT Waveform
 
- VOID Return


EERRet
Query and clear execution error number register. 
- STRING Return


MODFMSRC
Sets FM waveform source to; 0 INT, 1 = EXT. 
[[File:]] - Source
Sets FM waveform source (0 = INT, 1 = EXT). 
- VOID Return


MODAMFREQ
Sets AM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz). 
[[File:]] - Frequency
Sets AM waveform frequency in Hertz(Hz) (1uHz - 20kHz). 
- VOID Return


ESE
Sets the Standard Event Status Enable Register to the value of <nrf>. 
- BYTE Value
Value of register 0-255 
- VOID Return


ARB1
Loads the binary-data to an existing arbitrary waveform memory location ARB1. 
- UINT Waveform
16 Bit binary number for arbitrary waveform. 
- VOID Return


ARB4DEFRet
Returns user specified waveform name, waveform pint interpolation state and waveform length of ARB4. 
- STRING Return


CLS
Clears status byte register of the interface. 
- VOID Return


MSTRELOCK
Resynchronises the two generators in MASTER-SLAVE mode. 
- VOID Return


NOISLVL
Sets the output noise level to <nr1> %. (Lower limit: 0% - Upper limit: 50%) 
- BYTE Percent
Sets the output noise level in percent. (0 - 50) 
- VOID Return


LOCKMODE
Sets the synchronising mode to; 0 = MASTER, 1 = SLAVE, 2 = INDEP. 
- BYTE Mode
Sets the synchronising mode (0 = MASTER, 1 = SLAVE, 2 = INDEP). 
- VOID Return


ADDRESSRet
Returns the instruments address 
[[File:]] - Return


MODPMSRC
Sets PM waveform source to; 0 INT, 1 = EXT. 
[[File:]] - Source
Sets PM waveform source (0 = INT, 1 = EXT). 
- VOID Return


MODPWMSRC
Sets PWM waveform source to; 0 = INT, 1 = EXT. 
[[File:]] - Source
Sets PWM waveform source (0 = INT, 1 = EXT). 
- VOID Return


MOD
Sets modulation to; 0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM. 
- BYTE Modulation
Sets modulation (0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM). 
- VOID Return


ISTRet
Returns IST local message as defined by IEEE Std. 488.2. The syntax of the response is 0<rmt>, if the local message is false, or 1<rmt>, if the local message is true. 
[[File:]] - Return


LRNRet
Returns the complete setup of the instrument as a binary data block 
[[File:]] - Return


OPCRet
Query Operation Complete status. The response is always 1<rmt> and will be available immediately the command is executed because all commands are sequential. 
[[File:]] - Return


SWPTYPE
Sets the sweep type to; 0 = LINUP, 1 = LINDN, 2 = LINUPDN, 3 = LINDNUP, 4 = LOGUP, 5 = LOGDN, 6 = LOGUPDN, 7 = LOGDNUP. 
- BYTE Type
Set the sweep type (0 = LINUP, 1 = LINDN, 2 = LINUPDN, 3 = LINDNUP, 4 = LOGUP, 5 = LOGDN, 6 = LOGUPDN, 7 = LOGDNUP). 
- VOID Return


PULSRANGE
Sets PWM waveform source to <1>, <2> or <3>; 1 = 1, 2 = 2, 3 = 3. 
- BYTE Range
Sets the pulse rise and fall range. (1, 2 or 3) 
- VOID Return


TSTRet
The generator has no self test capability and the response is always 0 <rmt>. 
[[File:]] - Return


BSTTRGPOL
Sets the burst trigger slope to; 0 = POS, 1 = NEG. 
[[File:]] - Slope
Set the burst trigger slope (0 = POS, 1 = NEG). 
- VOID Return


ARB3Ret
Returns the binary-data from an existing abbitrary wavefrom memory location. 
- UINT Return


BSTPHASE
Sets the burst phase to <nrf> degrees. (Lower limit: -360 - Upper limit: 360) 
[[File:]] - Degrees
Sets the burst phase in degrees (-360 - 360) 
- VOID Return


IDNRet
Returns the instrument identification. The IDN is saved to the variable passed from the function 'ReturnIDN'. The return parameter is TRUE when the IDN is successfully returned. 
- STRING ReturnIDN
 
- STRING Return


SWPTRGPER
Sets the sweep trigger period to <nrf> seconds 
[[File:]] - Seconds
Set the sweep trigger period in seconds. 
- VOID Return


PULSDLY
Sets the waveform delay to <nrf> sec 
[[File:]] - Sec
 
- VOID Return


Initialise
Opens the COM port ready for communications. 
- VOID Return



Property reference

Properties
Vendor ID
USB VID 
Product ID
USB PID 
Device Name
USB Device Name 
Manufacturer
USB Manufacturer 
Major Version
USB Major Version Number 
Minor Version
USB Minor Version Number 
Enumeration Timeout
Specifies if the enumeration (Initialise function) can timeout if taking too long. 
Connections
Simulations
Label
Text displayed on the I/O flasher comms component. 
Data Source
Simulation data source used to allow the component to connect to specific MIDI hardware or the the data injector components. 
MIDI Port