ajustes finais no controle e adicao dos itens no controle da operacao
This commit is contained in:
parent
903ab7f9a0
commit
09af963498
|
|
@ -1702,8 +1702,8 @@ namespace AgroBase.Models
|
|||
|
||||
var cmdRover = GeneralJoystick.DeParaComandos.FirstOrDefault(x => x.botaoJoy == controleBase.Tecla);
|
||||
|
||||
if (cmdRover?.Dispositivo == T_Code.Mov && Variaveis.OperacaoEmAndamento.Parametros.Controle.MovimentoAutomatico && Variaveis.OperacaoEmAndamento.Iniciado) return;
|
||||
if (cmdRover?.Dispositivo == T_Code.Dir && Variaveis.OperacaoEmAndamento.Parametros.Controle.DirecionalAutomatico && Variaveis.OperacaoEmAndamento.Iniciado) return;
|
||||
if (cmdRover?.Dispositivo == T_Code.Mov && (Variaveis.OperacaoEmAndamento.Parametros?.Controle?.MovimentoAutomatico ?? false) && Variaveis.OperacaoEmAndamento.Iniciado) return;
|
||||
if (cmdRover?.Dispositivo == T_Code.Dir && (Variaveis.OperacaoEmAndamento.Parametros?.Controle?.DirecionalAutomatico ?? false) && Variaveis.OperacaoEmAndamento.Iniciado) return;
|
||||
|
||||
var _Controle = Variaveis.OperacaoEmAndamento.Controle;
|
||||
if (controleBase.Controle.PercentualVelocidadeSP != null) _Controle.PercentualVelocidadeSP = (double)controleBase.Controle.PercentualVelocidadeSP;
|
||||
|
|
@ -1716,10 +1716,10 @@ namespace AgroBase.Models
|
|||
switch (cmdRover?.Dispositivo)
|
||||
{
|
||||
case T_Code.Mov:
|
||||
GeneralJoystick.ProcessarDadosControle(cmdRover.botaoJoy, controleBase.Solto, valorDesejado: _Controle.PercentualVelocidadeSP);
|
||||
GeneralJoystick.ProcessarDadosControle(cmdRover.botaoJoy, controleBase.Solto, valorDesejado: _Controle.PercentualVelocidadeSP, ForcarComando: true);
|
||||
break;
|
||||
case T_Code.Dir:
|
||||
GeneralJoystick.ProcessarDadosControle(cmdRover.botaoJoy, controleBase.Solto, valorDesejado: _Controle.Angulo);
|
||||
GeneralJoystick.ProcessarDadosControle(cmdRover.botaoJoy, controleBase.Solto, valorDesejado: _Controle.Angulo, ForcarComando: true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1214,7 +1214,7 @@ namespace AgroBase.Services
|
|||
double headingDeg, // OrientacaoReal (antena/corpo)
|
||||
double angMovDeg, // OrientacaoMovimento (calculada acima)
|
||||
double distLinearJanela, // UltimaLeitura.Distancia (Δpos linear entre 1ª e última amostra)
|
||||
double velPercent = 0.0, // se tiver velocidade filtrada, passe aqui; senão 0
|
||||
double velPercent = 0.0, // se tiver velocidade filtrada, passe aqui; senão 0
|
||||
bool rtkFix = true, // se tiver essa info
|
||||
double angFundidoAnterior = double.NaN, // para low-pass; passe double.NaN para desabilitar
|
||||
double alfaLowPass = 0.25 // 0→sem low-pass; 0.2–0.35 costuma ser bom
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ public sealed class ManualControlSender : IDisposable
|
|||
}
|
||||
|
||||
private static bool IsNeutral(UdpCtrlMessage msg)
|
||||
=> msg.Key == AgroBase.Models.Enums.BotoesJoystick.Vazio;
|
||||
=> msg.Key == AgroBase.Models.Enums.BotoesJoystick.Vazio || msg.released;
|
||||
|
||||
private UdpCtrlMessage BuildStopMsg()
|
||||
{
|
||||
|
|
@ -156,6 +156,7 @@ public sealed class ManualControlSender : IDisposable
|
|||
Device = _device,
|
||||
Flags = UdpCtrlFlags.HasKey | UdpCtrlFlags.HasPayload,
|
||||
Key = AgroBase.Models.Enums.BotoesJoystick.Vazio,
|
||||
released = false,
|
||||
P1 = 0,
|
||||
P2 = 0
|
||||
};
|
||||
|
|
@ -169,4 +170,5 @@ public sealed class ManualControlSender : IDisposable
|
|||
_cts = null;
|
||||
_loop = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -140,30 +140,35 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento.Diagnostico
|
|||
// ATUADOR / SISTEMA DE PULVERIZAÇÃO
|
||||
// =============================
|
||||
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_BMBAGT", Modulo = T_Code.Atu, LabelModulo = "BMBAGT", SCode = S_Code.sBMB, TextoBase = "AGIT", Left = 315, Top = 570 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_PRSLN", Modulo = T_Code.Atu, LabelModulo = "PRSLN", SCode = S_Code.sPRS, TextoBase = "PRS", Left = 230, Top = 610 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU", Modulo = T_Code.Atu, LabelModulo = "", SCode = S_Code.sMOD, TextoBase = "ATU", Left = 315, Top = 610 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_FLXLN", Modulo = T_Code.Atu, LabelModulo = "FLXLN", SCode = S_Code.sFLX, TextoBase = "FLX", Left = 400, Top = 610 });
|
||||
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_BOMBA", Modulo = T_Code.Atu, LabelModulo = "BOMBA", SCode = S_Code.sBMB, TextoBase = "BMB", Left = 230, Top = 650 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_BMBLN", Modulo = T_Code.Atu, LabelModulo = "BOMBA", SCode = S_Code.sBMB, TextoBase = "BMB", Left = 230, Top = 650 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_MASRS", Modulo = T_Code.Atu, LabelModulo = "MASRS", SCode = S_Code.sMAS, TextoBase = "MAS", Left = 400, Top = 650 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "CAM", Modulo = T_Code.Cam, LabelModulo = "", SCode = S_Code.sVZO, TextoBase = "CAM", Left = 315, Top = 650 });
|
||||
|
||||
|
||||
// =============================
|
||||
// SENSORES BARRA PULVERIZADORA
|
||||
// =============================
|
||||
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_MAGESQ", Modulo = T_Code.Atu, LabelModulo = "MAGESQ", SCode = S_Code.sMAG, TextoBase = "MAG", Left = 165, Top = 705 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_MAGALT", Modulo = T_Code.Atu, LabelModulo = "MAGALT", SCode = S_Code.sMAG, TextoBase = "MAG", Left = 315, Top = 705 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_MAGDIR", Modulo = T_Code.Atu, LabelModulo = "MAGDIR", SCode = S_Code.sMAG, TextoBase = "MAG", Left = 465, Top = 705 });
|
||||
|
||||
// =============================
|
||||
// BICOS
|
||||
// =============================
|
||||
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_SRVB1", Modulo = T_Code.Atu, LabelModulo = "SRVB1", SCode = S_Code.sSRV, TextoBase = "SVB1", Left = 110, Top = 705 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B01", Modulo = T_Code.Atu, LabelModulo = "B01", SCode = S_Code.sBIC, TextoBase = "B01", Left = 110, Top = 745 });
|
||||
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_MAGESQ", Modulo = T_Code.Atu, LabelModulo = "MAGESQ", SCode = S_Code.sMAG, TextoBase = "MAG", Left = 215, Top = 730 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_MAGALT", Modulo = T_Code.Atu, LabelModulo = "MAGALT", SCode = S_Code.sMAG, TextoBase = "MAG", Left = 315, Top = 705 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_MAGDIR", Modulo = T_Code.Atu, LabelModulo = "MAGDIR", SCode = S_Code.sMAG, TextoBase = "MAG", Left = 415, Top = 730 });
|
||||
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B02", Modulo = T_Code.Atu, LabelModulo = "B02", SCode = S_Code.sBIC, TextoBase = "B02", Left = 315, Top = 745 });
|
||||
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_SRVB3", Modulo = T_Code.Atu, LabelModulo = "SRVB3", SCode = S_Code.sSRV, TextoBase = "SVB3", Left = 520, Top = 705 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B03", Modulo = T_Code.Atu, LabelModulo = "B03", SCode = S_Code.sBIC, TextoBase = "B03", Left = 520, Top = 745 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B01", Modulo = T_Code.Atu, LabelModulo = "B01", SCode = S_Code.sBIC, TextoBase = "B01", Left = 90, Top = 745 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B02", Modulo = T_Code.Atu, LabelModulo = "B02", SCode = S_Code.sBIC, TextoBase = "B02", Left = 165, Top = 745 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B03", Modulo = T_Code.Atu, LabelModulo = "B03", SCode = S_Code.sBIC, TextoBase = "B03", Left = 240, Top = 745 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B04", Modulo = T_Code.Atu, LabelModulo = "B04", SCode = S_Code.sBIC, TextoBase = "B04", Left = 315, Top = 745 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B05", Modulo = T_Code.Atu, LabelModulo = "B05", SCode = S_Code.sBIC, TextoBase = "B05", Left = 390, Top = 745 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B06", Modulo = T_Code.Atu, LabelModulo = "B06", SCode = S_Code.sBIC, TextoBase = "B06", Left = 465, Top = 745 });
|
||||
DiagnosticoModulos.Add(new DiagnosticoModuloItemViewModel { IdVisual = "ATU_B07", Modulo = T_Code.Atu, LabelModulo = "B07", SCode = S_Code.sBIC, TextoBase = "B07", Left = 540, Top = 745 });
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -586,6 +591,14 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento.Diagnostico
|
|||
{
|
||||
mod.Mandatorio = MandatorioSelecionado;
|
||||
mod.Utilizar = EmUsoSelecionado;
|
||||
if (mod.ComponentesEmUso != null)
|
||||
{
|
||||
var chaves = mod.ComponentesEmUso.Keys.ToList();
|
||||
foreach (var key in chaves)
|
||||
{
|
||||
mod.ComponentesEmUso[key] = (MandatorioSelecionado, EmUsoSelecionado);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -160,9 +160,9 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento
|
|||
Task.Run(async () =>
|
||||
{
|
||||
await VariaveisControleOperacao.EnviarComandoParadaUDP(pausa: true);
|
||||
await Task.Delay(500);
|
||||
await Task.Delay(2000);
|
||||
VariaveisControleOperacao.EnviarComandoRetornoBase(lat, lon);
|
||||
await Task.Delay(1000);
|
||||
await Task.Delay(2000);
|
||||
await VariaveisControleOperacao.EnviarComandoParadaUDP(pausa: false);
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -342,9 +342,9 @@ namespace OperationControl.ViewModels.Views.Operacao
|
|||
if ((dadosRover?.Operacao?.Status ?? StatusOperacao.NaoIniciado) == StatusOperacao.Concluido)
|
||||
{
|
||||
VariaveisControleOperacao.EnviarComandoIniciarOperacao(false, false);
|
||||
await Task.Delay(500);
|
||||
await Task.Delay(2000);
|
||||
}
|
||||
bool simulador = VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Gnss?.Iniciado != true;
|
||||
bool simulador = AppShell.Mock || AppShell.AddRover; // || VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Gnss?.Iniciado != true;
|
||||
VariaveisControleOperacao.EnviarComandoIniciarOperacao(true, simulador);
|
||||
await Task.Delay(1000);
|
||||
if (!(dadosRover?.Operacao?.Liberada ?? false))
|
||||
|
|
|
|||
Loading…
Reference in New Issue