Would AgOpenGPS handle calibration then, and then only give the rate controller arduino a desired ppm set point for flow? I think on my sprayer the calibration routine (I don't think I've ever done it since our existing calibration seems close) is something like hold the pressure at 40 psi with one segment on, and then measure the volume at a nozzle with a pitcher, and put that number into the computer, which calculates a conversion constant.
Also the arduino rate controller may want to send numbers back to AgOpenGPS, such as the current flow ppm, total pulse count (total gallonage), etc, for display. Also for calibration, the arduino is likely going to need to read pressure from a transducer.
As I see it, the rate controller will need to be changed into different modes (calibration, run, etc) on command from AOG.
Thinking on it, I believe favor the arduino doing more of the work instead of AOG. This work would include calibration of actual rate to ppm, holding a desired actual rate set point, etc. For example, instead of AOG calculating the desired ppm, maybe AOG should just send the actual desired rate to the arduino and let it figure it the ppm and so forth. This is pretty much how the ISOBUS architecture works, for example. Coverage mapping and variable rate control (which run in the monitor) are separate from the actual implement rate controller (which stays on the implement). In my opinion this separation keeps more modular and makes it easier to adapt AOG to run with other forms of rate control, including a drill.
I'm sure there are lots of ways of architecting it. Just rambling on a cold winter day.
Last edited by torriem; 11-02-2017 at 02:27 PM.