PLUS+1 Software > Code sharing

J1939 Receiving Large Message (EC, FEE3)

(1/3) > >>

AlbertMilani:
Hi,

Does anyone have any sample code for receiving large J1939 message that make up more than one packet?  I can't even see how where to start with this.  I've successfully sent and received smaller messages.

I specifically am trying to get the EC, FEE3 message which has 8*7 bytes of data.

Thanks,
Albert

AlbertMilani:
I just realized that
Topic: PGN 65259 SPN 588
https://www.plus1forum.danfoss.com/index.php?topic=1585.0
addresses my question but for a different PGN.

I'll try it soon and report back.

Albert

AlbertMilani:
I tried the same code from that other topic: PGN 65259 SPN 588 but I'm not seeing any attempts from the engine to send the info.  On the CAN monitor, I see my request which is similar to another request I'm making for a simple PGN that is working but the engine seems to be making no attempt to respond to the request for the large message - I don't see any EB00 packets:

Here's my request where I see it working for the simple PGN; note that I tried a different PGN, FEE3 since FEEB, 65259 wasn't working:

--- Code: ---0    18EA002C X       3  E5  FE  00                              6.484 R
0    18EA002C X       3  E3  FE  00                              6.500 R
 ...
0    18FEE500 X       8  63  00  00  00  FF  FF  FF  FF          6.515 R

--- End code ---

After my request for the large message PGN, should I see something like this on the CAN bus?:

--- Code: ---0    1CEB002C X       8  01  XX  XX  ...

--- End code ---

Thanks,
Albert

P.S.: This is not working for two different engines.

PosFdbk~~~~~:
What is in the rest of your code?  The way the Rx block work, they "absorb" the message.  If this is added after say a DM1 Rx, it will never see the TP messages because they are already taken by DM1.   You basically have to have a central TP receiver that then distributes to places where it is used.

Anyhow, sorry for digging up an old thread, hope you solved the problem!

AlbertMilani:
So I can't simply use two simple multipacket message handler function blocks like DM1_Rx1 and even DM2_Rx1 in the same application?!

I was assuming when I got back to this, I'd be able to just make the Enable input false at different times but now I see these blocks don't have them!  What if I lied about the engine address to effectively disable them?  This would be ugly but so much easier.

> You basically have to have a central TP receiver that then distributes to places where it is used.
Should I be able to connect a few parsers to the same TP_RTS_CTS_Rx block?  And send different requests at different times?

> Anyhow, sorry for digging up an old thread, hope you solved the problem!
No apology is needed especially since I didn't solve my problem yet.

Thanks!
Albert

Navigation

[0] Message Index

[#] Next page

Go to full version