Difference between revisions of "Component: USB Serial (Comms: USB)"

From Flowcode Help
Jump to navigationJump to search
 
(9 intermediate revisions by 2 users not shown)
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.6 (Development)
+
| 1.6
 
|-
 
|-
| width="20%" style="color: gray;" | Category
+
| width="20%" style="color:gray;" | Category
 
| Comms: USB
 
| Comms: USB
 
|}
 
|}
  
  
 +
==USB Serial component==
 +
Component to create and communicate using a standard CDC type COM port. Compatible with simulation and USB enabled microcontroller devices PIC/dsPIC/AVR.
  
==[[File:Component Icon 3e28ac22_2855_410a_9660_0b0a4731e545.png|Image]] USB Serial component==
+
==Component Pack==
Component to create and communicate using a standard CDC type COM port.
 
Compatible with simulation and USB enabled microcontroller devices PIC/dsPIC/AVR.
 
  
==Examples==
+
COMMSC
The PIC based ECIOs or MIAC are good targets for USB as they do not have any additional configuration setting that need to be setup to allow the firmware to run correctly. For other targets you will have to setup the configuration correctly for your hardware to allow the USB to run correctly.
 
  
 +
==Detailed description==
  
Here is an example file which waits for incoming data and then when valid data is received it displays this as a binary value onto the PortB pins before echoing back the data.
 
{{Fcfile|USB_Serial.fcfx|USB Serial Simple Receive}}
 
The example requires a device driver to function correctly. The driver can be generated by selecting the USB Serial component on the System panel, Looking down the list of properties in the properties window, selecting the Generate Driver property and switching the setting to Yes. This will place the driver file into the same directory as the Flowcode fcfx project file is located.
 
  
  
Here is a signed version of the USB Serial device driver using the default VID/PID properties.
 
  
[[File:USBSerial_Driver.zip|USB Serial Driver]]
 
  
  
Here is an example file which is designed to run in simulation to communicate with the connected embedded device. The COM port property will have to match the COM port for the embedded device to allow the communications to work correctly. Alternatively a program like Hyperterminal or RealTerm can be used to generate the COM port data to send to the connected device.
 
{{Fcfile|USB_Serial_Sim.fcfx|USB Serial Simulation}}
 
Finding which COM port has been allocated to your embedded device is as easy as opening the Windows device manager and looking under Ports.
 
  
[[File:DeviceManager.jpg]]
 
  
  
Assigning the correct COM port in the simulation needs to be done to allow the communications to work correctly.
 
  
[[File:SerialProps.jpg]]
 
  
  
Example of the data console with data being passed back and forth between the simulation and the embedded device.
 
  
[[File:SerialComms.jpg]]
+
''No detailed description exists yet for this component''
  
 +
==Examples==
  
  
==Downloadable macro reference==
 
  
===<span style="font-weight: normal;"><u><tt>SendString</tt></u></span>===
 
Sends the specified data string to the host
 
  
'''Parameters'''
 
  
:[[Variable Types|<- STRING]] ''Data''
 
::Data string to send to the host
 
::''This parameter may be returned back to the caller''
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>ReadString</tt></u></span>===
 
Retreives a string from the incoming data buffer. If data is available then the macro will return straight away. If there is no data available then the macro waits up the the period specified by the timeout before returning the value 255.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Timeout_ms''
 
::Length of time to wait before timing out
 
  
:[[Variable Types|BYTE]] ''Length''
 
::Maximum number of bytes to try and read
 
  
 +
The PIC based ECIOs or MIAC are good targets for USB as they do not have any additional configuration setting that need to be setup to allow the firmware to run correctly. For other targets you will have to setup the configuration correctly for your hardware to allow the USB to run correctly.
  
'''Return value'''
 
  
:[[Variable Types|STRING]]
+
Here is an example file which waits for incoming data and then when valid data is received it displays this as a binary value onto the PortB pins before echoing back the data.
 +
{{Fcfile|USB_Serial.fcfx|USB Serial Simple Receive}}
 +
The example requires a device driver to function correctly. The driver can be generated by selecting the USB Serial component on the System panel, Looking down the list of properties in the properties window, selecting the Generate Driver property and switching the setting to Yes. This will place the driver file into the same directory as the Flowcode fcfx project file is located.
  
  
===<span style="font-weight: normal;"><u><tt>SendByte</tt></u></span>===
+
Here is a signed version of the USB Serial device driver using the default VID/PID properties.
Sends the specified data byte to the host
 
  
'''Parameters'''
+
{{Zip|USBSerial_Driver.zip|USB Serial Driver}}
  
