This commit is contained in:
Diego Freitas 2025-03-20 15:38:18 -03:00
parent 408da5d10a
commit 1d254ddbff
23 changed files with 41 additions and 43 deletions

Binary file not shown.

View File

@ -502,6 +502,8 @@ namespace AgroBase
Direcao DirecaoAtual = Direcao.Parado; Direcao DirecaoAtual = Direcao.Parado;
var Controle = Variaveis.OperacaoEmAndamento.Controle.TiposControle.FirstOrDefault(x => x.Tipo == Comando.Dispositivo);
// Cancelar Comando Anterior // Cancelar Comando Anterior
if (Comando.Comando == Keys.Escape) if (Comando.Comando == Keys.Escape)
{ {
@ -518,14 +520,14 @@ namespace AgroBase
else if (Comando.Comando == Keys.Add) else if (Comando.Comando == Keys.Add)
{ {
Comando.Dispositivo = T_Code.Mov; Comando.Dispositivo = T_Code.Mov;
DirecaoAtual = MovimentacaoUnificadaModel.UltimaDirecao; DirecaoAtual = Controle?.UltimaDirecao ?? Direcao.Parado;
Variaveis.OperacaoEmAndamento.Controle.PercentualVelocidadeSP++; Variaveis.OperacaoEmAndamento.Controle.PercentualVelocidadeSP++;
Pressionado = true; Pressionado = true;
} }
else if (Comando.Comando == Keys.Subtract) else if (Comando.Comando == Keys.Subtract)
{ {
Comando.Dispositivo = T_Code.Mov; Comando.Dispositivo = T_Code.Mov;
DirecaoAtual = MovimentacaoUnificadaModel.UltimaDirecao; DirecaoAtual = Controle?.UltimaDirecao ?? Direcao.Parado;
Variaveis.OperacaoEmAndamento.Controle.PercentualVelocidadeSP--; Variaveis.OperacaoEmAndamento.Controle.PercentualVelocidadeSP--;
Pressionado = true; Pressionado = true;
} }
@ -643,10 +645,10 @@ namespace AgroBase
} }
} }
var Ctrl = Variaveis.OperacaoEmAndamento.Controle.TiposControle.FirstOrDefault(x => x.Tipo == Comando.Dispositivo);
if (Ctrl != null) if (Controle != null)
{ {
Ctrl.UltimaDirecao = DirecaoAtual; Controle.UltimaDirecao = DirecaoAtual;
} }
} }

View File

@ -43,8 +43,6 @@ namespace AgroBase.Models.Modules
public List<ModuloMvdModel> Modulos { get; set; } = new List<ModuloMvdModel>(); public List<ModuloMvdModel> Modulos { get; set; } = new List<ModuloMvdModel>();
public static Direcao UltimaDirecao { get; set; } = Direcao.Parado;
public (bool, List<string>) StatusModulosMOV(Direcao Lado) public (bool, List<string>) StatusModulosMOV(Direcao Lado)
{ {
@ -249,6 +247,8 @@ namespace AgroBase.Models.Modules
{ {
tmrRegistrador.SetInterval(_TaxaAmostragem); tmrRegistrador.SetInterval(_TaxaAmostragem);
var UltimaDirecao = Variaveis.OperacaoEmAndamento.Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Mov)?.UltimaDirecao ?? Direcao.Parado;
if (UltimaDirecao != Direcao.Parado) if (UltimaDirecao != Direcao.Parado)
{ {
VelocidadeMedia = FuncoesMatematicas.ConverteKmhParaMs(Modulos.Where(x => x.Conectado && x.MovMotor.ComandoLigado).DefaultIfEmpty().Average(x => x?.MovMotor?.VelocidadeInstantanea ?? 0)); VelocidadeMedia = FuncoesMatematicas.ConverteKmhParaMs(Modulos.Where(x => x.Conectado && x.MovMotor.ComandoLigado).DefaultIfEmpty().Average(x => x?.MovMotor?.VelocidadeInstantanea ?? 0));
@ -571,21 +571,11 @@ namespace AgroBase.Models.Modules
private void VerificarAlarme(AlarmeModel _Alarme) private void VerificarAlarme(AlarmeModel _Alarme)
{ {
bool Adicionado = false;
var Alm = MovMotor.Alarmes.FirstOrDefault(x => x.Tipo == _Alarme.Tipo); var Alm = MovMotor.Alarmes.FirstOrDefault(x => x.Tipo == _Alarme.Tipo);
if (Alm == null) if (Alm == null)
{ {
Alm = _Alarme; Alm = _Alarme;
MovMotor.Alarmes.Add(Alm); MovMotor.Alarmes.Add(Alm);
Adicionado = true;
}
bool AlarmeAnterior = (Alm.Maximo && Alm.ParaMaximo) || (Alm.Minimo && Alm.ParaMinimo);
bool AlarmeAtual = (_Alarme.Maximo && _Alarme.ParaMaximo) || (_Alarme.Minimo && _Alarme.ParaMinimo);
if (MovMotor.Inicializado && (!AlarmeAnterior || Adicionado) && AlarmeAtual) // Motor iniciado, Não estava em alarme anteriormente ou foi adicionado agora, alarme atual
{
MovMotor.EnviarComandoControle(Direcao.Parado);
} }
Alm.Valor = _Alarme.Valor; Alm.Valor = _Alarme.Valor;
@ -965,10 +955,6 @@ namespace AgroBase.Models.Modules
}); });
} }
} }
else
{
MovimentacaoUnificadaModel.UltimaDirecao = DirecaoAtual;
}
RPM_SP_Controle = Variaveis.OperacaoEmAndamento.Controle.RPM_Motor; RPM_SP_Controle = Variaveis.OperacaoEmAndamento.Controle.RPM_Motor;
RPM_SP = RPM_SP =

View File

@ -901,13 +901,15 @@ namespace AgroBase.Models
DistanciaPercorridaTotal = 0, DistanciaPercorridaTotal = 0,
idxRuaDireita = idxDir + incDir, idxRuaDireita = idxDir + incDir,
idxRuaEsquerda = idxEsq + incEsq, idxRuaEsquerda = idxEsq + incEsq,
Ultimo = i == x.Count() - 1 FatorLarguraCorredor = CorredoresLarguras[x.Key] / LarguraCorredorPadrao
}; };
return obj; return obj;
}) })
.ToList(); .ToList();
_Corredores.ForEach(x => x.Ultimo = x.Idx == _Corredores.Count() - 1);
DistanciaTotal = GPSUtils.DistanciaDoTrecho(_trajetoriaFixa.Where(x => x.Tipo != TipoPontoRua.PosicaoRobo).Select(x => x.Posicao).ToList()); DistanciaTotal = GPSUtils.DistanciaDoTrecho(_trajetoriaFixa.Where(x => x.Tipo != TipoPontoRua.PosicaoRobo).Select(x => x.Posicao).ToList());
AtualizarDadosTrajetoria(); AtualizarDadosTrajetoria();
@ -1083,7 +1085,7 @@ namespace AgroBase.Models
public bool Ultimo { get; set; } public bool Ultimo { get; set; }
public int idxRuaEsquerda { get; set; } public int idxRuaEsquerda { get; set; }
public int idxRuaDireita { get; set; } public int idxRuaDireita { get; set; }
public double FatorLarguraCorredor { get; private set; } public double FatorLarguraCorredor { get; set; }
public void AtualizarDados() public void AtualizarDados()
{ {
@ -1108,7 +1110,6 @@ namespace AgroBase.Models
} }
} }
FatorLarguraCorredor = Largura / TrajetoriaMapaOperacaoModel.LarguraCorredorPadrao;
DistanciaRestante = DistanciaTotal - DistanciaPercorridaTotal; DistanciaRestante = DistanciaTotal - DistanciaPercorridaTotal;
Progresso = (DistanciaTotal > 0) ? FuncoesMatematicas.Clamp((DistanciaPercorridaTotal / DistanciaTotal) * 100.0, 0, 100) : 0; Progresso = (DistanciaTotal > 0) ? FuncoesMatematicas.Clamp((DistanciaPercorridaTotal / DistanciaTotal) * 100.0, 0, 100) : 0;
Concluido = !Pontos.Any(x => !x.Visitado); Concluido = !Pontos.Any(x => !x.Visitado);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -482,4 +482,4 @@ C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.csproj.GenerateR
C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.csproj.CoreCompileInputs.cache C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.csproj.CoreCompileInputs.cache
C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.exe C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.exe
C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.pdb C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.pdb
C:\ZendionINC\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.csproj.Up2Date C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.csproj.CopyComplete