Ajustado culomb counter
This commit is contained in:
parent
b090ed7495
commit
84962cb7de
|
|
@ -75,7 +75,7 @@ namespace AgroBase.Forms
|
|||
lblGPS.ForeColor = Gps.Inicializado ? Color.Green : Color.Red;
|
||||
if (Gps.Inicializado)
|
||||
{
|
||||
lblGPSDetalhes.Text = Gps.QualidadeFix.ToString() + " - " + Gps.PrecisaoCm.ToString("0.00") + " cm";
|
||||
lblGPSDetalhes.Text = $"{Gps.QualidadeFix} - {Gps.PrecisaoCm:F2} cm";
|
||||
}
|
||||
|
||||
lblPerformance.Text = Variaveis.OperacaoEmAndamento.DadosPerformance.PerformanceStr;
|
||||
|
|
@ -87,8 +87,9 @@ namespace AgroBase.Forms
|
|||
if (DalyBMSService.Iniciado)
|
||||
{
|
||||
var Bat = DalyBMSService.DadosLeitura;
|
||||
lblVBat.Text = $"Bateria: {Bat.Pack.TensaoTotal_V:0.00}V {Bat.Pack.Corrente_A:0.00}A {Bat.Pack.SOC_percent:0.00}% {Bat.TemperaturaMax:0.00}ºC";
|
||||
lblVBat.Text = $"Bateria: {Bat.Pack.TensaoTotal_V:F2}V {Bat.Pack.Corrente_A:F2}A {Bat.Pack.SOC_percent:F2}% {Bat.TemperaturaMax:Fw}ºC";
|
||||
}
|
||||
lblVBat.ForeColor = DalyBMSService.Iniciado ? Color.Green : Color.Red;
|
||||
}
|
||||
|
||||
private void AtualizarDadosSensorCorrente(string id, Label lbl)
|
||||
|
|
|
|||
|
|
@ -115,19 +115,34 @@ namespace AgroBase.Services
|
|||
|
||||
public void AtualizarConsumo(double distanciaTotalMetrosAtual)
|
||||
{
|
||||
var Sensor = Variaveis.OperacaoEmAndamento.DispSen?.Dados?.Sensores?.FirstOrDefault(x => x.ID == "AB36V");
|
||||
var DalyBms = DalyBMSService.DadosLeitura;
|
||||
bool bms_iniciado = DalyBms?.Iniciado ?? false;
|
||||
DateTime? bms_ultima_leitura = DalyBms?.UltimoComandoRecebido;
|
||||
double bms_tensao = DalyBms?.Pack?.TensaoTotal_V ?? 0;
|
||||
double bms_corrente = DalyBms?.Pack?.Corrente_A ?? 0;
|
||||
double bms_potencia = bms_tensao * bms_corrente;
|
||||
double bms_soc = DalyBms?.Pack?.SOC_percent ?? 0;
|
||||
|
||||
Iniciado = Sensor?.Inicializado ?? false;
|
||||
var Sensor = Variaveis.OperacaoEmAndamento.DispSen?.Dados?.Sensores?.FirstOrDefault(x => x.ID == "AB36V");
|
||||
bool sen_iniciado = Sensor?.Inicializado ?? false;
|
||||
DateTime? sen_ultima_leitura = Sensor?.UltimaLeitura;
|
||||
double sen_dt = Sensor?.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente)?.atual?.dt ?? 0;
|
||||
double sen_tensao = Sensor?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao)?.atual?.valor ?? 0;
|
||||
double sen_corrente = (Sensor?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente)?.atual?.valor ?? 0) / 1000.0;
|
||||
double sen_potencia = Sensor?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Potencia)?.atual?.valor ?? 0;
|
||||
double sen_soc = Math.Round(FuncoesMatematicas.Map(sen_tensao, VariaveisEquipamento.TensaoMinimaBateria, VariaveisEquipamento.TensaoMaximaBateria, 0.0, 100.0), 2);
|
||||
|
||||
Iniciado = bms_iniciado || sen_iniciado;
|
||||
|
||||
if (!Iniciado)
|
||||
return;
|
||||
|
||||
_dt = Sensor.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente)?.atual?.dt ?? 0;
|
||||
TensaoInstantanea = Sensor.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Tensao)?.atual?.valor ?? 0;
|
||||
CorrenteInstantanea = (Sensor.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente)?.atual?.valor ?? 0) / 1000.0;
|
||||
PotenciaInstantanea = Sensor.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Potencia)?.atual?.valor ?? 0;
|
||||
|
||||
PercentualBateria = Math.Round(FuncoesMatematicas.Map(TensaoInstantanea, VariaveisEquipamento.TensaoMinimaBateria, VariaveisEquipamento.TensaoMaximaBateria, 0.0, 100.0), 2);
|
||||
//_dt = Sensor.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Corrente)?.atual?.dt ?? 0;
|
||||
_dt = (DateTime.Now - ((bms_iniciado ? bms_ultima_leitura : sen_ultima_leitura) ?? DateTime.Now)).TotalSeconds;
|
||||
TensaoInstantanea = bms_iniciado ? bms_tensao : sen_tensao;
|
||||
CorrenteInstantanea = bms_iniciado ? bms_corrente : sen_corrente;
|
||||
PotenciaInstantanea = bms_iniciado ? bms_potencia : sen_potencia;
|
||||
PercentualBateria = bms_iniciado ? bms_soc : sen_soc;
|
||||
PercentualBateria = FuncoesMatematicas.Clamp(PercentualBateria, 0, 100);
|
||||
|
||||
// Verifique se as datas são válidas (não MinValue, MaxValue ou valores anômalos)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ using AgroBase.Services;
|
|||
using AgroBase.Models;
|
||||
using static AgroBase.Models.Enums;
|
||||
using OperationControl.Models;
|
||||
using System.Windows;
|
||||
using Application = System.Windows.Application;
|
||||
|
||||
namespace OperationControl.Services
|
||||
|
|
@ -266,6 +265,7 @@ namespace OperationControl.Services
|
|||
if (!sucesso)
|
||||
{
|
||||
Models.Variaveis.MostrarLog("Configurando módulo como base survery in...");
|
||||
BaseFix.fimProcesso = null;
|
||||
BaseFix.inicioProcesso = DateTime.UtcNow;
|
||||
await ConfigurarModuloBase(tempo_fixacao: TempoSurveryIn, porta_usb: "com3", porta_saida: "com3");
|
||||
BaseFix.inicioFix = DateTime.UtcNow;
|
||||
|
|
|
|||
|
|
@ -310,7 +310,7 @@ namespace OperationControl.Windows
|
|||
var gpsService = Variaveis.GpsService;
|
||||
lblDispositivos_Status.Content = VariaveisControleOperacao.StatusBase.ToString();
|
||||
AplicarStatusModuloNaLabel(lblDispositivos_Status, VariaveisControleOperacao.StatusBase, true, false);
|
||||
double progresso = (gpsService?.BaseFix?.PosicaoBaseFixada ?? false) ? gpsService?.BaseFix?.Progresso ?? double.NaN : double.NaN;
|
||||
double progresso = !(gpsService?.BaseFix?.PosicaoBaseFixada ?? false) ? gpsService?.BaseFix?.Progresso ?? double.NaN : double.NaN;
|
||||
AtualizarDadosTela_GNSS(Variaveis.GpsService?.UltimaLeitura?.ToGnssModel() ?? new AgroBase.Models.Operacoes.OperacaoParametrosDadosGNSSModel(), marker_id: VariaveisControleOperacao.BaseMarkerID, progresso);
|
||||
AtualizarDadosTela_Heading(Variaveis.GpsService?.UltimaLeitura?.AnguloCarroDefinido ?? 0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue