Component: Injector (CAN) (): Difference between revisions
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (18 intermediate revisions by 2 users not shown) | |||
| Line 14: | Line 14: | ||
==Injector (CAN) component== | ==Injector (CAN) component== | ||
Comms data injector to allow CAN message identifiers to be decoded to specific message strings. Uses an external CSV file to specify the IDs and descriptive strings. | Comms data injector to allow CAN message identifiers to be decoded to specific message strings. Uses an external CSV file to specify the IDs and descriptive strings. | ||
==Component Source Code== | |||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_InjectorCAN.fcfx FC_Comp_Source_InjectorCAN.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_InjectorCAN.fcfx FC_Comp_Source_InjectorCAN.fcfx] | |||
==Detailed description== | ==Detailed description== | ||
| Line 26: | Line 50: | ||
==Examples== | ==Examples== | ||
| Line 62: | Line 104: | ||
[[File:CAN_DataFile.jpg]] | [[File:CAN_DataFile.jpg]] | ||
{| class="wikitable | |||
==Macro reference== | |||
===GetConsoleHandle=== | |||
{| 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" | '''GetConsoleHandle''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Gets the handle to the console allowing data displaying on the panel etc. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | HandleIndex | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Selects which console handle to obtain - 0=ID/Data 1=ID Meanings | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===InitialiseInjector=== | ||
{| 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" | '''InitialiseInjector''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Sets up the injector ready to receive commands or send data | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | | | width="90%" | InjectorName | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Name of the console that will be created | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===RxByte=== | ||
{| 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" | '''RxByte''' | ||
|- | |- | ||
| colspan="2" | Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available | | colspan="2" | Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available | ||
| Line 113: | Line 168: | ||
{| class="wikitable | ===TxByte=== | ||
{| 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" | '''TxByte''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Puts a byte onto the comms channel. CAN packet is inserted into injector like this: ID3, ID2, ID1, ID0, D7, D6, D5, D4, D3, D2, D1, D0, \n | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | DataByte | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] - | | 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'' | ||
|} | |} | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Properties''' | |||
|- | |||
|- | |- | ||
| 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" | CAN Injector Settings | ||
|- | |- | ||
|- | |- | ||
| Line 155: | Line 213: | ||
|- | |- | ||
| colspan="2" | Location of comma seperated ID description file. e.g. ID,Description 1,Door Open 2,Door Closed 3,Window Open 4,Window Closed 1023,System Disable 1024,System Enable | | colspan="2" | Location of comma seperated ID description file. e.g. ID,Description 1,Door Open 2,Door Closed 3,Window Open 4,Window Closed 1023,System Disable 1024,System Enable | ||
|} | |} | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix Ltd |
| Version | 1.0 |
| Category |
Injector (CAN) component
Comms data injector to allow CAN message identifiers to be decoded to specific message strings. Uses an external CSV file to specify the IDs and descriptive strings.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_InjectorCAN.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_InjectorCAN.fcfx
Detailed description
No detailed description exists yet for this component
Examples
The CAN component works together with the injector component to allow you to decode a CAN message ID into a meaningful command.
Example File
CAN_Example1
When a key on the keypad is pressed the CAN components transmits a CAN packet.
The CAN packet is decoded by the injector component to give us a meaningful log on the console window.
High Level CAN Data Console
Low Level CAN Data Console
Reference from CAN Injector to ID decode file, $(srcdir) refers to the current project directory.
Demo CAN ID file File:CANID.csv
Macro reference
GetConsoleHandle
| GetConsoleHandle | |
| Gets the handle to the console allowing data displaying on the panel etc. | |
| HandleIndex | |
| Selects which console handle to obtain - 0=ID/Data 1=ID Meanings | |
| Return | |
InitialiseInjector
| InitialiseInjector | |
| Sets up the injector ready to receive commands or send data | |
| InjectorName | |
| Name of the console that will be created | |
| Return | |
RxByte
| RxByte | |
| Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available | |
| Return | |
TxByte
| TxByte | |
| Puts a byte onto the comms channel. CAN packet is inserted into injector like this: ID3, ID2, ID1, ID0, D7, D6, D5, D4, D3, D2, D1, D0, \n | |
| DataByte | |
| Return | |



