Component: J1939 Automotive Node (Comms: System): Difference between revisions
Appearance
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;"" to "width="10%" align="center" class="mtx-class-macrohead"" |
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead"" |
||
| Line 95: | Line 95: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ClearSPN''' | ||
|- | |- | ||
| colspan="2" | Clears the list of registered SPN allowing new SPN to be registered. | | colspan="2" | Clears the list of registered SPN allowing new SPN to be registered. | ||
| Line 109: | Line 109: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Get_Address''' | ||
|- | |- | ||
| colspan="2" | Returns the device (ECU) actual address | | colspan="2" | Returns the device (ECU) actual address | ||
| Line 123: | Line 123: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Get_Status''' | ||
|- | |- | ||
| colspan="2" | Returns the system status. 0 = Ready. 1 = Waiting address claim | | colspan="2" | Returns the system status. 0 = Ready. 1 = Waiting address claim | ||
| Line 137: | Line 137: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | Initialise the CAN network and J1939 protocol | | colspan="2" | Initialise the CAN network and J1939 protocol | ||
| Line 156: | Line 156: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Message_Data_Clear''' | ||
|- | |- | ||
| colspan="2" | Clear the CAN Data Buffer | | colspan="2" | Clear the CAN Data Buffer | ||
| Line 175: | Line 175: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Message_Data_Read_SPN''' | ||
|- | |- | ||
| colspan="2" | Read the SPN value from the CAN data buffer | | colspan="2" | Read the SPN value from the CAN data buffer | ||
| Line 199: | Line 199: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Message_Data_Set''' | ||
|- | |- | ||
| colspan="2" | Set all data in CAN Data Buffer to given value. e.g. 0 or 0xFF | | colspan="2" | Set all data in CAN Data Buffer to given value. e.g. 0 or 0xFF | ||
| Line 223: | Line 223: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Message_Data_Write_SPN''' | ||
|- | |- | ||
| colspan="2" | Write the SPN value to the CAN data buffer | | colspan="2" | Write the SPN value to the CAN data buffer | ||
| Line 252: | Line 252: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Process''' | ||
|- | |- | ||
| colspan="2" | Does the message processing. Call this often. | | colspan="2" | Does the message processing. Call this often. | ||
| Line 271: | Line 271: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RegisterSPN''' | ||
|- | |- | ||
| colspan="2" | Allows a SPN and PGN to be registered onto the system. Returns 1 if the SPN has been regisered successfully. | | colspan="2" | Allows a SPN and PGN to be registered onto the system. Returns 1 if the SPN has been regisered successfully. | ||
| Line 310: | Line 310: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Rx_Message_Check''' | ||
|- | |- | ||
| colspan="2" | If a data message has been received returns the PGN,otherwise 0 | | colspan="2" | If a data message has been received returns the PGN,otherwise 0 | ||
| Line 324: | Line 324: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Rx_Message_Data''' | ||
|- | |- | ||
| colspan="2" | Returns the DLC and data of the last received message | | colspan="2" | Returns the DLC and data of the last received message | ||
| Line 343: | Line 343: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Rx_Message_Source''' | ||
|- | |- | ||
| colspan="2" | Returns the Source Address of the last received message | | colspan="2" | Returns the Source Address of the last received message | ||
| Line 357: | Line 357: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Rx_Transfer_Check''' | ||
|- | |- | ||
| colspan="2" | Check for incoming multipart data transfers. If received, returns the PGN else 0 | | colspan="2" | Check for incoming multipart data transfers. If received, returns the PGN else 0 | ||
| Line 371: | Line 371: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Rx_Transfer_Data''' | ||
|- | |- | ||
| colspan="2" | Returns the byte count and data of the transfer message data | | colspan="2" | Returns the byte count and data of the transfer message data | ||
| Line 395: | Line 395: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Tx_Message_Send''' | ||
|- | |- | ||
| colspan="2" | Send the prepared CAN message | | colspan="2" | Send the prepared CAN message | ||
| Line 424: | Line 424: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Tx_Transfer_Send''' | ||
|- | |- | ||
| colspan="2" | Send a mulitpart data transfer message. Returns number of bytes accepted. Limited by max message size. | | colspan="2" | Send a mulitpart data transfer message. Returns number of bytes accepted. Limited by max message size. | ||
| Line 454: | Line 454: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
Revision as of 14:23, 13 July 2026
| Author | Matrix TSL |
| Version | 1.1 |
| Category | Comms: System |
J1939 Automotive Node component
Allows an automotive J1939 network node to be created sat on top of CAN bus. Used in heavy duty vehicles it provides a base layer on which 1-16 bit signals or SPN can be assigned and passed between nodes. SPN are arranged into groups called PGN which each contain eight bytes of data.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_J1939.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_J1939.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
ClearSPN
| ClearSPN | |
| Clears the list of registered SPN allowing new SPN to be registered. | |
| Return | |
Get_Address
| Get_Address | |
| Returns the device (ECU) actual address | |
| Return | |
Get_Status
| Get_Status | |
| Returns the system status. 0 = Ready. 1 = Waiting address claim | |
| Return | |
Initialise
| Initialise | |
| Initialise the CAN network and J1939 protocol | |
| Preferred_Address | |
| Preferred Address (Requested Address) | |
| Return | |
Message_Data_Clear
| Message_Data_Clear | |
| Clear the CAN Data Buffer | |
| DataBuffer | |
| Return | |
Message_Data_Read_SPN
| Message_Data_Read_SPN | |
| Read the SPN value from the CAN data buffer | |
| SPN | |
| DataBuffer | |
| Return | |
Message_Data_Set
| Message_Data_Set | |
| Set all data in CAN Data Buffer to given value. e.g. 0 or 0xFF | |
| DataBuffer | |
| Value | |
| Return | |
Message_Data_Write_SPN
| Message_Data_Write_SPN | |
| Write the SPN value to the CAN data buffer | |
| SPN | |
| Value | |
| DataBuffer | |
| 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 | |
RegisterSPN
Rx_Message_Check
| Rx_Message_Check | |
| If a data message has been received returns the PGN,otherwise 0 | |
| Return | |
Rx_Message_Data
| Rx_Message_Data | |
| Returns the DLC and data of the last received message | |
| DataBuffer | |
| Return | |
Rx_Message_Source
| Rx_Message_Source | |
| Returns the Source Address of the last received message | |
| Return | |
Rx_Transfer_Check
| Rx_Transfer_Check | |
| Check for incoming multipart data transfers. If received, returns the PGN else 0 | |
| Return | |
Rx_Transfer_Data
| Rx_Transfer_Data | |
| Returns the byte count and data of the transfer message data | |
| DataBuffer | |
| Buffer to receive copied data | |
| Size | |
| Size (byte count) of buffer | |
| Return | |
Tx_Message_Send
| Tx_Message_Send | |
| Send the prepared CAN message | |
| PGN | |
| DLC | |
| DataBuffer | |
| Return | |
Tx_Transfer_Send