Component: UART (CAL) (Misc): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (13 intermediate revisions by 2 users not shown) | |||
| Line 5: | Line 5: | ||
|- | |- | ||
| width="20%" style="color:gray;" | Version | | width="20%" style="color:gray;" | Version | ||
| | | 19.3 | ||
|- | |- | ||
| width="20%" style="color:gray;" | Category | | width="20%" style="color:gray;" | Category | ||
| Line 15: | Line 15: | ||
CAL = Code Abstraction Layer - Allows one code base to run on a wide range of chips. A low level implementation giving direct access to the UART peripheral. Includes simulation functionality to commmunicate via a COM port or an Injector component. Also includes timestamped logging via the console and Data Recorder trace monitoring support. | CAL = Code Abstraction Layer - Allows one code base to run on a wide range of chips. A low level implementation giving direct access to the UART peripheral. Includes simulation functionality to commmunicate via a COM port or an Injector component. Also includes timestamped logging via the console and Data Recorder trace monitoring support. | ||
== | ==Version information== | ||
Library Version, Component Version, Date, Author, Info | |||
14, 2.2, 04-11-24, BR, Added pin caption to the remap port pin selection property | |||
15, 2.2, 04-11-24, BR, Cleaned up pin caption from none remap port pin property | |||
16, 2.2, 15-11-24, BR, Minor change to reflect changes to I2C CAL component | |||
17, 2.3, 06-05-25, BR, Added filter to allow for automatic channel setup based on FCD and component | |||
18, 2.3, 15-07-25, BR, Sorted the remap pin properties by port pin | |||
19, 2.3, 11-08-25, MW, Changed fcdhelper properties to invisible as text is appearing on other projects | |||
==Detailed description== | ==Detailed description== | ||
| Line 44: | Line 48: | ||
''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' | ||
| Line 52: | Line 68: | ||
===ControlPin=== | ===ControlPin=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ControlPin''' | ||
|- | |- | ||
| colspan="2" | Allows direct control over the TX and RTS pins Also allows for reading of the state of the RX and CTS pins. Only available when the UART is uninitialised. | | colspan="2" | Allows direct control over the TX and RTS pins Also allows for reading of the state of the RX and CTS pins. Only available when the UART is uninitialised. | ||
| Line 75: | Line 91: | ||
=== | ===Delay=== | ||
{| class="wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Delay''' | |||
|- | |||
| colspan="2" | Software UART Bit Delay | |||
|- | |- | ||
|- | |- | ||
| | | 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'' | |||
|} | |||
===GetConsoleHandle=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''GetConsoleHandle''' | |||
|- | |- | ||
| | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
=== | ===GetList=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetList''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Gets Named property List | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | | | width="90%" | Name | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
=== | ===GetValue=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetValue''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Get Value of Named property | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | | | width="90%" | Name | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
=== | ===Init=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Init''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Initialize the component with the specified properties | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 151: | Line 171: | ||
=== | ===Receive=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Receive''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Receive a Character | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Timeout | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Period to wait for the character to be received | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
=== | ===ReceiveByteArray=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReceiveByteArray''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Receives an array of bytes and returns the number of bytes received. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Data | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | NumBytes | ||
|- | |||
| colspan="2" | Maximum number of bytes to try and receive | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Timeout | |||
|- | |- | ||
| colspan="2" | | | colspan="2" | Max amount of time in ms to wait between bytes | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
=== | ===ReceiveString=== | ||
{| class="wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ReceiveString''' | |||
|- | |||
| colspan="2" | Receives a string of bytes and returns the number of bytes received. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | |||
| width="90%" | StringData | |||
|- | |- | ||
| | | colspan="2" | | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | NumBytes | |||
|- | |- | ||
| colspan="2" | Maximum number of bytes to try and receive | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Timeout | | width="90%" | Timeout | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Max amount of time in ms to wait between bytes | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
| Line 214: | Line 249: | ||
===Send=== | ===Send=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Send''' | ||
|- | |- | ||
| colspan="2" | Send the Character | | colspan="2" | Send the Character | ||
| Line 228: | Line 263: | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | 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'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
| Line 247: | Line 268: | ||
===SendByteArray=== | ===SendByteArray=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendByteArray''' | ||
|- | |- | ||
| colspan="2" | Transmits an array of bytes via the UART peripheral | | colspan="2" | Transmits an array of bytes via the UART peripheral | ||
| Line 260: | Line 281: | ||
| colspan="2" | Data to transmit | | colspan="2" | Data to transmit | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | NumBytes | | width="90%" | NumBytes | ||
|- | |- | ||
| Line 270: | Line 291: | ||
=== | ===SendNumber=== | ||
{| class="wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''SendNumber''' | |||
|- | |||
| colspan="2" | Transmits a numeric value as an ASCII string | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
| width="90%" | Number | |||
|- | |- | ||
| colspan="2" | Numeric value to send | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 284: | Line 310: | ||
=== | ===SendString=== | ||
{| class="wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''SendString''' | |||
|- | |||
| colspan="2" | Transmits a string of bytes via the UART peripheral | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | Data | |||
|- | |- | ||
| colspan="2" | Data String to transmit | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 299: | Line 330: | ||
===SetValue=== | ===SetValue=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetValue''' | ||
|- | |- | ||
| colspan="2" | set Value of Named property | | colspan="2" | set Value of Named property | ||
| Line 322: | Line 353: | ||
=== | ===TestProperty=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TestProperty''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | A simple macro to allow us to test the value of a single property during runtime. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | width="90%" | Property | ||
|- | |- | ||
| | | colspan="2" | 0=UseTX, 1=UseRX, 2=UseFlowControl | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
=== | ===Uninit=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Uninit''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Un-initialize the UART and release the resources | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
=== | ===UpdateBaud=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''UpdateBaud''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Changes the UART Baud rate. 0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=115200, 8=250000 | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | new_baud | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=115200, 8=250000 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| Line 428: | Line 418: | ||
| colspan="2" | A global flag to enable or disable the UART component from producing code. Useful for generating components with multiple communications options. | | colspan="2" | A global flag to enable or disable the UART component from producing code. Useful for generating components with multiple communications options. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 437: | Line 427: | ||
| colspan="2" | UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller. | | colspan="2" | UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]] | ||
| width="90%" | | width="90%" | Filter | ||
|- | |||
| colspan="2" | If set compares to the info section in the FCD to allow for auto connection to the correct channel | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Transmit | |||
|- | |- | ||
|- | |- | ||
| Line 451: | Line 446: | ||
| colspan="2" | Pin to be used for Transmit data | | colspan="2" | Pin to be used for Transmit data | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
| width="90%" | | width="90%" | Use TX Buffer | ||
|- | |||
| colspan="2" | Decides what to do if there is more then one byte to send or if the UART is already transmitting data. No: When additional data is transmitted the processor will sit and wait for the data to be sent. Yes: The data to be sent will be placed into a buffer allowing the processor to continue with other things, the buffer will automatically empty itself using a UART TX interrupt. | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Receive | |||
|- | |- | ||
|- | |- | ||
| Line 465: | Line 465: | ||
| colspan="2" | Pin to be used for Receive data | | colspan="2" | Pin to be used for Receive data | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
| width="90%" | | width="90%" | Use RX Buffer | ||
|- | |||
| colspan="2" | Decides what to do when data is received. No: The UART must be regularily polled or the user must enable their own receive interrupt to catch data as it comes in. Yes: The received data will be placed into a buffer using a UART RX interrupt. | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Flow Control | |||
|- | |- | ||
|- | |- | ||
| Line 474: | Line 479: | ||
| colspan="2" | Flow Control (Handshake) enable or disable. On: Two I/O pins are used to control the flow of data in and out of the device. Off: Flow control is disabled. | | colspan="2" | Flow Control (Handshake) enable or disable. On: Two I/O pins are used to control the flow of data in and out of the device. Off: Flow control is disabled. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Options | ||
|- | |- | ||
|- | |- | ||
| Line 508: | Line 513: | ||
| colspan="2" | Automatic receive interrupt mode enable or disable. Used on components such as the GSM or GPS where data can come in at any time. Software channel is disabled when interrupt is enabled, for interrupt with a software channel use an I/O edge triggered interrupt. | | colspan="2" | Automatic receive interrupt mode enable or disable. Used on components such as the GSM or GPS where data can come in at any time. Software channel is disabled when interrupt is enabled, for interrupt with a software channel use an I/O edge triggered interrupt. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
| Line 537: | Line 542: | ||
| colspan="2" | Simulation data source used to allow the component to connect to various remote devices Nothing - Simulation data is ignored COM port - Routes the communication data to and from a physical or virtual COM port API - Routes the communication data via a data injector component on the Panel. | | colspan="2" | Simulation data source used to allow the component to connect to various remote devices Nothing - Simulation data is ignored COM port - Routes the communication data to and from a physical or virtual COM port API - Routes the communication data via a data injector component on the Panel. | ||
|} | |} | ||
==Component Source Code== | |||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_UART.fcfx FC_Comp_Source_UART.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_UART.fcfx FC_Comp_Source_UART.fcfx] | |||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix TSL |
| Version | 19.3 |
| Category | Misc |
UART component
CAL = Code Abstraction Layer - Allows one code base to run on a wide range of chips. A low level implementation giving direct access to the UART peripheral. Includes simulation functionality to commmunicate via a COM port or an Injector component. Also includes timestamped logging via the console and Data Recorder trace monitoring support.
Version information
Library Version, Component Version, Date, Author, Info 14, 2.2, 04-11-24, BR, Added pin caption to the remap port pin selection property 15, 2.2, 04-11-24, BR, Cleaned up pin caption from none remap port pin property 16, 2.2, 15-11-24, BR, Minor change to reflect changes to I2C CAL component 17, 2.3, 06-05-25, BR, Added filter to allow for automatic channel setup based on FCD and component 18, 2.3, 15-07-25, BR, Sorted the remap pin properties by port pin 19, 2.3, 11-08-25, MW, Changed fcdhelper properties to invisible as text is appearing on other projects
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
ControlPin
Delay
| Delay | |
| Software UART Bit Delay | |
| Return | |
GetConsoleHandle
| GetConsoleHandle | |
| Return | |
GetList
| GetList | |
| Gets Named property List | |
| Name | |
| Return | |
GetValue
| GetValue | |
| Get Value of Named property | |
| Name | |
| Return | |
Init
| Init | |
| Initialize the component with the specified properties | |
| Return | |
Receive
| Receive | |
| Receive a Character | |
| Timeout | |
| Period to wait for the character to be received | |
| Return | |
ReceiveByteArray
ReceiveString
Send
| Send | |
| Send the Character | |
| Char | |
| The Character to send | |
| Return | |
SendByteArray
| SendByteArray | |
| Transmits an array of bytes via the UART peripheral | |
| Data | |
| Data to transmit | |
| NumBytes | |
| Number of bytes to send from the array | |
| Return | |
SendNumber
| SendNumber | |
| Transmits a numeric value as an ASCII string | |
| Number | |
| Numeric value to send | |
| Return | |
SendString
| SendString | |
| Transmits a string of bytes via the UART peripheral | |
| Data | |
| Data String to transmit | |
| Return | |
SetValue
| SetValue | |
| set Value of Named property | |
| Name | |
| Value | |
| Return | |
TestProperty
| TestProperty | |
| A simple macro to allow us to test the value of a single property during runtime. | |
| Property | |
| 0=UseTX, 1=UseRX, 2=UseFlowControl | |
| Return | |
Uninit
| Uninit | |
| Un-initialize the UART and release the resources | |
| Return | |
UpdateBaud
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_UART.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_UART.fcfx