parametrizacao um982 com correcao rtk lora
|
|
@ -597,6 +597,7 @@
|
|||
<Compile Include="Services\PythonService.cs" />
|
||||
<Compile Include="Services\PZEMService.cs" />
|
||||
<Compile Include="Services\RedisService.cs" />
|
||||
<Compile Include="Services\RTCMSniffer.cs" />
|
||||
<Compile Include="Services\SerialCanService.cs" />
|
||||
<Compile Include="Services\SerialService.cs" />
|
||||
<Compile Include="Services\SonarService.cs" />
|
||||
|
|
|
|||
|
|
@ -293,8 +293,17 @@
|
|||
Autonomo = 1,
|
||||
DGPS = 2,
|
||||
PPS = 3,
|
||||
RTKFlutuante = 4,
|
||||
RTKFixo = 5
|
||||
RTKFixo = 4,
|
||||
RTKFlutuante = 5,
|
||||
DeadReckoing = 6,
|
||||
BaseFix = 7,
|
||||
}
|
||||
|
||||
public enum TiposDimensaoCorrecaoGPS
|
||||
{
|
||||
SemCorrecao = 0,
|
||||
Correcao2D = 1,
|
||||
Correcao3D = 2,
|
||||
}
|
||||
|
||||
public enum TiposControladorDirecional
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ namespace AgroBase.Models
|
|||
public string TipoOrientacao { get; set; }
|
||||
public double VariacaoMagnetica { get; set; }
|
||||
public TiposCorrecaoGPS QualidadeFix { get; set; }
|
||||
public int IdadeCorrecao { get; set; }
|
||||
public double PDOP { get; set; }
|
||||
public double VDOP { get; set; }
|
||||
public TiposDimensaoCorrecaoGPS FixDimensao { get; set; }
|
||||
public double PrecisaoCm
|
||||
{
|
||||
get
|
||||
|
|
@ -74,6 +78,10 @@ namespace AgroBase.Models
|
|||
OrientacaoMovimento = OrientacaoMovimento,
|
||||
AnguloCarroDefinido = AnguloCarroDefinido,
|
||||
Heartbeat = Heartbeat,
|
||||
IdadeCorrecao = IdadeCorrecao,
|
||||
FixDimensao = FixDimensao,
|
||||
PDOP = PDOP,
|
||||
VDOP = VDOP
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -448,6 +456,22 @@ namespace AgroBase.Models
|
|||
return (resultado.ponto, resultado.index);
|
||||
}
|
||||
|
||||
public static double DmmToDecimal(string dmm, int degLen)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(dmm)) return double.NaN;
|
||||
// NMEA: ddmm.mmmm (lat) / dddmm.mmmm (lon)
|
||||
double deg = double.Parse(dmm.Substring(0, degLen), CultureInfo.InvariantCulture);
|
||||
double min = double.Parse(dmm.Substring(degLen), CultureInfo.InvariantCulture);
|
||||
return deg + (min / 60.0);
|
||||
}
|
||||
|
||||
public static double ParseDouble(string s) =>
|
||||
double.TryParse(s, NumberStyles.Float, CultureInfo.InvariantCulture, out var v) ? v : double.NaN;
|
||||
|
||||
public static int ParseInt(string s) =>
|
||||
int.TryParse(s, NumberStyles.Integer, CultureInfo.InvariantCulture, out var v) ? v : 0;
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1601,53 +1601,6 @@ namespace AgroBase.Models
|
|||
public bool Mandatorio { get; set; }
|
||||
public bool Utilizar { get; set; }
|
||||
public bool Conectado { get; set; }
|
||||
public bool Liberado
|
||||
{
|
||||
get
|
||||
{
|
||||
bool _liberado = true;
|
||||
|
||||
if (!Mandatorio || !Utilizar) return _liberado;
|
||||
|
||||
var _DispMvd = Variaveis.OperacaoEmAndamento.DispMvd;
|
||||
|
||||
switch (Dispositivo)
|
||||
{
|
||||
case T_Code.Mov:
|
||||
{
|
||||
(bool _EsqOperante, List<string> _EsqModsInoperantes) = _DispMvd?.Dados?.StatusModulosMOV(Direcao.Esquerda) ?? (true, new List<string>());
|
||||
(bool _DirOperante, List<string> _DirModsInoperantes) = _DispMvd?.Dados?.StatusModulosMOV(Direcao.Direita) ?? (true, new List<string>());
|
||||
_liberado = _EsqOperante && _DirOperante;
|
||||
break;
|
||||
}
|
||||
case T_Code.Dir:
|
||||
{
|
||||
(bool _MksOperante, List<string> _MksModsInoperantes) = _DispMvd?.Dados?.StatusModulosDIR(Variaveis.OperacaoEmAndamento.Controle.TipoMovimento) ?? (true, new List<string>());
|
||||
_liberado = _MksOperante;
|
||||
break;
|
||||
}
|
||||
case T_Code.Atu:
|
||||
{
|
||||
(bool _AtuOperante, List<string> _AtuModsInoperantes) = Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.StatusModulosATU() ?? (true, new List<string>());
|
||||
_liberado = _AtuOperante;
|
||||
break;
|
||||
}
|
||||
case T_Code.Sen:
|
||||
{
|
||||
(bool _SenOperante, List<string> _SenModsInoperantes) = Variaveis.OperacaoEmAndamento.DispSen?.Dados?.StatusModulosSEN() ?? (true, new List<string>());
|
||||
_liberado = _SenOperante;
|
||||
break;
|
||||
}
|
||||
case T_Code.Gps:
|
||||
{
|
||||
_liberado = (Variaveis.OperacaoEmAndamento.Sensoriamento.Gps?.PrecisaoCm ?? 0) < GPSService.PrecisaoMinimaCm;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return Conectado && _liberado;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class OperacaoParametrosMandatoriosModel
|
||||
|
|
|
|||
|
|
@ -184,8 +184,8 @@ namespace AgroBase.Models
|
|||
{ TipoMovimentoDirecional.MovimentoLateral, 90 },
|
||||
{ TipoMovimentoDirecional.Diagnostico, 25 },
|
||||
};
|
||||
public static double AnguloInclinacaoRollMax { get; set; } = 30.0;
|
||||
public static double AnguloInclinacaoPitchMax { get; set; } = 15.0;
|
||||
public static double AnguloInclinacaoRollMax { get; set; } = 15.0;
|
||||
public static double AnguloInclinacaoPitchMax { get; set; } = 30.0;
|
||||
|
||||
public static SensorSinaleiroComportamentoModel ComportamentoPorStatus(StatusOperacao? _status = null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -41,12 +41,11 @@ namespace AgroBase.Services
|
|||
|
||||
public static int TaxaAmostragemHz { get; set; } = 5;
|
||||
|
||||
private static bool LoopRTK = false;
|
||||
public static bool CorrecaoRTK = true;
|
||||
private static int rtk_timeout = 60;
|
||||
private static bool LoopRTK_Ntrip = false;
|
||||
public static bool CorrecaoRTK_Ntrip = true;
|
||||
public static DateTime UltimoEnvioCorrecaoRTK = DateTime.MinValue;
|
||||
|
||||
public static double PrecisaoMinimaCm { get; set; } = 100.0;
|
||||
|
||||
public static void AtualizarPortaCOM(SerialPort Porta)
|
||||
{
|
||||
if (PortaGPS == null)
|
||||
|
|
@ -71,7 +70,10 @@ namespace AgroBase.Services
|
|||
{
|
||||
DefinirDispositivo();
|
||||
Task.Run(async () => await ConfigurarModulo());
|
||||
Task.Run(async () => await AplicarCorrecaoRTK());
|
||||
if (LoopRTK_Ntrip)
|
||||
{
|
||||
Task.Run(async () => await AplicarCorrecaoRTK_Ntrip());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -90,11 +92,46 @@ namespace AgroBase.Services
|
|||
|
||||
private static async Task ConfigurarModulo()
|
||||
{
|
||||
string freq = (1.0 / TaxaAmostragemHz).ToString("0.0").Replace(",", ".");
|
||||
string[] comandos = new string[]
|
||||
if (Variaveis.IsAgroMonitor)
|
||||
{
|
||||
$"unlog\r\n",
|
||||
$"unlog\r\ngngga {freq}\r\ngpths {freq}\r\n"
|
||||
await ConfigurarModuloBase();
|
||||
}
|
||||
else
|
||||
{
|
||||
await ConfigurarModuloRover();
|
||||
}
|
||||
}
|
||||
|
||||
private static async Task ConfigurarModuloRover(string porta_usb = "com3", string porta_entrada = "com2", int comprimento_antena = 130, int tolerancia_antena = 3)
|
||||
{
|
||||
string freq = (1.0 / TaxaAmostragemHz).ToString("0.0").Replace(",", ".");
|
||||
string[] comandos = {
|
||||
// Bauds
|
||||
$"config {porta_usb} 115200\r\n",
|
||||
$"config {porta_entrada} 115200\r\n",
|
||||
|
||||
// limpa logs das portas
|
||||
$"unlog com1\r\n",
|
||||
$"unlog com2\r\n",
|
||||
$"unlog com3\r\n",
|
||||
|
||||
// modo rover + RTK
|
||||
$"mode rover uav\r\n",
|
||||
|
||||
// timeouts de correção
|
||||
$"config rtk timeout {rtk_timeout}\r\n",
|
||||
$"config dgps timeout 60\r\n", // ou 0 para desabilitar DGPS fallback
|
||||
|
||||
// heading 2 antenas
|
||||
$"config heading fixlength\r\n",
|
||||
$"config heading length {comprimento_antena} {tolerancia_antena}\r\n",
|
||||
// (se precisar, existe 'config heading offset <azim_off> <pitch_off>')
|
||||
|
||||
// NMEA só na USB (COM1)
|
||||
$"gpgga {porta_usb} {freq}\r\n",
|
||||
$"gpths {porta_usb} {freq}\r\n",
|
||||
|
||||
$"saveconfig\r\n"
|
||||
};
|
||||
|
||||
await Task.Delay(2000);
|
||||
|
|
@ -107,6 +144,48 @@ namespace AgroBase.Services
|
|||
}
|
||||
}
|
||||
|
||||
private static async Task ConfigurarModuloBase(int tempo_fixacao = 60, string porta_usb = "com3", string porta_saida = "com2")
|
||||
{
|
||||
string[] comandos = {
|
||||
// Bauds
|
||||
$"config {porta_usb} 115200\r\n",
|
||||
$"config {porta_saida} 115200\r\n",
|
||||
|
||||
// limpa logs das portas
|
||||
$"unlog com1\r\n",
|
||||
$"unlog com2\r\n",
|
||||
$"unlog com3\r\n",
|
||||
|
||||
// Base com Survey-In (tempo + acurácia)
|
||||
$"mode base time {tempo_fixacao}\r\n",
|
||||
|
||||
// RTCM perfil (comece leve; ative mais constelações se o LoRa aguentar)
|
||||
$"RTCM1006 {porta_saida} 10\r\n",
|
||||
$"RTCM1033 {porta_saida} 30\r\n",
|
||||
$"RTCM1074 {porta_saida} 1\r\n", // GPS MSM4
|
||||
$"RTCM1124 {porta_saida} 1\r\n", // BeiDou MSM4
|
||||
|
||||
// (Opcional) ativar mais constelações:
|
||||
// $"RTCM1094 {porta_saida} 1\r\n", // Galileo MSM4
|
||||
// $"RTCM1084 {porta_saida} 1\r\n", // GLONASS MSM4
|
||||
// $"RTCM1230 {porta_saida} 10\r\n",// Bias GLONASS (OBRIGATÓRIO se 1084 estiver ativo)
|
||||
|
||||
// NMEA mínimo para debug na USB
|
||||
$"gngga {porta_usb} 1\r\n",
|
||||
|
||||
$"saveconfig\r\n",
|
||||
};
|
||||
|
||||
await Task.Delay(2000);
|
||||
|
||||
foreach (string cmd in comandos)
|
||||
{
|
||||
byte[] bytes = Encoding.ASCII.GetBytes(cmd);
|
||||
PortaGPS.Write(bytes, 0, bytes.Length);
|
||||
await Task.Delay(500);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static StringBuilder _buffer = new StringBuilder();
|
||||
|
||||
|
|
@ -122,6 +201,8 @@ namespace AgroBase.Services
|
|||
// Lê os dados disponíveis na porta
|
||||
string recebido = PortaGPS.ReadExisting();
|
||||
|
||||
//Console.WriteLine(recebido);
|
||||
|
||||
// Adiciona ao buffer
|
||||
_buffer.Append(recebido);
|
||||
|
||||
|
|
@ -168,6 +249,7 @@ namespace AgroBase.Services
|
|||
if (string.IsNullOrWhiteSpace(linha)) continue;
|
||||
|
||||
var sentenca = linha.Trim();
|
||||
//Console.WriteLine(sentenca);
|
||||
|
||||
// Identifica o tipo de sentença
|
||||
|
||||
|
|
@ -203,6 +285,20 @@ namespace AgroBase.Services
|
|||
{
|
||||
ProcessarGNTHS(sentenca);
|
||||
}
|
||||
// GLL (GP/GN/GL/GA/BD)
|
||||
else if (sentenca.Length > 6 && sentenca[3] == 'G' && sentenca[4] == 'L' && sentenca[5] == 'L')
|
||||
{
|
||||
//ProcessarGNGLL(sentenca);
|
||||
}
|
||||
// GSA (GP/GN/GL/GA/BD)
|
||||
else if (sentenca.Length > 6 && sentenca[3] == 'G' && sentenca[4] == 'S' && sentenca[5] == 'A')
|
||||
{
|
||||
ProcessarGxGSA(sentenca);
|
||||
}
|
||||
else if (sentenca.Length > 6 && sentenca[3] == 'R' && sentenca[4] == 'M' && sentenca[5] == 'C') // RMC
|
||||
{
|
||||
ProcessarGxRMC(sentenca);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"Sentença desconhecida: {sentenca}");
|
||||
|
|
@ -250,6 +346,7 @@ namespace AgroBase.Services
|
|||
string satelitesUsados = campos[7].Replace(".", ",");
|
||||
string hdop = campos[8].Replace(".", ",");
|
||||
string altitudeRaw = campos[9].Replace(".", ",");
|
||||
string idadeCorrecaoRaw = campos[13];
|
||||
|
||||
// Conversão de Latitude
|
||||
double latitude = 0;
|
||||
|
|
@ -280,6 +377,8 @@ namespace AgroBase.Services
|
|||
|
||||
int.TryParse(qualidade, out int fix);
|
||||
|
||||
int.TryParse(idadeCorrecaoRaw, out int idadeCorrecao);
|
||||
|
||||
|
||||
//Console.WriteLine($"GNGGA: Hora={horaUTC}, Latitude={latitude}, Longitude={longitude}, Qualidade={qualidade}, Satélites={satelitesUsados}, HDOP={hdop}, Altitude={altitude}");
|
||||
|
||||
|
|
@ -291,6 +390,7 @@ namespace AgroBase.Services
|
|||
PenultimaLeitura.NumeroSatelites.valor = UltimaLeitura.NumeroSatelites.valor;
|
||||
PenultimaLeitura.QualidadeFix = UltimaLeitura.QualidadeFix;
|
||||
PenultimaLeitura.DataHora = UltimaLeitura.DataHora;
|
||||
PenultimaLeitura.IdadeCorrecao = UltimaLeitura.IdadeCorrecao;
|
||||
|
||||
// Armazenar os valores na última leitura
|
||||
UltimaLeitura.Momento = DateTime.Now;
|
||||
|
|
@ -300,12 +400,13 @@ namespace AgroBase.Services
|
|||
UltimaLeitura.PrecisaoHorizontal = precisao;
|
||||
UltimaLeitura.NumeroSatelites.valor = nsatelites;
|
||||
UltimaLeitura.QualidadeFix = (TiposCorrecaoGPS)fix;
|
||||
UltimaLeitura.IdadeCorrecao = idadeCorrecao;
|
||||
|
||||
// Parse a hora do formato HHmmss.ss
|
||||
if (!string.IsNullOrEmpty(horaUTC) && TimeSpan.TryParseExact(horaUTC.Substring(0, 6), "hhmmss", CultureInfo.InvariantCulture, out TimeSpan timeOfDay))
|
||||
{
|
||||
DateTime currentDate = DateTime.UtcNow.Date;
|
||||
UltimaLeitura.DataHora = currentDate.Add(timeOfDay);
|
||||
UltimaLeitura.DataHora = currentDate.Add(timeOfDay).ToLocalTime();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -472,13 +573,228 @@ namespace AgroBase.Services
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
private static async Task AplicarCorrecaoRTK()
|
||||
private static void ProcessarGNGLL(string sentenca)
|
||||
{
|
||||
if (LoopRTK)
|
||||
// Aceita GP/GL/GN… qualquer “G?GLL”
|
||||
var campos = sentenca.Split(',');
|
||||
if (campos.Length < 7) return;
|
||||
|
||||
// lat/lon
|
||||
string latRaw = campos[1];
|
||||
string latHem = campos[2];
|
||||
string lonRaw = campos[3];
|
||||
string lonHem = campos[4];
|
||||
string horaUTC = campos[5]; // hhmmss.ss
|
||||
string status = campos[6]; // A/V
|
||||
string mode = campos.Length > 7 ? campos[7].Split('*')[0] : ""; // pode não existir
|
||||
|
||||
bool valido = status == "A" && mode != "N";
|
||||
|
||||
if (valido && !string.IsNullOrWhiteSpace(latRaw) && !string.IsNullOrWhiteSpace(lonRaw))
|
||||
{
|
||||
double lat = GPSUtils.DmmToDecimal(latRaw, 2);
|
||||
double lon = GPSUtils.DmmToDecimal(lonRaw, 3);
|
||||
if (!double.IsInfinity(lat) && !double.IsNaN(lat) && !double.IsInfinity(lon) && !double.IsNaN(lon))
|
||||
{
|
||||
if (latHem == "S") lat = -lat;
|
||||
if (lonHem == "W") lon = -lon;
|
||||
|
||||
// mantém histórico
|
||||
PenultimaLeitura.Latitude = UltimaLeitura.Latitude;
|
||||
PenultimaLeitura.Longitude = UltimaLeitura.Longitude;
|
||||
|
||||
UltimaLeitura.Latitude = lat;
|
||||
UltimaLeitura.Longitude = lon;
|
||||
}
|
||||
}
|
||||
|
||||
// atualiza hora se veio no frame
|
||||
if (!string.IsNullOrEmpty(horaUTC) && horaUTC.Length >= 6)
|
||||
{
|
||||
// hhmmss(.ss)
|
||||
var hh = horaUTC.Substring(0, 2);
|
||||
var mm = horaUTC.Substring(2, 2);
|
||||
var ss = horaUTC.Substring(4);
|
||||
if (TimeSpan.TryParseExact($"{hh}:{mm}:{ss}", @"hh\:mm\:ss\.ff",
|
||||
CultureInfo.InvariantCulture, out var tod)
|
||||
|| TimeSpan.TryParseExact($"{hh}:{mm}:{ss}", @"hh\:mm\:ss",
|
||||
CultureInfo.InvariantCulture, out tod))
|
||||
{
|
||||
UltimaLeitura.DataHora = DateTime.UtcNow.Date.Add(tod).ToLocalTime();
|
||||
}
|
||||
}
|
||||
|
||||
// mapeia “mode” (se existir) para sua enum, sem sobrepor GGA melhor
|
||||
// Ex.: A=Autonomous(1), D=DGPS(2), R=RTK Fix(4), F=RTK Float(5)
|
||||
if (!string.IsNullOrEmpty(mode))
|
||||
{
|
||||
if (mode == "R") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.RTKFixo;
|
||||
else if (mode == "F") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.RTKFlutuante;
|
||||
else if (mode == "D") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.DGPS;
|
||||
else if (mode == "E") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.DeadReckoing;
|
||||
else if (mode == "A") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.Autonomo;
|
||||
else if (mode == "N") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.SemCorrecao;
|
||||
else UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.SemCorrecao;
|
||||
}
|
||||
|
||||
AtualizarCoordenadasGPS();
|
||||
}
|
||||
|
||||
private static void ProcessarGxGSA(string sentenca)
|
||||
{
|
||||
// aceita $GPGSA, $GNGSA, $GLGSA, $GAGSA, $BDGSA…
|
||||
var campos = sentenca.Split(',');
|
||||
if (campos.Length < 17) return;
|
||||
|
||||
string modoSelecao = campos[1]; // M/A
|
||||
TiposDimensaoCorrecaoGPS modoSolucao =(TiposDimensaoCorrecaoGPS)GPSUtils.ParseInt(campos[2]); // 1/2/3
|
||||
// satélites usados: campos[3]..campos[14]
|
||||
int satsUsados = 0;
|
||||
for (int i = 3; i <= 14 && i < campos.Length; i++)
|
||||
if (!string.IsNullOrWhiteSpace(campos[i])) satsUsados++;
|
||||
|
||||
double pdop = GPSUtils.ParseDouble(campos[15]);
|
||||
double hdop = GPSUtils.ParseDouble(campos[16]);
|
||||
double vdop = (campos.Length > 17) ? GPSUtils.ParseDouble(campos[17].Split('*')[0]) : double.NaN;
|
||||
|
||||
// Atualiza apenas o que faz sentido complementar
|
||||
if (!double.IsInfinity(hdop) && !double.IsNaN(hdop)) UltimaLeitura.PrecisaoHorizontal = hdop;
|
||||
if (satsUsados > 0) UltimaLeitura.NumeroSatelites.valor = Math.Max(UltimaLeitura.NumeroSatelites.valor, satsUsados);
|
||||
|
||||
// Se você quiser guardar os DOPs:
|
||||
UltimaLeitura.PDOP = !double.IsInfinity(pdop) && !double.IsNaN(pdop) ? pdop : UltimaLeitura.PDOP;
|
||||
UltimaLeitura.VDOP = !double.IsInfinity(vdop) && !double.IsNaN(vdop) ? vdop : UltimaLeitura.VDOP;
|
||||
|
||||
// Mapeia modoSolucao (não é igual ao “fix quality” do GGA!)
|
||||
// 1=NoFix, 2=Fix2D, 3=Fix3D — pode guardar num campo próprio se tiver
|
||||
UltimaLeitura.FixDimensao = modoSolucao; // crie int FixDimensao na sua struct, se não existir
|
||||
}
|
||||
|
||||
private static void ProcessarGxRMC(string sentenca)
|
||||
{
|
||||
// Aceita $GPRMC, $GNRMC, $GLRMC, $GARMC, $BDRMC...
|
||||
var raw = sentenca;
|
||||
var campos = raw.Split(',');
|
||||
|
||||
if (campos.Length < 12) return;
|
||||
|
||||
string timeUTC = campos[1]; // hhmmss.ss
|
||||
string status = campos[2]; // A=ativo, V=inválido
|
||||
string latRaw = campos[3];
|
||||
string latHem = campos[4];
|
||||
string lonRaw = campos[5];
|
||||
string lonHem = campos[6];
|
||||
string spdKtsS = campos[7]; // knots
|
||||
string cogS = campos[8]; // course over ground (graus)
|
||||
string date = campos[9]; // ddmmyy
|
||||
string magVarS = campos[10]; // pode estar vazio
|
||||
string magHem = campos.Length > 11 ? campos[11] : "";
|
||||
// mode pode vir no campo 12 (sem checksum) ou 12 com outro e 13 com checksum, depende do firmware
|
||||
string mode = "";
|
||||
if (campos.Length > 12)
|
||||
{
|
||||
var tmp = campos[12];
|
||||
// tira checksum se estiver grudado
|
||||
int asterix = tmp.IndexOf('*');
|
||||
mode = (asterix >= 0 ? tmp.Substring(0, asterix) : tmp).Trim();
|
||||
// alguns mandam mais um campo (navStatus) e o checksum só no final
|
||||
if (mode.Length == 0 && campos.Length > 13)
|
||||
{
|
||||
tmp = campos[13];
|
||||
asterix = tmp.IndexOf('*');
|
||||
mode = (asterix >= 0 ? tmp.Substring(0, asterix) : tmp).Trim();
|
||||
}
|
||||
}
|
||||
|
||||
bool valido = status == "A";
|
||||
|
||||
// Converte lat/lon se válidos
|
||||
if (valido && !string.IsNullOrWhiteSpace(latRaw) && !string.IsNullOrWhiteSpace(lonRaw))
|
||||
{
|
||||
if (latRaw.Length >= 4 && lonRaw.Length >= 5)
|
||||
{
|
||||
double lat = GPSUtils.DmmToDecimal(latRaw, 2);
|
||||
double lon = GPSUtils.DmmToDecimal(lonRaw, 3);
|
||||
if (!double.IsNaN(lat) && !double.IsInfinity(lat) && !double.IsNaN(lon) && !double.IsInfinity(lon))
|
||||
{
|
||||
if (latHem == "S") lat = -lat;
|
||||
if (lonHem == "W") lon = -lon;
|
||||
|
||||
PenultimaLeitura.Latitude = UltimaLeitura.Latitude;
|
||||
PenultimaLeitura.Longitude = UltimaLeitura.Longitude;
|
||||
UltimaLeitura.Latitude = lat;
|
||||
UltimaLeitura.Longitude = lon;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Velocidade (knots -> m/s e km/h, se quiser guardar)
|
||||
if (double.TryParse(spdKtsS, NumberStyles.Float, CultureInfo.InvariantCulture, out double spdKts))
|
||||
{
|
||||
UltimaLeitura.Velocidade = spdKts;
|
||||
}
|
||||
|
||||
// Course over ground (graus)
|
||||
if (double.TryParse(cogS, NumberStyles.Float, CultureInfo.InvariantCulture, out double cog))
|
||||
UltimaLeitura.CursoVerdadeiro = cog;
|
||||
|
||||
// Data/hora (UTC)
|
||||
// timeUTC: hhmmss(.ss), date: ddmmyy
|
||||
DateTime? dt = null;
|
||||
if (!string.IsNullOrEmpty(timeUTC) && timeUTC.Length >= 6 && !string.IsNullOrEmpty(date) && date.Length == 6)
|
||||
{
|
||||
string hh = timeUTC.Substring(0, 2);
|
||||
string mm = timeUTC.Substring(2, 2);
|
||||
string ss = timeUTC.Substring(4, 2);
|
||||
|
||||
string dd = date.Substring(0, 2);
|
||||
string MM = date.Substring(2, 2);
|
||||
string yy = date.Substring(4, 2);
|
||||
|
||||
// yy -> 20yy (assumindo 2000+; ajuste se precisar 19xx)
|
||||
int year = 2000 + int.Parse(yy, CultureInfo.InvariantCulture);
|
||||
if (int.TryParse(dd, out int d) && int.TryParse(MM, out int M) &&
|
||||
int.TryParse(hh, out int H) && int.TryParse(mm, out int m) && int.TryParse(ss, out int s))
|
||||
{
|
||||
try
|
||||
{
|
||||
dt = new DateTime(year, M, d, H, m, s, DateTimeKind.Utc);
|
||||
}
|
||||
catch { /* ignora datas inválidas */ }
|
||||
}
|
||||
}
|
||||
if (dt.HasValue) UltimaLeitura.DataHora = dt.Value.ToLocalTime();
|
||||
|
||||
// Variação magnética (se quiser armazenar)
|
||||
if (double.TryParse(magVarS, NumberStyles.Float, CultureInfo.InvariantCulture, out double magVar))
|
||||
{
|
||||
if (magHem == "W") magVar = -magVar;
|
||||
UltimaLeitura.VariacaoMagnetica = magVar;
|
||||
}
|
||||
|
||||
// Mode → promove QualidadeFix (não rebaixa)
|
||||
// A=Autônomo, D=DGPS, R=RTK Fix, F=RTK Float, N=No Fix
|
||||
if (!string.IsNullOrEmpty(mode))
|
||||
{
|
||||
if (mode == "R") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.RTKFixo;
|
||||
else if (mode == "F") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.RTKFlutuante;
|
||||
else if (mode == "D") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.DGPS;
|
||||
else if (mode == "E") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.DeadReckoing;
|
||||
else if (mode == "A") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.Autonomo;
|
||||
else if (mode == "N") UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.SemCorrecao;
|
||||
else UltimaLeitura.QualidadeFix = TiposCorrecaoGPS.SemCorrecao;
|
||||
}
|
||||
|
||||
AtualizarCoordenadasGPS();
|
||||
}
|
||||
|
||||
|
||||
private static async Task AplicarCorrecaoRTK_Ntrip()
|
||||
{
|
||||
if (LoopRTK_Ntrip)
|
||||
return;
|
||||
|
||||
LoopRTK = true;
|
||||
LoopRTK_Ntrip = true;
|
||||
|
||||
// Configurações do NTRIP caster para RTK2Go
|
||||
string host = "gps-ntrip.ibge.gov.br";
|
||||
|
|
@ -487,7 +803,7 @@ namespace AgroBase.Services
|
|||
string username = "Zendion"; // Geralmente vazio para RTK2Go
|
||||
string password = "vyNEF$5*"; // Geralmente vazio para RTK2Go
|
||||
|
||||
while (true) // Loop para reconectar em caso de falha
|
||||
while (LoopRTK_Ntrip) // Loop para reconectar em caso de falha
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -515,26 +831,29 @@ namespace AgroBase.Services
|
|||
using (StreamReader reader = new StreamReader(stream, Encoding.ASCII))
|
||||
{
|
||||
string response = await reader.ReadLineAsync();
|
||||
if ((response ?? "").Contains("200 OK"))
|
||||
if (LoopRTK_Ntrip)
|
||||
{
|
||||
Console.WriteLine("Conexão bem-sucedida ao mountpoint!");
|
||||
|
||||
byte[] buffer = new byte[4096];
|
||||
int bytesRead;
|
||||
while ((bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length)) > 0)
|
||||
if ((response ?? "").Contains("200 OK"))
|
||||
{
|
||||
if (CorrecaoRTK && (PortaGPS?.IsOpen ?? false))
|
||||
Console.WriteLine("Conexão bem-sucedida ao mountpoint!");
|
||||
|
||||
byte[] buffer = new byte[4096];
|
||||
int bytesRead;
|
||||
while (LoopRTK_Ntrip && (bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length)) > 0)
|
||||
{
|
||||
PortaGPS.Write(buffer, 0, bytesRead); // Envia os dados RTCM para o GPS
|
||||
//Console.WriteLine($"Enviando {bytesRead} bytes de correção RTCM para o GPS");
|
||||
UltimoEnvioCorrecaoRTK = DateTime.Now;
|
||||
if (CorrecaoRTK_Ntrip && (PortaGPS?.IsOpen ?? false))
|
||||
{
|
||||
PortaGPS.Write(buffer, 0, bytesRead); // Envia os dados RTCM para o GPS
|
||||
//Console.WriteLine($"Enviando {bytesRead} bytes de correção RTCM para o GPS");
|
||||
UltimoEnvioCorrecaoRTK = DateTime.Now;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"Falha na conexão: {response}");
|
||||
await Task.Delay(5000); // Aguarde antes de tentar novamente
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"Falha na conexão: {response}");
|
||||
await Task.Delay(5000); // Aguarde antes de tentar novamente
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -545,8 +864,6 @@ namespace AgroBase.Services
|
|||
await Task.Delay(5000); // Aguarde antes de tentar novamente
|
||||
}
|
||||
}
|
||||
|
||||
LoopRTK = false;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -616,11 +933,15 @@ namespace AgroBase.Services
|
|||
PenultimaLeitura.Inicializado = UltimaLeitura.Inicializado;
|
||||
UltimaLeitura.Inicializado = Iniciado;
|
||||
|
||||
if (false && UltimoEnvioCorrecaoRTK.AddSeconds(10) < DateTime.Now)
|
||||
if (CorrecaoRTK_Ntrip && UltimoEnvioCorrecaoRTK.AddSeconds(10) < DateTime.Now)
|
||||
{
|
||||
UltimoEnvioCorrecaoRTK = DateTime.Now;
|
||||
LoopRTK = false;
|
||||
Task.Run(() => AplicarCorrecaoRTK());
|
||||
LoopRTK_Ntrip = false;
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await Task.Delay(5000);
|
||||
await AplicarCorrecaoRTK_Ntrip();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -876,7 +1197,7 @@ namespace AgroBase.Services
|
|||
("lon", UltimaLeitura.Longitude),
|
||||
("theta", UltimaLeitura.AnguloCarroDefinido),
|
||||
("fix", (int)UltimaLeitura.QualidadeFix),
|
||||
("rtk", UltimoEnvioCorrecaoRTK.AddSeconds(10) > DateTime.Now),
|
||||
("rtk", UltimaLeitura.IdadeCorrecao < rtk_timeout),
|
||||
("hAcc", UltimaLeitura.PrecisaoCm),
|
||||
("nSatelites", UltimaLeitura.NumeroSatelites.valor),
|
||||
("freq", UltimaLeitura.NumeroSatelites.frequencia),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,55 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO.Ports;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AgroBase.Services
|
||||
{
|
||||
public class RTCMSniffer
|
||||
{
|
||||
public async Task Main(string[] args)
|
||||
{
|
||||
string port = args.Length > 0 ? args[0] : "COM34"; // troque para a COM do E220
|
||||
var sp = new SerialPort(port, 115200, Parity.None, 8, StopBits.One);
|
||||
sp.ReadTimeout = 200;
|
||||
sp.Open();
|
||||
Console.WriteLine($"Sniffando RTCM em {port}... (Ctrl+C para sair)");
|
||||
|
||||
var buf = new List<byte>(8192);
|
||||
while (true)
|
||||
{
|
||||
try
|
||||
{
|
||||
int n = sp.BytesToRead;
|
||||
if (n > 0)
|
||||
{
|
||||
var tmp = new byte[n];
|
||||
sp.Read(tmp, 0, n);
|
||||
buf.AddRange(tmp);
|
||||
|
||||
int i = 0;
|
||||
while (i + 6 < buf.Count)
|
||||
{
|
||||
if (buf[i] != 0xD3) { i++; continue; }
|
||||
if (i + 2 >= buf.Count) break;
|
||||
|
||||
int len = ((buf[i + 1] & 0x03) << 8) | buf[i + 2]; // 10 bits
|
||||
int frameEnd = i + 3 + len + 3; // header(3) + payload + CRC(3)
|
||||
if (frameEnd > buf.Count) break;
|
||||
|
||||
if (len >= 2)
|
||||
{
|
||||
int msgType = (buf[i + 3] << 4) | (buf[i + 4] >> 4); // 12 bits iniciais
|
||||
Console.WriteLine($"[{DateTime.Now:HH:mm:ss.fff}] RTCM{msgType} len={len}");
|
||||
}
|
||||
buf.RemoveRange(0, frameEnd);
|
||||
i = 0;
|
||||
}
|
||||
}
|
||||
await Task.Delay(5);
|
||||
}
|
||||
catch { /* timeout/ctrl-c */ }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -446,6 +446,7 @@ namespace AgroBase.Services
|
|||
{
|
||||
EnviarComando("C\r");
|
||||
_PortaCAN.Close();
|
||||
_PortaCAN = null;
|
||||
}
|
||||
|
||||
IsConnected = false;
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ namespace AgroBase.Services
|
|||
}
|
||||
}
|
||||
|
||||
if (CanManager.UseCanSerial && !CanManager.CanService.Iniciado)
|
||||
if (!Variaveis.IsAgroMonitor && CanManager.UseCanSerial && !CanManager.CanService.Iniciado)
|
||||
{
|
||||
AtualizarConsole($"{PortaCom} - Procurando dispositivos no barramento CAN");
|
||||
bool dispositivoCan = await ProcurarDispositivosCAN(_Porta);
|
||||
|
|
@ -247,6 +247,13 @@ namespace AgroBase.Services
|
|||
foreach (var Dispositivo in DispositivosRemovidos)
|
||||
{
|
||||
DispositivosMapeados.Remove(Dispositivo);
|
||||
switch (Dispositivo.Dispositivo)
|
||||
{
|
||||
case T_Code.Gps:
|
||||
GPSService.PortaGPS?.Close();
|
||||
GPSService.PortaGPS = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var cameras = CameraWorkerService.GetListaCameras().Where(x => x.Index > -1).ToList();
|
||||
|
|
@ -432,6 +439,11 @@ namespace AgroBase.Services
|
|||
}
|
||||
}
|
||||
|
||||
if (!CanManager.CanService.Iniciado)
|
||||
{
|
||||
CanManager.CanService.Fechar();
|
||||
}
|
||||
|
||||
return CanManager.CanService.Iniciado;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -185,8 +185,8 @@ def _regras_taticas(contexto):
|
|||
|
||||
imu = ContextoGlobalRedis.get_modulo(T_Code.Imu)
|
||||
if imu is not None and imu.get("saude", {}).get("status", StatusModulo.DESCONECTADO.value) == StatusModulo.OPERANTE.value:
|
||||
ang_roll_max = contexto.get("Equipamento", {}).get("angulo_roll_max", 30.0)
|
||||
ang_pitch_max = contexto.get("Equipamento", {}).get("angulo_pitch_max", 15.0)
|
||||
ang_roll_max = contexto.get("Equipamento", {}).get("angulo_roll_max", 15.0)
|
||||
ang_pitch_max = contexto.get("Equipamento", {}).get("angulo_pitch_max", 30.0)
|
||||
if abs(imu.get("pitch", 0.0)) > ang_pitch_max or abs(imu.get("roll", 0.0)) > ang_roll_max:
|
||||
mostrar_log(f"🟥 Inclinação perigosa detectada. Parando movimentação. roll: {imu.get('roll')}, pitch: {imu.get('pitch')}, yaw: {imu.get('yaw')}")
|
||||
return _comando_direcional_parado(True)
|
||||
|
|
|
|||
|
|
@ -50,6 +50,9 @@ namespace AgroMonitor
|
|||
{
|
||||
tmrDispositivos = new AsyncTaskTimerModel("tmrDispositivos", tmrDispositivos_Tick, 1000, this);
|
||||
tmrDispositivos.Start();
|
||||
|
||||
//RTCMSniffer sniffer = new RTCMSniffer();
|
||||
//Task.Run(async () => await sniffer.Main(new string[] { "COM34" }));
|
||||
}
|
||||
|
||||
private async Task tmrDispositivos_Tick()
|
||||
|
|
|
|||
|
|
@ -92,6 +92,8 @@
|
|||
this.tvwFalhas = new System.Windows.Forms.TreeView();
|
||||
this.lblMapa = new System.Windows.Forms.Label();
|
||||
this.btnCarregar = new System.Windows.Forms.Button();
|
||||
this.txtFix = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.pnlDados.SuspendLayout();
|
||||
this.pnlControle.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tkbAnguloMP)).BeginInit();
|
||||
|
|
@ -150,6 +152,8 @@
|
|||
// pnlDados
|
||||
//
|
||||
this.pnlDados.AutoScroll = true;
|
||||
this.pnlDados.Controls.Add(this.txtFix);
|
||||
this.pnlDados.Controls.Add(this.label1);
|
||||
this.pnlDados.Controls.Add(this.txtCarroConectado);
|
||||
this.pnlDados.Controls.Add(this.lblCarroConectado);
|
||||
this.pnlDados.Controls.Add(this.chbFoco);
|
||||
|
|
@ -683,10 +687,10 @@
|
|||
//
|
||||
// txtOrientacao
|
||||
//
|
||||
this.txtOrientacao.Location = new System.Drawing.Point(119, 136);
|
||||
this.txtOrientacao.Location = new System.Drawing.Point(93, 136);
|
||||
this.txtOrientacao.Name = "txtOrientacao";
|
||||
this.txtOrientacao.ReadOnly = true;
|
||||
this.txtOrientacao.Size = new System.Drawing.Size(100, 20);
|
||||
this.txtOrientacao.Size = new System.Drawing.Size(76, 20);
|
||||
this.txtOrientacao.TabIndex = 9;
|
||||
this.txtOrientacao.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
|
|
@ -694,7 +698,7 @@
|
|||
//
|
||||
this.lblOrientacao.AutoSize = true;
|
||||
this.lblOrientacao.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.25F);
|
||||
this.lblOrientacao.Location = new System.Drawing.Point(117, 116);
|
||||
this.lblOrientacao.Location = new System.Drawing.Point(91, 116);
|
||||
this.lblOrientacao.Name = "lblOrientacao";
|
||||
this.lblOrientacao.Size = new System.Drawing.Size(78, 17);
|
||||
this.lblOrientacao.TabIndex = 8;
|
||||
|
|
@ -715,7 +719,7 @@
|
|||
this.txtLeitura.Location = new System.Drawing.Point(11, 136);
|
||||
this.txtLeitura.Name = "txtLeitura";
|
||||
this.txtLeitura.ReadOnly = true;
|
||||
this.txtLeitura.Size = new System.Drawing.Size(100, 20);
|
||||
this.txtLeitura.Size = new System.Drawing.Size(76, 20);
|
||||
this.txtLeitura.TabIndex = 6;
|
||||
this.txtLeitura.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
|
|
@ -764,6 +768,25 @@
|
|||
this.btnCarregar.UseVisualStyleBackColor = true;
|
||||
this.btnCarregar.Click += new System.EventHandler(this.btnCarregar_Click);
|
||||
//
|
||||
// txtFix
|
||||
//
|
||||
this.txtFix.Location = new System.Drawing.Point(175, 136);
|
||||
this.txtFix.Name = "txtFix";
|
||||
this.txtFix.ReadOnly = true;
|
||||
this.txtFix.Size = new System.Drawing.Size(44, 20);
|
||||
this.txtFix.TabIndex = 56;
|
||||
this.txtFix.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.25F);
|
||||
this.label1.Location = new System.Drawing.Point(173, 116);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(25, 17);
|
||||
this.label1.TabIndex = 55;
|
||||
this.label1.Text = "Fix";
|
||||
//
|
||||
// frmMonitoramento
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
|
@ -854,5 +877,7 @@
|
|||
private System.Windows.Forms.TreeView tvwFalhas;
|
||||
private System.Windows.Forms.TextBox txtCarroConectado;
|
||||
private System.Windows.Forms.Label lblCarroConectado;
|
||||
private System.Windows.Forms.TextBox txtFix;
|
||||
private System.Windows.Forms.Label label1;
|
||||
}
|
||||
}
|
||||
|
|
@ -126,9 +126,10 @@ namespace AgroMonitor.Forms
|
|||
MomentoLog = DateTime.Now;
|
||||
|
||||
txtLeitura.Text = MomentoLog.ToString("ddd HH:mm:ss");
|
||||
txtOrientacao.Text = GPSService.UltimaLeitura.CursoVerdadeiro.ToString("0.00");
|
||||
txtOrientacao.Text = GPSService.UltimaLeitura.OrientacaoReal.ToString("0.00");
|
||||
txtLatitude.Text = GPSService.UltimaLeitura.Latitude.ToString();
|
||||
txtLongitude.Text = GPSService.UltimaLeitura.Longitude.ToString();
|
||||
txtFix.Text = GPSService.UltimaLeitura.QualidadeFix.ToString();
|
||||
|
||||
txtCodigoFalha.Text = "";
|
||||
txtStatusOperacao.Text = "";
|
||||
|
|
@ -168,6 +169,7 @@ namespace AgroMonitor.Forms
|
|||
txtOrientacao.Text = Equipamento.Coordenadas.Orientacao.ToString("0.00");
|
||||
txtLatitude.Text = Equipamento.Coordenadas.Latitude.ToString();
|
||||
txtLongitude.Text = Equipamento.Coordenadas.Longitude.ToString();
|
||||
txtFix.Text = Equipamento.Coordenadas.Correcao.ToString();
|
||||
|
||||
txtCodigoFalha.Text = Equipamento.CodigoFalha.ToString();
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"description" : "AutoLaunch Protocols Preregistration",
|
||||
"name" : "Protocol Preregistration",
|
||||
"version" : "1.0.0.9"
|
||||
}
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
{
|
||||
"allow": [
|
||||
{
|
||||
"origins": [
|
||||
"https://.get.microsoft.com",
|
||||
"https://.apps.microsoft.com"
|
||||
],
|
||||
"protocol": "ms-windows-store"
|
||||
},
|
||||
{
|
||||
"origins": [
|
||||
"https://.onedrive.com",
|
||||
"https://.onedrive.live.com",
|
||||
"https://sharepoint.com"
|
||||
],
|
||||
"protocol": "ms-word"
|
||||
},
|
||||
{
|
||||
"origins": [
|
||||
"https://[a-z1-9-]*word-edit.officeapps.live.com",
|
||||
"https://[a-z1-9-]*word-view.officeapps.live.com",
|
||||
"https://[a-z1-9-]*onenote.officeapps.live.com",
|
||||
"https://[a-z1-9-]*eap.officeapps.live.com",
|
||||
"https://[a-z1-9-]*shared.officeapps.live.com",
|
||||
"https://[a-z1-9-]*afhs.officeapps.live.com",
|
||||
"https://[a-z1-9-]*vhs.officeapps.live.com",
|
||||
"https://[a-z1-9-]*optin.online.office.com"
|
||||
],
|
||||
"use_regex": true,
|
||||
"protocol": "ms-word"
|
||||
},
|
||||
{
|
||||
"origins": [
|
||||
"https://.onedrive.com",
|
||||
"https://.onedrive.live.com",
|
||||
"https://sharepoint.com"
|
||||
],
|
||||
"protocol": "ms-excel"
|
||||
},
|
||||
{
|
||||
"origins": [
|
||||
"https://[a-z1-9-]*excel.officeapps.live.com",
|
||||
"https://[a-z1-9-]*onenote.officeapps.live.com",
|
||||
"https://[a-z1-9-]*eap.officeapps.live.com",
|
||||
"https://[a-z1-9-]*shared.officeapps.live.com",
|
||||
"https://[a-z1-9-]*afhs.officeapps.live.com",
|
||||
"https://[a-z1-9-]*vhs.officeapps.live.com",
|
||||
"https://[a-z1-9-]*optin.online.office.com"
|
||||
],
|
||||
"use_regex": true,
|
||||
"protocol": "ms-excel"
|
||||
},
|
||||
{
|
||||
"origins": [
|
||||
"https://.onedrive.com",
|
||||
"https://.onedrive.live.com",
|
||||
"https://sharepoint.com"
|
||||
],
|
||||
"protocol": "ms-powerpoint"
|
||||
},
|
||||
{
|
||||
"origins": [
|
||||
"https://[a-z1-9-]*powerpoint.officeapps.live.com",
|
||||
"https://[a-z1-9-]*onenote.officeapps.live.com",
|
||||
"https://[a-z1-9-]*eap.officeapps.live.com",
|
||||
"https://[a-z1-9-]*shared.officeapps.live.com",
|
||||
"https://[a-z1-9-]*afhs.officeapps.live.com",
|
||||
"https://[a-z1-9-]*vhs.officeapps.live.com",
|
||||
"https://[a-z1-9-]*optin.online.office.com"
|
||||
],
|
||||
"use_regex": true,
|
||||
"protocol": "ms-powerpoint"
|
||||
},
|
||||
{
|
||||
"origins": [
|
||||
"https://.onedrive.com",
|
||||
"https://.onedrive.live.com",
|
||||
"https://sharepoint.com"
|
||||
],
|
||||
"protocol": "ms-visio"
|
||||
},
|
||||
{
|
||||
"origins": [
|
||||
"https://[a-z1-9-]*visio.officeapps.live.com",
|
||||
"https://[a-z1-9-]*onenote.officeapps.live.com",
|
||||
"https://[a-z1-9-]*eap.officeapps.live.com",
|
||||
"https://[a-z1-9-]*shared.officeapps.live.com",
|
||||
"https://[a-z1-9-]*afhs.officeapps.live.com",
|
||||
"https://[a-z1-9-]*vhs.officeapps.live.com",
|
||||
"https://[a-z1-9-]*optin.online.office.com"
|
||||
],
|
||||
"use_regex": true,
|
||||
"protocol": "ms-visio"
|
||||
},
|
||||
{
|
||||
"origins": [
|
||||
"https://www.microsoft.com"
|
||||
],
|
||||
"protocol": "ms-copilot"
|
||||
}
|
||||
],
|
||||
"warn": [
|
||||
{
|
||||
"origins": [
|
||||
"*"
|
||||
],
|
||||
"protocol": "ms-test-warn"
|
||||
}
|
||||
],
|
||||
"block": [
|
||||
{
|
||||
"origins": [
|
||||
"*"
|
||||
],
|
||||
"protocol": "ms-test-block"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -11,3 +11,133 @@
|
|||
0:00:00 Tab1 FinishNav2
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:00:52 Memory Pressure: Critical
|
||||
0:00:00 Startup
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
||||
0:00:00 Microsoft.NewBrowser_Popup
|
||||
0:00:00 Microsoft.BrowserList.AddBrowser
|
||||
0:00:00 Browser1 Insert active Tab1 at 0
|
||||
0:00:00 Tab1 StartNav1 #auto_toplevel
|
||||
0:00:00 Tab1 StartNav2 #typed
|
||||
0:00:00 Tab1 FinishNav1
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:00:00 Tab1 FinishNav2
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:00:29 Widget Closed: StatusBubble
|
||||
0:15:47 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
||||
0:00:00 Startup
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
||||
0:00:00 Microsoft.NewBrowser_Popup
|
||||
0:00:00 Microsoft.BrowserList.AddBrowser
|
||||
0:00:00 Browser1 Insert active Tab1 at 0
|
||||
0:00:00 Tab1 StartNav1 #auto_toplevel
|
||||
0:00:00 Tab1 StartNav2 #typed
|
||||
0:00:00 Tab1 FinishNav1
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:00:00 Tab1 FinishNav2
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:04:14 Memory Pressure: Critical
|
||||
0:04:17 Microsoft.UnloadController.IsUnclosableApp_IsNotWebApp
|
||||
0:00:00 Startup
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
||||
0:00:00 Microsoft.NewBrowser_Popup
|
||||
0:00:00 Microsoft.BrowserList.AddBrowser
|
||||
0:00:00 Browser1 Insert active Tab1 at 0
|
||||
0:00:00 Tab1 StartNav1 #auto_toplevel
|
||||
0:00:00 Tab1 StartNav2 #typed
|
||||
0:00:00 Tab1 FinishNav1
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:00:00 Tab1 FinishNav2
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:16:56 Microsoft.UnloadController.IsUnclosableApp_IsNotWebApp
|
||||
0:00:00 Startup
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
||||
0:00:00 Microsoft.NewBrowser_Popup
|
||||
0:00:00 Microsoft.BrowserList.AddBrowser
|
||||
0:00:00 Browser1 Insert active Tab1 at 0
|
||||
0:00:00 Tab1 StartNav1 #auto_toplevel
|
||||
0:00:00 Tab1 StartNav2 #typed
|
||||
0:00:00 Tab1 FinishNav1
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:00:00 Tab1 FinishNav2
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:08:23 Microsoft.UnloadController.IsUnclosableApp_IsNotWebApp
|
||||
0:00:00 Startup
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
||||
0:00:00 Microsoft.NewBrowser_Popup
|
||||
0:00:00 Microsoft.BrowserList.AddBrowser
|
||||
0:00:00 Browser1 Insert active Tab1 at 0
|
||||
0:00:00 Tab1 StartNav1 #auto_toplevel
|
||||
0:00:00 Tab1 StartNav2 #typed
|
||||
0:00:00 Tab1 FinishNav1
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:00:00 Tab1 FinishNav2
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:01:00 Memory Pressure: Critical
|
||||
0:00:00 Startup
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
||||
0:00:00 Microsoft.NewBrowser_Popup
|
||||
0:00:00 Microsoft.BrowserList.AddBrowser
|
||||
0:00:00 Browser1 Insert active Tab1 at 0
|
||||
0:00:00 Tab1 StartNav1 #auto_toplevel
|
||||
0:00:00 Tab1 StartNav2 #typed
|
||||
0:00:00 Tab1 FinishNav1
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:00:00 Tab1 FinishNav2
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:03:23 Memory Pressure: Critical
|
||||
0:00:00 Startup
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
||||
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
||||
0:00:00 Microsoft.NewBrowser_Popup
|
||||
0:00:00 Microsoft.BrowserList.AddBrowser
|
||||
0:00:00 Browser1 Insert active Tab1 at 0
|
||||
0:00:00 Tab1 StartNav1 #auto_toplevel
|
||||
0:00:00 Tab1 StartNav2 #typed
|
||||
0:00:00 Tab1 FinishNav1
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:00:00 Tab1 FinishNav2
|
||||
0:00:00 Tab1 PageLoad
|
||||
0:02:14 Memory Pressure: Critical
|
||||
0:02:15 Microsoft.UnloadController.IsUnclosableApp_IsNotWebApp
|
||||
0:02:15 Microsoft.UnloadController.HasCompletedUnloadProcessing_False
|
||||
0:02:15 Microsoft.Shutdown.OnWindowClosing
|
||||
0:02:15 Microsoft.UnloadController.IsUnclosableApp_IsNotWebApp
|
||||
0:02:15 Microsoft.UnloadController.HasCompletedUnloadProcessing_True
|
||||
0:02:15 Microsoft.Shutdown.OnWindowClosing_MaybeClearBrowsingDataOnExit
|
||||
0:02:15 Microsoft.Shutdown.OnWindowClosing_ClearBrowsingDataOnExitNotInProgress
|
||||
0:02:15 Microsoft.Shutdown.OnWindowClosingPostClearBrowsingData_NoBrowsingDataCleared
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.CloseAllTabs
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.CloseTabs
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.CloseTabs_EdgeBeforeClosingAllTabs
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.InternalCloseTabsImpl
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.InternalCloseTabsImpl_TabClosable
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.InternalCloseTabsImpl_ClosingAll
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.CloseWebContentses
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.CloseWebContentses_FastShutdown
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.ShouldRunUnloadListenerBeforeClosing_false
|
||||
0:02:15 Tab1 RenderProcessGone
|
||||
0:02:15 Microsoft.UnloadController.ClearUnloadState
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.RunUnloadListenerBeforeClosing_false
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.InternalCloseTabsImpl_ClosedAll
|
||||
0:02:15 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
||||
0:02:15 Microsoft.UnloadController.ClearUnloadState
|
||||
0:02:15 Browser1 Close Tab1 at 0
|
||||
0:02:15 Tab1 WebContentsDestroyed
|
||||
0:02:15 Microsoft.UnloadController.TabStripEmpty
|
||||
0:02:15 Microsoft.UnloadController.IsUnclosableApp_IsNotWebApp
|
||||
0:02:15 Microsoft.UnloadController.HasCompletedUnloadProcessing_True
|
||||
0:02:15 Microsoft.Shutdown.OnWindowClosing
|
||||
0:02:15 Microsoft.UnloadController.IsUnclosableApp_IsNotWebApp
|
||||
0:02:15 Microsoft.UnloadController.HasCompletedUnloadProcessing_True
|
||||
0:02:15 Microsoft.Shutdown.OnWindowClosingPostClearBrowsingData_NoBrowsingDataCleared
|
||||
0:02:15 Widget Closed: BrowserFrame
|
||||
0:02:15 Microsoft.UnloadController.HasCompletedUnloadProcessing_True
|
||||
0:02:15 Microsoft.Shutdown.OnWindowClosing
|
||||
0:02:15 Microsoft.Shutdown.OnWindowClosing_DeleteScheduled
|
||||
0:02:15 Microsoft.Last_Browser_Removed
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"description": "Microsoft CRLSet",
|
||||
"name": "MicrosoftCRLSet",
|
||||
"version": "6498.2024.12.2"
|
||||
}
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"epochs": [ {
|
||||
"calculation_time": "13397256133256177",
|
||||
"calculation_time": "13398258282822851",
|
||||
"config_version": 0,
|
||||
"model_version": "0",
|
||||
"padded_top_topics_start_index": 0,
|
||||
"taxonomy_version": 0,
|
||||
"top_topics_and_observing_domains": [ ]
|
||||
}, {
|
||||
"calculation_time": "13398258282822851",
|
||||
"calculation_time": "13399989621907661",
|
||||
"config_version": 0,
|
||||
"model_version": "0",
|
||||
"padded_top_topics_start_index": 0,
|
||||
|
|
@ -15,5 +15,5 @@
|
|||
"top_topics_and_observing_domains": [ ]
|
||||
} ],
|
||||
"hex_encoded_hmac_key": "171DAE543B88106F5155169E0A8C7502CB2A0757E4948C32E2A04D196E23BE70",
|
||||
"next_scheduled_calculation_time": "13398863082822933"
|
||||
"next_scheduled_calculation_time": "13400594421907790"
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/31-09:08:16.595 30b8 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Extension State/MANIFEST-000001
|
||||
2025/07/31-09:08:16.596 30b8 Recovering log #3
|
||||
2025/07/31-09:08:16.596 30b8 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Extension State/000003.log
|
||||
2025/08/18-10:03:41.715 3014 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Extension State/MANIFEST-000001
|
||||
2025/08/18-10:03:41.716 3014 Recovering log #3
|
||||
2025/08/18-10:03:41.716 3014 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Extension State/000003.log
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/30-15:00:17.699 3928 Reusing MANIFEST C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Extension State/MANIFEST-000001
|
||||
2025/07/30-15:00:17.700 3928 Recovering log #3
|
||||
2025/07/30-15:00:17.701 3928 Reusing old log C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Extension State/000003.log
|
||||
2025/08/18-09:44:35.904 cb0 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Extension State/MANIFEST-000001
|
||||
2025/08/18-09:44:35.905 cb0 Recovering log #3
|
||||
2025/08/18-09:44:35.905 cb0 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Extension State/000003.log
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/31-09:08:16.557 2098 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001
|
||||
2025/07/31-09:08:16.564 2098 Recovering log #3
|
||||
2025/07/31-09:08:16.567 2098 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log
|
||||
2025/08/18-10:03:41.676 461c Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001
|
||||
2025/08/18-10:03:41.681 461c Recovering log #3
|
||||
2025/08/18-10:03:41.684 461c Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/30-15:00:17.786 9ac Reusing MANIFEST C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001
|
||||
2025/07/30-15:00:17.803 9ac Recovering log #3
|
||||
2025/07/30-15:00:17.807 9ac Reusing old log C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log
|
||||
2025/08/18-09:44:35.856 7520 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001
|
||||
2025/08/18-09:44:35.862 7520 Recovering log #3
|
||||
2025/08/18-09:44:35.865 7520 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{"net":{"http_server_properties":{"servers":[{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13398455885221737","port":443,"protocol_str":"quic"}],"anonymization":["DAAAAAcAAABmaWxlOi8vAA==",false,0],"network_stats":{"srtt":44272},"server":"https://tile.openstreetmap.org","supports_spdy":true}],"supports_quic":{"address":"2804:d78:609:f200:474:dcf1:ff5b:53be","used_quic":true},"version":5},"network_qualities":{"CAISABiAgICA+P////8B":"3G","CAYSABiAgICA+P////8B":"Offline"}}}
|
||||
{"net":{"http_server_properties":{"servers":[{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13400082225005264","port":443,"protocol_str":"quic"}],"anonymization":["DAAAAAcAAABmaWxlOi8vAA==",false,0],"network_stats":{"srtt":69044},"server":"https://tile.openstreetmap.org","supports_spdy":true}],"supports_quic":{"address":"2804:d78:627:be00:b128:5cd2:a1f6:e65c","used_quic":true},"version":5},"network_qualities":{"CAISABiAgICA+P////8B":"4G","CAYSABiAgICA+P////8B":"Offline"}}}
|
||||
|
|
@ -1 +1 @@
|
|||
{"sts":[{"expiry":1785431885.228668,"host":"bWGAftl61rqoc0YzqPncsLvQQh/iC2Bdp3ejUeGC83w=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1753895885.228675}],"version":2}
|
||||
{"sts":[{"expiry":1787058222.144504,"host":"bWGAftl61rqoc0YzqPncsLvQQh/iC2Bdp3ejUeGC83w=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1755522222.144507}],"version":2}
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/31-09:09:09.196 2098 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001
|
||||
2025/07/31-09:09:09.198 2098 Recovering log #3
|
||||
2025/07/31-09:09:09.201 2098 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Session Storage/000003.log
|
||||
2025/08/18-10:05:56.841 461c Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001
|
||||
2025/08/18-10:05:56.842 461c Recovering log #3
|
||||
2025/08/18-10:05:56.846 461c Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Session Storage/000003.log
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/30-15:58:59.952 9ac Reusing MANIFEST C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001
|
||||
2025/07/30-15:58:59.955 9ac Recovering log #3
|
||||
2025/07/30-15:58:59.958 9ac Reusing old log C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Session Storage/000003.log
|
||||
2025/08/18-09:47:59.525 7520 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001
|
||||
2025/08/18-09:47:59.526 7520 Recovering log #3
|
||||
2025/08/18-09:47:59.528 7520 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Session Storage/000003.log
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/31-09:08:16.477 6790 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001
|
||||
2025/07/31-09:08:16.480 6790 Recovering log #3
|
||||
2025/07/31-09:08:16.480 6790 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Site Characteristics Database/000003.log
|
||||
2025/08/18-10:03:41.604 219c Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001
|
||||
2025/08/18-10:03:41.605 219c Recovering log #3
|
||||
2025/08/18-10:03:41.605 219c Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Site Characteristics Database/000003.log
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/30-15:00:17.512 d20 Reusing MANIFEST C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001
|
||||
2025/07/30-15:00:17.515 d20 Recovering log #3
|
||||
2025/07/30-15:00:17.515 d20 Reusing old log C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Site Characteristics Database/000003.log
|
||||
2025/08/18-09:44:35.788 5674 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001
|
||||
2025/08/18-09:44:35.790 5674 Recovering log #3
|
||||
2025/08/18-09:44:35.790 5674 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Site Characteristics Database/000003.log
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/31-09:08:16.477 12c4 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/MANIFEST-000001
|
||||
2025/07/31-09:08:16.479 12c4 Recovering log #3
|
||||
2025/07/31-09:08:16.480 12c4 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/000003.log
|
||||
2025/08/18-10:03:41.604 3014 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/MANIFEST-000001
|
||||
2025/08/18-10:03:41.605 3014 Recovering log #3
|
||||
2025/08/18-10:03:41.605 3014 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/000003.log
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
2025/07/30-15:00:17.519 10d4 Reusing MANIFEST C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/MANIFEST-000001
|
||||
2025/07/30-15:00:17.520 10d4 Recovering log #3
|
||||
2025/07/30-15:00:17.521 10d4 Reusing old log C:\ZendionINC\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/000003.log
|
||||
2025/08/18-09:44:35.788 cb0 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/MANIFEST-000001
|
||||
2025/08/18-09:44:35.790 cb0 Recovering log #3
|
||||
2025/08/18-09:44:35.790 cb0 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroMonitor\bin\Debug\AgroMonitor.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/000003.log
|
||||
|
|
|
|||