I'm currently looking at moving over to the Duet 3 for my CNC
One of the things that's caught my eye is the use of CAN-FD
This seems like a much cheaper / easier method for motion control instead of Ethercat for example, which has licencing implications.
Based on what I can see of the protocol - https://github.com/Duet3D/CANlib/blob/master/doc/Duet 3 CAN protocol.odt
I think at present it doesn't take cable propagation time into account
in that I don't think it measures the time taken to send a message to a client board / back again (like ethercat does)
I think instead it just sends a clock sync signal down the line to resync the attached board every now and again.
I'd guess this wouldn't make that much of a difference with short cable runs anyway, but I was just curious to know if this is true.
I've noticed with the Duet3 you can use an Rpi 3 / 4 etc for the wifi frontend.
One of the things I'm considering at the moment is making my own CAN boards to attach to the Duet, such as one that allows connectivity to a VFD's RS485 port
for sending spindle speed or setting / reading VFD paramters.
Or other heads / boards such as the output from a Blu-Ray Recorder laser etc
Is it or will it be possible to create custom G-Code messages (or sub messages) to send custom CAN protocol message via the use of the Rpi at some point?
There was some mention about user defined messages here I think https://forum.duet3d.com/topic/18855/can-development-possibilities/5?_=1615664485490
Is it also possible to override default G-Codes at the Rpi level for things like setting spindle speed etc? (for example runs a python script which signals the duet to send a CAN-FD message)