|  |  | 
| Line 22: | Line 22: | 
|  |  |  |  | 
|  | ==Detailed description== |  | ==Detailed description== | 
|  | + |  | 
|  | + |  | 
|  |  |  |  | 
|  |  |  |  | 
| Line 48: | Line 50: | 
|  |  |  |  | 
|  | ==Examples== |  | ==Examples== | 
|  | + |  | 
|  | + |  | 
|  |  |  |  | 
|  |  |  |  | 
| Line 135: | Line 139: | 
|  | [[File:HID Descriptor Tool.zip]] |  | [[File:HID Descriptor Tool.zip]] | 
|  |  |  |  | 
| − | ==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;" | '''ReceiveByte'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Receives a byte from the USB. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | Idx
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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''
 |  | 
| − | |}
 |  | 
|  |  |  |  | 
| − |   | + | ==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;" | '''SetSerialNumber'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Allows the device serial number to be edited. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 |  | 
| − | | width="90%" | SerialNumber
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''SendData'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Sends the contents of the transmit buffer to the USB. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''CheckRx'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Checks for any incoming data. Returns the number of data bytes received since the last check. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''UpdateData'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Allows a byte of the transmit buffer to be assigned. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | idx
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | value
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''ReceiveString'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Receives a string of bytes from the USB 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | NumBytes
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''SendDataDirect'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Sends data directly to the USB 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 |  | 
| − | | width="90%" | Data
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''Initialise'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Starts up the USB connection and waits for the device driver to be correctly installed on the PC.  
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | 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==
 |  | 
| − |   |  | 
| − | {| 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" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 |  | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | USB Properties
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 |  | 
| − | | width="90%" | Vendor ID
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | USB vendor identifier tied to the manufacturer of the USB device 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 |  | 
| − | | width="90%" | Product ID
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | USB product identifier 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 |  | 
| − | | width="90%" | Device Name
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Name used to identify the device 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 |  | 
| − | | width="90%" | Manufacturer
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Manufacturer of the device 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Major Version
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Firmware major version 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Minor Version
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Device firmware minor version  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 |  | 
| − | | width="90%" | Enumeration Timeout
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Specifies if the initialise routine is allowed to timeout instead of waiting forever for success 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Maximum Current (mA)
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Maximum current the host should source to the device - max 500mA 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Country Code
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Specific country code - if required 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Descriptor Select
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Built in descriptor selection  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-11-icon.png]]
 |  | 
| − | | width="90%" | HID Descriptor
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Contents of the HID descriptor 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Subclass
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | USB Subclass - Normally only mice and keyboards are boot devices 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Interface
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Standard HID interface type 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Transmit Packet Size
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Number of bytes to send to the PC  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Transmit Period (ms)
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Delay between transmit packets 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Receive Packet Size
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Number of bytes to receive from the PC 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Receive Period (ms)
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Delay between receive packets 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 |  | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 |  | 
| − | | width="90%" | Label
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Simulation label used to indicate the USB HID component on the panel. 
 |  | 
| − | |}==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;" | '''ReceiveByte'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Receives a byte from the USB. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | Idx
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''SetSerialNumber'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Allows the device serial number to be edited. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 |  | 
| − | | width="90%" | SerialNumber
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''SendData'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Sends the contents of the transmit buffer to the USB. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''CheckRx'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Checks for any incoming data. Returns the number of data bytes received since the last check. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''UpdateData'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Allows a byte of the transmit buffer to be assigned. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | idx
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | value
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''ReceiveString'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Receives a string of bytes from the USB 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | NumBytes
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''SendDataDirect'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Sends data directly to the USB 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 |  | 
| − | | width="90%" | Data
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''Initialise'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Starts up the USB connection and waits for the device driver to be correctly installed on the PC.  
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | 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==
 |  | 
