Jump to content

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

From Flowcode Help
No edit summary
No edit summary
Line 16: Line 16:


==Detailed description==
==Detailed description==




Line 22: Line 24:


==Examples==
==Examples==





Revision as of 10:40, 17 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