correcoes

This commit is contained in:
Diego Freitas 2024-03-01 08:17:59 -03:00
parent 88b20ef804
commit a0bd418ff2
16 changed files with 153 additions and 97 deletions

Binary file not shown.

View File

@ -337,25 +337,27 @@ namespace AgroBase.Forms.Operacoes
private void btnIniciarOperacao_Click(object sender, EventArgs e)
{
if (Variaveis.OperacaoEmAndamento.Iniciado)
{
btnIniciarOperacao.Text = "Iniciar Operação";
cmbCameraSoloE.Enabled = true;
cmbCameraSoloD.Enabled = true;
cmbCameraCaminho.Enabled = true;
AcaoBotaoIniciarOperacao(true);
}
Variaveis.OperacaoEmAndamento.FinalizarOperacao();
}
else
{
btnIniciarOperacao.Text = "Finalizar Operação";
cmbCameraSoloE.Enabled = false;
cmbCameraSoloD.Enabled = false;
cmbCameraCaminho.Enabled = false;
private void AcaoBotaoIniciarOperacao(bool AtuarOperacao)
{
btnIniciarOperacao.Text = !Variaveis.OperacaoEmAndamento.Iniciado ? "Iniciar Operação" : "Finalizar Operação";
cmbCameraSoloE.Enabled = !Variaveis.OperacaoEmAndamento.Iniciado;
cmbCameraSoloD.Enabled = !Variaveis.OperacaoEmAndamento.Iniciado;
cmbCameraCaminho.Enabled = !Variaveis.OperacaoEmAndamento.Iniciado;
Variaveis.OperacaoEmAndamento.IniciarOperacao(null, false);
if (AtuarOperacao)
{
if (btnIniciarOperacao.Text == "Finalizar Operação")
{
Variaveis.OperacaoEmAndamento.FinalizarOperacao();
}
else
{
Variaveis.OperacaoEmAndamento.IniciarOperacao(null, false);
}
}
}
private void TmrLeituras_Tick(object sender, EventArgs e)
@ -375,6 +377,11 @@ namespace AgroBase.Forms.Operacoes
}
AtualizarInformacoesGerais();
if (!Variaveis.OperacaoEmAndamento.Iniciado && btnIniciarOperacao.Text == "Finalizar Operação")
{
AcaoBotaoIniciarOperacao(false);
}
}
private void AtualizaLeituraCameraSolo(CameraSoloModel CameraSolo)
@ -658,14 +665,18 @@ namespace AgroBase.Forms.Operacoes
private void AtualizarInformacoesGerais()
{
if (Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.StatusAtual == Enuns.StatusOperacao.Aguardando)
{
this.Text = "Operação Seguidor de Linha - Iniciando em " + (Variaveis.OperacaoEmAndamento.TempoIniciarOperacao - Variaveis.OperacaoEmAndamento.Tempo.Seconds) + " segundos...";
}
else if (Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.StatusAtual == Enuns.StatusOperacao.Parametrizando)
if (Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.StatusAtual == StatusOperacao.Parametrizando)
{
this.Text = "Operação Seguidor de Linha - Parametrização";
}
else if (Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.StatusAtual == StatusOperacao.Aguardando)
{
this.Text = "Operação Seguidor de Linha - Iniciando em " + (Variaveis.OperacaoEmAndamento.TempoIniciarOperacao - Variaveis.OperacaoEmAndamento.Tempo.Seconds) + " segundo" + (Variaveis.OperacaoEmAndamento.Tempo.Seconds == 1 ? "" : "s") + "...";
}
else if (Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.StatusAtual == StatusOperacao.Concluida)
{
this.Text = "Operação Seguidor de Linha - Concluída";
}
else if (Variaveis.OperacaoEmAndamento.Iniciado)
{
this.Text = "Operação Seguidor de Linha - Iniciado";
@ -690,7 +701,7 @@ namespace AgroBase.Forms.Operacoes
pgbBateria.Value = Convert.ToInt32(Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria);
lblPorcentagemReservatorio.Text = Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria.ToString("00.00") + "%";
pgbProgresso.Value = Convert.ToInt32(Variaveis.OperacaoEmAndamento.Sensoriamento.ProgressoPercurso);
pgbProgresso.Value = Variaveis.OperacaoEmAndamento.Sensoriamento.ProgressoPercurso <= 100 ? Convert.ToInt32(Variaveis.OperacaoEmAndamento.Sensoriamento.ProgressoPercurso) : 100;
lblPorcentagemProgresso.Text = Variaveis.OperacaoEmAndamento.Sensoriamento.ProgressoPercurso.ToString("00.00") + "%";
lblDistancia.Text = "Distância Operação: " + (Variaveis.OperacaoEmAndamento.Mapa == null ? 0 : Variaveis.OperacaoEmAndamento.Mapa.DistanciaTotal).ToString("00.00") + " m";
}
@ -705,8 +716,23 @@ namespace AgroBase.Forms.Operacoes
catch { }
}
private void pnlOrientacao_Paint(object sender, PaintEventArgs e)
{
try
{
//DesenharInclinacao((Panel)sender, e, (float)GPSService.UltimaLeitura.Orientacao);
DesenharInclinacao((Panel)sender, e, (float)Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.AnguloCarro, -90);
}
catch { }
}
private void DesenharInclinacao(Panel pnlBussola, PaintEventArgs e, float anguloInclinacao, float anguloSub)
{
if (anguloInclinacao == float.NaN)
{
anguloInclinacao = 0;
}
Graphics g = e.Graphics;
// Desenha o círculo da bússola
int diameter = Math.Min(pnlBussola.Width - 1, pnlBussola.Height - 1);
@ -837,15 +863,10 @@ namespace AgroBase.Forms.Operacoes
}
}
private void pnlOrientacao_Paint(object sender, PaintEventArgs e)
{
try
{
//DesenharInclinacao((Panel)sender, e, (float)GPSService.UltimaLeitura.Orientacao);
DesenharInclinacao((Panel)sender, e, (float)Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.AnguloCarro, -90);
}
catch { }
}
#region SIMULACAO GPS
private void btnSimular_Click(object sender, EventArgs e)
{
@ -872,5 +893,8 @@ namespace AgroBase.Forms.Operacoes
Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.ManobraConcluida = true;
}
}
#endregion
}
}

