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); } }
public void PeripheriqueSerieSupprime(DeviceWatcher sender, DeviceInformationUpdate args) { if (Connecte && (args.Id == _infoPeripherique.Id)) { Fermer(); _infoPeripherique = null; SurModificationEtat?.Invoke(this, ElementModifie.portConnecte); } }
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); }
public void PeripheriqueSerieAjoute(DeviceWatcher sender, DeviceInformation args) { if (!Connecte && (args.Id.StartsWith(Parametres.IdRecherche))) { _infoPeripherique = args; SurModificationEtat?.Invoke(this, ElementModifie.portConnecte); if (_autoOuvrir) { Ouvrir(); } } }