ajustes no gps service

This commit is contained in:
Diego Freitas 2026-06-12 13:18:56 -03:00
parent cec03f3df4
commit 9a0e3cbb6b
1 changed files with 19 additions and 13 deletions

View File

@ -97,7 +97,7 @@ namespace AgroBase.Services
public static async Task ConfigurarModulo() public static async Task ConfigurarModulo()
{ {
Console.WriteLine("Iniciando configuração do módulo GPS..."); Variaveis.MostrarLog($"[GPSService.ConfigurarModulo] Iniciando configuração do módulo GPS...");
await ConfigurarModuloRover(comprimento_antena: 130); await ConfigurarModuloRover(comprimento_antena: 130);
} }
@ -131,7 +131,7 @@ namespace AgroBase.Services
// NMEA só na USB (COM1) // NMEA só na USB (COM1)
$"gngga {porta_usb} {freq}\r\n", $"gngga {porta_usb} {freq}\r\n",
$"gpths {porta_usb} {freq}\r\n", $"gpths {porta_usb} {freq}\r\n",
$"gnvtg {porta_usb} {freq}\r\n", $"gpvtg {porta_usb} {freq}\r\n",
$"saveconfig\r\n" $"saveconfig\r\n"
}; };
@ -147,7 +147,7 @@ namespace AgroBase.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine($"Erro ao enviar comando de configuração GNSS: {ex.Message}"); Variaveis.MostrarLog($"[GPSService.ConfigurarModuloRover] Erro ao enviar comando de configuração GNSS: {ex.Message}");
} }
await Task.Delay(1000); // Pequeno delay para evitar sobrecarga na comunicação await Task.Delay(1000); // Pequeno delay para evitar sobrecarga na comunicação
} }
@ -199,7 +199,7 @@ namespace AgroBase.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine($"Erro ao enviar comando de configuração GNSS: {ex.Message}"); Variaveis.MostrarLog($"[GPSService.ConfigurarModuloBase] Erro ao enviar comando de configuração GNSS: {ex.Message}");
} }
await Task.Delay(500); await Task.Delay(500);
} }
@ -254,7 +254,7 @@ namespace AgroBase.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine("Erro ao processar dados da porta serial: " + ex.Message); Variaveis.MostrarLog($"[GPSService.PortaGPS_DataReceived] Erro ao processar dados da porta serial: " + ex.Message);
} }
} }
@ -320,9 +320,15 @@ namespace AgroBase.Services
{ {
ProcessarGxRMC(sentenca); ProcessarGxRMC(sentenca);
} }
// ACK de comando do UM982, não é sentença NMEA de navegação.
else if (sentenca.StartsWith("$command,", StringComparison.OrdinalIgnoreCase))
{
Variaveis.MostrarLog($"[GPSService.ProcessarDadosNMEA] {sentenca}");
return;
}
else else
{ {
Console.WriteLine($"Sentença desconhecida: {sentenca}"); Variaveis.MostrarLog($"[GPSService.ProcessarDadosNMEA] Sentença desconhecida: {sentenca}");
} }
} }
@ -617,7 +623,7 @@ namespace AgroBase.Services
if (campos.Length < 2) if (campos.Length < 2)
{ {
Console.WriteLine("Sentença incompleta."); Variaveis.MostrarLog("[GPSService.ProcessarGNTHS] Sentença incompleta.");
return; return;
} }
@ -650,7 +656,7 @@ namespace AgroBase.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine($"Erro ao processar a sentença: {ex.Message}"); Variaveis.MostrarLog($"[GPSService.ProcessarGNTHS] Erro ao processar a sentença: {ex.Message}");
} }
} }
@ -925,7 +931,7 @@ namespace AgroBase.Services
{ {
if ((response ?? "").Contains("200 OK")) if ((response ?? "").Contains("200 OK"))
{ {
Console.WriteLine("Conexão bem-sucedida ao mountpoint!"); Variaveis.MostrarLog($"[GPSService.AplicarCorrecaoRTK_Ntrip] Conexão bem-sucedida ao mountpoint!");
byte[] buffer = new byte[4096]; byte[] buffer = new byte[4096];
int bytesRead; int bytesRead;
@ -942,13 +948,13 @@ namespace AgroBase.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine($"Erro ao enviar correção RTCM para o módulo GNSS: {ex.Message}"); Variaveis.MostrarLog($"[GPSService.AplicarCorrecaoRTK_Ntrip] Erro ao enviar correção RTCM para o módulo GNSS: {ex.Message}");
} }
} }
} }
else else
{ {
Console.WriteLine($"Falha na conexão com NTRIP: {response}"); Variaveis.MostrarLog($"[GPSService.AplicarCorrecaoRTK_Ntrip] Falha na conexão com NTRIP: {response}");
await Task.Delay(5000); // Aguarde antes de tentar novamente await Task.Delay(5000); // Aguarde antes de tentar novamente
break; break;
} }
@ -958,7 +964,7 @@ namespace AgroBase.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine($"Erro na conexão RTK: {ex.Message}"); Variaveis.MostrarLog($"[GPSService.AplicarCorrecaoRTK_Ntrip] Erro na conexão RTK: {ex.Message}");
await Task.Delay(5000); // Aguarde antes de tentar novamente await Task.Delay(5000); // Aguarde antes de tentar novamente
} }
} }
@ -1348,7 +1354,7 @@ namespace AgroBase.Services
} }
catch (Exception e) catch (Exception e)
{ {
Console.WriteLine($"Erro ao salvar dados do GPS no Redis: {e.Message}"); Variaveis.MostrarLog($"[GPSService.AtualizarDadosRedis] Erro ao salvar dados do GPS no Redis: {e.Message}");
Variaveis.OperacaoEmAndamento.Sensoriamento.InserirLog(T_Code.Gps, StatusModulo.Falha, 0, $"Erro ao salvar dados do GPS no Redis: {e.Message}"); Variaveis.OperacaoEmAndamento.Sensoriamento.InserirLog(T_Code.Gps, StatusModulo.Falha, 0, $"Erro ao salvar dados do GPS no Redis: {e.Message}");
} }
} }