ajuste contador de carga
This commit is contained in:
parent
0de0e13d65
commit
41ce45ede7
Binary file not shown.
Binary file not shown.
|
|
@ -1,12 +1,54 @@
|
||||||
{
|
{
|
||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "C:\\ZendionINC\\agrobot_base\\AgroBase\\",
|
"WorkspaceRootPath": "C:\\ZendionINC\\agrobot_base\\AgroBase\\",
|
||||||
"Documents": [],
|
"Documents": [
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\services\\dispositivosservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\services\\dispositivosservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\models\\operacoes\\operacaomapagpsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\operacoes\\operacaomapagpsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
}
|
||||||
|
],
|
||||||
"DocumentGroupContainers": [
|
"DocumentGroupContainers": [
|
||||||
{
|
{
|
||||||
"Orientation": 0,
|
"Orientation": 0,
|
||||||
"VerticalTabListWidth": 256,
|
"VerticalTabListWidth": 256,
|
||||||
"DocumentGroups": []
|
"DocumentGroups": [
|
||||||
|
{
|
||||||
|
"DockedWidth": 200,
|
||||||
|
"SelectedChildIndex": 0,
|
||||||
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 0,
|
||||||
|
"Title": "DispositivosService.cs",
|
||||||
|
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Services\\DispositivosService.cs",
|
||||||
|
"RelativeDocumentMoniker": "AgroBase\\Services\\DispositivosService.cs",
|
||||||
|
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Services\\DispositivosService.cs",
|
||||||
|
"RelativeToolTip": "AgroBase\\Services\\DispositivosService.cs",
|
||||||
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAJsAAAAAAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-17T16:08:08.254Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
|
"Title": "OperacaoMapaGPSModel.cs",
|
||||||
|
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
|
||||||
|
"RelativeDocumentMoniker": "AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
|
||||||
|
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
|
||||||
|
"RelativeToolTip": "AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
|
||||||
|
"ViewState": "AQIAABcAAAAAAAAAAAAwwCoAAAAMAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-17T16:03:54.404Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -58,7 +58,16 @@ namespace AgroBase.Models.Operacoes
|
||||||
// Atualiza o PID com o erro combinado
|
// Atualiza o PID com o erro combinado
|
||||||
if (statusCarroRua != StatusCarroMapa.Parado)
|
if (statusCarroRua != StatusCarroMapa.Parado)
|
||||||
{
|
{
|
||||||
Variaveis.OperacaoEmAndamento.Controle.PIDdirecional.Atualizar(erroCombinado, 0);
|
var PID = Variaveis.OperacaoEmAndamento.Controle.PIDdirecional;
|
||||||
|
if (Variaveis.OperacaoEmAndamento.OpMapaGPS.ReferencialRuaGPS.ManobrandoEntreRuas)
|
||||||
|
{
|
||||||
|
PID.LimiteSaida = Variaveis.OperacaoEmAndamento.Controle.Angulo_Max * 0.75;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PID.LimiteSaida = Variaveis.OperacaoEmAndamento.Controle.Angulo_Max;
|
||||||
|
}
|
||||||
|
PID.Atualizar(erroCombinado, 0);
|
||||||
}
|
}
|
||||||
double correcaoAngulo = Variaveis.OperacaoEmAndamento.Controle.PIDdirecional.Saida;
|
double correcaoAngulo = Variaveis.OperacaoEmAndamento.Controle.PIDdirecional.Saida;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@ public class MqttService
|
||||||
private AsyncTaskTimerModel tmrCheck;
|
private AsyncTaskTimerModel tmrCheck;
|
||||||
|
|
||||||
public List<MqttTopicosModel> Topicos;
|
public List<MqttTopicosModel> Topicos;
|
||||||
public readonly object _topicosLock = new object();
|
|
||||||
|
|
||||||
public MqttService(string brokerAddress, int brokerPort)
|
public MqttService(string brokerAddress, int brokerPort)
|
||||||
{
|
{
|
||||||
|
|
@ -31,14 +30,11 @@ public class MqttService
|
||||||
_client.UseConnectedHandler(async e =>
|
_client.UseConnectedHandler(async e =>
|
||||||
{
|
{
|
||||||
Console.WriteLine("Connected to MQTT Broker.");
|
Console.WriteLine("Connected to MQTT Broker.");
|
||||||
lock (_topicosLock)
|
if (Topicos.Any(x => x.Inscrever))
|
||||||
{
|
{
|
||||||
if (Topicos.Any(x => x.Inscrever))
|
foreach (var topic in Topicos)
|
||||||
{
|
{
|
||||||
foreach (var topic in Topicos)
|
await SubscribeAsync(topic);
|
||||||
{
|
|
||||||
Task.Run(async () => await SubscribeAsync(topic));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -55,11 +51,8 @@ public class MqttService
|
||||||
//Console.WriteLine($"Message received on topic {e.ApplicationMessage.Topic}");
|
//Console.WriteLine($"Message received on topic {e.ApplicationMessage.Topic}");
|
||||||
// Aqui você pode adicionar o código para lidar com a mensagem recebida
|
// Aqui você pode adicionar o código para lidar com a mensagem recebida
|
||||||
|
|
||||||
MqttTopicosModel topico = null;
|
MqttTopicosModel topico = Topicos.FirstOrDefault(x => x.Topico == e.ApplicationMessage.Topic);
|
||||||
lock (_topicosLock)
|
|
||||||
{
|
|
||||||
Topicos.FirstOrDefault(x => x.Topico == e.ApplicationMessage.Topic);
|
|
||||||
}
|
|
||||||
if (topico != null)
|
if (topico != null)
|
||||||
{
|
{
|
||||||
var Mensagem = new MqttTopicosMensagensModel()
|
var Mensagem = new MqttTopicosMensagensModel()
|
||||||
|
|
@ -83,10 +76,8 @@ public class MqttService
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
lock (_topicosLock)
|
Topicos = new List<MqttTopicosModel>();
|
||||||
{
|
|
||||||
Topicos = new List<MqttTopicosModel>();
|
|
||||||
}
|
|
||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
{
|
{
|
||||||
await AdicionarNovoTopico(MapasVariaveisModel.TopicoCoordenadasGPS);
|
await AdicionarNovoTopico(MapasVariaveisModel.TopicoCoordenadasGPS);
|
||||||
|
|
@ -208,32 +199,29 @@ public class MqttService
|
||||||
{
|
{
|
||||||
MqttTopicosModel _mqttTopico = null;
|
MqttTopicosModel _mqttTopico = null;
|
||||||
|
|
||||||
lock (_topicosLock)
|
Topicos.Remove(null);
|
||||||
|
|
||||||
|
_mqttTopico = Topicos.FirstOrDefault(x => x.Topico == topico);
|
||||||
|
|
||||||
|
if (_mqttTopico == null)
|
||||||
{
|
{
|
||||||
Topicos.Remove(null);
|
_mqttTopico = new MqttTopicosModel()
|
||||||
|
|
||||||
_mqttTopico = Topicos.FirstOrDefault(x => x.Topico == topico);
|
|
||||||
|
|
||||||
if (_mqttTopico == null)
|
|
||||||
{
|
{
|
||||||
_mqttTopico = new MqttTopicosModel()
|
Topico = topico,
|
||||||
{
|
Mensagens = new List<MqttTopicosMensagensModel>(),
|
||||||
Topico = topico,
|
Inscrever = inscrever,
|
||||||
Mensagens = new List<MqttTopicosMensagensModel>(),
|
MensagensManter = mensagensManter,
|
||||||
Inscrever = inscrever,
|
Callback = callback
|
||||||
MensagensManter = mensagensManter,
|
};
|
||||||
Callback = callback
|
|
||||||
};
|
|
||||||
|
|
||||||
Topicos.Add(_mqttTopico);
|
Topicos.Add(_mqttTopico);
|
||||||
|
|
||||||
if (_mqttTopico.Inscrever)
|
if (_mqttTopico.Inscrever)
|
||||||
{
|
{
|
||||||
Task.Run(async () => await SubscribeAsync(_mqttTopico));
|
await SubscribeAsync(_mqttTopico);
|
||||||
}
|
|
||||||
|
|
||||||
Task.Run(async () => await LimparMensagensRetidas(_mqttTopico.Topico));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await LimparMensagensRetidas(_mqttTopico.Topico);
|
||||||
}
|
}
|
||||||
|
|
||||||
return _mqttTopico;
|
return _mqttTopico;
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,8 @@ namespace AgroBase.Services
|
||||||
if (Iniciado)
|
if (Iniciado)
|
||||||
{
|
{
|
||||||
DefinirDispositivo();
|
DefinirDispositivo();
|
||||||
|
UltimaLeitura.DataHora = DateTime.Now;
|
||||||
|
PenultimaLeitura.DataHora = UltimaLeitura.DataHora;
|
||||||
return Iniciado;
|
return Iniciado;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Loading…
Reference in New Issue