// Захват сигнала
        public void CaptureSignal(string fileName = "")
        {
            OpenFileDialog OFD = new OpenFileDialog();

            OFD.InitialDirectory = Form1.pathClick;
            SearchRedRat SRR = new SearchRedRat();

            if (SRR.FindRedRat() != null)
            {
                RedRat3 = SRR.FindRedRat();

                RedRat3.LearningSignalIn += SignalDataHandler;
                RedRat3.GetModulatedSignal(10000);//Ввод сигнала в RedRat3 осуществляется в течении 10с
                haveSignal = false;
                while (!haveSignal)
                {
                    Thread.Sleep(100);
                }
                if (modSignal != null)
                {
                    var mes = MessageBox.Show("OK - cохранить XML" + Environment.NewLine + "CANCEL - cохранить BIN", "Вариант сохранения файла", MessageBoxButtons.OKCancel);
                    if (mes == DialogResult.OK)
                    {
                        inputName IN = new inputName(); IN.ShowDialog();
                        RRUtil.SerializePacketToXML(Form1.pathClick + "\\" + IN.name + ".xml", modSignal);
                        tempMessage = "XML файл \"" + IN.name + "\" сохранен.";
                    }
                    else
                    {
                        inputName IN = new inputName(); IN.ShowDialog();
                        RRUtil.SerializePacketToBinary(Form1.pathClick + "\\" + IN.name + ".bin", modSignal);//SerializePacketToXML
                        //var m = MessageBox.Show("Файл \"" + IN.name + "\" сохранен.", "Прием сигнала", MessageBoxButtons.OK);
                        tempMessage = "BIN файл \"" + IN.name + "\" сохранен.";
                    }
                }
                else
                {
                    MessageBox.Show("Сигнал не был получен. Прием окончен.", "Прием сигнала", MessageBoxButtons.OK);
                }
            }
        }
Beispiel #2
0
        //Захват сигнала
        public void CaptureSignal(string fileName)
        {
            if (fileName == "")
            {
                MessageBox.Show("Имя файла отсутствует.", "Ошибка", MessageBoxButtons.OK);
                return;
            }
            else
            {
                FindRedRat3();

                redRat3.LearningSignalIn += SignalDataHandler;
                //Ввод сигнала в RedRat3 осуществляется в течении 10с
                redRat3.GetModulatedSignal(10000);

                haveSignal = false;
                while (!haveSignal)
                {
                    Thread.Sleep(10);
                }

                if (irPacket != null)
                {
                    //Создает новый файл XML для irPacket
                    //XmlTextWriter xmlDoc = new XmlTextWriter("C:\\RedRat3_signalDB\\BD - irPacket.xml", Encoding.UTF8);
                    //xmlDoc.WriteStartDocument();
                    //var fileName = "C:\\RedRat3\\XMLsignal\\XMLsignal.xml";

                    //var fileName = argParser.GetArgOption(ArgumentParser.CaptureArg);
                    if (IsXmlFile(fileName))
                    {
                        //RRUtil.SerializePacketToXML(fileName, irPacket);

                        //Создаем объект AV-устройства, чтобы мы могли хранить данные сигнала в файле XML.
                        var avDeviceDB = new AVDeviceDB();

                        var avDevice = new AVDevice("Sample Device", AVDevice.AVDeviceType.SET_TOP_BOX);
                        avDeviceDB.AddAVDevice(avDevice);

                        irPacket.Name = "New Signal";

                        //Добавить сигналы в «Sample Device».
                        avDevice.AddSignal(irPacket, false);

                        //Храните это как файл XML...
                        var        ser    = new XmlSerializer(typeof(AVDeviceDB));
                        TextWriter writer = new StreamWriter((new FileInfo(fileName)).FullName);
                        ser.Serialize(writer, avDeviceDB);
                        writer.Close();

                        MessageBox.Show("ИК-данные c ПДУ сохранены в формате XML в файл:\n" + fileName);
                    }
                    else
                    {
                        RRUtil.SerializePacketToBinary(fileName, irPacket);
                        MessageBox.Show("Saved in binary format to file: " + fileName);
                    }

                    //xmlDoc.WriteEndDocument();
                    //xmlDoc.Close();
                }
                else
                {
                    MessageBox.Show("Сигнал пуст.");
                    return;
                }
            }
        }