<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to J1939 Decode</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/824698c16f/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/824698c16f/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/824698c16f/</id><updated>2020-02-27T13:51:46.356000Z</updated><subtitle>Recent posts to J1939 Decode</subtitle><entry><title>J1939 Decode</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/824698c16f/?limit=25#9c07" rel="alternate"/><published>2020-02-27T13:51:46.356000Z</published><updated>2020-02-27T13:51:46.356000Z</updated><author><name>timvh</name><uri>https://forge.codesys.com/u/timvh/</uri></author><id>https://forge.codesys.come6fd0fd4830f48d5c756a12c03f23d9fcb9a3b19</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;With J1939 a 29 bit identifier is used.&lt;br/&gt;
This contains e.g. the Priority, PGN, and Source Address (SA).&lt;/p&gt;
&lt;p&gt;To filter these from the Identifier you could use something like:&lt;br/&gt;
SA := _29bitId AND 16#FF;&lt;br/&gt;
PGN := SHR(_29bitId,8) AND 16#FFFF;&lt;br/&gt;
PRIO := SHR(_29bitId,24);&lt;/p&gt;
&lt;p&gt;If you run this with your 29bit identifier (16#054c00ff), you will get as result for the PGN 19456.&lt;/p&gt;
&lt;p&gt;The other 8 bytes represent the data (SPN) which relates to the PGN.&lt;/p&gt;
&lt;p&gt;I'm not a J1939 expert, so please correct me if I'm wrong.&lt;br/&gt;
Anyway I hope this helps.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>J1939 Decode</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/824698c16f/?limit=25#5d80" rel="alternate"/><published>2020-02-27T13:51:46.154000Z</published><updated>2020-02-27T13:51:46.154000Z</updated><author><name>johnfarrugia</name><uri>https://forge.codesys.com/u/johnfarrugia/</uri></author><id>https://forge.codesys.com4bfcbdde5e136991c6c10497d3d161515b107d5d</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I found some new information:&lt;br/&gt;
If I try to decode the first message I get the following:&lt;/p&gt;
&lt;p&gt;message priority = 1&lt;br/&gt;
EDP=0&lt;br/&gt;
Data Page=1&lt;br/&gt;
PDU=76 since PDU is less than 240 the next 16 bits are for source and destination&lt;br/&gt;
Destination = 0&lt;br/&gt;
Source = 255&lt;br/&gt;
PGN=19456&lt;/p&gt;
&lt;p&gt;Am I on the right track? If so, why is the destination 0? How can I determine what PDU 76 means?&lt;br/&gt;
Are there PGN messages that I can use to create my own custom hardware?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>J1939 Decode</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/824698c16f/?limit=25#5635" rel="alternate"/><published>2020-02-27T13:51:45.635000Z</published><updated>2020-02-27T13:51:45.635000Z</updated><author><name>johnfarrugia</name><uri>https://forge.codesys.com/u/johnfarrugia/</uri></author><id>https://forge.codesys.com86dd9ebc995d1a14aa8fc598ebbd7bc1bda16034</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I'm working on decoding a few Canbus messages. I know what they do but I don't know what they mean.&lt;br/&gt;
I have a few IO modules and the controller will send a message of:&lt;/p&gt;
&lt;p&gt;0x054c00ff 01 a1 20 00 00 00 00 84 -This message will turn on output#1&lt;br/&gt;
0x054c00ff 01 a1 10 06 01 32 00 84 -This message will turn on output#1 with PWM of 50%&lt;br/&gt;
0x054c00ff a0 a1 60 01 00 80 00 02 -This message will request status and the module will reply with 0x054c0001 a1 a0 00 46 02 00 00 00 &lt;/p&gt;
&lt;p&gt;Can someone shed some light on what these numbers represent?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>