public Arm(string portName, ArmConfiguration configuration) { m_Configuration = (ArmConfiguration)configuration.Clone(); m_ArmConnector = new ArmConnector(portName); MaxArmReach = m_Configuration.ElbowLength + m_Configuration.ShoulderLength + m_Configuration.EndEffectorLength; m_ArmConnector.NewServoPosition += OnNewArmPosition; }
public static void SaveArmConfig(string path, ArmConfiguration configuration) { using (FileStream file = File.Create(path)) { XmlSerializer serializer = new XmlSerializer(typeof(ArmConfiguration)); serializer.Serialize(file, configuration); } }
public object Clone() { ArmConfiguration newObj = new ArmConfiguration { EndEffectorLength = EndEffectorLength, BaseToShoulderDistance = BaseToShoulderDistance, ShoulderLength = ShoulderLength, ElbowLength = ElbowLength, BaseMin = BaseMin.Clone() as CalibrationPair, BaseMax = BaseMax.Clone() as CalibrationPair, ShoulderMin = ShoulderMin.Clone() as CalibrationPair, ShoulderMax = ShoulderMax.Clone() as CalibrationPair, ElbowMin = ElbowMin.Clone() as CalibrationPair, ElbowMax = ElbowMax.Clone() as CalibrationPair }; return(newObj); }
public Arm(SerialPortAddress portAddress, ArmConfiguration configuration) : this(portAddress.Name, configuration) { }
public Arm(string portName, string configurationFilePath) : this(portName, ArmConfiguration.LoadArmConfig(configurationFilePath)) { }
public Arm(SerialPortAddress portAddress, string configurationFilePath) : this(portAddress.Name, ArmConfiguration.LoadArmConfig(configurationFilePath)) { }