Beispiel #1
0
        public async void Ouvrir()
        {
            Debug.WriteLine("PSERIE " + _infoPeripherique.Name + ", " + _infoPeripherique.Id + "  : Ouvrir()");
            try
            {
                SerialDevice _temp = await SerialDevice.FromIdAsync(_infoPeripherique.Id);

                if (_temp != null)
                {
                    lock (_portSerieLock) { _portSerie = _temp; }
                    Debug.WriteLine("PSERIE " + _infoPeripherique.Name + ", " + _infoPeripherique.Id + "  : Ouvrir()=OK!");
                    _portSerie.BaudRate     = Parametres.Vitesse;
                    _portSerie.Parity       = Parametres.Parite;
                    _portSerie.StopBits     = Parametres.BitsDeStop;
                    _portSerie.DataBits     = Parametres.BitsDeDonnees;
                    _portSerie.Handshake    = Parametres.ControleDeFlux;
                    _portSerie.ReadTimeout  = TimeSpan.FromMilliseconds(Parametres.DureeLectureMs);
                    _portSerie.WriteTimeout = TimeSpan.FromMilliseconds(Parametres.DureeEcritureMs);
                    SurModificationEtat?.Invoke(this, ElementModifie.portOuvert);
                    if (Parametres.DureeLectureMs > 0)
                    {
                        LectureContinue();
                    }
                }
                else
                {
                    Debug.WriteLine("PSERIE " + _infoPeripherique.Name + ", " + _infoPeripherique.Id + "  : Ouvrir()=ECHOUE !");
                }
            }
            catch (Exception ex)
            {
                lock (_portSerieLock) { _portSerie = null; }
                Debug.WriteLine("PSERIE " + _infoPeripherique.Name + ", " + _infoPeripherique.Id + "  : Ouvrir() ERREUR = " + ex.GetType().ToString() + " " + ex.Message);
            }
        }
Beispiel #2
0
 public void PeripheriqueSerieSupprime(DeviceWatcher sender, DeviceInformationUpdate args)
 {
     if (Connecte && (args.Id == _infoPeripherique.Id))
     {
         Fermer();
         _infoPeripherique = null;
         SurModificationEtat?.Invoke(this, ElementModifie.portConnecte);
     }
 }
Beispiel #3
0
 public virtual void Fermer()
 {
     Debug.WriteLine("PSERIE " + _infoPeripherique.Name + ", " + _infoPeripherique.Id + " : Fermer()");
     if ((_jetonAnnulationLectureContinue != null) &&
         (!_jetonAnnulationLectureContinue.IsCancellationRequested))
     {
         _jetonAnnulationLectureContinue.Cancel();
     }
     DetruirePortSerie();
     SurModificationEtat?.Invoke(this, ElementModifie.portOuvert);
 }
Beispiel #4
0
 public void PeripheriqueSerieAjoute(DeviceWatcher sender, DeviceInformation args)
 {
     if (!Connecte && (args.Id.StartsWith(Parametres.IdRecherche)))
     {
         _infoPeripherique = args;
         SurModificationEtat?.Invoke(this, ElementModifie.portConnecte);
         if (_autoOuvrir)
         {
             Ouvrir();
         }
     }
 }