Component: J1939 Automotive Node (Comms: System): Difference between revisions
Appearance
m Text replacement - "class="wikitable" style="width:60%; background-color:#FFFFFF;"" to "class="mtx-class-macrotable wikitable"" |
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;" align="center"" to "width="10%" align="center" class="mtx-class-macrohead"" |
||
| Line 94: | Line 94: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearSPN''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearSPN''' | ||
|- | |- | ||
| Line 108: | Line 108: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Get_Address''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Get_Address''' | ||
|- | |- | ||
| Line 122: | Line 122: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Get_Status''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Get_Status''' | ||
|- | |- | ||
| Line 136: | Line 136: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | ||
|- | |- | ||
| Line 155: | Line 155: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Message_Data_Clear''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Message_Data_Clear''' | ||
|- | |- | ||
| Line 174: | Line 174: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Message_Data_Read_SPN''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Message_Data_Read_SPN''' | ||
|- | |- | ||
| Line 198: | Line 198: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Message_Data_Set''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Message_Data_Set''' | ||
|- | |- | ||
| Line 222: | Line 222: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Message_Data_Write_SPN''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Message_Data_Write_SPN''' | ||
|- | |- | ||
| Line 251: | Line 251: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Process''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Process''' | ||
|- | |- | ||
| Line 270: | Line 270: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''RegisterSPN''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RegisterSPN''' | ||
|- | |- | ||
| Line 309: | Line 309: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Message_Check''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Message_Check''' | ||
|- | |- | ||
| Line 323: | Line 323: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Message_Data''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Message_Data''' | ||
|- | |- | ||
| Line 342: | Line 342: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Message_Source''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Message_Source''' | ||
|- | |- | ||
| Line 356: | Line 356: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Transfer_Check''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Transfer_Check''' | ||
|- | |- | ||
| Line 370: | Line 370: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Transfer_Data''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Rx_Transfer_Data''' | ||
|- | |- | ||
| Line 394: | Line 394: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Tx_Message_Send''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Tx_Message_Send''' | ||
|- | |- | ||
| Line 423: | Line 423: | ||
{| class="mtx-class-macrotable 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%" style="background-color:#D8C9D8; color:#4B008D;" | '''Tx_Transfer_Send''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Tx_Transfer_Send''' | ||
|- | |- | ||
Revision as of 14:17, 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