From 7f3a8d27592df917700d359266883e77e9f491ce Mon Sep 17 00:00:00 2001 From: Diego Freitas Date: Wed, 8 Apr 2026 14:29:59 -0300 Subject: [PATCH] ajuste joystick numerico para controlar os bicos --- AgroBase/AgroBase/Forms/frmJoystick.cs | 8 ++++---- AgroBase/AgroBase/Models/GeneralJoystick.cs | 4 ++-- AgroBase/AgroBase/Models/Operacoes/OperacaoModel.cs | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/AgroBase/AgroBase/Forms/frmJoystick.cs b/AgroBase/AgroBase/Forms/frmJoystick.cs index c992e33b5..eb939e999 100644 --- a/AgroBase/AgroBase/Forms/frmJoystick.cs +++ b/AgroBase/AgroBase/Forms/frmJoystick.cs @@ -32,13 +32,13 @@ namespace AgroBase.Forms switch (comando.Dispositivo) { case T_Code.Mov: - GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, false, valorDesejado: Variaveis.OperacaoEmAndamento.Parametros.Controle.MovVelocidadeCErvasPercent); + GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, false, key: comando.key, valorDesejado: Variaveis.OperacaoEmAndamento.Parametros.Controle.MovVelocidadeCErvasPercent); break; case T_Code.Dir: - GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, false, valorDesejado: Variaveis.OperacaoEmAndamento.Parametros.Controle.DirAnguloMaximo); + GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, false, key: comando.key, valorDesejado: Variaveis.OperacaoEmAndamento.Parametros.Controle.DirAnguloMaximo); break; case T_Code.Atu: - GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, false); + GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, false, key: comando.key); break; } } @@ -47,7 +47,7 @@ namespace AgroBase.Forms { var comando = GeneralJoystick.DeParaComandos.FirstOrDefault(x => x.key == e.KeyCode); if (comando == null) return; - GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, true); + GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, true, key: comando.key); } } diff --git a/AgroBase/AgroBase/Models/GeneralJoystick.cs b/AgroBase/AgroBase/Models/GeneralJoystick.cs index cc0c99a47..e5506810b 100644 --- a/AgroBase/AgroBase/Models/GeneralJoystick.cs +++ b/AgroBase/AgroBase/Models/GeneralJoystick.cs @@ -535,9 +535,9 @@ namespace AgroBase }); } - public static void ProcessarDadosControle(BotoesJoystick botao, bool solto, double? valorJoy = null, double? valorDesejado = null, string ID = "", bool ForcarComando = false) + public static void ProcessarDadosControle(BotoesJoystick botao, bool solto, Keys? key = null, double? valorJoy = null, double? valorDesejado = null, string ID = "", bool ForcarComando = false) { - var comando = DeParaComandos.FirstOrDefault(x => x.botaoJoy == botao)?.Clone(); + var comando = DeParaComandos.FirstOrDefault(x => x.botaoJoy == botao && (key != null ? x.key == key : true))?.Clone(); comando?.CalcularValor(solto, valorJoy: valorJoy, valorDesejado: valorDesejado); if (comando?.Dispositivo == T_Code.Dir || comando?.Dispositivo == T_Code.Mov) diff --git a/AgroBase/AgroBase/Models/Operacoes/OperacaoModel.cs b/AgroBase/AgroBase/Models/Operacoes/OperacaoModel.cs index 9526521aa..2c1aacc0b 100644 --- a/AgroBase/AgroBase/Models/Operacoes/OperacaoModel.cs +++ b/AgroBase/AgroBase/Models/Operacoes/OperacaoModel.cs @@ -2737,7 +2737,7 @@ namespace AgroBase.Models LeituraComandoBomba = bombaLinha._EstadoLeitura == Estado.Ligado, LeituraPotenciaBomba = FuncoesMatematicas.Clamp(bombaLinha._Potencia, 0, 100), VolumeVazaoMl = _DispAtu.Dados.VolumeVazadoML, - BombaCavitada = _DispAtu.Dados.Conectado && _DispAtu.Dados.PressaoLinha < pControle.AtuPressaoLinha && _DispAtu.Dados.PressaoLinha < VariaveisEquipamento.PressaoMinimaCavitacao && bombaLinha._EstadoLeitura == Estado.Ligado && bombaLinha._Potencia > 20, + BombaCavitada = _DispAtu.Dados.Conectado && _DispAtu.Dados.PressaoLinha < pControle?.AtuPressaoLinha && _DispAtu.Dados.PressaoLinha < VariaveisEquipamento.PressaoMinimaCavitacao && bombaLinha._EstadoLeitura == Estado.Ligado && bombaLinha._Potencia > 20, Iniciados = _DispAtu.Dados.Sensores.Select(s => new { s.ID, s.Inicializado }).Union(_DispAtu.Dados.BicosPulverizadores.Select(b => new { b.ID, b.Inicializado })).Union(_DispAtu.Dados.BombasPressurizadoras.Select(b => new { b.ID, b.Inicializado })).ToDictionary(x => x.ID, x => x.Inicializado), AnguloBarraEsquerda = _DispAtu.Dados.AnguloBarraEsquerda, AnguloBarraDireita = _DispAtu.Dados.AnguloBarraDireita,