/// <summary> /// Retourne le nom de la position en fonction du servomoteur (Ouvert, fermé, etc...) /// </summary> /// <param name="position">Position du servomoteur</param> /// <param name="servo">Servomoteur</param> /// <returns>Nom de la position</returns> public static String GetName(int position, ServomoteurID servo) { PropertyInfo[] properties = typeof(Config).GetProperties(); foreach (PropertyInfo p in properties) { if (p.PropertyType.IsSubclassOf(typeof(PositionableServo))) { PositionableServo positionnableServo = (PositionableServo)(p.GetValue(Config.CurrentConfig, null)); if (positionnableServo.ID == servo) { PropertyInfo[] proprietesServo = positionnableServo.GetType().GetProperties(); foreach (PropertyInfo ps in proprietesServo) { if (ps.Name.StartsWith("Position") && ((int)(ps.GetValue(positionnableServo, null)) == position)) { return(Config.PropertyNameToScreen(ps) + " (" + position + ")"); } } } } } return(position.ToString()); }
public void SetServo(ServomoteurID servo) { if (_servo is null || _servo.ID != servo) { numID.Value = (int)(servo); _servo = AllDevices.CanServos[(ServomoteurID)numID.Value]; picConnection.Visible = false; lblName.Text = ""; ReadValues(); _currentPositionable = FindPositionnableFromServo(servo); SetPositions(_currentPositionable); } }