This commit is contained in:
Diego Freitas 2025-12-10 17:01:58 -03:00
parent 561a299dae
commit e14e6c343d
1 changed files with 37 additions and 37 deletions

View File

@ -193,10 +193,9 @@ namespace AgroBase.Services
_distanciaTotalMetrosAnterior = distanciaTotalMetrosAtual; _distanciaTotalMetrosAnterior = distanciaTotalMetrosAtual;
_energiaConsumidaAnterior_Wh = EnergiaConsumida_Wh; _energiaConsumidaAnterior_Wh = EnergiaConsumida_Wh;
// Ignora leituras inválidas ou regressões // ---------- 1) ATUALIZAÇÃO DA JANELA (SÓ SE ANDOU) ----------
if (deltaDist_m <= 0 || deltaWh < 0) if (deltaDist_m > 0 && deltaWh >= 0)
return; {
// Alimenta a janela móvel // Alimenta a janela móvel
_historicoDeltaDist_m.Enqueue(deltaDist_m); _historicoDeltaDist_m.Enqueue(deltaDist_m);
_historicoDeltaWh.Enqueue(deltaWh); _historicoDeltaWh.Enqueue(deltaWh);
@ -233,8 +232,10 @@ namespace AgroBase.Services
else else
WhPorMetroHistorico = WhPorMetroHistorico * (1 - alpha) + WhPorMetro * alpha; WhPorMetroHistorico = WhPorMetroHistorico * (1 - alpha) + WhPorMetro * alpha;
} }
}
// se deltaDist_m <= 0, só não atualiza a janela, mas continua
// Calcula distâncias máxima teórica e segura // ---------- 2) CÁLCULO DA AUTONOMIA (SEMPRE QUE POSSÍVEL) ----------
double consumoRef_WhPorMetro = WhPorMetroReferencia; double consumoRef_WhPorMetro = WhPorMetroReferencia;
if (consumoRef_WhPorMetro > 0 && WhRestante > 0) if (consumoRef_WhPorMetro > 0 && WhRestante > 0)
@ -248,7 +249,6 @@ namespace AgroBase.Services
} }
else else
{ {
// aqui sim, caso extremo sem nada configurado
DistanciaMaximaTeorica_m = 0; DistanciaMaximaTeorica_m = 0;
DistanciaMaximaSegura_m = 0; DistanciaMaximaSegura_m = 0;
} }