Thank you for making cantools. I'm using it daily and enjoying how easy and powerful it is.<p>Two other projects also deserve to be mentioned. The opendbc is attempt to make sense of CAN traffic in different cars, they reverse-engineer messages and provide descriptions to each. It's part of comma.ai open source autonomous driving effort. The other project is CANboat which does similar thing for NMEA2000 protocol used on boats.<p>The industry so far is very closed and rejects concept of interoperability. It's nice that somebody is taking steps in right direction.
Throwing out there that Wireshark has CAN parsing ability. For any else of y'all that have been stuck with a legacy non standard CAN protocol running on industrial automation, writing a Lua protocol parser and a little script to convert whatever internal format you've been using to pcap-ng will be an afternoon or two very well spent.
If you work with J1939 there is a can-j1939 kernel module which was mainlined in the 5.4 Linux kernel. It handles address negotiation and other time-sensitive matters which would have had to be done in user space previously.<p><a href="https://github.com/linux-can/can-utils/blob/master/can-j1939-kickstart.md" rel="nofollow">https://github.com/linux-can/can-utils/blob/master/can-j1939...</a>
I would like to suggest that in your "About" suggestion you provide a short description what a "CAN bus" is (with links to <a href="https://en.wikipedia.org/wiki/CAN_bus" rel="nofollow">https://en.wikipedia.org/wiki/CAN_bus</a> - or whatever you feel is appropriate ).<p>I'm a very technical person, and I honestly don't think I'd ever heard of it. I spent a decent bit of time looking on the site trying to figure out what it was before resorting to Google.<p>It's not a huge deal, but seems to me like it would be helpful, and worth the effort.
Here is another project for working with CAN:<p><a href="https://github.com/hardbyte/python-can" rel="nofollow">https://github.com/hardbyte/python-can</a><p>I used it (as well as Cantools) for importing various CAN-specific data formats.
Has anyone taken canbus and deployed it on a greenfield non-automotive system? If so, what was the thought process to justify use of this protocol vs. something like ethernet? The selling point seems to be 'save copper' but the associated overheads (tooling, training, reduced throughput[0], larger connectors, multidrop bus debug drawbacks, etc.) seem like they would <i>far</i> outweigh any nominal savings in all but the highest volume production scenarios.<p>[0] <a href="https://en.wikipedia.org/wiki/ELM327#Protocols_supported_by_ELM327" rel="nofollow">https://en.wikipedia.org/wiki/ELM327#Protocols_supported_by_...</a>
I'm very interested in beginning to monitor some information on my vehicle. Is the usual workflow involve pulling a dbc file off the vehicle with a CAN bus reader and using software to look into it? Or is it more complicated? Anyone have recommendations as to the reader itself?
For those interested in CAN bus for UAVs, there is <a href="https://github.com/uavcan" rel="nofollow">https://github.com/uavcan</a> as well.
Ugh, where was this when I needed it in 2013? At $OLDJOB my boss and I wrote pretty much this entire thing, in an unholy mix of bash and Tcl, much more poorly.