AHRSInterface.AHRS.sendPacket C# (CSharp) Method

sendPacket() private method

private sendPacket ( Packet AHRSPacket ) : bool
AHRSPacket Packet
return bool
        private bool sendPacket(Packet AHRSPacket)
        {
            int i;
            UInt16 checksum;

            if (!connected)
                return false;

            byte[] packet = new byte[AHRSPacket.DataLength + 120];

            // Build packet header
            packet[0] = (byte)'s';
            packet[1] = (byte)'n';
            packet[2] = (byte)'p';
            packet[3] = AHRSPacket.PacketType;
            packet[4] = AHRSPacket.DataLength;

            // Fill data section
            for (i = 0; i < AHRSPacket.DataLength; i++)
            {
                packet[5 + i] = AHRSPacket.Data[i];
            }

            // Compute Checksum
            checksum = ComputeChecksum( packet, 5 + AHRSPacket.DataLength);

            // Add checksum to end of packet
            packet[5 + AHRSPacket.DataLength] = (byte)(checksum >> 8);
            packet[6 + AHRSPacket.DataLength] = (byte)(checksum & 0x0FF);
            packet[7+AHRSPacket.DataLength] = (byte)('\n');
            //packet[8 + AHRSPacket.DataLength] = (byte)('\r');

            // Now write the packet to the serial port
            try
            {
                serialPort.Write(packet, 0,( AHRSPacket.DataLength + 120));
                serialPort.BaseStream.Flush();
                PacketSentEvent((PName)getTypeIndex(AHRSPacket.PacketType), 0);
                System.Threading.Thread.Sleep(1000);
            }

            catch
            {
                return false;
            }

            return true;
        }