:[[Variable Types|BYTE]] ''data''
 
::Data byte to send to the host
 
  
 +
Here is an example file which is designed to run in simulation to communicate with the connected embedded device. The COM port property will have to match the COM port for the embedded device to allow the communications to work correctly. Alternatively a program like Hyperterminal or RealTerm can be used to generate the COM port data to send to the connected device.
 +
{{Fcfile|USB_Serial_Sim.fcfx|USB Serial Simulation}}
 +
Finding which COM port has been allocated to your embedded device is as easy as opening the Windows device manager and looking under Ports.
  
'''Return value'''
+
[[File:DeviceManager.jpg]]
  
:[[Variable Types|BYTE]]
 
  
 +
Assigning the correct COM port in the simulation needs to be done to allow the communications to work correctly.
  
===<span style="font-weight: normal;"><u><tt>ReadByte</tt></u></span>===
+
[[File:SerialProps.jpg]]
Retreives the byte from the incoming data buffer. If data is available then the macro will return straight away. If there is no data available then the macro waits up the the period specified by the timeout before returning the value 255.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Timeout_ms''
+
Example of the data console with data being passed back and forth between the simulation and the embedded device.
::Number of milliseconds to wait before timing out
 
  
 +
[[File:SerialComms.jpg]]
  
'''Return value'''
+
==Downloadable macro reference==
  
:[[Variable Types|UINT]]
+
{| 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;" | '''SendString'''
 +
|-
 +
| colspan="2" | Sends the specified data string to the host&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | Data string to send to the host&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''
 +
|}
  
  
===<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;" | '''SendNumber'''
 +
|-
 +
| colspan="2" | Sends the specified numeric value as an ASCII string to the host.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | Number
 +
|-
 +
| colspan="2" | Range -32768 to 32767&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''
 +
|}
  
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;" | '''ReadString'''
 +
|-
 +
| colspan="2" | Retreives a string from the incoming data buffer. If data is available then the macro will return straight away. If there is no data available then the macro waits up the the period specified by the timeout before returning the value 255.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Timeout_ms
 +
|-
 +
| colspan="2" | Length of time to wait before timing out&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Length
 +
|-
 +
| colspan="2" | Maximum number of bytes to try and read&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''
 +
|}
  
:''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;" | '''SendByte'''
 +
|-
 +
| colspan="2" | Sends the specified data byte to the host&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | data
 +
|-
 +
| colspan="2" | Data byte to send to the host&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''
 +
|}
  
'''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;" | '''SendByteArray'''
 +
|-
 +
| colspan="2" | Sends the specified data array to the host&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | Data array to send to the host&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | NumBytes
 +
|-
 +
| colspan="2" | Max bytes is set by the Transmit Buffer Size property&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;" | '''ReadByte'''
 +
|-
 +
| colspan="2" | Retreives the byte from the incoming data buffer. If data is available then the macro will return straight away. If there is no data available then the macro waits up the the period specified by the timeout before returning the value 255.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Timeout_ms
 +
|-
 +
| colspan="2" | Number of milliseconds to wait before timing out&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''
 +
|}
  
==Simulation macro reference==
 
  
''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;" | '''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''
 +
|}
  
  
==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''.
 
  
USB VID
+
==Property reference==
  
<span style="font-weight: normal;"><u>Product ID</u></span>
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''product_ID''.
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
USB PID
+
|-
 
+
|-
<span style="font-weight: normal;"><u>Device Name</u></span>
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | USB Properties
This property is of type ''Line of text'' and can be referenced with the variable name ''dev_name''.
+
|-
 
+
|-
USB Device Name
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
+
| width="90%" | Vendor ID
<span style="font-weight: normal;"><u>Manufacturer</u></span>
+
|-
 
+
| colspan="2" | USB VID&nbsp;
This property is of type ''Line of text'' and can be referenced with the variable name ''dev_manufacturer''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
USB Manufacturer
+
| width="90%" | Product ID
 
+
|-
<span style="font-weight: normal;"><u>Major Version</u></span>
+
| colspan="2" | USB PID&nbsp;
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''major_version''.
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 
+
| width="90%" | Device Name
USB Major Version Number
+
|-
 
