Ejemplo n.º 1
0
        // 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");
        }
Ejemplo n.º 2
0
        /* 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();
        }
Ejemplo n.º 3
0
        // 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");
        }