ajustes no controle dos atuadores

This commit is contained in:
Diego Freitas 2025-04-15 10:16:27 -03:00
parent 99d0ff87a5
commit 38a3e54fe2
16 changed files with 194 additions and 106 deletions

Binary file not shown.

View File

@ -3,27 +3,35 @@
"WorkspaceRootPath": "C:\\ZendionINC\\agrobot_base\\AgroBase\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\operacoes\\operacaomodel.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\\modules\\sensoriamentomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\modules\\sensoriamentomodel.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\\modules\\movimentacaomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\modules\\movimentacaomodel.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\\modules\\atuadormodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\modules\\atuadormodel.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\\enums.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\enums.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\\operacaomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\operacoes\\operacaomodel.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\\modules\\movimentacaounificadomodel.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\\modules\\movimentacaounificadomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\modules\\movimentacaounificadomodel.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\\modules\\direcionalmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\modules\\direcionalmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\services\\mks057dcanservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\services\\mks057dcanservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\services\\canservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\services\\canservice.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\\mks057dmodel.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\\mks057dmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\mks057dmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
@ -34,11 +42,63 @@
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 3,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Document",
"DocumentIndex": 5,
"DocumentIndex": 1,
"Title": "MovimentacaoModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\MovimentacaoModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Modules\\MovimentacaoModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\MovimentacaoModel.cs",
"RelativeToolTip": "AgroBase\\Models\\Modules\\MovimentacaoModel.cs",
"ViewState": "AQIAABABAAAAAAAAAAAewCsBAAA2AAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-15T12:41:41.493Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "Enums.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Enums.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Enums.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Enums.cs",
"RelativeToolTip": "AgroBase\\Models\\Enums.cs",
"ViewState": "AQIAABsAAAAAAAAAAAAowAAAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-15T11:09:35.01Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "SensoriamentoModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\SensoriamentoModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Modules\\SensoriamentoModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\SensoriamentoModel.cs",
"RelativeToolTip": "AgroBase\\Models\\Modules\\SensoriamentoModel.cs",
"ViewState": "AQIAAAkAAAAAAAAAAAAAACoAAAA3AAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-15T10:44:14.963Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "AtuadorModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\AtuadorModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Modules\\AtuadorModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\AtuadorModel.cs",
"RelativeToolTip": "AgroBase\\Models\\Modules\\AtuadorModel.cs",
"ViewState": "AQIAAKsBAAAAAAAAAIA0wEwDAAAuAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-15T10:40:50.024Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "MKS057DModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\MKS057DModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\MKS057DModel.cs",
@ -46,12 +106,11 @@
"RelativeToolTip": "AgroBase\\Models\\MKS057DModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAAA6AAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-14T22:08:11.705Z",
"EditorCaption": ""
"WhenOpened": "2025-04-14T22:08:11.705Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"DocumentIndex": 6,
"Title": "CANService.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Services\\CANService.cs",
"RelativeDocumentMoniker": "AgroBase\\Services\\CANService.cs",
@ -59,12 +118,11 @@
"RelativeToolTip": "AgroBase\\Services\\CANService.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAADoAAAAlAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-14T19:46:16.662Z",
"EditorCaption": ""
"WhenOpened": "2025-04-14T19:46:16.662Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 5,
"Title": "MovimentacaoUnificadoModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
@ -72,47 +130,20 @@
"RelativeToolTip": "AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAIUBAAA9AAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-14T19:32:58.021Z",
"EditorCaption": ""
"WhenOpened": "2025-04-14T19:32:58.021Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"DocumentIndex": 4,
"Title": "OperacaoModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Operacoes\\OperacaoModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoModel.cs",
"RelativeToolTip": "AgroBase\\Models\\Operacoes\\OperacaoModel.cs",
"ViewState": "AQIAAAQBAAAAAAAAAAAywCwBAAAIAAAA",
"ViewState": "AQIAAA0AAAAAAAAAAAAuwCwBAAAIAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-14T16:46:36.149Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "MKS057DCanService.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Services\\MKS057DCanService.cs",
"RelativeDocumentMoniker": "AgroBase\\Services\\MKS057DCanService.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Services\\MKS057DCanService.cs",
"RelativeToolTip": "AgroBase\\Services\\MKS057DCanService.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAA0AAABRAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-14T16:42:11.447Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "DirecionalModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\DirecionalModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Modules\\DirecionalModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\DirecionalModel.cs",
"RelativeToolTip": "AgroBase\\Models\\Modules\\DirecionalModel.cs",
"ViewState": "AQIAAGQBAAAAAAAAAIAwwJkBAAA/AAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-14T16:38:57.306Z",
"EditorCaption": ""
}
]
}

