diff --git a/AgroBase/.vs/AgroBase/FileContentIndex/2ba8f194-75b0-4663-97cc-7722157733f0.vsidx b/AgroBase/.vs/AgroBase/FileContentIndex/2ba8f194-75b0-4663-97cc-7722157733f0.vsidx
new file mode 100644
index 000000000..9efe9bdc3
Binary files /dev/null and b/AgroBase/.vs/AgroBase/FileContentIndex/2ba8f194-75b0-4663-97cc-7722157733f0.vsidx differ
diff --git a/AgroBase/.vs/AgroBase/FileContentIndex/30adc8ae-f102-4e75-b4e2-8c92063dae64.vsidx b/AgroBase/.vs/AgroBase/FileContentIndex/30adc8ae-f102-4e75-b4e2-8c92063dae64.vsidx
deleted file mode 100644
index b74eda63d..000000000
Binary files a/AgroBase/.vs/AgroBase/FileContentIndex/30adc8ae-f102-4e75-b4e2-8c92063dae64.vsidx and /dev/null differ
diff --git a/AgroBase/.vs/AgroBase/FileContentIndex/d0b15a29-ab6c-4c9c-b3bb-eddd5b2edf49.vsidx b/AgroBase/.vs/AgroBase/FileContentIndex/d0b15a29-ab6c-4c9c-b3bb-eddd5b2edf49.vsidx
deleted file mode 100644
index 69509ff87..000000000
Binary files a/AgroBase/.vs/AgroBase/FileContentIndex/d0b15a29-ab6c-4c9c-b3bb-eddd5b2edf49.vsidx and /dev/null differ
diff --git a/AgroBase/.vs/AgroBase/FileContentIndex/f6af31a6-9033-497c-a9d3-c421913519cd.vsidx b/AgroBase/.vs/AgroBase/FileContentIndex/f6af31a6-9033-497c-a9d3-c421913519cd.vsidx
new file mode 100644
index 000000000..e644f5da7
Binary files /dev/null and b/AgroBase/.vs/AgroBase/FileContentIndex/f6af31a6-9033-497c-a9d3-c421913519cd.vsidx differ
diff --git a/AgroBase/.vs/AgroBase/v17/.suo b/AgroBase/.vs/AgroBase/v17/.suo
index 21164147b..4a660db80 100644
Binary files a/AgroBase/.vs/AgroBase/v17/.suo and b/AgroBase/.vs/AgroBase/v17/.suo differ
diff --git a/AgroBase/AgroBase/.vs/AgroBase.csproj.dtbcache.json b/AgroBase/AgroBase/.vs/AgroBase.csproj.dtbcache.json
index 45dccc959..f63fa16db 100644
--- a/AgroBase/AgroBase/.vs/AgroBase.csproj.dtbcache.json
+++ b/AgroBase/AgroBase/.vs/AgroBase.csproj.dtbcache.json
@@ -1 +1 @@
-{"RootPath":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase","ProjectFileName":"AgroBase.csproj","Configuration":"Debug|x64","FrameworkPath":"","Sources":[{"SourceFile":"Forms\\Atuador\\frmAtuCalibragem.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuCalibragem.Designer.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuConfig.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuConfig.Designer.cs"},{"SourceFile":"Forms\\Direcional\\frmDirConfig.cs"},{"SourceFile":"Forms\\Direcional\\frmDirConfig.Designer.cs"},{"SourceFile":"Forms\\Direcional\\frmDirPlot.cs"},{"SourceFile":"Forms\\Direcional\\frmDirPlot.Designer.cs"},{"SourceFile":"Forms\\frmA05Config.cs"},{"SourceFile":"Forms\\frmA05Config.Designer.cs"},{"SourceFile":"Forms\\frmAcompanhamento.cs"},{"SourceFile":"Forms\\frmAcompanhamento.Designer.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuCamera.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuCamera.Designer.cs"},{"SourceFile":"Forms\\frmBLD.cs"},{"SourceFile":"Forms\\frmBLD.Designer.cs"},{"SourceFile":"Forms\\frmEthernet.cs"},{"SourceFile":"Forms\\frmEthernet.Designer.cs"},{"SourceFile":"Forms\\frmGPS.cs"},{"SourceFile":"Forms\\frmGPS.Designer.cs"},{"SourceFile":"Forms\\frmKinect.cs"},{"SourceFile":"Forms\\frmKinect.Designer.cs"},{"SourceFile":"Forms\\frmLoraConfig.cs"},{"SourceFile":"Forms\\frmLoraConfig.Designer.cs"},{"SourceFile":"Forms\\frmMapa.cs"},{"SourceFile":"Forms\\frmMapa.Designer.cs"},{"SourceFile":"Forms\\frmMKS.cs"},{"SourceFile":"Forms\\frmMKS.Designer.cs"},{"SourceFile":"Forms\\frmMvdConfig.cs"},{"SourceFile":"Forms\\frmMvdConfig.Designer.cs"},{"SourceFile":"Forms\\frmOID.cs"},{"SourceFile":"Forms\\frmOID.Designer.cs"},{"SourceFile":"Forms\\frmPinout.cs"},{"SourceFile":"Forms\\frmPinout.Designer.cs"},{"SourceFile":"Forms\\frmSimulacaoMapaGPS.cs"},{"SourceFile":"Forms\\frmSimulacaoMapaGPS.Designer.cs"},{"SourceFile":"Forms\\frmTreinamentoIA.cs"},{"SourceFile":"Forms\\frmTreinamentoIA.Designer.cs"},{"SourceFile":"Forms\\frmWT901C.cs"},{"SourceFile":"Forms\\frmWT901C.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmAjustes.cs"},{"SourceFile":"Forms\\IHM\\frmAjustes.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmDiagnosticos.cs"},{"SourceFile":"Forms\\IHM\\frmDiagnosticos.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmDialogoMapa.cs"},{"SourceFile":"Forms\\IHM\\frmDialogoMapa.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmIHM.cs"},{"SourceFile":"Forms\\IHM\\frmIHM.Designer.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovCamera.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovCamera.Designer.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovDiagnosticos.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovDiagnosticos.Designer.cs"},{"SourceFile":"Forms\\frmInstancial.cs"},{"SourceFile":"Forms\\frmInstancial.Designer.cs"},{"SourceFile":"Forms\\frmJoystick.cs"},{"SourceFile":"Forms\\frmJoystick.Designer.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovConfig.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovConfig.Designer.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovPlot.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovPlot.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmInicioOperacao.cs"},{"SourceFile":"Forms\\IHM\\frmInicioOperacao.Designer.cs"},{"SourceFile":"Forms\\Operacoes\\frmOperacaoManual.cs"},{"SourceFile":"Forms\\Operacoes\\frmOperacaoManual.Designer.cs"},{"SourceFile":"Forms\\Operacoes\\frmOperacaoMapaGPS.cs"},{"SourceFile":"Forms\\Operacoes\\frmOperacaoSeguidorLinha.Designer.cs"},{"SourceFile":"Forms\\Operacoes\\frmParametrizacaoOperacao.cs"},{"SourceFile":"Forms\\Operacoes\\frmParametrizacaoOperacao.Designer.cs"},{"SourceFile":"Forms\\Operacoes\\frmResultadosOperacao.cs"},{"SourceFile":"Forms\\Operacoes\\frmResultadosOperacao.Designer.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSenCamera.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSenCamera.Designer.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSenConfig.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSenConfig.Designer.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSonar.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSonar.Designer.cs"},{"SourceFile":"Models\\AlarmeModel.cs"},{"SourceFile":"Models\\Components\\AsyncTaskTimerModel.cs"},{"SourceFile":"Models\\BLD300RModel.cs"},{"SourceFile":"Models\\CameraCaminhoModel.cs"},{"SourceFile":"Models\\CameraModel.cs"},{"SourceFile":"Models\\CameraSoloModel.cs"},{"SourceFile":"Models\\Components\\CustomDialog.cs"},{"SourceFile":"Models\\DispositivosModel.cs"},{"SourceFile":"Models\\GPSModel.cs"},{"SourceFile":"Models\\GraficoInterativoModel.cs"},{"SourceFile":"Models\\KalmanFilter.cs"},{"SourceFile":"Models\\KinectModel.cs"},{"SourceFile":"Models\\LoRaModel.cs"},{"SourceFile":"Models\\MapaDinamicoModel.cs"},{"SourceFile":"Models\\MapasModel.cs"},{"SourceFile":"Models\\MensagemFilaModel.cs"},{"SourceFile":"Models\\MKS057DModel.cs"},{"SourceFile":"Models\\ModbusModel.cs"},{"SourceFile":"Models\\Modules\\AtuadorModel.cs"},{"SourceFile":"Models\\Modules\\DirecionalModel.cs"},{"SourceFile":"Models\\Modules\\DispositivoBaseModel.cs"},{"SourceFile":"Models\\Enums.cs"},{"SourceFile":"Models\\GeneralJoystick.cs"},{"SourceFile":"Models\\Modules\\MovimentacaoModel.cs"},{"SourceFile":"Models\\Modules\\MovimentacaoUnificadoModel.cs"},{"SourceFile":"Models\\Modules\\PinoutModel.cs"},{"SourceFile":"Models\\Modules\\SensoriamentoModel.cs"},{"SourceFile":"Models\\MotorComum.cs"},{"SourceFile":"Models\\MPCController.cs"},{"SourceFile":"Models\\MPCControllerAprimorado.cs"},{"SourceFile":"Models\\MPCControllerSimple.cs"},{"SourceFile":"Models\\OAKCameraModel.cs"},{"SourceFile":"Models\\OIDModel.cs"},{"SourceFile":"Models\\Operacoes\\OperacaoMapaGPSModel.cs"},{"SourceFile":"Models\\Operacoes\\OperacaoModel.cs"},{"SourceFile":"Models\\Operacoes\\OperacaoParametrosModel.cs"},{"SourceFile":"Models\\PerformanceModel.cs"},{"SourceFile":"Models\\PIDModel.cs"},{"SourceFile":"Models\\PZEMModel.cs"},{"SourceFile":"Models\\SonarCamModel.cs"},{"SourceFile":"Models\\SonarModel.cs"},{"SourceFile":"Models\\SyncDataModel.cs"},{"SourceFile":"Models\\TrajetoriaMapaOperacaoModel.cs"},{"SourceFile":"Models\\TreinamentoIAModel.cs"},{"SourceFile":"Models\\UltrasonicA05Model.cs"},{"SourceFile":"Models\\Variaveis.cs"},{"SourceFile":"Models\\VariaveisMonitoramento.cs"},{"SourceFile":"Models\\VersionamentoModel.cs"},{"SourceFile":"Models\\Visualizador3DModel.cs"},{"SourceFile":"Models\\WT901CModel.cs"},{"SourceFile":"Services\\APIService.cs"},{"SourceFile":"Services\\BLD300RService.cs"},{"SourceFile":"Services\\CameraService.cs"},{"SourceFile":"Services\\CANService.cs"},{"SourceFile":"Services\\CoulombCounterService.cs"},{"SourceFile":"Services\\DispositivosService.cs"},{"SourceFile":"Forms\\frmPrincipal.cs"},{"SourceFile":"Forms\\frmPrincipal.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Services\\DispositivosServiceFactory.cs"},{"SourceFile":"Services\\EthernetService.cs"},{"SourceFile":"Services\\FilaService.cs"},{"SourceFile":"Services\\GPSService.cs"},{"SourceFile":"Services\\IDispositivosService.cs"},{"SourceFile":"Services\\IFirmwareSensorBase.cs"},{"SourceFile":"Services\\KinectService.cs"},{"SourceFile":"Services\\LoRaEspService.cs"},{"SourceFile":"Services\\LoRaSerializer.cs"},{"SourceFile":"Services\\LoRaService.cs"},{"SourceFile":"Services\\MapasService.cs"},{"SourceFile":"Services\\MKS057DCanService.cs"},{"SourceFile":"Services\\MKS057DService.cs"},{"SourceFile":"Services\\ModbusService.cs"},{"SourceFile":"Services\\MqttService.cs"},{"SourceFile":"Services\\OAKCameraService.cs"},{"SourceFile":"Services\\OIDCanService.cs"},{"SourceFile":"Services\\OIDService.cs"},{"SourceFile":"Services\\PythonService.cs"},{"SourceFile":"Services\\PZEMService.cs"},{"SourceFile":"Services\\SerialService.cs"},{"SourceFile":"Services\\SonarService.cs"},{"SourceFile":"Services\\SyncDataService.cs"},{"SourceFile":"Services\\UltrasonicA05Service.cs"},{"SourceFile":"Services\\UsrDR302Service.cs"},{"SourceFile":"Services\\VersionamentoService.cs"},{"SourceFile":"Services\\Visualizador3DService.cs"},{"SourceFile":"Services\\WaveshareCanFDService.cs"},{"SourceFile":"Services\\WifiService.cs"},{"SourceFile":"Services\\WT901CService.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\x64\\Debug\\.NETFramework,Version=v4.8.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\AForge.2.2.5\\lib\\AForge.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\AForge.Video.DirectShow.2.2.5\\lib\\AForge.Video.DirectShow.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\AForge.Video.2.2.5\\lib\\AForge.Video.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\AssimpNet.4.1.0\\lib\\net40\\AssimpNet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Emgu.CV.Bitmap.4.4.0.4099\\lib\\netstandard2.0\\Emgu.CV.Bitmap.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Emgu.CV.4.4.0.4099\\lib\\netstandard2.0\\Emgu.CV.Platform.NetStandard.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\MathNet.Numerics.5.0.0\\lib\\net461\\MathNet.Numerics.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Microsoft.Bcl.AsyncInterfaces.8.0.0\\lib\\net462\\Microsoft.Bcl.AsyncInterfaces.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\Microsoft.DirectX.DirectInput.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\Microsoft.DirectX.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft SDKs\\Kinect\\v1.8\\Assemblies\\Microsoft.Kinect.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Microsoft.Web.WebView2.1.0.3240.44\\lib\\net462\\Microsoft.Web.WebView2.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Microsoft.Web.WebView2.1.0.3240.44\\lib\\net462\\Microsoft.Web.WebView2.WinForms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Microsoft.Web.WebView2.1.0.3240.44\\lib\\net462\\Microsoft.Web.WebView2.Wpf.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\MQTTnet.3.1.1\\lib\\net461\\MQTTnet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\OpenCvSharp4.4.10.0.20240616\\lib\\netstandard2.0\\OpenCvSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\OpenCvSharp4.Extensions.4.10.0.20240616\\lib\\netstandard2.0\\OpenCvSharp.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\OpenHardwareMonitorLib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\OpenTK.1.1.2225.0\\lib\\net20\\OpenTK.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\OpenTK.GLControl.1.1.2225.0\\lib\\net20\\OpenTK.GLControl.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\SharpDX.DirectInput.4.2.0\\lib\\net45\\SharpDX.DirectInput.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\SharpDX.4.2.0\\lib\\net45\\SharpDX.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Buffers.4.5.1\\lib\\net461\\System.Buffers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.CodeDom.8.0.0\\lib\\net462\\System.CodeDom.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.ComponentModel.Composition.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Drawing.Common.8.0.1\\lib\\net462\\System.Drawing.Common.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Drawing.Primitives.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.IO.Compression.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Management.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Memory.4.5.5\\lib\\net461\\System.Memory.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Numerics.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Numerics.Vectors.4.5.0\\lib\\net46\\System.Numerics.Vectors.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Runtime.InteropServices.RuntimeInformation.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Text.Encodings.Web.8.0.0\\lib\\net462\\System.Text.Encodings.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Text.Json.8.0.1\\lib\\net462\\System.Text.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.ValueTuple.4.5.0\\lib\\net47\\System.ValueTuple.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Windows.Forms.DataVisualization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\System32\\WinMetadata\\Windows.Gaming.winmd","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\ZedGraph.5.1.5\\lib\\ZedGraph.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\bin\\x64\\Debug\\AgroBase.exe","OutputItemRelativePath":"AgroBase.exe"},{"OutputItemFullPath":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\bin\\x64\\Debug\\AgroBase.pdb","OutputItemRelativePath":"AgroBase.pdb"}],"CopyToOutputEntries":[]}
\ No newline at end of file
+{"RootPath":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase","ProjectFileName":"AgroBase.csproj","Configuration":"Debug|x64","FrameworkPath":"","Sources":[{"SourceFile":"Forms\\Atuador\\frmAtuCalibragem.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuCalibragem.Designer.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuConfig.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuConfig.Designer.cs"},{"SourceFile":"Forms\\Direcional\\frmDirConfig.cs"},{"SourceFile":"Forms\\Direcional\\frmDirConfig.Designer.cs"},{"SourceFile":"Forms\\Direcional\\frmDirPlot.cs"},{"SourceFile":"Forms\\Direcional\\frmDirPlot.Designer.cs"},{"SourceFile":"Forms\\frmA05Config.cs"},{"SourceFile":"Forms\\frmA05Config.Designer.cs"},{"SourceFile":"Forms\\frmAcompanhamento.cs"},{"SourceFile":"Forms\\frmAcompanhamento.Designer.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuCamera.cs"},{"SourceFile":"Forms\\Atuador\\frmAtuCamera.Designer.cs"},{"SourceFile":"Forms\\frmBLD.cs"},{"SourceFile":"Forms\\frmBLD.Designer.cs"},{"SourceFile":"Forms\\frmEthernet.cs"},{"SourceFile":"Forms\\frmEthernet.Designer.cs"},{"SourceFile":"Forms\\frmGPS.cs"},{"SourceFile":"Forms\\frmGPS.Designer.cs"},{"SourceFile":"Forms\\frmKinect.cs"},{"SourceFile":"Forms\\frmKinect.Designer.cs"},{"SourceFile":"Forms\\frmLoraConfig.cs"},{"SourceFile":"Forms\\frmLoraConfig.Designer.cs"},{"SourceFile":"Forms\\frmMapa.cs"},{"SourceFile":"Forms\\frmMapa.Designer.cs"},{"SourceFile":"Forms\\frmMKS.cs"},{"SourceFile":"Forms\\frmMKS.Designer.cs"},{"SourceFile":"Forms\\frmMvdConfig.cs"},{"SourceFile":"Forms\\frmMvdConfig.Designer.cs"},{"SourceFile":"Forms\\frmOID.cs"},{"SourceFile":"Forms\\frmOID.Designer.cs"},{"SourceFile":"Forms\\frmOperarioSonar.cs"},{"SourceFile":"Forms\\frmOperarioSonar.Designer.cs"},{"SourceFile":"Forms\\frmPinout.cs"},{"SourceFile":"Forms\\frmPinout.Designer.cs"},{"SourceFile":"Forms\\frmSimulacaoMapaGPS.cs"},{"SourceFile":"Forms\\frmSimulacaoMapaGPS.Designer.cs"},{"SourceFile":"Forms\\frmTreinamentoIA.cs"},{"SourceFile":"Forms\\frmTreinamentoIA.Designer.cs"},{"SourceFile":"Forms\\frmWT901C.cs"},{"SourceFile":"Forms\\frmWT901C.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmAjustes.cs"},{"SourceFile":"Forms\\IHM\\frmAjustes.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmDiagnosticos.cs"},{"SourceFile":"Forms\\IHM\\frmDiagnosticos.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmDialogoMapa.cs"},{"SourceFile":"Forms\\IHM\\frmDialogoMapa.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmIHM.cs"},{"SourceFile":"Forms\\IHM\\frmIHM.Designer.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovCamera.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovCamera.Designer.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovDiagnosticos.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovDiagnosticos.Designer.cs"},{"SourceFile":"Forms\\frmInstancial.cs"},{"SourceFile":"Forms\\frmInstancial.Designer.cs"},{"SourceFile":"Forms\\frmJoystick.cs"},{"SourceFile":"Forms\\frmJoystick.Designer.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovConfig.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovConfig.Designer.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovPlot.cs"},{"SourceFile":"Forms\\Movimentacao\\frmMovPlot.Designer.cs"},{"SourceFile":"Forms\\IHM\\frmInicioOperacao.cs"},{"SourceFile":"Forms\\IHM\\frmInicioOperacao.Designer.cs"},{"SourceFile":"Forms\\Operacoes\\frmOperacaoManual.cs"},{"SourceFile":"Forms\\Operacoes\\frmOperacaoManual.Designer.cs"},{"SourceFile":"Forms\\Operacoes\\frmOperacaoMapaGPS.cs"},{"SourceFile":"Forms\\Operacoes\\frmOperacaoSeguidorLinha.Designer.cs"},{"SourceFile":"Forms\\Operacoes\\frmParametrizacaoOperacao.cs"},{"SourceFile":"Forms\\Operacoes\\frmParametrizacaoOperacao.Designer.cs"},{"SourceFile":"Forms\\Operacoes\\frmResultadosOperacao.cs"},{"SourceFile":"Forms\\Operacoes\\frmResultadosOperacao.Designer.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSenCamera.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSenCamera.Designer.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSenConfig.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSenConfig.Designer.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSonar.cs"},{"SourceFile":"Forms\\Sensoriamento\\frmSonar.Designer.cs"},{"SourceFile":"Models\\AlarmeModel.cs"},{"SourceFile":"Models\\Components\\AsyncTaskTimerModel.cs"},{"SourceFile":"Models\\BLD300RModel.cs"},{"SourceFile":"Models\\CameraCaminhoModel.cs"},{"SourceFile":"Models\\CameraModel.cs"},{"SourceFile":"Models\\CameraSoloModel.cs"},{"SourceFile":"Models\\Components\\CustomDialog.cs"},{"SourceFile":"Models\\DispositivosModel.cs"},{"SourceFile":"Models\\GPSModel.cs"},{"SourceFile":"Models\\GraficoInterativoModel.cs"},{"SourceFile":"Models\\KalmanFilter.cs"},{"SourceFile":"Models\\KinectModel.cs"},{"SourceFile":"Models\\LoRaModel.cs"},{"SourceFile":"Models\\MapaDinamicoModel.cs"},{"SourceFile":"Models\\MapasModel.cs"},{"SourceFile":"Models\\MensagemFilaModel.cs"},{"SourceFile":"Models\\MKS057DModel.cs"},{"SourceFile":"Models\\ModbusModel.cs"},{"SourceFile":"Models\\Modules\\AtuadorModel.cs"},{"SourceFile":"Models\\Modules\\DirecionalModel.cs"},{"SourceFile":"Models\\Modules\\DispositivoBaseModel.cs"},{"SourceFile":"Models\\Enums.cs"},{"SourceFile":"Models\\GeneralJoystick.cs"},{"SourceFile":"Models\\Modules\\MovimentacaoModel.cs"},{"SourceFile":"Models\\Modules\\MovimentacaoUnificadoModel.cs"},{"SourceFile":"Models\\Modules\\PinoutModel.cs"},{"SourceFile":"Models\\Modules\\SensoriamentoModel.cs"},{"SourceFile":"Models\\MotorComum.cs"},{"SourceFile":"Models\\MPCController.cs"},{"SourceFile":"Models\\MPCControllerAprimorado.cs"},{"SourceFile":"Models\\MPCControllerSimple.cs"},{"SourceFile":"Models\\OAKCameraModel.cs"},{"SourceFile":"Models\\OIDModel.cs"},{"SourceFile":"Models\\Operacoes\\OperacaoMapaGPSModel.cs"},{"SourceFile":"Models\\Operacoes\\OperacaoModel.cs"},{"SourceFile":"Models\\Operacoes\\OperacaoParametrosModel.cs"},{"SourceFile":"Models\\Operadores\\VisualWorkerModel.cs"},{"SourceFile":"Models\\PerformanceModel.cs"},{"SourceFile":"Models\\PIDModel.cs"},{"SourceFile":"Models\\PZEMModel.cs"},{"SourceFile":"Models\\SonarCamModel.cs"},{"SourceFile":"Models\\SonarModel.cs"},{"SourceFile":"Models\\SyncDataModel.cs"},{"SourceFile":"Models\\TrajetoriaMapaOperacaoModel.cs"},{"SourceFile":"Models\\TreinamentoIAModel.cs"},{"SourceFile":"Models\\UltrasonicA05Model.cs"},{"SourceFile":"Models\\Variaveis.cs"},{"SourceFile":"Models\\VariaveisMonitoramento.cs"},{"SourceFile":"Models\\VersionamentoModel.cs"},{"SourceFile":"Models\\Visualizador3DModel.cs"},{"SourceFile":"Models\\WT901CModel.cs"},{"SourceFile":"Services\\APIService.cs"},{"SourceFile":"Services\\BLD300RService.cs"},{"SourceFile":"Services\\CameraService.cs"},{"SourceFile":"Services\\CANService.cs"},{"SourceFile":"Services\\CoulombCounterService.cs"},{"SourceFile":"Services\\DispositivosService.cs"},{"SourceFile":"Forms\\frmPrincipal.cs"},{"SourceFile":"Forms\\frmPrincipal.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Services\\DispositivosServiceFactory.cs"},{"SourceFile":"Services\\EthernetService.cs"},{"SourceFile":"Services\\FilaService.cs"},{"SourceFile":"Services\\GPSService.cs"},{"SourceFile":"Services\\IDispositivosService.cs"},{"SourceFile":"Services\\IFirmwareSensorBase.cs"},{"SourceFile":"Services\\KinectService.cs"},{"SourceFile":"Services\\LoRaEspService.cs"},{"SourceFile":"Services\\LoRaSerializer.cs"},{"SourceFile":"Services\\LoRaService.cs"},{"SourceFile":"Services\\MapasService.cs"},{"SourceFile":"Services\\MKS057DCanService.cs"},{"SourceFile":"Services\\MKS057DService.cs"},{"SourceFile":"Services\\ModbusService.cs"},{"SourceFile":"Services\\MqttService.cs"},{"SourceFile":"Services\\OAKCameraService.cs"},{"SourceFile":"Services\\OIDCanService.cs"},{"SourceFile":"Services\\OIDService.cs"},{"SourceFile":"Services\\Operadores\\ManagerWorkerService.cs"},{"SourceFile":"Services\\Operadores\\VisualWorkerService.cs"},{"SourceFile":"Services\\PythonService.cs"},{"SourceFile":"Services\\PZEMService.cs"},{"SourceFile":"Services\\SerialService.cs"},{"SourceFile":"Services\\SonarService.cs"},{"SourceFile":"Services\\SyncDataService.cs"},{"SourceFile":"Services\\UltrasonicA05Service.cs"},{"SourceFile":"Services\\UsrDR302Service.cs"},{"SourceFile":"Services\\VersionamentoService.cs"},{"SourceFile":"Services\\Visualizador3DService.cs"},{"SourceFile":"Services\\WaveshareCanFDService.cs"},{"SourceFile":"Services\\WifiService.cs"},{"SourceFile":"Services\\WT901CService.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\x64\\Debug\\.NETFramework,Version=v4.8.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\AForge.2.2.5\\lib\\AForge.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\AForge.Video.DirectShow.2.2.5\\lib\\AForge.Video.DirectShow.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\AForge.Video.2.2.5\\lib\\AForge.Video.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\AssimpNet.4.1.0\\lib\\net40\\AssimpNet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Emgu.CV.Bitmap.4.4.0.4099\\lib\\netstandard2.0\\Emgu.CV.Bitmap.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Emgu.CV.4.4.0.4099\\lib\\netstandard2.0\\Emgu.CV.Platform.NetStandard.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\MathNet.Numerics.5.0.0\\lib\\net461\\MathNet.Numerics.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Microsoft.Bcl.AsyncInterfaces.8.0.0\\lib\\net462\\Microsoft.Bcl.AsyncInterfaces.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\Microsoft.DirectX.DirectInput.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\Microsoft.DirectX.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft SDKs\\Kinect\\v1.8\\Assemblies\\Microsoft.Kinect.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Microsoft.Web.WebView2.1.0.3240.44\\lib\\net462\\Microsoft.Web.WebView2.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Microsoft.Web.WebView2.1.0.3240.44\\lib\\net462\\Microsoft.Web.WebView2.WinForms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Microsoft.Web.WebView2.1.0.3240.44\\lib\\net462\\Microsoft.Web.WebView2.Wpf.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\MQTTnet.3.1.1\\lib\\net461\\MQTTnet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\OpenCvSharp4.4.10.0.20240616\\lib\\netstandard2.0\\OpenCvSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\OpenCvSharp4.Extensions.4.10.0.20240616\\lib\\netstandard2.0\\OpenCvSharp.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\OpenHardwareMonitorLib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\OpenTK.1.1.2225.0\\lib\\net20\\OpenTK.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\OpenTK.GLControl.1.1.2225.0\\lib\\net20\\OpenTK.GLControl.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\SharpDX.DirectInput.4.2.0\\lib\\net45\\SharpDX.DirectInput.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\SharpDX.4.2.0\\lib\\net45\\SharpDX.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Buffers.4.5.1\\lib\\net461\\System.Buffers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.CodeDom.8.0.0\\lib\\net462\\System.CodeDom.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.ComponentModel.Composition.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Drawing.Common.8.0.1\\lib\\net462\\System.Drawing.Common.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Drawing.Primitives.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.IO.Compression.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Management.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Memory.4.5.5\\lib\\net461\\System.Memory.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Numerics.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Numerics.Vectors.4.5.0\\lib\\net46\\System.Numerics.Vectors.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Runtime.InteropServices.RuntimeInformation.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Text.Encodings.Web.8.0.0\\lib\\net462\\System.Text.Encodings.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Text.Json.8.0.1\\lib\\net462\\System.Text.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\System.ValueTuple.4.5.0\\lib\\net47\\System.ValueTuple.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Windows.Forms.DataVisualization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\System32\\WinMetadata\\Windows.Gaming.winmd","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\ZendionInc\\agrobot_base\\AgroBase\\packages\\ZedGraph.5.1.5\\lib\\ZedGraph.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\bin\\x64\\Debug\\AgroBase.exe","OutputItemRelativePath":"AgroBase.exe"},{"OutputItemFullPath":"C:\\ZendionInc\\agrobot_base\\AgroBase\\AgroBase\\bin\\x64\\Debug\\AgroBase.pdb","OutputItemRelativePath":"AgroBase.pdb"}],"CopyToOutputEntries":[]}
\ No newline at end of file
diff --git a/AgroBase/AgroBase/AgroBase.csproj b/AgroBase/AgroBase/AgroBase.csproj
index efd9b3217..7c5526f0c 100644
--- a/AgroBase/AgroBase/AgroBase.csproj
+++ b/AgroBase/AgroBase/AgroBase.csproj
@@ -564,6 +564,7 @@
+
diff --git a/AgroBase/AgroBase/Forms/Atuador/frmAtuCalibragem.cs b/AgroBase/AgroBase/Forms/Atuador/frmAtuCalibragem.cs
index b8e988213..751a3745c 100644
--- a/AgroBase/AgroBase/Forms/Atuador/frmAtuCalibragem.cs
+++ b/AgroBase/AgroBase/Forms/Atuador/frmAtuCalibragem.cs
@@ -124,7 +124,7 @@ namespace AgroBase.Forms.Atuador
if (DispAtu != null)
{
- lblConectado.Text = "Conectado: " + (DispAtu.Dados.Conectado ? "Sim" : "Não");
+ lblConectado.Text = "Conectado: " + (DispAtu.Dados.ConexaoAtiva ? "Sim" : "Não");
AtualizarGridSensores();
foreach (var pnlBico in pnlBicos.Controls.OfType().Where(x => x.Name.Contains("pnlB_")))
@@ -139,8 +139,8 @@ namespace AgroBase.Forms.Atuador
{
grdSensoriamento.Rows[0].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.Inicializado;
grdSensoriamento.Rows[1].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.ComandoAtuar;
- grdSensoriamento.Rows[2].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.LeituraEstado;
- grdSensoriamento.Rows[3].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.LeituraPotencia;
+ grdSensoriamento.Rows[2].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
+ grdSensoriamento.Rows[3].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Potencia).atual.valor;
grdSensoriamento.Rows[4].Cells[1].Value = DispAtu.Dados.PressaoLinha.ToString("0.00000");
grdSensoriamento.Rows[5].Cells[1].Value = DispAtu.Dados.PressaoLinhaCalc.ToString("0.00000");
grdSensoriamento.Rows[6].Cells[1].Value = DispAtu.Dados.VazaoFluxoMLpSMedia.ToString("0.00000");
@@ -179,7 +179,7 @@ namespace AgroBase.Forms.Atuador
int circleY = pnl.Height / 4; // Posição Y do círculo (mais próximo ao topo)
// Desenhar o círculo
- if (DispAtu.Dados.BicosPulverizadores.First(x => x.ID == ID).LeituraStatusBico)
+ if (DispAtu.Dados.BicosPulverizadores.First(x => x.ID == ID).ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor)
g.FillEllipse(Brushes.Green, circleX, circleY, circleDiameter, circleDiameter); // LED aceso (círculo preenchido)
else
g.DrawEllipse(Pens.Black, circleX, circleY, circleDiameter, circleDiameter); // LED apagado (círculo vazio)
diff --git a/AgroBase/AgroBase/Forms/IHM/frmDiagnosticos.cs b/AgroBase/AgroBase/Forms/IHM/frmDiagnosticos.cs
index 835b84978..6b1b0a5f2 100644
--- a/AgroBase/AgroBase/Forms/IHM/frmDiagnosticos.cs
+++ b/AgroBase/AgroBase/Forms/IHM/frmDiagnosticos.cs
@@ -426,7 +426,7 @@ namespace AgroBase.Forms.IHM
idx = PreencheDadosLinha(grid, Testes, idx, Conectado ? 1 : 0);
DispositivosService Dispositivo = (DispositivosService)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == Enums.T_Code.Atu);
- bool Inicializado = Dispositivo != null && Dispositivo.Dados.Conectado;
+ bool Inicializado = Dispositivo != null && Dispositivo.Dados.ConexaoAtiva;
idx = PreencheDadosLinha(grid, Testes, idx, Inicializado ? 1 : 0);
AtuadorBombaModel Bomba = Dispositivo.Dados.BombaPressurizadora;
@@ -477,42 +477,42 @@ namespace AgroBase.Forms.IHM
double Fluxo = FluxoInicializado ? Dispositivo.Dados.VazaoFluxoMLpSInstantanea : -1;
idx = PreencheDadosLinha(grid, Testes, idx, Fluxo);
- bool statusB01_1 = B01Inicializado && B01.LeituraStatusBico;
+ bool statusB01_1 = B01Inicializado && B01.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, statusB01_1 ? 1 : -1);
await EnviarComandoBico(B01, false, 1000);
- bool statusB01_0 = B01Inicializado && !B01.LeituraStatusBico;
+ bool statusB01_0 = B01Inicializado && !B01.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, statusB01_0 ? 0 : -1);
await EnviarComandoBico(B02, true, 1000);
- bool statusB02_1 = B02Inicializado && B02.LeituraStatusBico;
+ bool statusB02_1 = B02Inicializado && B02.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, statusB02_1 ? 1 : -1);
await EnviarComandoBico(B02, false, 1000);
- bool statusB02_0 = B02Inicializado && !B02.LeituraStatusBico;
+ bool statusB02_0 = B02Inicializado && !B02.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, statusB02_0 ? 0 : -1);
await EnviarComandoBico(B03, true, 1000);
- bool statusB03_1 = B03Inicializado && B03.LeituraStatusBico;
+ bool statusB03_1 = B03Inicializado && B03.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, statusB03_1 ? 1 : -1);
await EnviarComandoBico(B03, false, 1000);
- bool statusB03_0 = B03Inicializado && !B03.LeituraStatusBico;
+ bool statusB03_0 = B03Inicializado && !B03.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, statusB03_0 ? 0 : -1);
await EnviarComandoBico(B04, true, 1000);
- bool statusB04_1 = B04Inicializado && B04.LeituraStatusBico;
+ bool statusB04_1 = B04Inicializado && B04.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, statusB04_1 ? 1 : -1);
await EnviarComandoBico(B04, false, 1000);
- bool statusB04_0 = B04Inicializado && B04.LeituraStatusBico;
+ bool statusB04_0 = B04Inicializado && B04.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, statusB04_0 ? 0 : -1);
@@ -722,7 +722,7 @@ namespace AgroBase.Forms.IHM
var Modulo_Sen = Variaveis.OperacaoEmAndamento.DispSen.Dados;
- bool SenIniciado = Modulo_Sen.Conectado;
+ bool SenIniciado = Modulo_Sen.ConexaoAtiva;
idx = PreencheDadosLinha(grid, Testes, idx, SenIniciado ? 1 : 0);
foreach (var Modulo in Dispositivo.Dados.Modulos)
@@ -771,9 +771,9 @@ namespace AgroBase.Forms.IHM
bool AtivarFreio = SenIniciado && ServoFreio != null ? await EnviarComandoMovFreio(Variaveis.OperacaoEmAndamento.DispSen, ServoFreio, angAtivar, Testes[idx], 2000) : false;
idx = PreencheDadosLinha(grid, Testes, idx, ServoFreio != null ? Testes[idx].ValorAferido : -1);
- var SensorAB7V2 = Modulo_Sen.DadosLeitura.SensoresCorrente.FirstOrDefault(x => x.ID == "AB7V2");
- double CorrenteFreio = SensorAB7V2 != null ? SensorAB7V2.Current : -1;
- double TensaoFreio = SensorAB7V2 != null ? SensorAB7V2.BusVoltage : -1;
+ var SensorAB7V2 = Modulo_Sen.Sensores.FirstOrDefault(x => x.ID == "AB7V2");
+ double CorrenteFreio = SensorAB7V2 != null ? SensorAB7V2.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor : -1;
+ double TensaoFreio = SensorAB7V2 != null ? SensorAB7V2.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor : -1;
(bool desatuar, int angDesativar) = Modulo.MovMotor.ConfigFreio.AtualizarDadosFreio(false);
bool DesativarFreio = SenIniciado && ServoFreio != null ? await EnviarComandoMovFreio(Variaveis.OperacaoEmAndamento.DispSen, ServoFreio, angDesativar, Testes[idx], 2000) : false;
@@ -836,18 +836,22 @@ namespace AgroBase.Forms.IHM
DateTime Inicio = DateTime.Now;
bool Sucesso = false;
+ double leituraAngulo = 0;
+
while (!Sucesso && Inicio.AddMilliseconds(Timeout) > DateTime.Now)
{
Dispositivo.Dados.RequisitarDadosModulo(ServoFreio.ID_Num, CanMessagePosicaoDados.Dados1, CanMessagePosicaoDados.Dados1, true);
await Task.Delay(1000);
+ leituraAngulo = ServoFreio.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.ServoAnguloLeitura).atual.valor;
+
Sucesso =
- Teste.ComplementoValorPadrao == "<" ? ServoFreio.LeituraAngulo < Teste.ValorPadrao :
- Teste.ComplementoValorPadrao == ">" ? ServoFreio.LeituraAngulo > Teste.ValorPadrao :
- ServoFreio.LeituraAngulo == Teste.ValorPadrao;
+ Teste.ComplementoValorPadrao == "<" ? leituraAngulo < Teste.ValorPadrao :
+ Teste.ComplementoValorPadrao == ">" ? leituraAngulo > Teste.ValorPadrao :
+ leituraAngulo == Teste.ValorPadrao;
}
- Teste.ValorAferido = ServoFreio.LeituraAngulo;
+ Teste.ValorAferido = leituraAngulo;
return Sucesso;
}
@@ -952,7 +956,7 @@ namespace AgroBase.Forms.IHM
var Modulo_Sen = Variaveis.OperacaoEmAndamento.DispSen.Dados;
- bool SenIniciado = Modulo_Sen.Conectado;
+ bool SenIniciado = Modulo_Sen.ConexaoAtiva;
idx = PreencheDadosLinha(grid, Testes, idx, SenIniciado ? 1 : 0);
foreach (var Modulo in Dispositivo.Dados.Modulos)
@@ -1233,32 +1237,32 @@ namespace AgroBase.Forms.IHM
bool SenConectado = SerialService.DispositivosMapeados.Any(x => x.Dispositivo == T_Code.Sen);
idx = PreencheDadosLinha(grid, Testes, idx, SenConectado ? 1 : 0);
- bool SenIniciado = Modulo_Sen.Conectado;
+ bool SenIniciado = Modulo_Sen.ConexaoAtiva;
idx = PreencheDadosLinha(grid, Testes, idx, SenIniciado ? 1 : 0);
- var S5V = ((FirmwareSensorCorrente)Modulo_Sen.Sensores.FirstOrDefault(x => x.ID == "AB5V").Leitura);
- double Tensao5V = S5V != null ? (double)S5V.BusVoltage : -1;
+ var S5V = Modulo_Sen.Sensores.FirstOrDefault(x => x.ID == "AB5V");
+ double Tensao5V = S5V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Tensao5V);
- double Corrente5V = S5V != null ? (double)S5V.Current : -1;
+ double Corrente5V = S5V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Corrente5V);
- var S7V2 = ((FirmwareSensorCorrente)Modulo_Sen.Sensores.FirstOrDefault(x => x.ID == "AB7V2").Leitura);
- double Tensao7V2 = S7V2 != null ? (double)S7V2.BusVoltage : -1;
+ var S7V2 = Modulo_Sen.Sensores.FirstOrDefault(x => x.ID == "AB7V2");
+ double Tensao7V2 = S7V2.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Tensao7V2);
- double Corrente7V2 = S7V2 != null ? (double)S7V2.Current : -1;
+ double Corrente7V2 = S7V2.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Corrente7V2);
- var S12V = ((FirmwareSensorCorrente)Modulo_Sen.Sensores.FirstOrDefault(x => x.ID == "AB12V").Leitura);
- double Tensao12V = S12V != null ? (double)S12V.BusVoltage : -1;
+ var S12V = Modulo_Sen.Sensores.FirstOrDefault(x => x.ID == "AB12V");
+ double Tensao12V = S12V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Tensao12V);
- double Corrente12V = S12V != null ? (double)S12V.Current : -1;
+ double Corrente12V = S12V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Corrente12V);
- var SImu = ((FirmwareSensorIMU)Modulo_Sen.Sensores.FirstOrDefault(x => x.ID == "GY-91").Leitura);
- double Orientacao = SImu.Iniciado ? SImu.Yaw : -1;
+ var SImu = Variaveis.OperacaoEmAndamento.Sensoriamento.IMU;
+ double Orientacao = SImu.Iniciado ? SImu.Rotacao : -1;
idx = PreencheDadosLinha(grid, Testes, idx, Orientacao);
bool GpsConectado = SerialService.DispositivosMapeados.Any(x => x.Dispositivo == Enums.T_Code.Gps);
@@ -1270,7 +1274,7 @@ namespace AgroBase.Forms.IHM
double Precisao = GpsInicializado ? (int)Variaveis.OperacaoEmAndamento.Sensoriamento.Gps.QualidadeFix : -1;
idx = PreencheDadosLinha(grid, Testes, idx, Precisao);
- double Satelites = GpsInicializado ? Variaveis.OperacaoEmAndamento.Sensoriamento.Gps.NumeroSatelites : -1;
+ double Satelites = GpsInicializado ? Variaveis.OperacaoEmAndamento.Sensoriamento.Gps.NumeroSatelites.valor : -1;
idx = PreencheDadosLinha(grid, Testes, idx, Satelites);
double OrientacaoGPS = GpsInicializado ? Variaveis.OperacaoEmAndamento.Sensoriamento.Gps.OrientacaoReal : -1;
@@ -1322,25 +1326,6 @@ namespace AgroBase.Forms.IHM
ComplementoValorPadrao = ComplementosPadrao[1]
},
new ColunasDiagnosticoModel()
- {
- Componente = "RLLRA",
- Teste = "Inicializado",
- ValorPadrao = 1,
- ComplementoValorPadrao = ComplementosPadrao[1]
- },
- new ColunasDiagnosticoModel()
- {
- Componente = "RLLRA",
- Teste = "Ligar",
- ValorPadrao = 1,
- },
- new ColunasDiagnosticoModel()
- {
- Componente = "RLLRA",
- Teste = "Desligar",
- ValorPadrao = 0,
- },
- new ColunasDiagnosticoModel()
{
Componente = "Módulo LoRa",
Teste = "Conectado",
@@ -1392,26 +1377,9 @@ namespace AgroBase.Forms.IHM
idx = PreencheDadosLinha(grid, Testes, idx, SenConectado ? 1 : 0);
DispositivosService Dispositivo = (DispositivosService)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == T_Code.Sen);
- bool SenInicializado = Dispositivo != null && Dispositivo.Dados.Conectado;
+ bool SenInicializado = Dispositivo != null && Dispositivo.Dados.ConexaoAtiva;
idx = PreencheDadosLinha(grid, Testes, idx, SenInicializado ? 1 : 0);
- SensorReleModel ReleLra = Dispositivo.Dados.Reles.FirstOrDefault(x => x.ID == "RLLRA");
-
- bool RlInicializado = SenInicializado && ReleLra != null && ReleLra.Inicializado;
- idx = PreencheDadosLinha(grid, Testes, idx, RlInicializado ? 1 : 0);
-
- if (RlInicializado)
- await EnviarComandoRele(Dispositivo, ReleLra, true, 1000);
-
- bool RlStatus_1 = RlInicializado && (ReleLra.Leitura?.Leitura ?? Estado.Reset) == Estado.Ligado;
- idx = PreencheDadosLinha(grid, Testes, idx, RlStatus_1 ? 1 : -1);
-
- if (RlInicializado)
- await EnviarComandoRele(Dispositivo, ReleLra, false, 1000);
-
- bool RlStatus_0 = RlInicializado && (ReleLra.Leitura?.Leitura ?? Estado.Reset) == Estado.Desligado;
- idx = PreencheDadosLinha(grid, Testes, idx, RlStatus_0 ? 0 : -1);
-
bool Conectado = SerialService.DispositivosMapeados.Any(x => x.Dispositivo == T_Code.Lra);
idx = PreencheDadosLinha(grid, Testes, idx, Conectado ? 1 : 0);
@@ -1679,7 +1647,7 @@ namespace AgroBase.Forms.IHM
idx = PreencheDadosLinha(grid, Testes, idx, Conectado ? 1 : 0);
DispositivosService Dispositivo = (DispositivosService)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == Enums.T_Code.Sen);
- bool Inicializado = Dispositivo != null && Dispositivo.Dados.Conectado;
+ bool Inicializado = Dispositivo != null && Dispositivo.Dados.ConexaoAtiva;
idx = PreencheDadosLinha(grid, Testes, idx, Inicializado ? 1 : 0);
foreach (var Sinaleiro in Dispositivo.Dados.Sinaleiros)
@@ -1692,7 +1660,7 @@ namespace AgroBase.Forms.IHM
await EnviarComandoSinaleiro(Dispositivo, Sinaleiro, true, 1000);
}
- StatusLED Status = Sinaleiro.LeituraStatus;
+ StatusLED Status = Sinaleiro.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.StatusLEDLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Iniciado && Status == StatusLED.Aceso ? 1 : -1);
if (Iniciado)
@@ -1700,7 +1668,7 @@ namespace AgroBase.Forms.IHM
await EnviarComandoSinaleiro(Dispositivo, Sinaleiro, false, 1000);
}
- Status = Sinaleiro.LeituraStatus;
+ Status = Sinaleiro.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.StatusLEDLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Iniciado && Status == StatusLED.Apagado ? 0 : -1);
}
@@ -1781,7 +1749,7 @@ namespace AgroBase.Forms.IHM
idx = PreencheDadosLinha(grid, Testes, idx, Conectado ? 1 : 0);
DispositivosService Dispositivo = (DispositivosService)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == Enums.T_Code.Sen);
- bool Inicializado = Dispositivo != null && Dispositivo.Dados.Conectado;
+ bool Inicializado = Dispositivo != null && Dispositivo.Dados.ConexaoAtiva;
idx = PreencheDadosLinha(grid, Testes, idx, Inicializado ? 1 : 0);
foreach (var Rele in Dispositivo.Dados.Reles)
@@ -1794,7 +1762,7 @@ namespace AgroBase.Forms.IHM
await EnviarComandoRele(Dispositivo, Rele, true, 1000);
}
- Estado Status = Rele.LeituraEstado;
+ Estado Status = Rele.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Iniciado && Status == Estado.Ligado ? 1 : -1);
if (Iniciado)
@@ -1802,7 +1770,7 @@ namespace AgroBase.Forms.IHM
await EnviarComandoRele(Dispositivo, Rele, false, 1000);
}
- Status = Rele.LeituraEstado;
+ Status = Rele.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor;
idx = PreencheDadosLinha(grid, Testes, idx, Iniciado && Status == Estado.Desligado ? 0 : -1);
}
diff --git a/AgroBase/AgroBase/Forms/Operacoes/frmOperacaoManual.cs b/AgroBase/AgroBase/Forms/Operacoes/frmOperacaoManual.cs
index cc1c5622c..59a09e378 100644
--- a/AgroBase/AgroBase/Forms/Operacoes/frmOperacaoManual.cs
+++ b/AgroBase/AgroBase/Forms/Operacoes/frmOperacaoManual.cs
@@ -185,7 +185,7 @@ namespace AgroBase.Forms.Operacoes
chbMostrarGrade.Checked = false;
}
- bool atuadorAtivado = Variaveis.OperacaoEmAndamento.DispAtu.Dados.Conectado || true;
+ bool atuadorAtivado = Variaveis.OperacaoEmAndamento.DispAtu.Dados.ConexaoAtiva || true;
chbPulverizador.Enabled = atuadorAtivado;
if (!atuadorAtivado)
{
@@ -454,7 +454,7 @@ namespace AgroBase.Forms.Operacoes
private void AtualizarInformacoesGerais()
{
- var _SensoresCorrente = Variaveis.OperacaoEmAndamento.DispSen.Dados.DadosLeitura.SensoresCorrente;
+ var _SensoresCorrente = Variaveis.OperacaoEmAndamento.DispSen.Dados.Sensores.Where(x => x.Componente == S_Code.sCOR);
var AB3V = _SensoresCorrente.FirstOrDefault(x => x.ID == "AB3V");
var AB5V = _SensoresCorrente.FirstOrDefault(x => x.ID == "AB5V");
var AB7V2 = _SensoresCorrente.FirstOrDefault(x => x.ID == "AB7V2");
@@ -471,18 +471,18 @@ namespace AgroBase.Forms.Operacoes
gridDados.Rows[5].Cells[1].Value = (_Sensoriamento.Bateria.TensaoInstantanea.ToString("0.00"));
gridDados.Rows[6].Cells[1].Value = (_Sensoriamento.Bateria.CorrenteInstantanea.ToString("0.00"));
gridDados.Rows[7].Cells[1].Value = (_Sensoriamento.Bateria.TempoEstimadoRestanteMinutos.ToString("0.00"));
- gridDados.Rows[8].Cells[1].Value = (AB3V != null ? AB3V.BusVoltage : 0).ToString("0.00");
- gridDados.Rows[9].Cells[1].Value = (AB3V != null ? (double)AB3V.Current : 0).ToString("0.00");
- gridDados.Rows[10].Cells[1].Value = (AB5V != null ? AB5V.BusVoltage : 0).ToString("0.00");
- gridDados.Rows[11].Cells[1].Value = (AB5V != null ? (double)AB5V.Current : 0).ToString("0.00");
- gridDados.Rows[12].Cells[1].Value = (AB7V2 != null ? AB7V2.BusVoltage : 0).ToString("0.00");
- gridDados.Rows[13].Cells[1].Value = (AB7V2 != null ? (double)AB7V2.Current : 0).ToString("0.00");
- gridDados.Rows[14].Cells[1].Value = (AB12V != null ? AB12V.BusVoltage : 0).ToString("0.00");
- gridDados.Rows[15].Cells[1].Value = (AB12V != null ? (double)AB12V.Current : 0).ToString("0.00");
- gridDados.Rows[16].Cells[1].Value = (AB19V != null ? AB19V.BusVoltage : 0).ToString("0.00");
- gridDados.Rows[17].Cells[1].Value = (AB19V != null ? (double)AB19V.Current : 0).ToString("0.00");
- gridDados.Rows[18].Cells[1].Value = (AB24V != null ? AB24V.BusVoltage : 0).ToString("0.00");
- gridDados.Rows[19].Cells[1].Value = (AB24V != null ? (double)AB24V.Current : 0).ToString("0.00");
+ gridDados.Rows[8].Cells[1].Value = (AB3V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor).ToString("0.00");
+ gridDados.Rows[9].Cells[1].Value = (AB3V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor).ToString("0.00");
+ gridDados.Rows[10].Cells[1].Value = (AB5V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor).ToString("0.00");
+ gridDados.Rows[11].Cells[1].Value = (AB5V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor).ToString("0.00");
+ gridDados.Rows[12].Cells[1].Value = (AB7V2.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor).ToString("0.00");
+ gridDados.Rows[13].Cells[1].Value = (AB7V2.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor).ToString("0.00");
+ gridDados.Rows[14].Cells[1].Value = (AB12V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor).ToString("0.00");
+ gridDados.Rows[15].Cells[1].Value = (AB12V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor).ToString("0.00");
+ gridDados.Rows[16].Cells[1].Value = (AB19V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor).ToString("0.00");
+ gridDados.Rows[17].Cells[1].Value = (AB19V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor).ToString("0.00");
+ gridDados.Rows[18].Cells[1].Value = (AB24V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao).atual.valor).ToString("0.00");
+ gridDados.Rows[19].Cells[1].Value = (AB24V.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente).atual.valor).ToString("0.00");
gridDados.Rows[20].Cells[1].Value = _Sensoriamento.Atuador.PercentualReservatorio.ToString("00.00");
gridDados.Rows[21].Cells[1].Value = _Sensoriamento.Atuador.VolumeReservatorio.ToString("0.000");
gridDados.Rows[22].Cells[1].Value = _Sensoriamento.Atuador.PressaoLinha.ToString("0.00");
@@ -603,9 +603,9 @@ namespace AgroBase.Forms.Operacoes
Inicializado = x.Inicializado,
MediaNivelFluxo = x.MediaNivelFluxo,
Posicao = x.Posicao,
- StatusBico = x.LeituraStatusBico,
+ StatusBico = x.ValoresLeituras.FirstOrDefault(y => y.funcao == FuncoesPinout.EstadoLeitura).atual.valor,
TempoAtuado = x.TempoAtuado,
- }).ToList(), Atuador.BombaPressurizadora.LeituraEstado, Atuador.PressaoLinha, Atuador.TempoAtuado);
+ }).ToList(), Atuador.BombaPressurizadora.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor, Atuador.PressaoLinha, Atuador.TempoAtuado);
}
diff --git a/AgroBase/AgroBase/Forms/Operacoes/frmOperacaoMapaGPS.cs b/AgroBase/AgroBase/Forms/Operacoes/frmOperacaoMapaGPS.cs
index 30fbab798..079e48da2 100644
--- a/AgroBase/AgroBase/Forms/Operacoes/frmOperacaoMapaGPS.cs
+++ b/AgroBase/AgroBase/Forms/Operacoes/frmOperacaoMapaGPS.cs
@@ -55,7 +55,7 @@ namespace AgroBase.Forms.Operacoes
{
chbMOVativo.Checked = Variaveis.OperacaoEmAndamento.DispMvd?.Dados?.Modulos?.Any(x => x.MovMotor.Inicializado) ?? false;
chbDIRativo.Checked = Variaveis.OperacaoEmAndamento.DispMvd?.Dados?.Modulos?.Any(x => x.DirMotor.Inicializado) ?? false;
- chbATUativo.Checked = Variaveis.OperacaoEmAndamento.DispAtu?.Dados.Conectado ?? false;
+ chbATUativo.Checked = Variaveis.OperacaoEmAndamento.DispAtu?.Dados.ConexaoAtiva ?? false;
chbGPSativo.Checked = GPSService.PortaGPS?.IsOpen ?? false;
Variaveis.OperacaoEmAndamento.chartGraficos = chartGraficos;
}
@@ -182,7 +182,7 @@ namespace AgroBase.Forms.Operacoes
Inicializado = x.Inicializado,
MediaNivelFluxo = x.MediaNivelFluxo,
Posicao = x.Posicao,
- StatusBico = x.LeituraStatusBico,
+ StatusBico = x.ValoresLeituras.FirstOrDefault(y => y.funcao == FuncoesPinout.EstadoLeitura).atual.valor,
TempoAtuado = x.TempoAtuado,
}).ToList(), Atuador.BombaPressurizadora.ComandoAtuar, Atuador.PressaoLinha, Atuador.TempoAtuado);
}
diff --git a/AgroBase/AgroBase/Forms/Operacoes/frmResultadosOperacao.cs b/AgroBase/AgroBase/Forms/Operacoes/frmResultadosOperacao.cs
index bb19b3c17..72c26f208 100644
--- a/AgroBase/AgroBase/Forms/Operacoes/frmResultadosOperacao.cs
+++ b/AgroBase/AgroBase/Forms/Operacoes/frmResultadosOperacao.cs
@@ -570,84 +570,84 @@ namespace AgroBase.Forms.Operacoes
new GraficoInterativoSerieModel()
{
Titulo = "V 3v3",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("3V"))?.BusVoltage ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("3V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Tensao)?.atual?.valor) ?? 0).ToList(),
Visivel = false,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "A 3v3",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("3V"))?.Current ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("3V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Corrente)?.atual?.valor) ?? 0).ToList(),
Visivel = false,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "V 5v0",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("5V"))?.BusVoltage ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("5V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Tensao)?.atual?.valor) ?? 0).ToList(),
Visivel = false,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "A 5v0",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("5V"))?.Current ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("5V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Corrente)?.atual?.valor) ?? 0).ToList(),
Visivel = false,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "V 7v2",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("7V2"))?.BusVoltage ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("7V2"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Tensao)?.atual?.valor) ?? 0).ToList(),
Visivel = false,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "A 7v2",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("7V2"))?.Current ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("7V2"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Corrente)?.atual?.valor) ?? 0).ToList(),
Visivel = false,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "V 12v",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("12V"))?.BusVoltage ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("12V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Tensao)?.atual?.valor) ?? 0).ToList(),
Visivel = true,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "A 12v",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("12V"))?.Current ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("12V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Corrente)?.atual?.valor) ?? 0).ToList(),
Visivel = true,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "V 24v",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("24V"))?.BusVoltage ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("24V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Tensao)?.atual?.valor) ?? 0).ToList(),
Visivel = true,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "A 24v",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("24V"))?.Current ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("24V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Corrente)?.atual?.valor) ?? 0).ToList(),
Visivel = true,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "V 36v",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("36V"))?.BusVoltage ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("36V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Tensao)?.atual?.valor) ?? 0).ToList(),
Visivel = true,
MostrarValor = true
},
new GraficoInterativoSerieModel()
{
Titulo = "A 36v",
- Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("36V"))?.Current ?? 0).ToList(),
+ Valores = LogsSensoriamento.Select(x => (double?)(x?.Sensores?.FirstOrDefault(y => y.ID.Contains("36V"))?.ValoresLeituras?.FirstOrDefault(z => z.funcao == FuncoesPinout.Corrente)?.atual?.valor) ?? 0).ToList(),
Visivel = true,
MostrarValor = true
},
@@ -1185,7 +1185,7 @@ namespace AgroBase.Forms.Operacoes
txtGPS_Longitude.Text = (Log?.Longitude ?? 0).ToString();
txtGPS_Orientacao.Text = (Log?.QualidadeFix ?? Enums.TiposCorrecaoGPS.SemCorrecao).ToString();
txtGPS_Precisao.Text = (Log?.PrecisaoCm ?? 0).ToString("0.00") + " cm";
- txtGPS_Satelites.Text = (Log?.NumeroSatelites ?? 0).ToString();
+ txtGPS_Satelites.Text = (Log?.NumeroSatelites?.valor ?? 0).ToString();
txtGPS_Velocidade.Text = (Log?.Velocidade ?? 0).ToString("0.00") + " (" + ((Log?.Velocidade ?? 0) * GPSUtils.ConversaoNosKmh).ToString("0.00") + " km/h)";
int ID = Convert.ToInt32(Variaveis.IsAgroMonitor ? Variaveis.OperacaoEmAndamento.DispSen.Dados.LoRaParametrosBase.address : Variaveis.ConexaoLoRa.parametros.address);
@@ -1287,11 +1287,15 @@ namespace AgroBase.Forms.Operacoes
{
var Log = LogsMovimentacao.FirstOrDefault(x => x.Momento == MomentoAtual && x.Modulo_ID == ID);
var Log_Sen = LogsSensoriamento.FirstOrDefault(x => x.Momento == MomentoAtual);
+ double agET = Log_Sen.Servos?.FirstOrDefault(x => x.ID.Contains("ET"))?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.ServoAnguloLeitura)?.atual?.valor ?? 0;
+ double agDT = Log_Sen.Servos?.FirstOrDefault(x => x.ID.Contains("DT"))?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.ServoAnguloLeitura)?.atual?.valor ?? 0;
+ double agEF = Log_Sen.Servos?.FirstOrDefault(x => x.ID.Contains("EF"))?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.ServoAnguloLeitura)?.atual?.valor ?? 0;
+ double agDF = Log_Sen.Servos?.FirstOrDefault(x => x.ID.Contains("DF"))?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.ServoAnguloLeitura)?.atual?.valor ?? 0;
bool freio =
- (ID.Contains("ET") && Log_Sen.ServoFreios?.FirstOrDefault(x => x.ID.Contains("ET"))?.Angulo > 0 && Log_Sen.ServoFreios?.FirstOrDefault(x => x.ID.Contains("ET"))?.Angulo < 180) ||
- (ID.Contains("DT") && Log_Sen.ServoFreios?.FirstOrDefault(x => x.ID.Contains("DT"))?.Angulo > 0 && Log_Sen.ServoFreios?.FirstOrDefault(x => x.ID.Contains("DT"))?.Angulo < 180) ||
- (ID.Contains("EF") && Log_Sen.ServoFreios?.FirstOrDefault(x => x.ID.Contains("EF"))?.Angulo > 0 && Log_Sen.ServoFreios?.FirstOrDefault(x => x.ID.Contains("EF"))?.Angulo < 180) ||
- (ID.Contains("DF") && Log_Sen.ServoFreios?.FirstOrDefault(x => x.ID.Contains("DF"))?.Angulo > 0 && Log_Sen.ServoFreios?.FirstOrDefault(x => x.ID.Contains("DF"))?.Angulo < 180);
+ (ID.Contains("ET") && agET > 0 && (agET < 180)) ||
+ (ID.Contains("DT") && agDT > 0 && (agDT < 180)) ||
+ (ID.Contains("EF") && agEF > 0 && (agEF < 180)) ||
+ (ID.Contains("DF") && agDF > 0 && (agDF < 180));
GroupBox gpbRpm = FuncoesGlobais.FindControlRecursive(tabMovGreal, "gpbMOV_Geral_" + ID);
gpbRpm.ForeColor = !Log.Inicializado ? Color.Red : Color.Black;
@@ -1386,7 +1390,7 @@ namespace AgroBase.Forms.Operacoes
txtSen_Maximo.Text = Valores.Max().ToString("0.00");
}
- var LogImu = LogsSensoriamento.FirstOrDefault(x => x.Momento == MomentoAtual).SensoresIMU.FirstOrDefault();
+ /*var LogImu = LogsSensoriamento.FirstOrDefault(x => x.Momento == MomentoAtual).SensoresIMU.FirstOrDefault();
if (LogImu != null)
{
lblMagnetometro.ForeColor = !LogImu.Iniciado ? Color.Red : Color.Black;
@@ -1396,12 +1400,12 @@ namespace AgroBase.Forms.Operacoes
txtTemperatura.Text = LogImu.Temperatura.ToString("0.00");
txtAltitude.Text = LogImu.Altitude.ToString("0.00");
txtPressao.Text = LogImu.Pressao + " Pa (" + (LogImu.Pressao / 101300.0).ToString("0.00") + " atm)";
- }
+ }*/
var LogSen = LogsSensoriamento.FirstOrDefault(x => x.Momento == MomentoAtual);
- pnlManual.BackColor = LogSen.Sinaleiros?.FirstOrDefault(x => x.ID.Contains("MN"))?.Leitura == Enums.StatusLED.Aceso ? Color.Yellow : Color.Gold;
- pnlAutomatico.BackColor = LogSen.Sinaleiros?.FirstOrDefault(x => x.ID.Contains("AT"))?.Leitura == Enums.StatusLED.Aceso ? Color.Yellow : Color.Gold;
- pnlOperacao.BackColor = LogSen.Sinaleiros?.FirstOrDefault(x => x.ID.Contains("OP"))?.Leitura == Enums.StatusLED.Aceso ? Color.Green : Color.DarkGreen;
+ pnlManual.BackColor = LogSen.Sinaleiros?.FirstOrDefault(x => x.ID.Contains("MN"))?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.StatusLEDLeitura)?.atual?.valor == Enums.StatusLED.Aceso ? Color.Yellow : Color.Gold;
+ pnlAutomatico.BackColor = LogSen.Sinaleiros?.FirstOrDefault(x => x.ID.Contains("AT"))?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.StatusLEDLeitura)?.atual?.valor == Enums.StatusLED.Aceso ? Color.Yellow : Color.Gold;
+ pnlOperacao.BackColor = LogSen.Sinaleiros?.FirstOrDefault(x => x.ID.Contains("OP"))?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.StatusLEDLeitura)?.atual?.valor == Enums.StatusLED.Aceso ? Color.Green : Color.DarkGreen;
lblSEN_QualidadeWifi.Text = $"Qualidade Wi-Fi: {LogSen.QualidadeWifi} dBm";
lblSEN_LatenciaLoop.Text = $"Latencia de Loop: {LogSen.LatenciaLoop} ms";
@@ -1551,12 +1555,12 @@ namespace AgroBase.Forms.Operacoes
private void pnlOrientacaoMagnetometro_Paint(object sender, PaintEventArgs e)
{
- var Log = LogsSensoriamento.FirstOrDefault(x => x.Momento == MomentoAtual)?.SensoresIMU?.FirstOrDefault();
+ /*var Log = LogsSensoriamento.FirstOrDefault(x => x.Momento == MomentoAtual)?.SensoresIMU?.FirstOrDefault();
double Angulo = (Log?.Yaw ?? 0);
double AnguloCorrigido = (Log?.YawFixed ?? 0);
- FuncoesGlobais.DesenharInclinacao((Panel)sender, e, (float)Angulo, 90.0f, (float)AnguloCorrigido);
+ FuncoesGlobais.DesenharInclinacao((Panel)sender, e, (float)Angulo, 90.0f, (float)AnguloCorrigido);*/
}
private void pnlOrientacaoCaminho_Paint(object sender, PaintEventArgs e)
@@ -1589,8 +1593,6 @@ namespace AgroBase.Forms.Operacoes
private void pnlInclinacao_Paint(object sender, PaintEventArgs e)
{
- var Log = LogsSensoriamento.FirstOrDefault(x => x.Momento == MomentoAtual).SensoresIMU.FirstOrDefault();
-
Graphics g = e.Graphics;
int centerX = pnlInclinacao.Width / 2;
int centerY = pnlInclinacao.Height / 2;
@@ -1639,12 +1641,13 @@ namespace AgroBase.Forms.Operacoes
}
// Calcular a posição do círculo com base nos ângulos
+ /*var Log = LogsSensoriamento.FirstOrDefault(x => x.Momento == MomentoAtual).SensoresIMU.FirstOrDefault();
int circlePosX = centerX + (int)((Log?.Roll ?? 0) * (pnlInclinacao.Width / 2 - radius) / 90);
int circlePosY = centerY - (int)((Log?.Pitch ?? 0) * (pnlInclinacao.Height / 2 - radius) / 90);
// Desenhar o círculo
Brush brush = new SolidBrush(Color.Red);
- g.FillEllipse(brush, circlePosX - radius, circlePosY - radius, radius * 2, radius * 2);
+ g.FillEllipse(brush, circlePosX - radius, circlePosY - radius, radius * 2, radius * 2);*/
}
private void pnlCaminho_Paint(object sender, PaintEventArgs e)
diff --git a/AgroBase/AgroBase/Forms/Sensoriamento/frmSenConfig.cs b/AgroBase/AgroBase/Forms/Sensoriamento/frmSenConfig.cs
index 164284906..ffc4cb06c 100644
--- a/AgroBase/AgroBase/Forms/Sensoriamento/frmSenConfig.cs
+++ b/AgroBase/AgroBase/Forms/Sensoriamento/frmSenConfig.cs
@@ -144,8 +144,6 @@ namespace AgroBase.Forms.Sensoriamento
int novaLinhaIndex = grid.Rows.Add();
grid.Rows[novaLinhaIndex].Cells[0].Value = Sensor.Descricao;
- grid.Rows[novaLinhaIndex].Cells[1].Value = Sensor.LimiteMinimo;
- grid.Rows[novaLinhaIndex].Cells[2].Value = Sensor.LimiteMaximo;
for (int i = 0; i < Sensor.Parametros.Count; i++)
{
@@ -179,8 +177,6 @@ namespace AgroBase.Forms.Sensoriamento
if (Row.Cells[0].Value != null && Row.Cells[0].Value.ToString() == Sensor.Descricao)
{
//Sensor.Parametros.Add(new string[] { Row.Cells[0].Value.ToString(), Row.Cells[1].Value.ToString() });
- Sensor.LimiteMinimo = Convert.ToDouble(Row.Cells[1].Value.ToString());
- Sensor.LimiteMaximo = Convert.ToDouble(Row.Cells[2].Value.ToString());
for (int i = 0; i < Sensor.Parametros.Count; i++)
{
diff --git a/AgroBase/AgroBase/Forms/frmAcompanhamento.cs b/AgroBase/AgroBase/Forms/frmAcompanhamento.cs
index 7fde4cee8..847662683 100644
--- a/AgroBase/AgroBase/Forms/frmAcompanhamento.cs
+++ b/AgroBase/AgroBase/Forms/frmAcompanhamento.cs
@@ -58,7 +58,7 @@ namespace AgroBase.Forms
lblU3.Text = "U3: " + UltrasonicA05Service.DadosLeitura.Configuracao.Sensores[2].LeituraCm.ToString("") + " cm";
lblU4.Text = "U4: " + UltrasonicA05Service.DadosLeitura.Configuracao.Sensores[3].LeituraCm.ToString("") + " cm";
}
- if (Variaveis.OperacaoEmAndamento.DispSen.Dados.Conectado)
+ if (Variaveis.OperacaoEmAndamento.DispSen.Dados.ConexaoAtiva)
{
AtualizarDadosSensorCorrente("AB3V", lblB3V);
AtualizarDadosSensorCorrente("AB5V", lblB5V);
@@ -87,11 +87,16 @@ namespace AgroBase.Forms
private void AtualizarDadosSensorCorrente(string id, Label lbl)
{
- var sensor = Variaveis.OperacaoEmAndamento.DispSen.Dados.DadosLeitura.SensoresCorrente.FirstOrDefault(x => x.ID == id);
+ var sensor = Variaveis.OperacaoEmAndamento.DispSen.Dados.Sensores.FirstOrDefault(x => x.ID == id);
if (sensor != null)
{
- lbl.Text = $"{id.Replace("AB", "Barramento ")}: {sensor.BusVoltage.ToString("0.00")} V, {sensor.Current.ToString("0.00")} mA, {sensor.Power.ToString("0.00")} W, {sensor.Temperature.ToString("0.00")} ºC, {sensor.Energy.ToString("0.00")} Wh";
- lbl.ForeColor = sensor.Iniciado ? Color.Green : Color.Red;
+ var tensao = sensor.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao);
+ var corrente = sensor.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente);
+ var potencia = sensor.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Potencia);
+ var temperatura = sensor.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Temperatura);
+ var energia = sensor.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Energia);
+ lbl.Text = $"{id.Replace("AB", "Barramento ")}: {tensao.atual.valor.ToString("0.00")} {tensao.unidade_medida}, {corrente.atual.valor.ToString("0.00")} {corrente.unidade_medida}, {potencia.atual.valor.ToString("0.00")} {potencia.unidade_medida}, {temperatura.atual.valor.ToString("0.00")} {temperatura.unidade_medida}, {energia.atual.valor.ToString("0.00")} {energia.unidade_medida}";
+ lbl.ForeColor = sensor.Inicializado ? Color.Green : Color.Red;
}
}
@@ -106,7 +111,7 @@ namespace AgroBase.Forms
foreach (var Modulo in DispMvd.Dados.Modulos)
{
- var sTMP = Variaveis.OperacaoEmAndamento.DispSen?.Dados?.DadosLeitura?.SensoresTemperaturaNTC?.FirstOrDefault(x => x.ID.Contains(Modulo.Modulo_ID));
+ var sTMP = Variaveis.OperacaoEmAndamento.DispSen?.Dados?.Sensores?.FirstOrDefault(x => x.ID.Contains(Modulo.Modulo_ID));
Label lblTitulo = pnlFundo.Controls.OfType