コード例 #1
0
        public void addPacket(ZigBeeReceivePacket frame)
        {
            TelemetryPacket newPacket = new TelemetryPacket();

            String[] strings = Encoding.ASCII.GetString(frame.Data).Split(',');

            //Seperate each element
            try {
                newPacket.teamID               = Convert.ToUInt16(strings[0]);
                newPacket.packetCount          = Convert.ToUInt16(strings[1]);
                newPacket.altSensor            = Convert.ToSingle(strings[2]);
                newPacket.pressure             = Convert.ToSingle(strings[3]);
                newPacket.speed                = Convert.ToSingle(strings[4]);
                newPacket.temp                 = Convert.ToSingle(strings[5]);
                newPacket.voltage              = Convert.ToSingle(strings[6]);
                newPacket.latitudeGPS          = Convert.ToSingle(strings[7]);
                newPacket.longitudeGPS         = Convert.ToSingle(strings[8]);
                newPacket.altitudeGPS          = Convert.ToSingle(strings[9]);
                newPacket.satellitesGPS        = Convert.ToUInt16(strings[10]);
                newPacket.speedGPS             = Convert.ToSingle(strings[11]);
                newPacket.lastImageCommandTime = Convert.ToUInt16(strings[12]);
                newPacket.imageCommandCount    = Convert.ToUInt16(strings[13]);

                packets.Add(newPacket);
            } catch (Exception e)
            {
            }
        }
コード例 #2
0
        public void newPhoto(ZigBeeReceivePacket frame)
        {
            currentPhotoNumber   = Convert.ToByte(frame.Data[1]);
            currentNumberPackets = BitConverter.ToUInt16(frame.Data, 2);
            currentPhotoLength   = BitConverter.ToUInt16(frame.Data, 4);

            rawData         = new byte[currentPhotoLength];
            frameStuff      = new bool[currentNumberPackets];
            receivedPackets = 0;
        }
コード例 #3
0
        public void addPacket(ZigBeeReceivePacket frame)
        {
            UInt16 packetNumber = BitConverter.ToUInt16(frame.Data, 1);

            frameStuff[packetNumber] = true;
            byte dataLength = Convert.ToByte(frame.Data[3]);

            for (int i = 4; i < frame.Data.Length; i++)
            {
                rawData[(packetNumber * 210) + (i - 4)] = frame.Data[i];
            }

            if (checkAllReceived())
            {
                assembleImage();
            }

            Console.WriteLine("Recieved: " + packetNumber.ToString() + "\tTotal packets: " + receivedPackets.ToString());
        }