ArduPilot / ardupilot

ArduPlane, ArduCopter, ArduRover, ArduSub source
http://ardupilot.org/
GNU General Public License v3.0
11k stars 17.54k forks source link

Rover/Boat: add support for NMEA 2000 echosounders #9672

Open rmackay9 opened 6 years ago

rmackay9 commented 6 years ago

Rover/Boat currently supports echosounders like the ECT400 that output using the NMEA 0183 protocol but there are many other low cost echosounders out there like the AirMar DST 800 that use the NMEA 2000 protocol so we should add support for these too.

NMEA 2000 is apparently a form of CAN.

tajisoft commented 6 years ago

@rmackay9 I'm interested in this issue. I want to challenge to implement about NMEA2000. I'll buy a NMEA2000 device to test.

artsiom-sukharau commented 5 years ago

Hi, maybe this could be helpful to implement driver https://github.com/ttlappalainen/NMEA2000

therishidesai commented 1 year ago

Was any work done on this? It looks like the new Torqeedo motors are now CAN only and use NMEA2000 as well so adding support for this would be useful.

rmackay9 commented 1 year ago

@therishidesai,

No developers have started on this I'm afraid.

Apparently the Torqeedo motors with 25kW (or higher) use a different version of CAN called SAE J1939. I'm happy to add support for these larger Torqeedo motors but I will need access to a motor and that probably means someone would need to send me one (even a half broken or used one) or sponsor the purchase of one. I'm definitely not trying to pressure anyone of course, I'm just putting this out there so if a company comes along and is interested they know who to contact.

rmackay9 commented 4 months ago

An update to this is we have NMEA 2000 support via Lua now in PR https://github.com/ArduPilot/ardupilot/pull/27433. This doesn't immediately mean that we can use it for NMEA 2000 echosounders but it is a step in the right direction perhaps.

tridge commented 4 months ago

@therishidesai @tajisoft if either of you have a NMEA 2000 echosounder or other NMEA 2000 device and want support then what I would need is a log with LOG_DISARMED=1 using this logging script: https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Scripting/examples/CAN_logger.lua with a log from that script and some description of what the correct data should be a driver should be possible

AlksSAV commented 4 months ago

It would be great to add support for speed log and compass according to the nmea 2000 standard. I have a marine magnetic compass with nmea 2000 support. There is also a speed sensor with nmea 0183 support, it is easy to convert it to nmea2000, as well as an echo sounder.