PLUS+1 Software > Code sharing
J1939 Receiving Large Message (EC, FEE3)
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