View File

@ -472,7 +472,7 @@ namespace AgroBase.Models.Modules
var config2 = new List<byte>
{
Variaveis.ID_Num_sMOD,
(byte)CanMessagePosicaoDados.Config1,
(byte)CanMessagePosicaoDados.Config2,
(byte)S_Code.sMOD,
};
config2.AddRange(PinoutModel.PinoProtocolo(Pinout, Funcoes, false));
@ -1192,7 +1192,7 @@ namespace AgroBase.Models.Modules
return sensor?.Componente ?? bico?.Componente ?? bomba?.Componente ?? S_Code.sVZO;
}
private void DefinirOuCriar(int CompID_Num, S_Code componente, bool Iniciado, List<dynamic> Parametros)
private void DefinirOuCriar(int CompID_Num, CanMessagePosicaoDados Posicao, S_Code componente, List<dynamic> Parametros)
{
var Disp = Variaveis.OperacaoEmAndamento.DispAtu;
var item = Disp.Dados.DadosLeitura;
@ -1208,15 +1208,26 @@ namespace AgroBase.Models.Modules
_sensor = new FirmwareSensorFluxo()
{
ID = sensor.ID,
Iniciado = Iniciado,
Iniciado = false,
Vazao = -1,
};
item.SensoresFluxo.Add(_sensor);
}
if (_sensor != null)
{
_sensor.Iniciado = Iniciado;
switch (Posicao)
{
case CanMessagePosicaoDados.Status:
{
_sensor.Iniciado = Parametros.Count > 0 ? Parametros[0] : false;
break;
}
case CanMessagePosicaoDados.Dados1:
{
_sensor.Vazao = Parametros.Count > 0 ? Parametros[0] : -1;
break;
}
}
}
break;
}
@ -1229,15 +1240,26 @@ namespace AgroBase.Models.Modules
_sensor = new FirmwareSensorPressao()
{
ID = sensor.ID,
Iniciado = Iniciado,
Iniciado = false,
Pressao = -1,
};
item.SensoresPressao.Add(_sensor);
}
if (_sensor != null)
{
_sensor.Iniciado = Iniciado;
switch (Posicao)
{
case CanMessagePosicaoDados.Status:
{
_sensor.Iniciado = Parametros.Count > 0 ? Parametros[0] : false;
break;
}
case CanMessagePosicaoDados.Dados1:
{
_sensor.Pressao = Parametros.Count > 0 ? Parametros[0] : -1;
break;
}
}
}
break;
}
@ -1250,15 +1272,26 @@ namespace AgroBase.Models.Modules
_sensor = new FirmwareSensorMassa()
{
ID = sensor.ID,
Iniciado = Iniciado,
Iniciado = false,
Massa = -1,
};
item.SensoresMassa.Add(_sensor);
}
if (_sensor != null)
{
_sensor.Iniciado = Iniciado;
switch (Posicao)
{
case CanMessagePosicaoDados.Status:
{
_sensor.Iniciado = Parametros.Count > 0 ? Parametros[0] : false;
break;
}
case CanMessagePosicaoDados.Dados1:
{
_sensor.Massa = Parametros.Count > 0 ? Parametros[0] : -1;
break;
}
}
}
break;
}
@ -1271,15 +1304,26 @@ namespace AgroBase.Models.Modules
_sensor = new FirmwareRele()
{
ID = sensor.ID,
Iniciado = Iniciado,
Iniciado = false,
Leitura = Estado.Desligado,
};
item.BicosPulverizadores.Add(_sensor);
}
if (_sensor != null)
{
_sensor.Iniciado = Iniciado;
switch (Posicao)
{
case CanMessagePosicaoDados.Status:
{
_sensor.Iniciado = Parametros.Count > 0 ? Parametros[0] : false;
break;
}
case CanMessagePosicaoDados.Dados1:
{
_sensor.Leitura = Parametros.Count > 0 ? Parametros[0] : Estado.Desligado;
break;
}
}
}
break;
}
@ -1292,7 +1336,7 @@ namespace AgroBase.Models.Modules
_sensor = new FirmwareBombaPressurizadora()
{
ID = sensor.ID,
Iniciado = Iniciado,
Iniciado = false,
Estado = Estado.Desligado,
Potencia = -1,
Pressao = -1,
@ -1302,11 +1346,22 @@ namespace AgroBase.Models.Modules
}
if (_sensor != null)
{
_sensor.Iniciado = Iniciado;
switch (Posicao)
{
case CanMessagePosicaoDados.Status:
{
_sensor.Iniciado = Parametros.Count > 0 ? Parametros[0] : false;
break;
}
case CanMessagePosicaoDados.Dados1:
{
_sensor.Estado = Parametros.Count > 0 ? Parametros[0] : Estado.Desligado;
_sensor.Potencia = Parametros.Count > 1 ? Parametros[1] : -1;
_sensor.PressaoSP = Parametros.Count > 2 ? Parametros[2] : -1;
_sensor.Pressao = Parametros.Count > 3 ? Parametros[3] : -1;
break;
}
}
}
break;
}
@ -1324,7 +1379,7 @@ namespace AgroBase.Models.Modules
S_Code componente = DetectarComponenteDoID_Num(ID_Num);
Console.WriteLine($"[ATU] Componente={componente.ToString()}, ID_Num={ID_Num}, Data={FuncoesGlobais.ConverterComandoBytesParaTexto(data)}");
//Console.WriteLine($"[ATU] Componente={componente.ToString()}, ID_Num={ID_Num}, Data={FuncoesGlobais.ConverterComandoBytesParaTexto(data)}");
switch (posicao)
{
@ -1336,7 +1391,7 @@ namespace AgroBase.Models.Modules
bool conectado = data[3] == 1;
int versao = data[4];
Console.WriteLine($"[ATU] Resposta {ID_Num} recebida. Tipo={tipoModulo}, Conectado={conectado}, Versão={versao}");
//Console.WriteLine($"[ATU] Resposta {ID_Num} recebida. Tipo={tipoModulo}, Conectado={conectado}, Versão={versao}");
item.Conectado = conectado;
item.Dispositivo = tipoModulo;
@ -1345,7 +1400,7 @@ namespace AgroBase.Models.Modules
else
{
bool Iniciado = data[2] == 1;
DefinirOuCriar(ID_Num, componente, Iniciado, new List<dynamic>());
DefinirOuCriar(ID_Num, posicao, componente, new List<dynamic>() { Iniciado });
}
break;
}
@ -1356,25 +1411,25 @@ namespace AgroBase.Models.Modules
case S_Code.sBIC:
{
Estado estado = (Estado)data[2];
DefinirOuCriar(ID_Num, componente, true, new List<dynamic>() { estado });
DefinirOuCriar(ID_Num, posicao, componente, new List<dynamic>() { estado });
break;
}
case S_Code.sFLX:
{
double vazao = ConverterByteParaDouble(data, 2);
DefinirOuCriar(ID_Num, componente, true, new List<dynamic>() { vazao });
DefinirOuCriar(ID_Num, posicao, componente, new List<dynamic>() { vazao });
break;
}
case S_Code.sMAS:
{
double massa = ConverterByteParaDouble(data, 2);
DefinirOuCriar(ID_Num, componente, true, new List<dynamic>() { massa });
DefinirOuCriar(ID_Num, posicao, componente, new List<dynamic>() { massa });
break;
}
case S_Code.sPRS:
{
double pressao = ConverterByteParaDouble(data, 2);
DefinirOuCriar(ID_Num, componente, true, new List<dynamic>() { pressao });
DefinirOuCriar(ID_Num, posicao, componente, new List<dynamic>() { pressao });
break;
}
case S_Code.sBMB:
@ -1383,7 +1438,7 @@ namespace AgroBase.Models.Modules
int percentualPotencia = data[3];
int pressaoSp = data[4];
int pressaoAtual = data[5];
DefinirOuCriar(ID_Num, componente, true, new List<dynamic>() { estado, percentualPotencia, pressaoSp, pressaoAtual });
DefinirOuCriar(ID_Num, posicao, componente, new List<dynamic>() { estado, percentualPotencia, pressaoSp, pressaoAtual });
break;
}

