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,
|
||||
"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": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"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
|
||||
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;
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ public class MqttService
|
|||
private AsyncTaskTimerModel tmrCheck;
|
||||
|
||||
public List<MqttTopicosModel> Topicos;
|
||||
public readonly object _topicosLock = new object();
|
||||
|
||||
public MqttService(string brokerAddress, int brokerPort)
|
||||
{
|
||||
|
|
@ -31,17 +30,14 @@ public class MqttService
|
|||
_client.UseConnectedHandler(async e =>
|
||||
{
|
||||
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)
|
||||
{
|
||||
Task.Run(async () => await SubscribeAsync(topic));
|
||||
}
|
||||
await SubscribeAsync(topic);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
_client.UseDisconnectedHandler(e =>
|
||||
|
|
@ -55,11 +51,8 @@ public class MqttService
|
|||
//Console.WriteLine($"Message received on topic {e.ApplicationMessage.Topic}");
|
||||
// Aqui você pode adicionar o código para lidar com a mensagem recebida
|
||||
|
||||
MqttTopicosModel topico = null;
|
||||
lock (_topicosLock)
|
||||
{
|
||||
Topicos.FirstOrDefault(x => x.Topico == e.ApplicationMessage.Topic);
|
||||
}
|
||||
MqttTopicosModel topico = Topicos.FirstOrDefault(x => x.Topico == e.ApplicationMessage.Topic);
|
||||
|
||||
if (topico != null)
|
||||
{
|
||||
var Mensagem = new MqttTopicosMensagensModel()
|
||||
|
|
@ -83,10 +76,8 @@ public class MqttService
|
|||
}
|
||||
});
|
||||
|
||||
lock (_topicosLock)
|
||||
{
|
||||
Topicos = new List<MqttTopicosModel>();
|
||||
}
|
||||
Topicos = new List<MqttTopicosModel>();
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await AdicionarNovoTopico(MapasVariaveisModel.TopicoCoordenadasGPS);
|
||||
|
|
@ -208,32 +199,29 @@ public class MqttService
|
|||
{
|
||||
MqttTopicosModel _mqttTopico = null;
|
||||
|
||||
lock (_topicosLock)
|
||||
Topicos.Remove(null);
|
||||
|
||||
_mqttTopico = Topicos.FirstOrDefault(x => x.Topico == topico);
|
||||
|
||||
if (_mqttTopico == null)
|
||||
{
|
||||
Topicos.Remove(null);
|
||||
|
||||
_mqttTopico = Topicos.FirstOrDefault(x => x.Topico == topico);
|
||||
|
||||
if (_mqttTopico == null)
|
||||
_mqttTopico = new MqttTopicosModel()
|
||||
{
|
||||
_mqttTopico = new MqttTopicosModel()
|
||||
{
|
||||
Topico = topico,
|
||||
Mensagens = new List<MqttTopicosMensagensModel>(),
|
||||
Inscrever = inscrever,
|
||||
MensagensManter = mensagensManter,
|
||||
Callback = callback
|
||||
};
|
||||
Topico = topico,
|
||||
Mensagens = new List<MqttTopicosMensagensModel>(),
|
||||
Inscrever = inscrever,
|
||||
MensagensManter = mensagensManter,
|
||||
Callback = callback
|
||||
};
|
||||
|
||||
Topicos.Add(_mqttTopico);
|
||||
Topicos.Add(_mqttTopico);
|
||||
|
||||
if (_mqttTopico.Inscrever)
|
||||
{
|
||||
Task.Run(async () => await SubscribeAsync(_mqttTopico));
|
||||
}
|
||||
|
||||
Task.Run(async () => await LimparMensagensRetidas(_mqttTopico.Topico));
|
||||
if (_mqttTopico.Inscrever)
|
||||
{
|
||||
await SubscribeAsync(_mqttTopico);
|
||||
}
|
||||
|
||||
await LimparMensagensRetidas(_mqttTopico.Topico);
|
||||
}
|
||||
|
||||
return _mqttTopico;
|
||||
|
|
|
|||
|
|
@ -74,6 +74,8 @@ namespace AgroBase.Services
|
|||
if (Iniciado)
|
||||
{
|
||||
DefinirDispositivo();
|
||||
UltimaLeitura.DataHora = DateTime.Now;
|
||||
PenultimaLeitura.DataHora = UltimaLeitura.DataHora;
|
||||
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