Difference between revisions of "Component: OBD2 ECU (Server) (Misc)"
From Flowcode Help
Jump to navigationJump to search| (2 intermediate revisions by the same user not shown) | |||
| Line 61: | Line 61: | ||
''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Line 69: | Line 75: | ||
==Macro reference== | ==Macro reference== | ||
| − | === | + | ===DTC_Add=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DTC_Add''' |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | Adds a DTC to the store (e.g. "B1318") Checks to see if the DTC string is already in the store before adding. |
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| − | | width="90%" | | + | | width="90%" | DTC_String |
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL |
| + | | width="90%" | CheckExists | ||
| + | |- | ||
| + | | colspan="2" | Checks to see if error code already exists | ||
| + | |- | ||
| + | | 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'' | ||
|} | |} | ||
| − | === | + | ===DTC_Clear=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DTC_Clear''' |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | Clears the DTC store |
| − | |||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| − | |||
|- | |- | ||
| 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 107: | Line 113: | ||
| − | === | + | ===DTC_Count=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DTC_Count''' |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | Returns the number of stored DTCs |
|- | |- | ||
|- | |- | ||
| − | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | | 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'' | ||
|} | |} | ||
| − | === | + | ===DTC_Get=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DTC_Get''' |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | Get the DTC from the store at Index |
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| − | | width="90%" | | + | | width="90%" | Index |
|- | |- | ||
| − | | 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'' | ||
|} | |} | ||
| − | === | + | ===FlushBuffer=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FlushBuffer''' |
|- | |- | ||
| − | | colspan="2" | Clears the | + | | colspan="2" | Clears the contents of the buffer and re-initialises the index locations. |
|- | |- | ||
|- | |- | ||
| Line 159: | Line 160: | ||
| − | === | + | ===GetByte=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetByte''' |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | Reads the next available byte from the circular buffer, Returns 255 if the buffer is empty. |
|- | |- | ||
|- | |- | ||
| − | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | | 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'' | ||
|} | |} | ||
| − | === | + | ===GetNumberBytes=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetNumberBytes''' |
|- | |- | ||
| − | | colspan="2" | Returns the number of | + | | colspan="2" | Returns the number of valid data bytes currently inside the buffer. |
|- | |- | ||
|- | |- | ||
| Line 192: | Line 188: | ||
| − | === | + | ===Initialise=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | Initialise the CAN network |
|- | |- | ||
|- | |- | ||
| − | + | | 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'' | ||
|} | |} | ||
| − | === | + | ===Process=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Process''' |
| + | |- | ||
| + | | colspan="2" | Does the message processing. Call this often. | ||
| + | |- | ||
|- | |- | ||
| − | | | + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT |
| + | | width="90%" | TimeElapsed | ||
|- | |- | ||
| + | | colspan="2" | Time elapsed since last call, in mS. Can be zero for frequent calling. | ||
|- | |- | ||
| − | | 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'' | ||
|} | |} | ||
| − | === | + | ===Set_ECU_Name=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Set_ECU_Name''' |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | Set the ECU Name |
|- | |- | ||
|- | |- | ||
| − | | 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-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 244: | Line 240: | ||
| − | === | + | ===Set_Engine_Coolant_Temperature=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Set_Engine_Coolant_Temperature''' |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | -40 to 215 (deg C) |
|- | |- | ||
|- | |- | ||
| Line 256: | Line 252: | ||
| width="90%" | Value | | width="90%" | Value | ||
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | Value range -40 to 215 deg C |
|- | |- | ||
| 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 282: | Line 278: | ||
| − | === | + | ===Set_Engine_Speed=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Set_Engine_Speed''' |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | 0 to 16,383.75 (rpm) |
|- | |- | ||
|- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT |
| − | | width="90%" | | + | | width="90%" | Value |
|- | |- | ||
| − | | colspan="2" | | + | | colspan="2" | Speed in RPM |
|- | |- | ||
| − | + | | 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'' | ||
|} | |} | ||
| − | === | + | ===Set_MAF_Rate=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Set_MAF_Rate''' |
| + | |- | ||
| + | | colspan="2" | 0 to 655.35 grams/sec | ||
| + | |- | ||
|- | |- | ||
| − | | | + | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT |
| + | | width="90%" | Value | ||
|- | |- | ||
| + | | colspan="2" | MAF air flow rate in grams/sec | ||
|- | |- | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | + | | 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 339: | Line 335: | ||
| − | === | + | ===Set_VIN=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Set_VIN''' |
| + | |- | ||
| + | | colspan="2" | Set the 17 character VIN | ||
| + | |- | ||
|- | |- | ||
| − | | | + | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING |
| + | | width="90%" | VIN | ||
|- | |- | ||
| + | | colspan="2" | | ||
|- | |- | ||
| 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 353: | Line 354: | ||
| − | === | + | ===Set_Vehicle_Speed=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Set_Vehicle_Speed''' |
| + | |- | ||
| + | | colspan="2" | 0 - 255 (km/h) | ||
|- | |- | ||
| − | |||
|- | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| + | | width="90%" | Value | ||
|- | |- | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | + | | colspan="2" | Speed in RPM |
| + | |- | ||
| + | | 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'' | ||
|} | |} | ||
| − | |||
| − | |||
Latest revision as of 13:12, 7 February 2023
| Author | |
| Version | 1.0 |
| Category | Misc |
Contents
- 1 OBD2 ECU (Server) component
- 2 Component Source Code
- 3 Detailed description
- 4 Examples
- 5 Macro reference
- 5.1 DTC_Add
- 5.2 DTC_Clear
- 5.3 DTC_Count
- 5.4 DTC_Get
- 5.5 FlushBuffer
- 5.6 GetByte
- 5.7 GetNumberBytes
- 5.8 Initialise
- 5.9 Process
- 5.10 Set_ECU_Name
- 5.11 Set_Engine_Coolant_Temperature
- 5.12 Set_Engine_Load
- 5.13 Set_Engine_Speed
- 5.14 Set_MAF_Rate
- 5.15 Set_Throttle_Position
- 5.16 Set_VIN
- 5.17 Set_Vehicle_Speed
- 6 Property reference
OBD2 ECU (Server) component
Implements an ECU side OBD-II server
Component Source Code
Please click here to download the component source project: FC_Comp_Source_OBD2_ECU.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_OBD2_ECU.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
DTC_Add
DTC_Clear
| DTC_Clear | |
| Clears the DTC store | |
| Return | |
DTC_Count
| DTC_Count | |
| Returns the number of stored DTCs | |
| Return | |
DTC_Get
| DTC_Get | |
| Get the DTC from the store at Index | |
| Index | |
| Return | |
FlushBuffer
| FlushBuffer | |
| Clears the contents of the buffer and re-initialises the index locations. | |
| Return | |
GetByte
| GetByte | |
| Reads the next available byte from the circular buffer, Returns 255 if the buffer is empty. | |
| Return | |
GetNumberBytes
| GetNumberBytes | |
| Returns the number of valid data bytes currently inside the buffer. | |
| Return | |
Initialise
| Initialise | |
| Initialise the CAN network | |
| Return | |
Process
| Process | |
| Does the message processing. Call this often. | |
| TimeElapsed | |
| Time elapsed since last call, in mS. Can be zero for frequent calling. | |
| Return | |
Set_ECU_Name
| Set_ECU_Name | |
| Set the ECU Name | |
| Name | |
| Return | |
Set_Engine_Coolant_Temperature
| Set_Engine_Coolant_Temperature | |
| -40 to 215 (deg C) | |
| Value | |
| Value range -40 to 215 deg C | |
| Return | |
Set_Engine_Load
| Set_Engine_Load | |
| 0 to 100 (%) | |
| Value | |
| Speed in RPM | |
| Return | |
Set_Engine_Speed
| Set_Engine_Speed | |
| 0 to 16,383.75 (rpm) | |
| Value | |
| Speed in RPM | |
| Return | |
Set_MAF_Rate
| Set_MAF_Rate | |
| 0 to 655.35 grams/sec | |
| Value | |
| MAF air flow rate in grams/sec | |
| Return | |
Set_Throttle_Position
| Set_Throttle_Position | |
| 0 - 100 (%) | |
| Value | |
| Position value as a percentage (0 - 100%) | |
| Return | |
Set_VIN
| Set_VIN | |
| Set the 17 character VIN | |
| VIN | |
| Return | |
Set_Vehicle_Speed
| Set_Vehicle_Speed | |
| 0 - 255 (km/h) | |
| Value | |
| Speed in RPM | |
| Return | |