View File

@ -118,13 +118,15 @@ namespace AgroBase.Models
public enum StatusOperacao
{
Parado,
Parametrizando,
Aguardando,
EntrandoRua,
CaminhandoRua,
SaindoRua,
Manobrando,
Retornando
Retornando,
Concluida
}
public enum DirecaoCarroRua

View File

@ -469,7 +469,10 @@ namespace AgroBase.Models
});
if (GPSTrajetoria.Count > 1)
{
Sensoriamento.DistanciaPercorrida += GPSService.DistanciaEntrePontos(GPSTrajetoria[GPSTrajetoria.Count - 1], GPSTrajetoria[GPSTrajetoria.Count - 2]);
if (ReferencialRuaGPS.DentroDaRua)
{
Sensoriamento.DistanciaPercorrida += GPSService.DistanciaEntrePontos(GPSTrajetoria[GPSTrajetoria.Count - 1], GPSTrajetoria[GPSTrajetoria.Count - 2]);
}
}
File.WriteAllText(PastaSaida + ID + "/trajetoria.json", JsonConvert.SerializeObject(GPSTrajetoria, Formatting.None));
}
@ -561,69 +564,88 @@ namespace AgroBase.Models
{
get
{
StatusOperacao etapaAtual = StatusOperacao.Aguardando;
StatusOperacao etapaAtual = _EtapaAtual;
// Se a operação não estiver iniciada
if (!Variaveis.OperacaoEmAndamento.Iniciado)
{
etapaAtual = StatusOperacao.Parametrizando;
}
else if (Variaveis.OperacaoEmAndamento.Tempo.Minutes == 0 && Variaveis.OperacaoEmAndamento.Tempo.Seconds < Variaveis.OperacaoEmAndamento.TempoIniciarOperacao)
{
etapaAtual = StatusOperacao.Aguardando;
}
else if (_EtapaAtual == StatusOperacao.Manobrando)
{
if (Direcao == DirecaoCarroRua.Parado)
// Etapa atual não é Finalizado, então a etapa é Parametrizando
if (_EtapaAtual != StatusOperacao.Concluida)
{
if (Variaveis.OperacaoEmAndamento.Mapa.Trajetoria.Count - 1 > Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual)
etapaAtual = StatusOperacao.Parametrizando;
}
}
// Operação em andamento
else
{
// Etapa atual é finalizada, então finaliza a operação
if (_EtapaAtual == StatusOperacao.Concluida)
{
Variaveis.OperacaoEmAndamento.FinalizarOperacao();
}
// Contagem regressiva para iniciar a operação
else if (Variaveis.OperacaoEmAndamento.Tempo.Minutes == 0 && Variaveis.OperacaoEmAndamento.Tempo.Seconds < Variaveis.OperacaoEmAndamento.TempoIniciarOperacao)
{
etapaAtual = StatusOperacao.Aguardando;
}
// Robô está manobrando para seguir a próxima rota do mapa
else if (_EtapaAtual == StatusOperacao.Manobrando)
{
// Aguarda a mudança de rua até que o robô tenha terminado a manobra e tenha ficado parado em frente à rua
if (ManobraConcluida && Direcao == DirecaoCarroRua.Parado)
{
Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual++;
ManobraConcluida = false;
}
}
// Se o robô não estiver dentro da entrelinha de cana
else if (!DentroDaRua)
{
// Está mais próximo do ponto inicial da rota, e a direção do carro é IDA ou então PARADO, logo está entrando na rua, do começo para o final
if (PontoMaisProximo == 0 && (Direcao == DirecaoCarroRua.Ida || Direcao == DirecaoCarroRua.Parado))
{
etapaAtual = StatusOperacao.EntrandoRua;
}
// Está mais próximo do ponto final da rota, e a direção do carro é VOLTA ou então PARADO, logo está entrando na rua, do final para o começo
else if (PontoMaisProximo == 1 && (Direcao == DirecaoCarroRua.Volta || Direcao == DirecaoCarroRua.Parado))
{
etapaAtual = StatusOperacao.EntrandoRua;
}
// Robô não está entrando na rua do começo para o fim, nem do fim para o começo
else
{
Variaveis.OperacaoEmAndamento.FinalizarOperacao();
}
ManobraConcluida = false;
}
else
{
return _EtapaAtual;
}
}
else if (!DentroDaRua)
{
if (PontoMaisProximo == 0 && (Direcao == DirecaoCarroRua.Ida || Direcao == DirecaoCarroRua.Parado))
{
etapaAtual = StatusOperacao.EntrandoRua;
}
else if (PontoMaisProximo == 1 && (Direcao == DirecaoCarroRua.Volta || Direcao == DirecaoCarroRua.Parado))
{
etapaAtual = StatusOperacao.EntrandoRua;
}
else
{
if (_EtapaAtual == StatusOperacao.CaminhandoRua)
{
etapaAtual = StatusOperacao.SaindoRua;
}
else
{
etapaAtual = StatusOperacao.Manobrando;
// Se a etapa anterior era CaminhandoRua, ou seja, robô estava na rua e agora não está mais, então esta saindo da rua
if (_EtapaAtual == StatusOperacao.CaminhandoRua)
{
etapaAtual = StatusOperacao.SaindoRua;
}
// Se a etapa anterior não for CaminhandoRua, então significa que ele já iniciou a etapa de sair da rua
else
{
// O índice de rua para realizar o trabalho já ultrapassou a quantidade de ruas definidas pelo operador, então a operação foi concluída
if (Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual >= Variaveis.OperacaoEmAndamento.Mapa.Trajetoria.Count - 1)
{
etapaAtual = StatusOperacao.Concluida;
}
// Ainda tem ruas a serem percorridas, logo, o robô precisa realizar a manobra para seguir para a próxima rua
else
{
etapaAtual = StatusOperacao.Manobrando;
}
}
}
}
// Se o robô estiver dentro da entrelinha da cana
else if (DentroDaRua)
{
etapaAtual = StatusOperacao.CaminhandoRua;
}
}
else if (DentroDaRua)
{
etapaAtual = StatusOperacao.CaminhandoRua;
}
_EtapaAtual = etapaAtual;
return etapaAtual;
}
set
{
_EtapaAtual = value;
}
}
public int PontosConsiderarAngulo { get; set; } = 2;
public double Distancia { get; set; } = 0;
@ -644,7 +666,7 @@ namespace AgroBase.Models
}
double mediaAngulo = somaAngulo / (Pontos.Count - 1);
return mediaAngulo;
return (mediaAngulo == double.NaN) ? 0 : mediaAngulo;
}
catch
{
@ -670,7 +692,7 @@ namespace AgroBase.Models
}
double mediaAnguloRua = somaAnguloRua / (PontosRua.Count - 1);
return mediaAnguloRua;
return (mediaAnguloRua == double.NaN) ? 0 : mediaAnguloRua;
}
catch
{

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-03-01T07:23:01.1215157-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-03-01T07:23:06.1221815-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339566770425247,"Longitude":-47.263998524140789,"DataHora":"2024-03-01T07:23:11.120887-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339649665078522,"Longitude":-47.263954035496013,"DataHora":"2024-03-01T07:23:16.1496056-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-03-01T07:24:03.4668139-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:06.1213783-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:11.1239974-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:16.1206957-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:21.1484433-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:26.1201443-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:31.1207847-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:36.1235517-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:41.1213013-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:46.1230108-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:51.1236446-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:24:56.1233033-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:25:01.1200705-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:25:06.1208063-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:25:11.1234179-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:25:16.1220673-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-03-01T07:31:56.6208049-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-03-01T07:33:35.4432337-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-03-01T07:33:37.6082729-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-03-01T07:33:42.6069445-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":13.48707115148296,"ProgressoPercurso":61.912344724946543,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-03-01T07:33:47.608557-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":23.75605239910999,"ProgressoPercurso":109.05206096401969,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-03-01T07:31:48.0375182-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-03-01T07:33:33.8102125-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339550340751185,"Longitude":-47.264007461846653,"DataHora":"2024-03-01T07:33:37.1087491-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339632987002233,"Longitude":-47.26396290702327,"DataHora":"2024-03-01T07:33:42.1084171-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-03-01T07:33:47.11202-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"Momento":"2024-03-01T08:02:16.0146516-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-03-01T08:02:21.0133203-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-03-01T08:02:26.0259391-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-03-01T08:02:31.0136134-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":13.48707115148296,"ProgressoPercurso":61.912344724946543,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-03-01T08:02:15.0910881-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649467594312739},{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-03-01T08:02:20.0907867-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649467594312739},{"Latitude":-22.339550340751185,"Longitude":-47.264007461846653,"DataHora":"2024-03-01T08:02:25.0894172-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649467594312739},{"Latitude":-22.339632987002233,"Longitude":-47.26396290702327,"DataHora":"2024-03-01T08:02:30.0900606-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649467594312739}]

File diff suppressed because one or more lines are too long