This commit is contained in:
Diego Freitas 2025-03-20 15:38:18 -03:00
parent e65e9b2c66
commit faf893d595
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;
var Controle = Variaveis.OperacaoEmAndamento.Controle.TiposControle.FirstOrDefault(x => x.Tipo == Comando.Dispositivo);
// Cancelar Comando Anterior
if (Comando.Comando == Keys.Escape)
{
@ -518,14 +520,14 @@ namespace AgroBase
else if (Comando.Comando == Keys.Add)
{
Comando.Dispositivo = T_Code.Mov;
DirecaoAtual = MovimentacaoUnificadaModel.UltimaDirecao;
DirecaoAtual = Controle?.UltimaDirecao ?? Direcao.Parado;
Variaveis.OperacaoEmAndamento.Controle.PercentualVelocidadeSP++;
Pressionado = true;
}
else if (Comando.Comando == Keys.Subtract)
{
Comando.Dispositivo = T_Code.Mov;
DirecaoAtual = MovimentacaoUnificadaModel.UltimaDirecao;
DirecaoAtual = Controle?.UltimaDirecao ?? Direcao.Parado;
Variaveis.OperacaoEmAndamento.Controle.PercentualVelocidadeSP--;
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 static Direcao UltimaDirecao { get; set; } = Direcao.Parado;
public (bool, List<string>) StatusModulosMOV(Direcao Lado)
{
@ -249,6 +247,8 @@ namespace AgroBase.Models.Modules
{
tmrRegistrador.SetInterval(_TaxaAmostragem);
var UltimaDirecao = Variaveis.OperacaoEmAndamento.Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Mov)?.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));
@ -571,21 +571,11 @@ namespace AgroBase.Models.Modules
private void VerificarAlarme(AlarmeModel _Alarme)
{
bool Adicionado = false;
var Alm = MovMotor.Alarmes.FirstOrDefault(x => x.Tipo == _Alarme.Tipo);
if (Alm == null)
{
Alm = _Alarme;
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;
@ -965,10 +955,6 @@ namespace AgroBase.Models.Modules
});
}
}
else
{
MovimentacaoUnificadaModel.UltimaDirecao = DirecaoAtual;
}
RPM_SP_Controle = Variaveis.OperacaoEmAndamento.Controle.RPM_Motor;
RPM_SP =

View File

@ -901,13 +901,15 @@ namespace AgroBase.Models
DistanciaPercorridaTotal = 0,
idxRuaDireita = idxDir + incDir,
idxRuaEsquerda = idxEsq + incEsq,
Ultimo = i == x.Count() - 1
FatorLarguraCorredor = CorredoresLarguras[x.Key] / LarguraCorredorPadrao
};
return obj;
})
.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());
AtualizarDadosTrajetoria();
@ -1083,7 +1085,7 @@ namespace AgroBase.Models
public bool Ultimo { get; set; }
public int idxRuaEsquerda { get; set; }
public int idxRuaDireita { get; set; }
public double FatorLarguraCorredor { get; private set; }
public double FatorLarguraCorredor { get; set; }
public void AtualizarDados()
{
@ -1108,7 +1110,6 @@ namespace AgroBase.Models
}
}
FatorLarguraCorredor = Largura / TrajetoriaMapaOperacaoModel.LarguraCorredorPadrao;
DistanciaRestante = DistanciaTotal - DistanciaPercorridaTotal;
Progresso = (DistanciaTotal > 0) ? FuncoesMatematicas.Clamp((DistanciaPercorridaTotal / DistanciaTotal) * 100.0, 0, 100) : 0;
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.exe
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