View File

@ -262,7 +262,7 @@ namespace AgroBase.Models.Modules
{
Descricao = "Corrente Máx",
Valor = (3.2).ToString(),
QtdBytes = 1,
QtdBytes = 2,
Escalar = true,
Enviar = true
},
@ -294,8 +294,8 @@ namespace AgroBase.Models.Modules
{
Descricao = "Corrente Máx",
Valor = (3.2).ToString(),
QtdBytes = 1,
Escalar = false,
QtdBytes = 2,
Escalar = true,
Enviar = true
},
}
@ -326,8 +326,8 @@ namespace AgroBase.Models.Modules
{
Descricao = "Corrente Máx",
Valor = (50).ToString(),
QtdBytes = 1,
Escalar = false,
QtdBytes = 2,
Escalar = true,
Enviar = true
},
}
@ -358,8 +358,8 @@ namespace AgroBase.Models.Modules
{
Descricao = "Corrente Máx",
Valor = (100).ToString(),
QtdBytes = 1,
Escalar = false,
QtdBytes = 2,
Escalar = true,
Enviar = true
},
}
@ -534,7 +534,7 @@ namespace AgroBase.Models.Modules
{
FuncoesPinout.ServoFreio,
},
_AnguloControle = 0,
_AnguloControle = 180,
},
new SensorServoModel()
{
@ -547,7 +547,7 @@ namespace AgroBase.Models.Modules
{
FuncoesPinout.ServoFreio,
},
_AnguloControle = 0,
_AnguloControle = 180,
},
}
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -25,7 +25,7 @@
<meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style>
#map_f39a2eeeafc2e53a380e049fb0eabbad {
#map_a4006f9d75d902d102b79944f8248919 {
position: relative;
width: 100.0%;
height: 100.0%;
@ -39,14 +39,14 @@
<body>
<div class="folium-map" id="map_f39a2eeeafc2e53a380e049fb0eabbad" ></div>
<div class="folium-map" id="map_a4006f9d75d902d102b79944f8248919" ></div>
</body>
<script>
var map_f39a2eeeafc2e53a380e049fb0eabbad = L.map(
"map_f39a2eeeafc2e53a380e049fb0eabbad",
var map_a4006f9d75d902d102b79944f8248919 = L.map(
"map_a4006f9d75d902d102b79944f8248919",
{
center: [0.0, 0.0],
crs: L.CRS.EPSG3857,
@ -60,13 +60,13 @@
var tile_layer_3f2633897e8c84372d3f03a0dd6f2143 = L.tileLayer(
var tile_layer_39ecd34b01d19cdf7444ae1ecfb66d85 = L.tileLayer(
"https://tile.openstreetmap.org/{z}/{x}/{y}.png",
{"attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}
);
tile_layer_3f2633897e8c84372d3f03a0dd6f2143.addTo(map_f39a2eeeafc2e53a380e049fb0eabbad);
tile_layer_39ecd34b01d19cdf7444ae1ecfb66d85.addTo(map_a4006f9d75d902d102b79944f8248919);
</script>
@ -87,7 +87,7 @@
}
trajeto_json_add({"features": []});
trajeto_json.addTo(map_f39a2eeeafc2e53a380e049fb0eabbad);
trajeto_json.addTo(map_a4006f9d75d902d102b79944f8248919);
function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria);
@ -145,7 +145,7 @@
var marcadorDinamico = L.marker([0, 0], {
icon: customIcon
}).addTo(map_f39a2eeeafc2e53a380e049fb0eabbad);
}).addTo(map_a4006f9d75d902d102b79944f8248919);
// Conectar ao broker MQTT
const client = mqtt.connect('ws://localhost:9001'); // Use wss para conexão segura
@ -183,7 +183,7 @@
marcadorDinamico.setRotationAngle(angulo);
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
map_f39a2eeeafc2e53a380e049fb0eabbad.setView(novaPosicao, map_f39a2eeeafc2e53a380e049fb0eabbad.getZoom());
map_a4006f9d75d902d102b79944f8248919.setView(novaPosicao, map_a4006f9d75d902d102b79944f8248919.getZoom());
});
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {

View File

@ -165,8 +165,8 @@ class BombaPressurizadora {
break;
}
case CanMessagePosicaoDados::Dados1: {
data.push_back(EstadoLeitura);
data.push_back(PercentualPotenciaLeitura);
data.push_back(static_cast<uint8_t>(EstadoLeitura));
data.push_back((int)PercentualPotenciaLeitura);
data.push_back((int)_PressaoSP);
data.push_back((int)sensorPressao->Pressao);
break;
@ -256,11 +256,11 @@ std::vector<uint8_t> BombaPressurizadora::ConfigurarBomba(std::vector<BombaPress
}
void BombaPressurizadora::ComandarBomba(std::vector<BombaPressurizadora*>& lista, std::vector<uint8_t>& data, uint8_t& id) {
if (data.size() < 6) return;
if (data.size() < 5) return;
Estado novoEstado = (Estado)data[3];
int pressao = (int)data[4];
for (auto* _bomba : lista) {
if (_bomba && _bomba->ID_Num == id) {
if (_bomba->ID_Num == id) {
_bomba->_EstadoControle = novoEstado;
_bomba->_PressaoSP = (double)pressao;
_bomba->AlterarStatusBomba();

View File

@ -96,7 +96,7 @@ class Rele {
break;
}
case CanMessagePosicaoDados::Dados1: {
data.push_back(_Status);
data.push_back(static_cast<uint8_t>(_Status));
break;
}
}

View File

@ -38,7 +38,7 @@ class ServoFreio {
if (_pino.Definido()) {
_Servo.attach(_pino.num);
_Servo.write(Incremental ? 0 : 180);\
AtualizarAngulo(Incremental ? 0 : 180);
Iniciado = true;
@ -67,6 +67,8 @@ class ServoFreio {
void AtualizarAngulo(int novoAngulo) {
if (Iniciado) {
PrintTela("Angulo de freio atualizado de " + String(_Angulo) + " para " + String(novoAngulo));
_Angulo = novoAngulo;
_Servo.write(_Angulo);
@ -141,7 +143,7 @@ void ServoFreio::ComandarServo(std::vector<ServoFreio*>& lista, std::vector<uint
if (data.size() < 4) return;
for (auto* _freio : lista) {
if (_freio->ID_Num == id) {
_freio->AtualizarAngulo(data[3]);
_freio->AtualizarAngulo((int)data[3]);
return;
}
}

View File

@ -85,8 +85,8 @@ class Sinaleiro {
break;
}
case CanMessagePosicaoDados::Dados1: {
data.push_back(_StatusLeitura);
data.push_back(_Status);
data.push_back(static_cast<uint8_t>(_StatusLeitura));
data.push_back(static_cast<uint8_t>(_Status));
break;
}
}