public void Update() { if (m_Args == null) { return; } try { switch (m_HardwareState) { case HardwareState.None: if (m_Args.Design.nNumberOfJoint <= 0 || m_Args.Design.dbRadius_Base <= 0 || m_Args.Design.dbAngleOfOffset_Base <= 0) { break; } m_Plate_Base = new Plate(Plate.PlateSettings.Base, m_Args.Design.nNumberOfJoint, m_Args.Design.dbRadius_Base, m_Args.Design.dbAngleOfOffset_Base); m_Plate_Base.MakeJointVector(); m_HardwareState = HardwareState.Setcompleted_Base; break; case HardwareState.Setcompleted_Base: m_Plate_Upper = new Plate(Plate.PlateSettings.Upper, m_Args.Design.nNumberOfJoint, m_Args.Design.dbRadius_Upper, m_Args.Design.dbAngleOfOffset_Upper); m_Plate_Upper.MakeJointVector(); m_HardwareState = HardwareState.SetCompleted_Upper; break; case HardwareState.SetCompleted_Upper: m_Plate_Upper.ToolOffset = m_Args.Design.ar_dbToolOffset; m_HardwareState = HardwareState.SetCompleted_Height; break; case HardwareState.SetCompleted_Height: m_Plate_Upper.Height = m_Args.Design.dbHeight; m_HardwareState = HardwareState.SetTargetPose; break; case HardwareState.SetTargetPose: if (m_Args.Target.dbTargetPosition == null || m_Args.Target.dbTargetRotation == null) { break; } m_Plate_Upper.CalculateTranslationVector(m_Args.Target.dbTargetPosition); m_Plate_Upper.Rotation = m_Args.Target.dbTargetRotation; m_HardwareState = HardwareState.Actionable; break; case HardwareState.Actionable: m_Args = null; break; } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
/// <summary> /// 2020.04.08 by chjung [ADD] 상, 하판의 각 조인트 벡터를 설정한다. /// </summary> public void MakeHexapodPlate(int nNumOfJoint, double dbRadius_Base, double dbAngleOfOffset_Base, double dbRadius_Upper, double dbAngleOfOffset_Upper) { m_Plate_Base = new Plate(Plate.PlateSettings.Base, nNumOfJoint, dbRadius_Base, dbAngleOfOffset_Base); m_Plate_Base.MakeJointVector(); m_HardwareState = HardwareState.Setcompleted_Base; m_Plate_Upper = new Plate(Plate.PlateSettings.Upper, nNumOfJoint, dbRadius_Upper, dbAngleOfOffset_Upper); m_Plate_Upper.MakeJointVector(); m_HardwareState = HardwareState.SetCompleted_Upper; }
public static void RefreshHardwareStateList(MainForm mainForm) { if (IsConnected("SELECT id,name FROM `hardwarestates` ", false) && myDR.HasRows) { mainForm.hardwareStateList.Clear();// = new List<HardwareState>(); while (myDR.Read()) { HardwareState hardwareState = new HardwareState(); hardwareState.id = int.Parse(myDR.GetString(0)); hardwareState.name = myDR.GetString(1); mainForm.hardwareStateList.Add(hardwareState); } } }
public void SetEventData(SetData setData, DataEventArgs args) { if (args != null) { m_Args = args; if (setData == SetData.HardWareData) { m_HardwareState = HardwareState.None; } else if (setData == SetData.TargetCoordinate) { m_HardwareState = HardwareState.SetTargetPose; } } }
private void TimerAlive_Tick(object sender, EventArgs e) { currentState = client.getHardwareState(); if (currentState != null) { if (currentState.ledLight) { labelBlink.Visible = true; } else { labelBlink.Visible = false; } setCheckboxState(checkBox1, currentState.enabledF1); setCheckboxState(checkBox2, currentState.enabledF2); setCheckboxState(checkBox3, currentState.enabledF3); setCheckboxState(checkBox4, currentState.enabledF4); setCheckboxState(checkBox5, currentState.enabledF5); setCheckboxState(checkBox6, currentState.enabledF6); } }
internal void OnIncomingState(HardwareState currentState) { int theirPeriod = 0; if (this.featureNumber == 1) { theirPeriod = currentState.periodF1; } else if (this.featureNumber == 10) { theirPeriod = currentState.periodF10; } textBoxCurrent.Text = theirPeriod.ToString(); if (textBoxCurrent.Text.Equals(textBoxPeriod.Text) && !freqTracking) { trackBarFreq.Value = int.Parse(textBoxPeriod.Text); onFreqChange(); } }
private void TimerAlive_Tick(object sender, EventArgs e) { if (client.State == System.ServiceModel.CommunicationState.Faulted) { this.Close(); return; } if (client.State == System.ServiceModel.CommunicationState.Opened) { try { currentState = client.getHardwareState(); /* * if (pwmGenerating) * { * int period = int.Parse(textBoxPWMGenerate.Text); * int duty = int.Parse(textBoxDuty.Text); * if (lastSentPeriod!=period || * lastSentDuty != duty) * { * sendNewPwmPeriodAndDuty(); * lastSentPeriod = period; * lastSentDuty = duty; * } * } */ } catch (Exception) { this.Close(); return; } this.Invoke(() => { if (currentState != null) { if (currentState.ledLight) { labelLed.BackColor = Color.Blue; } else { labelLed.BackColor = Color.Transparent; } lock (checkBoxLock) { checkBox1.SetChecked(currentState.enabledF1); checkBox2.SetChecked(currentState.enabledF2); checkBox3.SetChecked(currentState.enabledF3); checkBox4.SetChecked(currentState.enabledF4); checkBox5.SetChecked(currentState.enabledF5); checkBox6.SetChecked(currentState.enabledF6); checkBox10.SetChecked(currentState.enabledF10); } if (currentState.currentState == HardwareState.SearchState.Searching) { //textBoxCurrent.Text = currentState.currentPeriod.ToString(); } freqChanger1.OnIncomingState(currentState); freqChanger10.OnIncomingState(currentState); } }); } }