Difference between revisions of "Component: Injector (CAN) ()"
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_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] | 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 42: | Line 46: | ||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
Line 91: | Line 97: | ||
==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;" | '''InitialiseInjector''' | ||
+ | |- | ||
+ | | colspan="2" | Sets up the injector ready to receive commands or send data | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
+ | | width="90%" | InjectorName | ||
+ | |- | ||
+ | | colspan="2" | Name of the console that will be created | ||
+ | |- | ||
+ | | 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;" | '''TxByte''' | ||
+ | |- | ||
+ | | 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="90%" | DataByte | ||
+ | |- | ||
+ | | 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;" | '''RxByte''' | ||
+ | |- | ||
+ | | colspan="2" | Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| 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;" | '''GetConsoleHandle''' | ||
+ | |- | ||
+ | | colspan="2" | Gets the handle to the console allowing data displaying on the panel etc. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | HandleIndex | ||
+ | |- | ||
+ | | 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-h32-icon.png]] - HANDLE | ||
+ | | 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;" | CAN Injector Settings | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
+ | | width="90%" | Circular Buffer Size | ||
+ | |- | ||
+ | | colspan="2" | Number of bytes that can be held in the injector's circular buffer | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
+ | | width="90%" | Termination Character | ||
+ | |- | ||
+ | | colspan="2" | Used to signify the end of a message, in the case of CAN it will end a specific identifier message | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-13-icon.png]] | ||
+ | | width="90%" | CSV ID File | ||
+ | |- | ||
+ | | 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 | ||
+ | |}==Macro reference== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
Revision as of 15:22, 20 January 2023
Author | Matrix Ltd |
Version | 1.0 |
Category |
Contents
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
![]() |
InitialiseInjector |
Sets up the injector ready to receive commands or send data | |
![]() |
InjectorName |
Name of the console that will be created | |
![]() |
Return |
![]() |
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 |
![]() |
RxByte |
Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available | |
![]() |
Return |
![]() |
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 |
Property reference
==Macro reference==
![]() |
InitialiseInjector |
Sets up the injector ready to receive commands or send data | |
![]() |
InjectorName |
Name of the console that will be created | |
![]() |
Return |
![]() |
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 |
![]() |
RxByte |
Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available | |
![]() |
Return |
![]() |
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 |
Property reference
==Macro reference==
![]() |
InitialiseInjector |
Sets up the injector ready to receive commands or send data | |
![]() |
InjectorName |
Name of the console that will be created | |
![]() |
Return |
![]() |
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 |
![]() |
RxByte |
Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available | |
![]() |
Return |
![]() |
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 |