예제 #1
0
        public void Send(float data)
        {
            SetHeader();
            m_umsg.header.size = sizeof(float);

            ushort [] floatData = new ushort[2];

            byte[] allBytes = BitConverter.GetBytes(data);
            Buffer.BlockCopy(allBytes, 0, floatData, 0, allBytes.Length);
            m_umsg.msgCodes = AppCommon.UDP_MESSAGE_CODES.SET_SIGNAL_ID;

            m_umsg.header.checksum = AppCommon.CalcUdpChecksum(floatData);
            byte[] buf = new byte[Marshal.SizeOf(m_umsg) + m_umsg.header.size];
            Array.Copy(AppCommon.StructToByteArray <AppCommon.UPayload>(m_umsg), buf, Marshal.SizeOf(m_umsg));


            Array.Copy(allBytes, 0, buf, Marshal.SizeOf(m_umsg), 4);

            Send(buf);
        }