// Nouvelle trame private void _XbeeAPI_OnNewTrameReceived(object sender, NewTrameReceivedEventArgs args) { Logger.GlobalLogger.debug("Données reçues "); byte[] datas = args.trameBytes; int i = 0; // Parse les données while (i < datas.Length && !_TrameDecoder.parseIncomingData(datas[i])) { i++; } Logger.GlobalLogger.debug("Parsing terminé etat : " + _TrameDecoder.bIsCompleted); // Condition si la trame est finie ou pas if (!_TrameDecoder.bIsCompleted) // Trame non complette on attends { return; } TrameProtocole TrameFinale = _TrameDecoder.getDecodedTrame(); /* Ajout dans la liste des trames recus */ //_ListTramesRecues.Add(TrameFinale); PushTrameRecus(TrameFinale); Logger.GlobalLogger.debug("Decodage et ajout en liste"); }
/* Appelé lorsque l'on recois des données */ private void _SerialManagment_OnNewDataReceived(object sender, NewDataReceveidEventArgs args) { Logger.GlobalLogger.debug("Données Reçus", 0); List <byte> dataFrame = new List <byte>(); if (!_bApiEnabled) { //if (args.DataCount < 11) // Nombre Minimum d'octet d'une trame complette //return; dataFrame.AddRange(_SerialManagment.getData(_SerialManagment.countData)); // Copie des octets } else { // if (args.DataCount < (11 + 9)) // Nombre Minimum d'octet d'une trame complette en mode API //return; while (_SerialManagment.countData > 0 && !parseReceivedApiData(_SerialManagment.getData(1)[0])) { } dataFrame = _DataTrameApi; //extractDataFromApiFrame(_SerialManagment.fetchData()); } // envoi de l'evenement à la couche suppérieure de l'application NewTrameReceivedEventArgs e = new NewTrameReceivedEventArgs(dataFrame.ToArray()); OnNewTrameReceived(this, e); _DataTrameApi.Clear(); }
// Nouvelle trame private void _XbeeAPI_OnNewTrameReceived(object sender, NewTrameReceivedEventArgs args) { Logger.GlobalLogger.debug("Données reçues "); byte[] datas = args.trameBytes; int i = 0; // Parse les données while(i < datas.Length && !_TrameDecoder.parseIncomingData(datas[i])) { i++; } Logger.GlobalLogger.debug("Parsing terminé etat : " + _TrameDecoder.bIsCompleted); // Condition si la trame est finie ou pas if (!_TrameDecoder.bIsCompleted) // Trame non complette on attends return; TrameProtocole TrameFinale = _TrameDecoder.getDecodedTrame(); /* Ajout dans la liste des trames recus */ //_ListTramesRecues.Add(TrameFinale); PushTrameRecus(TrameFinale); Logger.GlobalLogger.debug("Decodage et ajout en liste"); }