From b953ff524ece6bf5fe71e4cba667a104d27604e0 Mon Sep 17 00:00:00 2001 From: Diego Freitas Date: Thu, 2 Jul 2026 14:01:53 -0300 Subject: [PATCH] ajustes para nao deixar a saude do atuador falhar por incoerencia --- .../Forms/Atuador/frmAtuCalibragem.cs | 45 ++++- .../AgroBase/Forms/IHM/frmDiagnosticos.cs | 18 +- .../Forms/Operacoes/frmOperacaoManual.cs | 59 +++++- .../Forms/Sensoriamento/frmSenConfig.cs | 2 +- AgroBase/AgroBase/Models/GeneralJoystick.cs | 81 ++------ .../AgroBase/Models/Modules/AtuadorModel.cs | 165 ++++++++++++----- .../Models/Operacoes/OperacaoModel.cs | 72 ++++---- .../AgroBase/Services/DispositivosService.cs | 2 +- .../Operadores/HealthWorkerService.cs | 27 ++- .../workers/health_worker/modulos/atuador.py | 173 ++++++++++++++++-- 10 files changed, 452 insertions(+), 192 deletions(-) diff --git a/AgroBase/AgroBase/Forms/Atuador/frmAtuCalibragem.cs b/AgroBase/AgroBase/Forms/Atuador/frmAtuCalibragem.cs index f865d939d..557544663 100644 --- a/AgroBase/AgroBase/Forms/Atuador/frmAtuCalibragem.cs +++ b/AgroBase/AgroBase/Forms/Atuador/frmAtuCalibragem.cs @@ -150,21 +150,36 @@ namespace AgroBase.Forms.Atuador private void nudPressaoSP_ValueChanged(object sender, EventArgs e) { - var Bomba = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora; - Variaveis.OperacaoEmAndamento.Parametros.Controle.AtuPressaoLinha = Convert.ToInt32(((NumericUpDown)sender).Value); - GeneralJoystick.EnviarComandoAtuador(S_Code.sBMB, Bomba.ID, Status: Bomba.ComandoAtuar, Comando: Services.CanMessagePosicaoDados.Command1); + var op = Variaveis.OperacaoEmAndamento; + var Bomba = op.DispAtu.Dados.BombaPressurizadora; + op.Parametros.Controle.AtuPressaoLinha = Convert.ToInt32(((NumericUpDown)sender).Value); + op.DispAtu?.Dados?.EnviarComandoFisicoBomba( + Bomba, + Services.CanMessagePosicaoDados.Command1, + Bomba.ComandoAtuar + ); } private void btnLigarBomba_Click(object sender, EventArgs e) { - var Bomba = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora; - GeneralJoystick.EnviarComandoAtuador(S_Code.sBMB, Bomba.ID, Status: true, Comando: Services.CanMessagePosicaoDados.Command1, Forcar: true); + var op = Variaveis.OperacaoEmAndamento; + var Bomba = op.DispAtu.Dados.BombaPressurizadora; + op.DispAtu?.Dados?.EnviarComandoFisicoBomba( + Bomba, + Services.CanMessagePosicaoDados.Command1, + true + ); } private void btnDesligarBomba_Click(object sender, EventArgs e) { - var Bomba = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora; - GeneralJoystick.EnviarComandoAtuador(S_Code.sBMB, Bomba.ID, Status: false, Comando: Services.CanMessagePosicaoDados.Command1, Forcar: true); + var op = Variaveis.OperacaoEmAndamento; + var Bomba = op.DispAtu.Dados.BombaPressurizadora; + op.DispAtu?.Dados?.EnviarComandoFisicoBomba( + Bomba, + Services.CanMessagePosicaoDados.Command1, + false + ); } private void pnlBico_Paint(object sender, PaintEventArgs e) @@ -188,7 +203,13 @@ namespace AgroBase.Forms.Atuador { Button btn = (Button)sender; string ID = btn.Name.Replace("btn0_", ""); - GeneralJoystick.EnviarComandoAtuador(S_Code.sBIC, ID, Status: false, Forcar: true); + var op = Variaveis.OperacaoEmAndamento; + var Bico = op?.DispAtu?.Dados?.BicosPulverizadores?.FirstOrDefault(x => x.ID == ID); + Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.EnviarComandoFisicoBico( + Bico, + Services.CanMessagePosicaoDados.Command1, + false + ); pnlBicos.Controls.OfType().First(x => x.Name == "pnlB_" + ID).Invalidate(); pnlBicos.Controls.OfType().First(x => x.Name == "pnlB_" + ID).Controls.OfType