Ajustado controle dos bicos pulverizadores pelo teclado
This commit is contained in:
parent
521e0fc50d
commit
45fb4f9c80
|
|
@ -37,6 +37,9 @@ namespace AgroBase.Forms
|
|||
case T_Code.Dir:
|
||||
GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, false, valorDesejado: Variaveis.OperacaoEmAndamento.Parametros.Controle.DirAnguloMaximo);
|
||||
break;
|
||||
case T_Code.Atu:
|
||||
GeneralJoystick.ProcessarDadosControle(comando.botaoJoy, false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,14 @@ namespace AgroBase
|
|||
new DeParaComandos() { key = Keys.Space, botaoJoy = BotoesJoystick.Bolinha, direcao = Direcao.EmFreio, Dispositivo = T_Code.Mov, PararAoSoltar = true },
|
||||
new DeParaComandos() { key = Keys.Subtract, botaoJoy = BotoesJoystick.L1, Dispositivo = T_Code.Mov, PararAoSoltar = false },
|
||||
new DeParaComandos() { key = Keys.Add, botaoJoy = BotoesJoystick.R1, Dispositivo = T_Code.Mov, PararAoSoltar = false },
|
||||
|
||||
new DeParaComandos() { key = Keys.D1, botaoJoy = BotoesJoystick.Touchpad, Dispositivo = T_Code.Atu, PararAoSoltar = true, IDcontrolar = "B01" },
|
||||
new DeParaComandos() { key = Keys.D2, botaoJoy = BotoesJoystick.Touchpad, Dispositivo = T_Code.Atu, PararAoSoltar = true, IDcontrolar = "B02" },
|
||||
new DeParaComandos() { key = Keys.D3, botaoJoy = BotoesJoystick.Touchpad, Dispositivo = T_Code.Atu, PararAoSoltar = true, IDcontrolar = "B03" },
|
||||
new DeParaComandos() { key = Keys.D4, botaoJoy = BotoesJoystick.Touchpad, Dispositivo = T_Code.Atu, PararAoSoltar = true, IDcontrolar = "B04" },
|
||||
new DeParaComandos() { key = Keys.D5, botaoJoy = BotoesJoystick.Touchpad, Dispositivo = T_Code.Atu, PararAoSoltar = true, IDcontrolar = "B05" },
|
||||
new DeParaComandos() { key = Keys.D6, botaoJoy = BotoesJoystick.Touchpad, Dispositivo = T_Code.Atu, PararAoSoltar = true, IDcontrolar = "B06" },
|
||||
new DeParaComandos() { key = Keys.D7, botaoJoy = BotoesJoystick.Touchpad, Dispositivo = T_Code.Atu, PararAoSoltar = true, IDcontrolar = "B07" },
|
||||
};
|
||||
public static List<BotoesJoystick> BotoesJoyPressionados = new List<BotoesJoystick>() { };
|
||||
public static List<TipoMovimentoDirecional> MovimentosCombinados = new List<TipoMovimentoDirecional>()
|
||||
|
|
@ -531,9 +539,16 @@ namespace AgroBase
|
|||
{
|
||||
var comando = DeParaComandos.FirstOrDefault(x => x.botaoJoy == botao)?.Clone();
|
||||
comando?.CalcularValor(solto, valorJoy: valorJoy, valorDesejado: valorDesejado);
|
||||
if (comando != null)
|
||||
|
||||
if (comando?.Dispositivo == T_Code.Dir || comando?.Dispositivo == T_Code.Mov)
|
||||
{
|
||||
EnviarComandoMotorAtualizado(comando, ID: ID, ForcarComando: ForcarComando);
|
||||
}
|
||||
else if (comando?.Dispositivo == T_Code.Atu)
|
||||
{
|
||||
EnviarComandoAtuadorAtualizado(comando, ForcarComando: ForcarComando);
|
||||
}
|
||||
}
|
||||
|
||||
private static void EnviarComandoMotorAtualizado(DeParaComandos Comando, string ID = "", bool ForcarComando = false)
|
||||
{
|
||||
|
|
@ -588,6 +603,35 @@ namespace AgroBase
|
|||
AtualizaConsole(_Controle.TiposControle.FirstOrDefault(x => x.Tipo == Comando.Dispositivo).DirecaoAtual.ToString());
|
||||
}
|
||||
|
||||
public static void EnviarComandoAtuadorAtualizado(DeParaComandos Comando, bool ForcarComando = false)
|
||||
{
|
||||
bool bloqueioAutomatico = Variaveis.OperacaoEmAndamento.Parametros.Controle.PulverizadorAutomatico;
|
||||
|
||||
bool bloqueioOperacional =
|
||||
Variaveis.OperacaoEmAndamento.Calibrando ||
|
||||
!Variaveis.OperacaoEmAndamento.OperacaoLiberada ||
|
||||
!Variaveis.OperacaoEmAndamento.Iniciado;
|
||||
|
||||
bool deveInterromper =
|
||||
bloqueioAutomatico ||
|
||||
(!ForcarComando && bloqueioOperacional);
|
||||
|
||||
if (deveInterromper) return;
|
||||
|
||||
var _Controle = Variaveis.OperacaoEmAndamento.Controle;
|
||||
var tipoControle = _Controle?.TiposControle?.FirstOrDefault(x => x?.Tipo == Comando.Dispositivo);
|
||||
|
||||
var bico = Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.BicosPulverizadores?.FirstOrDefault(x => x.ID == Comando.IDcontrolar);
|
||||
var bomba = Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.BombasPressurizadoras?.FirstOrDefault(x => x.ID == Comando.IDcontrolar);
|
||||
S_Code comp = bico?.Componente ?? bomba?.Componente ?? S_Code.sVZO;
|
||||
|
||||
for (int i = 0; i < 1; i++)
|
||||
{
|
||||
EnviarComandoAtuador(comp, Comando.IDcontrolar, Status: Comando.EstadoAplicar);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void EnviaComandoMotor(Keys Tecla, T_Code Disp = T_Code.Vzo, string ID = null, BotoesJoystick botao = BotoesJoystick.Vazio, bool ForcarComando = false)
|
||||
{
|
||||
// Verifica se deve interromper o fluxo
|
||||
|
|
@ -1086,6 +1130,15 @@ namespace AgroBase
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// =========================================================
|
||||
// BICOS PULVERIZADORES
|
||||
// =========================================================
|
||||
case BotoesJoystick.Touchpad:
|
||||
estadoSaida = !solto;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (solto && PararAoSoltar)
|
||||
|
|
|
|||
Loading…
Reference in New Issue