// Кнопка Выбрать сигнал(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); } }
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"); } }
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); } }
// 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); } }
/// <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...."); } }
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); } } } } }
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, или плохо записан сигнал."); } } } }
// Converting BIN/XML to IRsignal public IRPacket ConvertingBINARYorXMLtoIRsignal(String FileName) { if (IsXmlFile(FileName)) { return(irPacket = RRUtil.DeserializePacketFromXML(FileName)); } else { return(irPacket = RRUtil.DeserializePacketFromBinary(FileName)); } }
// Кнопка захвата одиночного сигнала 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("Событие неизвестного типа..."); } }
public SignalOutput(IRPacket _signal) { signal = _signal; }
/// <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(); } }
// Вывод одного сигнала public void OutputOneIRsignal(IRedRat3 RedRat3, IRPacket signal) { RedRat3.OutputModulatedSignal(signal); }