ajuste parada vw modo manual
This commit is contained in:
parent
3acb14d9bf
commit
d898b493ce
|
|
@ -1497,12 +1497,15 @@ namespace AgroBase.Models
|
|||
|
||||
if (!Variaveis.OperacaoEmAndamento.OperacaoLiberada)
|
||||
{
|
||||
if ((Variaveis.OperacaoEmAndamento.Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Mov)?.UltimaDirecao ?? Direcao.Parado) != Direcao.Parado)
|
||||
var _Controle = Variaveis.OperacaoEmAndamento.Controle;
|
||||
if ((_Controle.TiposControle?.FirstOrDefault(x => x?.Tipo == T_Code.Mov)?.UltimaDirecao ?? Direcao.Parado) != Direcao.Parado)
|
||||
{
|
||||
_Controle.PercentualVelocidadeSP = 0;
|
||||
GeneralJoystick.EnviaComandoMotor(Keys.Escape, T_Code.Mov, ForcarComando: true);
|
||||
}
|
||||
if ((Variaveis.OperacaoEmAndamento.Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Dir)?.UltimaDirecao ?? Direcao.Parado) != Direcao.Parado)
|
||||
if ((_Controle.TiposControle?.FirstOrDefault(x => x?.Tipo == T_Code.Dir)?.UltimaDirecao ?? Direcao.Parado) != Direcao.Parado)
|
||||
{
|
||||
_Controle.Angulo = 0;
|
||||
GeneralJoystick.EnviaComandoMotor(Keys.Escape, T_Code.Dir, ForcarComando: true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using AgroBase.Services.Operadores;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
|
|
@ -70,7 +69,7 @@ namespace AgroBase.Models.Operadores
|
|||
StatusCarro = Sonar?.Analises?.segmentacao?.status_corredor ?? StatusCarroMapa.Indefinido;
|
||||
ErroLateral = Sonar?.Analises?.segmentacao?.erro_angular ?? 0;
|
||||
|
||||
if (!Variaveis.OperacaoEmAndamento.Parametros.Controle?.SonarAtivado ?? false)
|
||||
if (!(Variaveis.OperacaoEmAndamento.Parametros?.Controle?.OakParadaPorObstaculo ?? false))
|
||||
{
|
||||
_comandoParadaEnviado = false;
|
||||
DeveParar = false;
|
||||
|
|
@ -80,7 +79,7 @@ namespace AgroBase.Models.Operadores
|
|||
else
|
||||
{
|
||||
List<Direcao> _direcoesInterromperMovimento = new List<Direcao> { Direcao.Frente }; //, Direcao.Tras
|
||||
Direcao _ultimaDirecaoControle = Variaveis.OperacaoEmAndamento.Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Mov)?.UltimaDirecao ?? Direcao.Parado;
|
||||
Direcao _ultimaDirecaoControle = Variaveis.OperacaoEmAndamento.Controle?.TiposControle?.FirstOrDefault(x => x?.Tipo == T_Code.Mov)?.UltimaDirecao ?? Direcao.Parado;
|
||||
bool _carroEmMovimento = _direcoesInterromperMovimento.Contains(_ultimaDirecaoControle);
|
||||
bool emMovimento = consideraEmMovimento ? _carroEmMovimento : true;
|
||||
DeveParar = Sonar?.Status == StatusModulo.Operante && ObstaculoDetectado;
|
||||
|
|
|
|||
|
|
@ -337,6 +337,15 @@ namespace OperationControl.ViewModels.Views.Operacao
|
|||
{
|
||||
bool simulador = VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Gnss?.Iniciado != true;
|
||||
VariaveisControleOperacao.EnviarComandoIniciarOperacao(true, simulador);
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await Task.Delay(1000);
|
||||
if (!(VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Liberada ?? false))
|
||||
{
|
||||
System.Windows.MessageBox.Show($"{VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.ImpedimentoErro}", "Operação iniciada com impedimento!", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue