Ejemplo n.º 1
0
        public void timer_tick(object sender, EventArgs e)
        {
            //获取影片当前状态总秒数
            sliderPositionValue = mediaElement.Position.TotalSeconds;
            UdpSend.SendWrite(sliderPositionValue);

            //UdpSend.QuDong(sliderPositionValue);
            //sliderPositionValue = mediaElement.Position.
            //获取影片当前状态小时
            //string hour = mediaElement.Position.Hours.ToString();
            //获取影片当前状态分钟
            //string minute = mediaElement.Position.Minutes.ToString();
            //获取影片当前状态秒
            //string second = mediaElement.Position.Seconds.ToString();
            //totalTime = hour + ":" + minute + ":" + second;
            //获取影片当前状态时间,格式为00:00:00
            //totalTime = mediaElement.Position.ToString();
            currenTime = mediaElement.Position.ToString().Substring(0, 8);
        }
Ejemplo n.º 2
0
        public void SetReceiveData(int rlen, byte[] data)
        {
            byte[] RecData;
            RecData = new byte[rlen];
            Array.Copy(data, 0, RecData, 0, rlen);
            Debug.WriteLine(ModbusUdp.ByteToHexStr(RecData));
            if (RecData[0] == 0xff && RecData[1] == 0x6c)
            {
                //要发送数据格式
                double hours   = (RecData[6]) * 60 * 60;
                double minutes = (RecData[7]) * 60;
                double seconds = RecData[8];
                double frame   = RecData[9] / 20.000;

                // s[i].ToString("X").Length < 2 ? "0" + s[i].ToString("X") : s[i].ToString("X"));
                string strhours   = RecData[6].ToString().Length < 2 ? "0" + RecData[6].ToString() : RecData[6].ToString();
                string strminutes = RecData[7].ToString().Length < 2 ? "0" + RecData[7].ToString() : RecData[7].ToString();
                string strseconds = RecData[8].ToString().Length < 2 ? "0" + RecData[8].ToString() : RecData[8].ToString();
                string strframe   = RecData[9].ToString().Length < 2 ? "0" + RecData[9].ToString() : RecData[9].ToString();

                strTimeCode = strhours + ":" + strminutes + ":" + strseconds;
                //strTimeCode = RecData[6].ToString() + ":" + RecData[7].ToString() + ":" + RecData[8].ToString() + ":" + RecData[9].ToString();
                TimeCode = hours + minutes + seconds + frame;
                UdpSend.SendWrite(TimeCode);

                //UdpSend.flagSend = (byte)Mcu.ModbusUdp.MBFunctionCode.Write;
            }

            if (RecData[0] == 0xff && RecData[1] == 0x65)        //判断心跳应答
            {
                monitorTickRx = RecData[2];
            }

            if (RecData[0] == 0xff && RecData[1] == 0x6a)       //判断uuid应答
            {
                uuid = "";
                for (int i = 4; i < 28; i++)
                {
                    uuid += RecData[i].ToString("X2");
                }
                Debug.WriteLine("uuid:" + uuid);
                if (registerFlag == true)      //将初始uuid保存在文件当中
                {
                    //File.WriteAllText(@"C:\Users\shuqee\Desktop\shuqee.bin",uuid);
                    File.WriteAllText(Directory.GetCurrentDirectory() + @"\shuqee.bin", uuid);
                    registerFlag = false;
                }

                if (uuid == Module.uuidFile)      //判断uuid是否与初始的一致
                {
                    MessageBox.Show("uuid正确");
                    UdpSend.flagSend = (byte)Mcu.ModbusUdp.MBFunctionCode.ReadChip;
                }
                //else
                //{
                //  MessageBox.Show("uuid不正确");
                //}
            }

            if (RecData[0] == 0xff && RecData[1] == 0x68)     //校验日期
            {
                //MessageBox.Show("校验日期");
                string reyear = "20" + RecData[6];
                if (RecData[7] > 31)
                {
                    RecData[7] = 1;
                }
                string remonth = RecData[7].ToString();
                if (RecData[8] > 31)
                {
                    RecData[8] = 1;
                }
                string   reday   = RecData[8].ToString();
                string   redate  = reyear + "-" + remonth + "-" + reday;
                DateTime dateNow = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                DateTime getDate;
                try
                {
                    getDate = Convert.ToDateTime(redate);
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e);
                    getDate = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                }

                TimeSpan ts     = getDate - dateNow;
                int      getday = ts.Days;

                switch (getday)
                {
                case 9:
                    MessageBox.Show("提示:使用期限还有10天");
                    break;

                case 5:
                    MessageBox.Show("提示:使用期限还有6天");
                    break;

                case 2:
                    MessageBox.Show("提示:使用期限还有3天");
                    break;

                case 1:
                    MessageBox.Show("提示:使用期限还有2天");
                    break;

                case 0:
                    //MessageBox.Show("提示:使用期限还有1天");
                    break;

                default:
                    break;
                }
            }  //校验日期结尾


            RecData = ModbusUdp.MBRsp(RecData);
            Debug.WriteLine(ModbusUdp.ByteToHexStr(RecData));
            if (RecData != null)
            {
                if (RecData[0] == 0 && RecData[1] == 0 && RecData[2] == 0x01 && RecData[3] == 0x41)
                {
                    flagValue = true;
                    //要发送数据格式
                    UdpSend.flagSend = (byte)Mcu.ModbusUdp.MBFunctionCode.GetId;
                }

                if (RecData[0] == 0 && RecData[1] == 0xff && RecData[2] == 0 && RecData[3] == 0x1)
                {
                    while (true)
                    {
                        byte[] Data = new byte[8];
                        Data[0] = 0xff;
                        Data[1] = 0x64;
                        Data[2] = 0x00;
                        Data[3] = 0x00;
                        Data[4] = 0x01;
                        Data[5] = 0xc8;
                        Data[6] = 0x65;
                        Data[7] = 0xda;

                        UdpSend.UdpSendData(Data, Data.Length, UdpInit.BroadcastRemotePoint);
                        Thread.Sleep(1000);
                    }
                }
            }
        }