private void lstFunctions_ItemCheck(object sender, ItemCheckEventArgs e) { if (!Execution.DesignMode && !_loading) { String funcStr = (String)lstFunctions.Items[e.Index]; CanFrameFunction func = (CanFrameFunction)Enum.Parse(typeof(CanFrameFunction), funcStr); Config.CurrentConfig.LogsCanFunctions[func] = (e.NewValue == CheckState.Checked); } }
/// <summary> /// Récupère le message explicite associé à une fonction du protocole. /// Les paramètres sont signalés par des accolades indiquant la position dans la trame des octets correspondant à la valeur du paramètre. /// Si les paramètres sont fournis, leur valeur remplacent les paramètres entre accolades. /// </summary> /// <param name="function"></param> /// <param name="parameters"></param> /// <returns></returns> public static String GetMessage(CanFrameFunction function, List <uint> parameters = null) { String output = ""; switch (function) { case CanFrameFunction.PositionAsk: output = "Demande de position servo {ServoID}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); } break; case CanFrameFunction.PositionResponse: output = "Retour de position servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.PositionSet: output = "Envoi de position servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.PositionMinAsk: output = "Demande de position min servo {ServoID}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); } break; case CanFrameFunction.PositionMinResponse: output = "Retour de position min servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.PositionMinSet: output = "Envoi de position min servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.PositionMaxAsk: output = "Demande de position max servo {ServoID}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); } break; case CanFrameFunction.PositionMaxResponse: output = "Retour de position max servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.PositionMaxSet: output = "Envoi de position max servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.SpeedMaxAsk: output = "Demande de vitesse servo {ServoID}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); } break; case CanFrameFunction.SpeedMaxResponse: output = "Retour de vitesse servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.SpeedMaxSet: output = "Envoi de vitesse servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.TorqueMaxAsk: output = "Demande de couple max servo {ServoID}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); } break; case CanFrameFunction.TorqueMaxResponse: output = "Retour de couple max servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.TorqueMaxSet: output = "Envoi de couple max servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.TorqueCurrentAsk: output = "Demande de couple actuel servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.TorqueCurrentResponse: output = "Retour de couple actuel servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.AccelerationAsk: output = "Demande de l'acceleration servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.AccelerationResponse: output = "Retour de l'acceleration servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.AccelerationSet: output = "Envoi de l'acceleration servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.TargetSet: output = "Déplacement servo {ServoID} : {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.TrajectorySet: output = "Déplacement servo {ServoID} : Pos = {4-5}; Vit = {6-7}; Accel = {8-9}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.DisableOutput: output = "Disable servo {ServoID}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); } break; case CanFrameFunction.TorqueAlert: output = "Alerte couple dépassé (1sec) {ServoID} : Couple = {4-5}"; if (parameters != null) { output = ReplaceParam(output, ((ServomoteurID)parameters[0]).ToString()); output = ReplaceParam(output, parameters[1].ToString()); } break; case CanFrameFunction.Debug: output = "Debug"; break; case CanFrameFunction.DebugAsk: output = "Demande valeur debug"; break; case CanFrameFunction.DebugResponse: output = "Retour valeur debug"; break; case CanFrameFunction.TestConnection: output = "Test connexion"; break; case CanFrameFunction.BatterieVoltage: output = "Retour alimentation : {3-4}V {5-6}A"; if (parameters != null) { output = ReplaceParam(output, (parameters[0] / 1000.0).ToString("0.00")); output = ReplaceParam(output, (parameters[1] / 1000.0).ToString("0.00")); } break; case CanFrameFunction.Buzzer: output = "Buzzer : {3-4}Hz {5-6}mS"; if (parameters != null) { output = ReplaceParam(output, parameters[0].ToString("0")); output = ReplaceParam(output, parameters[1].ToString("0")); } break; default: output = "Inconnu"; break; } return(output); }
private void ShowFrameFunction(CanFrameFunction func, bool show) { lstFunctions.Items.Remove(func.ToString()); lstFunctions.Items.Add(func.ToString(), show); Config.CurrentConfig.LogsCanFunctions[func] = show; }