How lansalot/agopengps works
AgOpenGPS is agricultural precision-mapping and machine-guidance software, accompanied by AgIO, a communications hub. The main workflow takes GPS/NMEA position input into the guidance application, where field geometry and guidance models support mapping, steering guidance, and implement section control; AgIO and companion tools exchange or simulate device communications. The tree and README establish these capabilities, but sampled source is limited, so several links represent documented behavior rather than inspected call sites.
Main entry points: FormGPS.cs GPS Interface · Source/Program.cs AgIO Hub · GPS/Program.cs AgOpenGPS · CNMEA.cs NMEA Processing
Components 23
Applications
- AgOpenGPS
SourceCode/GPS/Program.cs - GPS Interface
SourceCode/GPS/Forms/FormGPS.cs
Communications
- AgIO Hub
SourceCode/AgIO/Source/Program.cs - Communication UI
SourceCode/AgIO/Source/Forms/FormLoop.cs - NMEA Processing
SourceCode/GPS/Classes/CNMEA.cs - UDP Transport
SourceCode/AgIO/Source/Forms/FormUDP.cs - Serial Transport
SourceCode/AgIO/Source/Forms/SerialComm.Designer.cs - GPS Output
SourceCode/GPS_Out/Source/Program.cs - Module Simulator
SourceCode/ModSim/Source/Forms/FormSim.cs
Field and Guidance
- Field Models
SourceCode/AgOpenGPS.Core/Models/Field/Field.cs - Field Files
SourceCode/GPS/IO/TrackFiles.cs - Guidance Engine
SourceCode/GPS/Classes/CGuidance.cs - Section Control
SourceCode/GPS/Classes/CSection.cs - Map Rendering
SourceCode/AgOpenGPS.Core/DrawLib/GLW.cs
Sharing and Updates
- Field Sharing UI
SourceCode/GPS/Forms/Field/FormAgShareUploader.cs - AgShare Client
SourceCode/AgOpenGPS.Core/AgShare/AgShareClient.cs - Updater
SourceCode/Updater/Services/UpdateService.cs - Firmware Update UI
SourceCode/Updater/Forms/FormFirmwareUpdate.cs
Shared Core
- Application Model
SourceCode/AgOpenGPS.Core/Models/ApplicationModel.cs - XML Settings
SourceCode/AgLibrary/Settings/XmlSettingsHandler.cs
Other components
- Operator
- AgShare Service
- GitHub Releases
Connections 23
- Operator → AgOpenGPS: starts
- AgOpenGPS → GPS Interface: opens
- Operator → AgIO Hub: starts
- AgIO Hub → Communication UI: opens
- AgIO Hub → UDP Transport: configures
- AgIO Hub → Serial Transport: configures
- Operator → Module Simulator: runs
- Operator → GPS Output: runs
- AgIO Hub → NMEA Processing: relays position
- NMEA Processing → GPS Interface: supplies position
- GPS Interface → Field Models: uses field
- Field Models → Field Files: persists field
- GPS Interface → Guidance Engine: requests guidance
- GPS Interface → Section Control: controls sections
- GPS Interface → Map Rendering: renders map
- Operator → Field Sharing UI: shares field
- Field Sharing UI → AgShare Client: requests transfer
- AgShare Client → AgShare Service: exchanges fields
- Operator → Updater: checks updates
- Updater → GitHub Releases: checks releases
- Operator → Firmware Update UI: opens firmware update
- GPS Interface → Application Model: uses state
- AgIO Hub → XML Settings: loads settings