Пример #1
0
        // Кнопка Выбрать сигнал(F3)
        private void button13_Click(object sender, EventArgs e)
        {
            try
            {
                SignalOutput   SO  = new SignalOutput();
                OpenFileDialog OFD = new OpenFileDialog();
                OFD.InitialDirectory = modelsPath;
                if (OFD.ShowDialog() == DialogResult.OK)
                {
                    Messages("Выбран файл: " + OFD.FileName);
                    OutputIR = SO.ConvertingBINARYorXMLtoIRsignal(OFD.FileName);
                    if (OutputIR != null)
                    {
                        label1.Enabled   = true;
                        button3.Enabled  = true;
                        textBox1.Enabled = true;

                        label4.Enabled   = true;
                        button7.Enabled  = true;
                        textBox3.Enabled = true;

                        button2.Enabled = true;
                    }
                }
                SearchRedRat SR = new SearchRedRat();
                RedRat3 = SR.FindRedRat();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #2
0
        public void XmlOutput(string pathToFile)
        {
            try
            {
                //if (FindRedRat3() != null)
                //{

                using (var RR3 = FindRedRat3())
                {
                    var    signalDB = LoadSignalDB(pathToFile);
                    string deviceN  = string.Join(null, deviceName);
                    //MessageBox.Show("Device - " + deviceN);

                    //Задаем дивайс, чтобы вытащить имя сигнала
                    var Device = signalDB.GetAVDevice(deviceN);
                    signalName = Device.GetSignalNames();

                    string signalN = string.Join(null, signalName);
                    //MessageBox.Show("Signal - " + signalN);
                    signal = GetSignal(signalDB, deviceN, signalN);
                    //RR3.OutputModulatedSignal(signal);
                    //MessageBox.Show("Вывод сигнала " + deviceN + " -> " + signalN + ". \n");
                }
            } catch (Exception ex)
            {
                ex.Show("Error in signal upload");
            }
        }
Пример #3
0
        public void SignalOutput(string pathToFile)
        {
            try
            {
                //if (FindRedRat3() != null)
                //{

                using (var RR3 = FindRedRat3())
                {
                    var    signalDB = LoadSignalDB(pathToFile);
                    string deviceN  = string.Join(null, deviceName);
                    //MessageBox.Show("Device - " + deviceN);

                    //Задаем дивайс, чтобы вытащить имя сигнала
                    var Device = signalDB.GetAVDevice(deviceN);
                    signalName = Device.GetSignalNames();

                    string signalN = string.Join(null, signalName);
                    //MessageBox.Show("Signal - " + signalN);
                    signal = GetSignal(signalDB, deviceN, signalN);
                    //RR3.OutputModulatedSignal(signal);
                    //MessageBox.Show("Вывод сигнала " + deviceN + " -> " + signalN + ". \n");
                }

                //}
                //else
                //{
                //    MessageBox.Show("Нет подключенных устройств RedRat3. Подключите RedRat3 и попробуйте снова.", "Проверка подключения", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                //}
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error in signal upload", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Пример #4
0
        // Event for ItemActivate
        private void listView1_ItemActivate(object sender, EventArgs e)
        {
            SignalOutput SO = new SignalOutput();
            SearchRedRat SR = new SearchRedRat();

            RedRat3 = SR.FindRedRat();
            string newPath = pathClick + "\\" + listView1.FocusedItem.Text;

            if (File.Exists(newPath))//Checker is folder or file
            {
                //MessageBox.Show("File is choice!");
                //Process.Start(pathClick);
                OutputIR = SO.ConvertingBINARYorXMLtoIRsignal(newPath);
                if (OutputIR != null)
                {
                    Messages("Выбран файл: " + listView1.FocusedItem.Text);
                    label1.Enabled   = true;
                    button3.Enabled  = true;
                    textBox1.Enabled = true;

                    label4.Enabled   = true;
                    button7.Enabled  = true;
                    textBox3.Enabled = true;

                    button2.Enabled = true;
                }
            }
            else
            {
                AddFoldersWithFileFromEnterPath(newPath, false);
            }
        }
Пример #5
0
        /// <summary>
        /// Обрабатывает входной сигнал (или ошибку) из RedRat.
        /// </summary>
        public void SignalDataHandler(object sender, EventArgs e)
        {
            if (e is SignalEventArgs)
            {
                var siea = (SignalEventArgs)e;

                switch (siea.Action)
                {
                //case SignalEventAction.EXCEPTION:
                //    MessageBox.Show(siea.Exception.Message);
                //    break;

                case SignalEventAction.MODULATED_SIGNAL:
                    //MessageBox.Show("Есть ИК-данные...");
                    irPacket = siea.ModulatedSignal;
                    break;

                //case SignalEventAction.IRDA_PACKET:
                //    MessageBox.Show("Have IR data IRDA_PACKET...");
                //    irPacket = siea.IrDaPacket;
                //    break;


                default:
                    MessageBox.Show("Неизвестный возврат ...");
                    break;
                }

                haveSignal = true;
            }
            else
            {
                MessageBox.Show("Event of unknown type....");
            }
        }
Пример #6
0
        private void button_Click(object sender, System.EventArgs e)
        {
            // Output the signal...
            if (sender is IRButton)
            {
                IRPacket irPacket = ((IRButton)sender).Info.IRPacket;

                if (irPacket is ModulatedSignal)
                {
                    if (redRat3 != null)
                    {
                        try
                        {
                            // Send the ModulatedSignal object to the RR3
                            redRat3.OutputModulatedSignal((ModulatedSignal)irPacket);
                        }

                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message,
                                            "Error",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Exclamation);
                        }
                    }
                }
            }
        }
Пример #7
0
        public FormTimerOutputIRsignal(IRedRat3 _RedRat3, Int32 _Interval, IRPacket _OutputIR = null, bool _folderOutput = false, string _pathToFolder = "", FileInfo[] _fileInfos = null)
        {
            InitializeComponent();
            RedRat3      = _RedRat3;
            interval     = _Interval;
            OutputIR     = _OutputIR;
            folderOutput = _folderOutput;
            pathToFolder = _pathToFolder;
            fileInfos    = _fileInfos;

            if (folderOutput == false)
            {
                timer1.Interval = interval;
                timer1.Start();
            }
            else
            {
                foreach (FileInfo file in fileInfos)
                {
                    OutputIR = SO.ConvertingBINARYorXMLtoIRsignal(pathToFolder + "\\" + file.Name);
                    if ((RedRat3 != null) && (OutputIR != null))
                    {
                        SO.OutputOneIRsignal(RedRat3, OutputIR);
                        Thread.Sleep(interval);
                    }
                    else
                    {
                        MessageBox.Show("Ошибка. Проверьте ввеленные значения интервала, или Подключение RedRat3, или плохо записан сигнал.");
                    }
                }
            }
        }
Пример #8
0
 // Converting BIN/XML to IRsignal
 public IRPacket ConvertingBINARYorXMLtoIRsignal(String FileName)
 {
     if (IsXmlFile(FileName))
     {
         return(irPacket = RRUtil.DeserializePacketFromXML(FileName));
     }
     else
     {
         return(irPacket = RRUtil.DeserializePacketFromBinary(FileName));
     }
 }
Пример #9
0
        // Кнопка захвата одиночного сигнала
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                SearchRedRat SR3 = new SearchRedRat();
                RedRat3 = SR3.FindRedRat();
                if (RedRat3 != null)
                {
                    IRsignalTrainingMode IRSTM = new IRsignalTrainingMode();
                    var FTC         = new FormTimerCapture(10, "Подайте сигнал с пульта");
                    var waitsignal2 = Task.Factory.StartNew(() => { FTC.ShowDialog(); });

                    var qwe = Task.Factory.StartNew(() =>
                    {
                        IRSTM.CaptureSignal();
                        OutputIR = IRSTM.GetSignal();
                        if (OutputIR != null)
                        {
                            label1.Enabled   = true;
                            button3.Enabled  = true;
                            textBox1.Enabled = true;

                            label4.Enabled   = true;
                            button7.Enabled  = true;
                            textBox3.Enabled = true;

                            button2.Enabled = true;

                            AddFoldersWithFileFromEnterPath(pathClick);
                            FTC.Close();
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        // Обрабатывает входной сигнал (или ошибку) из RedRat.
        public void SignalDataHandler(object sender, EventArgs e)
        {
            if (e is SignalEventArgs)
            {
                var siea = (SignalEventArgs)e;

                switch (siea.Action)
                {
                //case SignalEventAction.EXCEPTION:
                //    MessageBox.Show(siea.Exception.Message);
                //    break;
                case SignalEventAction.MODULATED_SIGNAL:
                    //MessageBox.Show("Есть ИК-данные...");
                    irPacket  = siea.ModulatedSignal;
                    modSignal = siea.ModulatedSignal;
                    break;

                //case SignalEventAction.IRDA_PACKET:
                //    MessageBox.Show("Have IR data IRDA_PACKET...");
                //    irPacket = siea.IrDaPacket;
                //    break;
                case SignalEventAction.INPUT_CANCELLED:
                    break;

                default:
                    MessageBox.Show("Сигнал не пришел...");
                    break;
                }

                haveSignal = true;
            }
            else
            {
                MessageBox.Show("Событие неизвестного типа...");
            }
        }
Пример #11
0
 public SignalOutput(IRPacket _signal)
 {
     signal = _signal;
 }
Пример #12
0
        /// <summary>
        /// Capture/learn a remote control signal.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void learnIRButton_Click(object sender, System.EventArgs e)
        {
            IRedRat3 rr3 = parent.RedRat3;

            if (rr3 == null)
            {
                return;
            }

            SignalInputDialog signalInputDialog = null;

            // == Right, this is probably the most complicated bit of interaction ==
            // == with the RR3 in this program - but its not too bad really.      ==
            try {
                // 1. Tell the RR3 we want to input a demodulated signal (learn)
                rr3.GetModulatedSignal(0);

                // 2. Create modal dialog that allows us to cancel the operation if required.
                signalInputDialog = new SignalInputDialog(rr3);

                // 3. The dialog box has to handle the input signal event from the RR3.
                rr3.LearningSignalIn += new EventHandler(signalInputDialog.SignalDataIn);

                // 4. Popup dialog....
                signalInputDialog.ShowDialog(this);

                // 5. Once finished, get the event object
                SignalEventArgs siea = signalInputDialog.SignalInEvent;

                // Have input data of some kind...
                if (siea.Action == SignalEventAction.MODULATED_SIGNAL)
                {
                    irPacket = siea.IRPacket;
                    changed  = true;
                }

                // We have had some error from the comms with the USB device, so read exception and throw it.
                else if (siea.Action == SignalEventAction.EXCEPTION)
                {
                    throw siea.Exception;
                }

                // The user has pressed cancel
                else if (siea.Action == SignalEventAction.INPUT_CANCELLED)
                {
                    // Don't need to do anything here.
                }
            } catch (Exception ex) {
                string msg = ex.Message;
                if (ex.InnerException != null)
                {
                    msg += ": " + ex.InnerException.Message;
                }
                MessageBox.Show(msg, "Communication Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            finally {
                // Remove listener...
                if (signalInputDialog != null)
                {
                    rr3.LearningSignalIn -= new EventHandler(signalInputDialog.SignalDataIn);
                }
                signalInputDialog.Close();
            }
        }
Пример #13
0
 // Вывод одного сигнала
 public void OutputOneIRsignal(IRedRat3 RedRat3, IRPacket signal)
 {
     RedRat3.OutputModulatedSignal(signal);
 }