To say this has caused far too many words typed in the dev group is an understatement. So, I am putting up this discussion to hear some feedback and explain a few things.
We all know the downside of usb, drivers, loss of connection from poorly designed connectors, constantly figuring which port (was it com5 or com9 or com3 or… ) and then have the numbers changed plugging them in in a different spot. The upside? We all know how to plug in a usb and they generally work. But, if you need to go more then 3 or 4 meters - you are stuck. Because all ground loops together from the connections, there can be noise causing problems and once a single bit goes missing, usb says good bye and won’t reconnect till you bing bong the plug.
There is an option to overcome length, to use a usb to multi RS232 box where there is one usb connected and you see several ports. Quality versions are not cheap, and rs232 is very reliable, noise immune, able to go long distance - but then you are still back to picking ports to do specific tasks.
UDP is a network based on everything sent everywhere. A switch box allows multiple modules to be connected together, and being udp all you need to do is plug them in and it works. Ethernet also has the advantage of small transformers in each RJ45 connector allowing isolation without a big ground loop for the signal. Many people use udp and it has been proven to very reliable. Within our application udp can easily handle any distance, which by the way is 100m.
I think you see where this is going. Use udp and make AgIO simple, connection simple, secure and reliable, and fully plug and play without picking com ports. That said, serial connection will remain for primary gps in along with an additional RTCM port to send to a second connector for RTK.
As far as Roll in dual, as soon as you go float you lose roll accuracy very quickly. The thought is to use the imu for roll on dual as well. This allows a couple of neat things - using the dual antenna with one antenna over the pivot, the other at the front of the tractor giving no offset and very long accurate heading values as well as pitch. You can also just use dual roll as well.
As far as hardware, there is still debate on exactly how to arrange the parts. A single board with ublox/bynav/septentrio sockets that allow single and dual system along with mounted imu for correction. But here is where it gets fuzzy. Do we integrate the the steer with the gps? Do we integrate machine control as well making a true all in one board? Or keep gps separate and have steering and machine or… you can see the possibilities of combinations. Being udp - you just plug in whatever is made and the data will get there and back.
GPS is the most likely to change as far as future designs. Autosteer hasn’t changed much at all in 3 years. Machine is the poor stepchild that gets left behind all the time.
As far as ethernet not being on a tablet, no problem as the only way out is usb, you use a usb to ethernet adaptor. If you have type C you can use a usb to switch like this:
The only setting really is match your computer ip address to the one we set for AgIO - which will not be 192.168.1.x so that common networks don’t interfere, especially wireless. Another option is use a household router that provides a switch and wifi to send to a esp32 based module (not gps though). You can attach camera’s for computer vision via ethernet as well, and many other things. As GPS moves to 20 and 50 hz, ethernet can also allow higher fix rates.
I would love to hear your thoughts. I know this is a large post, but its a large topic. By far the most important thing to mention - don’t fear ethernet, it is a lot easier then usb if the system is designed fully to use it.