Correcao carregamento parametros atuador

This commit is contained in:
Diego Freitas 2025-12-15 10:41:05 -03:00
parent 8d537383fb
commit db72144faa
6 changed files with 30 additions and 22 deletions

View File

@ -56,9 +56,9 @@ namespace AgroBase.Models.Modules
};
//public int QuantidadeBicos { get; set; } = 4;
public double DensidadeHerbicida { get; set; } = 1.0;
public List<AtuadorBicoModel> BicosPulverizadores { get; set; } = new List<AtuadorBicoModel>();
public List<AtuadorBombaModel> BombasPressurizadoras { get; set; } = new List<AtuadorBombaModel>();
public List<SensorModel> Sensores { get; set; } = new List<SensorModel>();
public List<AtuadorBicoModel> BicosPulverizadores { get; set; }
public List<AtuadorBombaModel> BombasPressurizadoras { get; set; }
public List<SensorModel> Sensores { get; set; }
public string ScriptDeteccaoErvas { get; set; } = PythonService.ScriptWeedDetector;
public AsyncTaskTimerModel tmrRegistrador;
@ -67,7 +67,7 @@ namespace AgroBase.Models.Modules
public AtuadorMensagemJsonModel DadosLeitura { get; set; } = new AtuadorMensagemJsonModel();
public AtuHandler _AtuHandler = new AtuHandler();
public SensorModel SensorAnguloBarraEsquerda
private SensorModel SensorAnguloBarraEsquerda
{
get
{
@ -75,7 +75,7 @@ namespace AgroBase.Models.Modules
return sMAG;
}
}
public SensorModel SensorAnguloBarraDireita
private SensorModel SensorAnguloBarraDireita
{
get
{
@ -83,7 +83,7 @@ namespace AgroBase.Models.Modules
return sMAG;
}
}
public SensorModel SensorAnguloBarraAltura
private SensorModel SensorAnguloBarraAltura
{
get
{
@ -1161,7 +1161,7 @@ namespace AgroBase.Models.Modules
return ValoresLeituras.OrderByDescending(x => x.atual.lidoEm).FirstOrDefault()?.atual?.lidoEm ?? DateTime.MinValue;
}
}
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; } = new List<SensorValoresLeituraModel>();
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; }
@ -1268,7 +1268,7 @@ namespace AgroBase.Models.Modules
return !Mandatorio || (Comandar && Inicializado);
}
}
public List<FuncoesPinout> Funcoes { get; set; } = new List<FuncoesPinout>();
public List<FuncoesPinout> Funcoes { get; set; }
public bool Inicializado { get; set; }
public DateTime UltimaLeitura
{
@ -1277,7 +1277,7 @@ namespace AgroBase.Models.Modules
return ValoresLeituras.OrderByDescending(x => x.atual.lidoEm).FirstOrDefault()?.atual?.lidoEm ?? DateTime.MinValue;
}
}
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; } = new List<SensorValoresLeituraModel>();
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; }

View File

@ -2462,8 +2462,8 @@ namespace AgroBase.Models.Modules
}
}
public List<FuncoesPinout> Funcoes { get; set; }
public List<SensorParametroModel> Parametros { get; set;} = new List<SensorParametroModel>();
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; } = new List<SensorValoresLeituraModel>();
public List<SensorParametroModel> Parametros { get; set; }
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; }
public (CanMessagePosicaoDados, byte[]) ProtocoloConfiguracao(PinoutDataModel Pinout, bool conectar, T_Code Dispositivo)
{
@ -2513,7 +2513,7 @@ namespace AgroBase.Models.Modules
return ValoresLeituras.OrderByDescending(x => x.atual.lidoEm).FirstOrDefault()?.atual?.lidoEm ?? DateTime.MinValue;
}
}
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; } = new List<SensorValoresLeituraModel>();
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; }
public (CanMessagePosicaoDados, byte[]) ProtocoloConfiguracao(PinoutDataModel pinout, bool conectar)
{
@ -2571,7 +2571,7 @@ namespace AgroBase.Models.Modules
return ValoresLeituras.OrderByDescending(x => x.atual.lidoEm).FirstOrDefault()?.atual?.lidoEm ?? DateTime.MinValue;
}
}
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; } = new List<SensorValoresLeituraModel>();
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; }
public (CanMessagePosicaoDados, byte[]) ProtocoloConfiguracao(PinoutDataModel pinout, bool conectar)
{
@ -2630,7 +2630,7 @@ namespace AgroBase.Models.Modules
return ValoresLeituras.OrderByDescending(x => x.atual.lidoEm).FirstOrDefault()?.atual?.lidoEm ?? DateTime.MinValue;
}
}
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; } = new List<SensorValoresLeituraModel>();
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; }
public (CanMessagePosicaoDados, byte[]) ProtocoloConfiguracao(PinoutDataModel pinout, bool conectar)
{

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -199,8 +199,14 @@ class ContextoGlobalRedis:
@classmethod
def atualizar_dados_operacao(cls):
cls._atualizar_operacao_liberada()
cls._atualiza_status_operacao()
try:
cls._atualizar_operacao_liberada()
except Exception as e:
print(f"Erro ao atualizar operacao liberada: {e}")
try:
cls._atualiza_status_operacao()
except Exception as e:
print(f"Erro ao atualizar status da operacao: {e}")
@classmethod
def _atualizar_operacao_liberada(cls):
@ -212,7 +218,8 @@ class ContextoGlobalRedis:
modulos_opcionais = set(_operacao.get("modulos_opcionais", []))
emergencia = _operacao.get("emergencia", False)
pausa = _operacao.get("pausa", False)
trajetoria_liberada = _contexto.get("Trajetoria", {}).get("CorredorAtual", {}).get("liberado", False)
_t = _contexto.get("Trajetoria", {})
trajetoria_liberada = True if _t is None or _t == "" else _t.get("CorredorAtual", {}).get("liberado", False)
modulos_presentes = set()
status_modulos = []
@ -518,13 +525,14 @@ class ContextoGlobalRedis:
if status_atual != StatusOperacao.EmAndamento:
cls.atualizar_ctx_dict(CtxKey.DadosOperacao, status=StatusOperacao.EmAndamento.value)
except Exception as e:
print(f"Erro ao atualizar status da operacao: {e}")
finally:
pass
#_operacao = cls.get_operacao()
#status = _operacao.get("status")
#liberado = _operacao.get("liberado")
#print(f"Status Atual: {status.name}, Liberado: {liberado}")
#print(f"Status Atual: {StatusOperacao(status).name}, Liberado: {liberado}")
@classmethod
def _iniciar_operacao(cls):