Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
 private void ShowFrameFunction(CanFrameFunction func, bool show)
 {
     lstFunctions.Items.Remove(func.ToString());
     lstFunctions.Items.Add(func.ToString(), show);
     Config.CurrentConfig.LogsCanFunctions[func] = show;
 }