| − |   |  | 
| − | {| 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" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 |  | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | USB Properties
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 |  | 
| − | | width="90%" | Vendor ID
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | USB vendor identifier tied to the manufacturer of the USB device 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 |  | 
| − | | width="90%" | Product ID
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | USB product identifier 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 |  | 
| − | | width="90%" | Device Name
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Name used to identify the device 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 |  | 
| − | | width="90%" | Manufacturer
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Manufacturer of the device 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Major Version
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Firmware major version 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Minor Version
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Device firmware minor version  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 |  | 
| − | | width="90%" | Enumeration Timeout
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Specifies if the initialise routine is allowed to timeout instead of waiting forever for success 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Maximum Current (mA)
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Maximum current the host should source to the device - max 500mA 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Country Code
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Specific country code - if required 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Descriptor Select
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Built in descriptor selection  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-11-icon.png]]
 |  | 
| − | | width="90%" | HID Descriptor
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Contents of the HID descriptor 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Subclass
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | USB Subclass - Normally only mice and keyboards are boot devices 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Interface
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Standard HID interface type 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Transmit Packet Size
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Number of bytes to send to the PC  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Transmit Period (ms)
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Delay between transmit packets 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Receive Packet Size
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Number of bytes to receive from the PC 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Receive Period (ms)
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Delay between receive packets 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 |  | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 |  | 
| − | | width="90%" | Label
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Simulation label used to indicate the USB HID component on the panel. 
 |  | 
| − | |}==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;" | '''ReceiveByte'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Receives a byte from the USB. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | Idx
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''SetSerialNumber'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Allows the device serial number to be edited. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 |  | 
| − | | width="90%" | SerialNumber
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''SendData'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Sends the contents of the transmit buffer to the USB. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''CheckRx'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Checks for any incoming data. Returns the number of data bytes received since the last check. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''UpdateData'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Allows a byte of the transmit buffer to be assigned. 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | idx
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | value
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''ReceiveString'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Receives a string of bytes from the USB 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 |  | 
| − | | width="90%" | NumBytes
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''SendDataDirect'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Sends data directly to the USB 
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 |  | 
| − | | width="90%" | Data
 |  | 
| − | |-
 |  | 
| − | | colspan="2" |  
 |  | 
| − | |-
 |  | 
| − | | 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;" | '''Initialise'''
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Starts up the USB connection and waits for the device driver to be correctly installed on the PC.  
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | 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==
 |  | 
| − |   |  | 
| − | {| 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" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 |  | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | USB Properties
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 |  | 
| − | | width="90%" | Vendor ID
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | USB vendor identifier tied to the manufacturer of the USB device 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 |  | 
| − | | width="90%" | Product ID
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | USB product identifier 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 |  | 
| − | | width="90%" | Device Name
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Name used to identify the device 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 |  | 
| − | | width="90%" | Manufacturer
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Manufacturer of the device 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Major Version
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Firmware major version 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Minor Version
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Device firmware minor version  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 |  | 
| − | | width="90%" | Enumeration Timeout
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Specifies if the initialise routine is allowed to timeout instead of waiting forever for success 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Maximum Current (mA)
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Maximum current the host should source to the device - max 500mA 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Country Code
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Specific country code - if required 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Descriptor Select
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Built in descriptor selection  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-11-icon.png]]
 |  | 
| − | | width="90%" | HID Descriptor
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Contents of the HID descriptor 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Subclass
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | USB Subclass - Normally only mice and keyboards are boot devices 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 |  | 
| − | | width="90%" | Interface
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Standard HID interface type 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Transmit Packet Size
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Number of bytes to send to the PC  
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Transmit Period (ms)
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Delay between transmit packets 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Receive Packet Size
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Number of bytes to receive from the PC 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 |  | 
| − | | width="90%" | Receive Period (ms)
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Delay between receive packets 
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 |  | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 |  | 
| − | |-
 |  | 
| − | |-
 |  | 
| − | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 |  | 
| − | | width="90%" | Label
 |  | 
| − | |-
 |  | 
| − | | colspan="2" | Simulation label used to indicate the USB HID component on the panel. 
 |  | 
| − | |}==Macro reference==
 |  | 
|  |  |  |  | 
|  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |