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.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);
|
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);
|
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.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
@ -70,7 +69,7 @@ namespace AgroBase.Models.Operadores
|
||||||
StatusCarro = Sonar?.Analises?.segmentacao?.status_corredor ?? StatusCarroMapa.Indefinido;
|
StatusCarro = Sonar?.Analises?.segmentacao?.status_corredor ?? StatusCarroMapa.Indefinido;
|
||||||
ErroLateral = Sonar?.Analises?.segmentacao?.erro_angular ?? 0;
|
ErroLateral = Sonar?.Analises?.segmentacao?.erro_angular ?? 0;
|
||||||
|
|
||||||
if (!Variaveis.OperacaoEmAndamento.Parametros.Controle?.SonarAtivado ?? false)
|
if (!(Variaveis.OperacaoEmAndamento.Parametros?.Controle?.OakParadaPorObstaculo ?? false))
|
||||||
{
|
{
|
||||||
_comandoParadaEnviado = false;
|
_comandoParadaEnviado = false;
|
||||||
DeveParar = false;
|
DeveParar = false;
|
||||||
|
|
@ -80,7 +79,7 @@ namespace AgroBase.Models.Operadores
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
List<Direcao> _direcoesInterromperMovimento = new List<Direcao> { Direcao.Frente }; //, Direcao.Tras
|
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 _carroEmMovimento = _direcoesInterromperMovimento.Contains(_ultimaDirecaoControle);
|
||||||
bool emMovimento = consideraEmMovimento ? _carroEmMovimento : true;
|
bool emMovimento = consideraEmMovimento ? _carroEmMovimento : true;
|
||||||
DeveParar = Sonar?.Status == StatusModulo.Operante && ObstaculoDetectado;
|
DeveParar = Sonar?.Status == StatusModulo.Operante && ObstaculoDetectado;
|
||||||
|
|
|
||||||
|
|
@ -337,6 +337,15 @@ namespace OperationControl.ViewModels.Views.Operacao
|
||||||
{
|
{
|
||||||
bool simulador = VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Gnss?.Iniciado != true;
|
bool simulador = VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Gnss?.Iniciado != true;
|
||||||
VariaveisControleOperacao.EnviarComandoIniciarOperacao(true, simulador);
|
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