+
| colspan="2" | USB Device Name&nbsp;
<span style="font-weight: normal;"><u>Minor Version</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
This property is of type ''Signed integer'' and can be referenced with the variable name ''minor_version''.
+
| width="90%" | Manufacturer
 
+
|-
USB Minor Version Number
+
| colspan="2" | USB Manufacturer&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Return Type</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Major Version
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''RETURN''.
+
|-
 
+
| colspan="2" | USB Major Version Number&nbsp;
Specifies the way the receive function indicates a timeout.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
8 Bit mode - Timeout is represented by the value 255.
+
| width="90%" | Minor Version
 
+
|-
16 Bit mode - Timeout is represented by the value 512 allowing the value 255 to represent valid data
+
| colspan="2" | USB Minor Version Number&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Enumeration Timeout</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Return Type
This property is of type ''True or false'' and can be referenced with the variable name ''enumeration_tout''.
+
|-
 
+
| colspan="2" | Specifies the way the receive function indicates a timeout. 8 Bit mode - Timeout is represented by the value 255. 16 Bit mode - Timeout is represented by the value 512 allowing the value 255 to represent valid data&nbsp;
Specifies if the enumeration (Initialise function) can timeout if taking too long.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
<span style="font-weight: normal;"><u>Transmit Buffer Size</u></span>
+
| width="90%" | Enumeration Timeout
 
+
|-
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''TXBUFSZ''.
+
| colspan="2" | Specifies if the enumeration (Initialise function) can timeout if taking too long.&nbsp;
 
+
|-
Sets the size of the transmit buffer.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | RAM Usage
Recommended to be between 8 and 64 bytes.
+
|-
 
+
|-
<span style="font-weight: normal;"><u>Receive Buffer Size</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
+
| width="90%" | Transmit Buffer Size
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''RXBUFSZ''.
+
|-
 
+
| colspan="2" | Sets the size of the transmit buffer. Recommended to be between 8 and 64 bytes.&nbsp;
Sets the size of the receive buffer.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
Recommended to be between 8 and 64 bytes.
+
| width="90%" | Receive Buffer Size
 
+
|-
<span style="font-weight: normal;"><u>Driver Directory</u></span>
+
| colspan="2" | Sets the size of the receive buffer. Recommended to be between 8 and 64 bytes.&nbsp;
 
+
|-
This property is of type ''Directory'' and can be referenced with the variable name ''driver_directory''.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | USB Driver
Directory to save the generated device driver .inf file
+
|-
 
+
|-
<span style="font-weight: normal;"><u>Driver Filename</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-20-icon.png]]
 
+
| width="90%" | Driver Directory
This property is of type ''Line of text'' and can be referenced with the variable name ''driver_filename''.
+
|-
 
+
| colspan="2" | Directory to save the generated device driver .inf file&nbsp;
Filename to give to the generated driver file.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
<span style="font-weight: normal;"><u>Generate Driver</u></span>
+
| width="90%" | Driver Filename
 
+
|-
This property is of type ''True or false'' and can be referenced with the variable name ''gen_driver''.
+
| colspan="2" | Filename to give to the generated driver file.&nbsp;
 
+
|-
Generates a driver file when set to Yes, Automatically jumps back to No when complete.
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
+
| width="90%" | Generate Driver
<span style="font-weight: normal;"><u>COM Port</u></span>
+
|-
 
+
| colspan="2" | Generates a driver file when set to Yes, Automatically jumps back to No when complete.&nbsp;
This property is of type ''Fixed list of text'' and can be referenced with the variable name ''COM_port''.
+
|-
 
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
Hardware COM port to communicate with any connected USB serial devices or any other virtual COM ports.
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 
+
|-
<span style="font-weight: normal;"><u>Label</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-12-icon.png]]
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.
+
| width="90%" | COM Port
 
+
|-
Text displayed on the I/O flasher comms component.
+
| colspan="2" | Hardware COM port to communicate with any connected USB serial devices or any other virtual COM ports.&nbsp;
 +
|-
 +
| 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;
 +
|}

Latest revision as of 17:24, 9 November 2022

Author Matrix Ltd.
Version 1.6
Category Comms: USB


USB Serial component

Component to create and communicate using a standard CDC type COM port. Compatible with simulation and USB enabled microcontroller devices PIC/dsPIC/AVR.

Component Pack

COMMSC

Detailed description

No detailed description exists yet for this component

Examples

The PIC based ECIOs or MIAC are good targets for USB as they do not have any additional configuration setting that need to be setup to allow the firmware to run correctly. For other targets you will have to setup the configuration correctly for your hardware to allow the USB to run correctly.


Here is an example file which waits for incoming data and then when valid data is received it displays this as a binary value onto the PortB pins before echoing back the data. FC6 Icon.png USB Serial Simple Receive The example requires a device driver to function correctly. The driver can be generated by selecting the USB Serial component on the System panel, Looking down the list of properties in the properties window, selecting the Generate Driver property and switching the setting to Yes. This will place the driver file into the same directory as the Flowcode fcfx project file is located.


Here is a signed version of the USB Serial device driver using the default VID/PID properties.

ZIP Icon.png USB Serial Driver


Here is an example file which is designed to run in simulation to communicate with the connected embedded device. The COM port property will have to match the COM port for the embedded device to allow the communications to work correctly. Alternatively a program like Hyperterminal or RealTerm can be used to generate the COM port data to send to the connected device. FC6 Icon.png USB Serial Simulation Finding which COM port has been allocated to your embedded device is as easy as opening the Windows device manager and looking under Ports.

DeviceManager.jpg


Assigning the correct COM port in the simulation needs to be done to allow the communications to work correctly.

SerialProps.jpg


Example of the data console with data being passed back and forth between the simulation and the embedded device.

SerialComms.jpg

Downloadable macro reference

Fc9-comp-macro.png SendString
Sends the specified data string to the host 
Fc9-string-icon.png - STRING Data
Data string to send to the host 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SendNumber
Sends the specified numeric value as an ASCII string to the host. 
Fc9-s16-icon.png - INT Number
Range -32768 to 32767 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png ReadString
Retreives a string from the incoming data buffer. If data is available then the macro will return straight away. If there is no data available then the macro waits up the the period specified by the timeout before returning the value 255. 
Fc9-u8-icon.png - BYTE Timeout_ms
Length of time to wait before timing out 
Fc9-u8-icon.png - BYTE Length
Maximum number of bytes to try and read 
Fc9-string-icon.png - STRING Return


Fc9-comp-macro.png SendByte
Sends the specified data byte to the host 
Fc9-u8-icon.png - BYTE data
Data byte to send to the host 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SendByteArray
Sends the specified data array to the host 
Fc9-u8-icon.png - BYTE Data
Data array to send to the host 
Fc9-u8-icon.png - BYTE NumBytes
Max bytes is set by the Transmit Buffer Size property 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png ReadByte
Retreives the byte from the incoming data buffer. If data is available then the macro will return straight away. If there is no data available then the macro waits up the the period specified by the timeout before returning the value 255. 
Fc9-u8-icon.png - BYTE Timeout_ms
Number of milliseconds to wait before timing out 
Fc9-u16-icon.png - UINT Return


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



Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png USB Properties
Fc9-type-21-icon.png Vendor ID
USB VID 
Fc9-type-21-icon.png Product ID
USB PID 
Fc9-type-10-icon.png Device Name
USB Device Name 
Fc9-type-10-icon.png Manufacturer
USB Manufacturer 
Fc9-type-14-icon.png Major Version
USB Major Version Number 
Fc9-type-14-icon.png Minor Version
USB Minor Version Number 
Fc9-type-16-icon.png Return Type
Specifies the way the receive function indicates a timeout. 8 Bit mode - Timeout is represented by the value 255. 16 Bit mode - Timeout is represented by the value 512 allowing the value 255 to represent valid data 
Fc9-type-7-icon.png Enumeration Timeout
Specifies if the enumeration (Initialise function) can timeout if taking too long. 
Fc9-conn-icon.png RAM Usage
Fc9-type-21-icon.png Transmit Buffer Size
Sets the size of the transmit buffer. Recommended to be between 8 and 64 bytes. 
Fc9-type-21-icon.png Receive Buffer Size
Sets the size of the receive buffer. Recommended to be between 8 and 64 bytes. 
Fc9-conn-icon.png USB Driver
Fc9-type-20-icon.png Driver Directory
Directory to save the generated device driver .inf file 
Fc9-type-10-icon.png Driver Filename
Filename to give to the generated driver file. 
Fc9-type-7-icon.png Generate Driver
Generates a driver file when set to Yes, Automatically jumps back to No when complete. 
Fc9-conn-icon.png Simulation
Fc9-type-12-icon.png COM Port
Hardware COM port to communicate with any connected USB serial devices or any other virtual COM ports. 
Fc9-type-10-icon.png Label
Text displayed on the I/O flasher comms component.