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 int QuantidadeBicos { get; set; } = 4;
public double DensidadeHerbicida { get; set; } = 1.0; public double DensidadeHerbicida { get; set; } = 1.0;
public List<AtuadorBicoModel> BicosPulverizadores { get; set; } = new List<AtuadorBicoModel>(); public List<AtuadorBicoModel> BicosPulverizadores { get; set; }
public List<AtuadorBombaModel> BombasPressurizadoras { get; set; } = new List<AtuadorBombaModel>(); public List<AtuadorBombaModel> BombasPressurizadoras { get; set; }
public List<SensorModel> Sensores { get; set; } = new List<SensorModel>(); public List<SensorModel> Sensores { get; set; }
public string ScriptDeteccaoErvas { get; set; } = PythonService.ScriptWeedDetector; public string ScriptDeteccaoErvas { get; set; } = PythonService.ScriptWeedDetector;
public AsyncTaskTimerModel tmrRegistrador; public AsyncTaskTimerModel tmrRegistrador;
@ -67,7 +67,7 @@ namespace AgroBase.Models.Modules
public AtuadorMensagemJsonModel DadosLeitura { get; set; } = new AtuadorMensagemJsonModel(); public AtuadorMensagemJsonModel DadosLeitura { get; set; } = new AtuadorMensagemJsonModel();
public AtuHandler _AtuHandler = new AtuHandler(); public AtuHandler _AtuHandler = new AtuHandler();
public SensorModel SensorAnguloBarraEsquerda private SensorModel SensorAnguloBarraEsquerda
{ {
get get
{ {
@ -75,7 +75,7 @@ namespace AgroBase.Models.Modules
return sMAG; return sMAG;
} }
} }
public SensorModel SensorAnguloBarraDireita private SensorModel SensorAnguloBarraDireita
{ {
get get
{ {
@ -83,7 +83,7 @@ namespace AgroBase.Models.Modules
return sMAG; return sMAG;
} }
} }
public SensorModel SensorAnguloBarraAltura private SensorModel SensorAnguloBarraAltura
{ {
get get
{ {
@ -1161,7 +1161,7 @@ namespace AgroBase.Models.Modules
return ValoresLeituras.OrderByDescending(x => x.atual.lidoEm).FirstOrDefault()?.atual?.lidoEm ?? DateTime.MinValue; 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); 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 bool Inicializado { get; set; }
public DateTime UltimaLeitura public DateTime UltimaLeitura
{ {
@ -1277,7 +1277,7 @@ namespace AgroBase.Models.Modules
return ValoresLeituras.OrderByDescending(x => x.atual.lidoEm).FirstOrDefault()?.atual?.lidoEm ?? DateTime.MinValue; 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<FuncoesPinout> Funcoes { get; set; }
public List<SensorParametroModel> Parametros { get; set;} = new List<SensorParametroModel>(); public List<SensorParametroModel> Parametros { get; set; }
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; } = new List<SensorValoresLeituraModel>(); public List<SensorValoresLeituraModel> ValoresLeituras { get; set; }
public (CanMessagePosicaoDados, byte[]) ProtocoloConfiguracao(PinoutDataModel Pinout, bool conectar, T_Code Dispositivo) 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; 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) 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; 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) 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; 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) 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 @classmethod
def atualizar_dados_operacao(cls): def atualizar_dados_operacao(cls):
try:
cls._atualizar_operacao_liberada() cls._atualizar_operacao_liberada()
except Exception as e:
print(f"Erro ao atualizar operacao liberada: {e}")
try:
cls._atualiza_status_operacao() cls._atualiza_status_operacao()
except Exception as e:
print(f"Erro ao atualizar status da operacao: {e}")
@classmethod @classmethod
def _atualizar_operacao_liberada(cls): def _atualizar_operacao_liberada(cls):
@ -212,7 +218,8 @@ class ContextoGlobalRedis:
modulos_opcionais = set(_operacao.get("modulos_opcionais", [])) modulos_opcionais = set(_operacao.get("modulos_opcionais", []))
emergencia = _operacao.get("emergencia", False) emergencia = _operacao.get("emergencia", False)
pausa = _operacao.get("pausa", 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() modulos_presentes = set()
status_modulos = [] status_modulos = []
@ -518,13 +525,14 @@ class ContextoGlobalRedis:
if status_atual != StatusOperacao.EmAndamento: if status_atual != StatusOperacao.EmAndamento:
cls.atualizar_ctx_dict(CtxKey.DadosOperacao, status=StatusOperacao.EmAndamento.value) cls.atualizar_ctx_dict(CtxKey.DadosOperacao, status=StatusOperacao.EmAndamento.value)
except Exception as e:
print(f"Erro ao atualizar status da operacao: {e}")
finally: finally:
pass pass
#_operacao = cls.get_operacao() #_operacao = cls.get_operacao()
#status = _operacao.get("status") #status = _operacao.get("status")
#liberado = _operacao.get("liberado") #liberado = _operacao.get("liberado")
#print(f"Status Atual: {status.name}, Liberado: {liberado}") #print(f"Status Atual: {StatusOperacao(status).name}, Liberado: {liberado}")
@classmethod @classmethod
def _iniciar_operacao(cls): def _iniciar_operacao(cls):