Jump to content

Component: MULTIUART (SPI2UART) (Comms: Interface): Difference between revisions

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


==Component Source Code==
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_MULTIUART.fcfx FC_Comp_Source_MULTIUART.fcfx]


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_MULTIUART.fcfx FC_Comp_Source_MULTIUART.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_MULTIUART.fcfx FC_Comp_Source_MULTIUART.fcfx]


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




Line 40: Line 44:


==Examples==
==Examples==




Line 64: Line 70:


==Macro reference==
==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" | Returns the first received byte held in queue for the selected channel. Recommended to use the CheckRx macro first to collect number of bytes. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | UART
|-
| colspan="2" | UART Index Range: 0-3 
|-
| 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;" | '''TransmitString'''
|-
| colspan="2" | Adds a byte to the transmit queue for the selected channel. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | UART
|-
| colspan="2" | UART Index Range: 0-3 
|-
| 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-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;" | '''SetBaud'''
|-
| colspan="2" | Adds a byte to the transmit queue for the selected channel. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | UART
|-
| colspan="2" | UART Index Range: 0-3 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Baud
|-
| colspan="2" | 0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=115200 
|-
| 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;" | '''TransmitByte'''
|-
| colspan="2" | Adds a byte to the transmit queue for the selected channel. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | UART
|-
| colspan="2" | UART Index Range: 0-3 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Data
|-
| 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;" | '''CheckRx'''
|-
| colspan="2" | Returns the number of received bytes held in queue for the selected channel. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | UART
|-
| colspan="2" | UART Index Range: 0-3 
|-
| 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;" | '''CheckTx'''
|-
| colspan="2" | Returns the number of bytes held in the transmit queue for the selected channel. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | UART
|-
| colspan="2" | UART Index Range: 0-3 
|-
| 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;" | '''ReceiveString'''
|-
| colspan="2" | Returns a string of received bytes held in queue for the selected channel. Recommended to use the CheckRx macro first to collect number of bytes. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | UART
|-
| colspan="2" | UART Index Range: 0-3 
|-
| 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;" | '''Initialise'''
|-
| colspan="2" | Activates the SPI peripheral and claims control over the I/O pins. 
|-
|-
| 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" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Bus Settings
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Channel
|-
| colspan="2" | SPI Channel selector 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Prescale
|-
| colspan="2" | Prescale option selector 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
|-
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | MOSI
|-
| colspan="2" | SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | MOSI Remap Pin
|-
| colspan="2" | Select which the target pin to assign the MOSI hardware pin functionality. 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | MISO
|-
| colspan="2" | SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | MISO Remap Pin
|-
| colspan="2" | Select which the target pin to assign the MISO hardware pin functionality. 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | CLK
|-
| colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master. 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | CLK Remap Pin
|-
| colspan="2" | Select which the target pin to assign the CLK hardware pin functionality. 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | CS / SS
|-
| colspan="2" | Chip Select / Slave Select Pin  Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device.  
|-
| 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" | Label used to identify the component on the panel. 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Scope Traces
|-
| colspan="2" | Selects if the scope traces are automatically generated or not 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Console Data
|-
| colspan="2" | Selects if the console data is automatically generated or not 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | API
|-
| colspan="2" |  
|}==Macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"

Revision as of 15:23, 20 January 2023

Author Matrix TSL
Version 2.0
Category Comms: Interface


MULTIUART component

Uses a high speed SPI connection to enable up to four buffered external UARTs via the MULTIUART modules.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_MULTIUART.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_MULTIUART.fcfx

Detailed description

No detailed description exists yet for this component

Examples

Simple test program


Macro reference

ReceiveByte
Returns the first received byte held in queue for the selected channel. Recommended to use the CheckRx macro first to collect number of bytes. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Return


TransmitString
Adds a byte to the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- STRING Data
 
- VOID Return


SetBaud
Adds a byte to the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Baud
0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=115200 
- VOID Return


TransmitByte
Adds a byte to the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Data
 
- VOID Return


CheckRx
Returns the number of received bytes held in queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Return


CheckTx
Returns the number of bytes held in the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Return


