/// <summary> /// preferred method for Head pan/tilt control /// </summary> /// <param name="panDegreesFromCenter"></param> /// <param name="tiltDegreesFromCenter"></param> public void setPanTilt(double panDegreesFromCenter, double tiltDegreesFromCenter) { currentPan = panDegreesFromCenter; double mksPan = PanTiltAlignment.getInstance().mksPan(panDegreesFromCenter); int panMks = (int)mksPan; currentTilt = tiltDegreesFromCenter; double mksTilt = PanTiltAlignment.getInstance().mksTilt(tiltDegreesFromCenter); int tiltMks = (int)mksTilt; if (panMks != panMksLast || tiltMks != tiltMksLast) { panMksLast = panMks; tiltMksLast = tiltMks; Debug.WriteLine("setPanTilt: panMks=" + panMks + " tiltMks=" + tiltMks); ToArduino toArduino1 = new ToArduino { channel = (int)AnimationChannels.PAN, command = (int)AnimationCommands.SET_VALUE, commandValues = new int[] { panMks } }; ToArduino toArduino2 = new ToArduino { channel = (int)AnimationChannels.TILT, command = (int)AnimationCommands.SET_VALUE, commandValues = new int[] { tiltMks } }; SendToArduino2(toArduino1, toArduino2); } }
public static PanTiltAlignment getInstance() { if (instance == null) { instance = new PanTiltAlignment(); } return(instance); }
/// <summary> /// Jaw open angle /// </summary> /// <param name="degreesFromCenter"></param> public void setJaw(double degreesFromCenter) { currentJaw = degreesFromCenter; double mks = PanTiltAlignment.getInstance().mksTilt(degreesFromCenter); setJawMks((int)mks); }
/// <summary> /// Head pan /// </summary> /// <param name="degreesFromCenter"></param> public void setPan(double degreesFromCenter) { currentPan = degreesFromCenter; double mks = PanTiltAlignment.getInstance().mksPan(degreesFromCenter); setPanMks((int)mks); }
public static PanTiltAlignment getInstance() { if (instance == null) { instance = new PanTiltAlignment(); } return instance; }
public static PanTiltAlignment RestoreOrDefault() { if (File.Exists(filename)) { using (TextReader reader = new StreamReader(filename)) { XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(PanTiltAlignment)); instance = (PanTiltAlignment)x.Deserialize(reader); } } else { instance = new PanTiltAlignment(); } return(instance); }
public static PanTiltAlignment RestoreOrDefault() { if (File.Exists(filename)) { using (TextReader reader = new StreamReader(filename)) { XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(PanTiltAlignment)); instance = (PanTiltAlignment)x.Deserialize(reader); } } else { instance = new PanTiltAlignment(); } return instance; }
private void Window_Loaded(object sender, EventArgs e) { _panTiltAlignment = PanTiltAlignment.RestoreOrDefault(); OpenBrickConnector(); SafePosture(); this.ListAnimCombos.ItemsSource = animationCombo.Keys; this.ListAnim.ItemsSource = animations.Keys; speak("Ready for action!"); }