Questions tagged [j1939]

CAN bus standard SAE J1939 is the recommended practice used for communication and diagnostics among vehicle components. Originating in the car and heavy-duty truck industry in the United States, it is now widely used in other parts of the world.

From the Wikipedia page on SAE J1939:

SAE J1939 defines five layers in the seven-layer OSI network model, and this includes the Controller Area Network (CAN) ISO 11898 specification (using only the 29-bit/"extended" identifier) for the physical and data-link layers. Under J1939/11 and J1939/15, the data rate is specified as 250 kbit/s, with J1939/14 specifying 500 kbit/s. The session and presentation layers are not part of the specification. The later use of CAN FD is currently discussed.

All J1939 packets, except for the request packet, contain eight bytes of data and a standard header which contains an index called Parameter Group Number (PGN), which is embedded in the message's 29-bit identifier. A PGN identifies a message's function and associated data. J1939 attempts to define standard PGNs to encompass a wide range of automotive, agricultural, marine and off-road vehicle purposes. A range of PGNs (00FF0016 through 00FFFF16, inclusive) is reserved for proprietary use. PGNs define the data which is made up of a variable number of Suspect Parameter Number (SPN) elements defined for unique data.

48 questions
0
votes
2 answers

CAN J1939 device stops responding after communication timeout

I'm a higher layer guy, I don't and don't want to know much about can-bus, j1939 or even particular ECUs. I just don't like the software solution, so I'd like to ask, if customer's requirements are legitimate. If particular ECU doesn't receive CAN…
Kenny_pce
  • 21
  • 3
0
votes
1 answer

Which SAE J1939 PGN number can delete an ECU in a CAN-bus network?

I'm looking for a PGN number in SAE J1939 standard that can delete a ECU address, or at least say that this ECU address or ECU unit is not used anymore in the CAN-bus netork. I have recently written a open source SAE J1939 library in pure C code.…
euraad
  • 2,467
  • 5
  • 30
  • 51
0
votes
1 answer

J1939 - What PGN number should I use for request about delete NAME?

I have a question about J1939. I'm looking for a PGN number that doing a request for deleting the name of an ECU. I have made a library for open source SAE J1939 https://github.com/DanielMartensson/Open-SAE-J1939 There is two PGN numbers …
euraad
  • 2,467
  • 5
  • 30
  • 51
0
votes
0 answers

J1939 - Yamaha Rudder Position ADDRESS

Using a PCAN VIEW, I determined the "rudder position" address (Yamaha Outboard), to be 166792448, and using CAN_Rx_MessageProc_ST_0 got the outboard position from bytes 4 and 5 of the 8 byte array: RUDDER_ANGLE_RAW :=…
LlewV
  • 1
0
votes
1 answer

Create MF4 to be decode by J1939 DBC - asammdf

I'm trying to create a MF4 file to be decoded by a 'J1939.dbc' as the same way of CSS electronics My code to generate a example file is like this: from asammdf import MDF, SUPPORTED_VERSIONS, Signal import numpy as np sigs = [] mdf = MDF() samples…
Gabriel Lincoln
  • 155
  • 1
  • 10
0
votes
1 answer

Python built-in socket package upgrade

I had python 3.7.1 installed on my raspberry pi. I upgraded to python 3.9.1 using pyenv with these instructions: https://yeti.co/blog/setting-up-a-raspberry-pi-with-raspbian-and-pyenv-running-python-35/ Now, I run python 3.9.1 as seen per the…
0
votes
2 answers

socketcan J1939 filter use in python

In Python, I am trying to use the J1939 filtering as mentionned in the linux kernel docs: https://www.kernel.org/doc/html/latest/networking/j1939.html The following code fails at the setsockopt() line (setting up filters): import socket import…
0
votes
1 answer

Convert J1939 message to raw CAN

I'm receiving J1939 CAN messages trough a class that uses IsoAgLib as framework. On the receiver side I have these J1939 messages that need to get transmitted to the CAN network by using Qt's "QCanBusDevice" and "QCBusFrame". My question is: how…
EzeEst
  • 117
  • 1
  • 11
0
votes
2 answers

J1939 Is address claiming necessary before requesting spesific data? Difference between address claiming and parameter group claiming?

In or order to request spesific data from one node that uses J1939 protocol, is it necessary to claim address before requesting that data? Do we also need to request PGN before that process? Or can we directly request data without requesting PGN or…
0
votes
1 answer

How to claim address in J1939 protocol

Hello I'm trying to read remaining capacity information of some battery which sends some informations with J1939 protocol. For that I am using PIC18F26K83, so as I have understood before I want to send data to battery to show that I want some…
0
votes
3 answers

Programming a software for diagnosing SAE J1939

I'm trying to program a software similar to this Where could I find specific information on the programming language used, the required environment, etc? Thanks.
0
votes
1 answer

How to Claim Address on J1939 CAN bus?

My main goal is to to get VIN no of my control unit but for that i need to send command to controller and before sending any command to controller i must have to claim address. I have send below command on my network but didn't got any response from…
jtro
  • 121
  • 1
  • 2
  • 5
0
votes
1 answer

J1939 RTR Issue

I have and issue with rtr frames using candump and cansend. Dumping the broadcasted data is no issue. Architecture - Raspberry pi with a pican shield reading data from a J1939 simulator. I run candump to receive all messages on the bus. Then get an…
Emerson
  • 270
  • 2
  • 4
  • 11
0
votes
1 answer

J1939 CAN Bit Timing

I need some help setting up my J1939 definition for CAN bit timing. I am using a PIC18LF26K80 microcontroller with an 8 MHz clock. I'm having trouble trying to figure out how to calculate the different bits for the CAN registers. Right now in my…
Mikkel Bang
  • 574
  • 2
  • 13
  • 27
0
votes
2 answers

Modification of J1939 C Library for PIC32

I am working on a project based on J1939 Interface. I am using J1939 C Library for PIC 18 devices (AN930), I am wondering how can I modify this library to work with PIC32MX795F512L device? I am not the expert level programmer and started working on…
Kunal Sonone
  • 43
  • 3
  • 14