ReceiveString
Returns a string of received bytes held in queue for the selected channel. Recommended to use the CheckRx macro first to collect number of bytes. 
- BYTE UART
UART Index Range: 0-3 
- BYTE NumBytes
 
- STRING Return


Initialise
Activates the SPI peripheral and claims control over the I/O pins. 
- VOID Return



Property reference

Properties
Bus Settings
Channel
SPI Channel selector 
Prescale
Prescale option selector 
Connections
MOSI
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. 
MOSI Remap Pin
Select which the target pin to assign the MOSI hardware pin functionality. 
MISO
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. 
MISO Remap Pin
Select which the target pin to assign the MISO hardware pin functionality. 
CLK
SPI Clock Pin CLK - The Clock signal is driven by the SPI master. 
CLK Remap Pin
Select which the target pin to assign the CLK hardware pin functionality. 
CS / SS
Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device.  
Simulation
Label
Label used to identify the component on the panel. 
Scope Traces
Selects if the scope traces are automatically generated or not 
Console Data
Selects if the console data is automatically generated or not 
API
 

==Macro reference==

ReceiveByte
Returns the first received byte held in queue for the selected channel. Recommended to use the CheckRx macro first to collect number of bytes. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Return


TransmitString
Adds a byte to the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- STRING Data
 
- VOID Return


SetBaud
Adds a byte to the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Baud
0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=115200 
- VOID Return


TransmitByte
Adds a byte to the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Data
 
- VOID Return


CheckRx
Returns the number of received bytes held in queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Return


CheckTx
Returns the number of bytes held in the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Return


ReceiveString
Returns a string of received bytes held in queue for the selected channel. Recommended to use the CheckRx macro first to collect number of bytes. 
- BYTE UART
UART Index Range: 0-3 
- BYTE NumBytes
 
- STRING Return


Initialise
Activates the SPI peripheral and claims control over the I/O pins. 
- VOID Return



Property reference

Properties
Bus Settings
Channel
SPI Channel selector 
Prescale
Prescale option selector 
Connections
MOSI
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. 
MOSI Remap Pin
Select which the target pin to assign the MOSI hardware pin functionality. 
MISO
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. 
MISO Remap Pin
Select which the target pin to assign the MISO hardware pin functionality. 
CLK
SPI Clock Pin CLK - The Clock signal is driven by the SPI master. 
CLK Remap Pin
Select which the target pin to assign the CLK hardware pin functionality. 
CS / SS
Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device.  
Simulation
Label
Label used to identify the component on the panel. 
Scope Traces
Selects if the scope traces are automatically generated or not 
Console Data
Selects if the console data is automatically generated or not 
API
 

==Macro reference==

ReceiveByte
Returns the first received byte held in queue for the selected channel. Recommended to use the CheckRx macro first to collect number of bytes. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Return


TransmitString
Adds a byte to the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- STRING Data
 
- VOID Return


SetBaud
Adds a byte to the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Baud
0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=115200 
- VOID Return


TransmitByte
Adds a byte to the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Data
 
- VOID Return


CheckRx
Returns the number of received bytes held in queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Return


CheckTx
Returns the number of bytes held in the transmit queue for the selected channel. 
- BYTE UART
UART Index Range: 0-3 
- BYTE Return


ReceiveString
Returns a string of received bytes held in queue for the selected channel. Recommended to use the CheckRx macro first to collect number of bytes. 
- BYTE UART
UART Index Range: 0-3 
- BYTE NumBytes
 
- STRING Return


Initialise
Activates the SPI peripheral and claims control over the I/O pins. 
- VOID Return



Property reference

Properties
Bus Settings
Channel
SPI Channel selector 
Prescale
Prescale option selector 
Connections
MOSI
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. 
MOSI Remap Pin
Select which the target pin to assign the MOSI hardware pin functionality. 
MISO
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. 
MISO Remap Pin
Select which the target pin to assign the MISO hardware pin functionality. 
CLK
SPI Clock Pin CLK - The Clock signal is driven by the SPI master. 
CLK Remap Pin
Select which the target pin to assign the CLK hardware pin functionality. 
CS / SS
Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device.  
Simulation
Label
Label used to identify the component on the panel. 
Scope Traces
Selects if the scope traces are automatically generated or not 
Console Data
Selects if the console data is automatically generated or not 
API