CANBUS J1939 driver/protocol integration direction

Hi There,

Has anyone integrated J1939 protocol into the CANBUS for ardupilot? Or given the protocols implemented can we leverage what is already completed? Basically looking for some guidance on where to start with this while leveraging what has been implemented thus far? Or even a branch off master if someone has already completed such!

Thanks yall.

We have DroneCAN, Cyphal (not supported by Ardupilot) and multitude of single purpose protocols, we don’t need yet another one, especially since it comes with a significant address space already allocated for automotive. It would be like having another DroneCAN but worse.

Understood, completely exclusive to our project so doesn’t need to be committed/accepted back to the trunk. Was hoping to get some direction rather than an opinion.

1 Like

I think it could be interesting to support this even if bringing new CAN protocol is tricky. Best way would be to find an open implementation and make a port of it into ArduPilot.
If the protocol is just on the application layer and quite simple, it should be possible to implement it in LUA directly which should simplify the initial integration I think.

But in both case, it will need good dev time to support this

Awesome thank you for this. It is just at the application layer so should be fairly straightforward, could be done with LUA scripts and have seen an example… If i wanted to just pull from the CANBUS in the software to retrieve the frame and then decode appropriately for J1939, is this feasible?

Do you have a good example I can follow and take from there? Basically trying to make sense of a good driver that inits, reads and writes on the canbus at a simple level. As once I can pull from the canbus, I will just need to change how it is decoded…