Beispiel #1
0
        public void GenerateMessageSetStepsAmplitude(object sender, Int32EventArgs e)
        {
            byte[] payload = new byte[4];
            payload = e.value.GetBytes();

            OnMessageToRespirator((Int16)Commands.SetAmplitudeSteps, 4, payload);
        }
Beispiel #2
0
        public void GenerateMessageSetCyclesPerMin(object sender, Int32EventArgs e)
        {
            byte[] payload = new byte[1];
            payload[0] = Convert.ToByte(e.value);

            OnMessageToRespirator((Int16)Commands.SetCyclesPerMin, 1, payload);
        }
Beispiel #3
0
        public void GenerateMessageSetStepsOffsetDown(object sender, Int32EventArgs e)
        {
            byte[] payload = new byte[4];
            payload = e.value.GetBytes();

            OnMessageToRespirator((Int16)Commands.SetStepsOffsetFromDown, 4, payload);
        }
 //Methode appelée sur evenement (event) provenant du port Serie.
 //Cette methode est donc appelée depuis le thread du port Serie. Ce qui peut poser des problemes d'acces inter-thread
 public void ActualizeOffsetDown(object sender, Int32EventArgs e)
 {
     //La solution consiste a passer par un delegué qui executera l'action a effectuer depuis le thread concerné.
     //Ici, l'action a effectuer est la modification d'un bouton. Ce bouton est un objet UI, et donc l'action doit etre executée depuis un thread UI.
     //Sachant que chaque objet UI (d'interface graphique) dispose d'un dispatcher qui permet d'executer un delegué (une methode) depuis son propre thread.
     //La difference entre un Invoke et un beginInvoke est le fait que le Invoke attend la fin de l'execution de l'action avant de sortir.
     labelOffsetDown.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(delegate()
     {
         labelOffsetDown.Content = Convert.ToString(e.value);
     }));
 }