bool RedRatNECSend(string str) { string funcName = $"<{nameof(RedRatNECSend)}>"; logger.Trace("start"); var custSignal = new CustomSignal().Nec(str); SignalOutput SSO = new SignalOutput(custSignal); SSO.Output(); logger.Trace("end"); return(OkCmd(funcName)); }
bool RedRatMainSend(string str) { string funcName = $"<{nameof(RedRatMainSend)}>"; logger.Trace("start"); var hex = Code.HexStrToByteHex(str); var custSignal = RedratHelper.GetSignalFromMain(hex); SignalOutput SSO = new SignalOutput(custSignal); SSO.Output(); logger.Trace("end"); return(OkCmd(funcName)); }
bool RedRatFullIRSend(string str) { string funcName = $"<{nameof(RedRatFullIRSend)}>"; logger.Trace("start"); try { var custSignal = RedratHelper.GetSignalFromLengthStr(str); SignalOutput SSO = new SignalOutput(custSignal); SSO.Output(); } catch (Exception ex) { return(FailCmd(ex, funcName)); } logger.Trace("end"); return(OkCmd(funcName)); }
public static async Task CapturedSignal() { SignalOutput SSO = new SignalOutput(); if (SSO.FindRedRat3() != null) { PublicData.write_info("Начат прием сигнала: ожидание 10с."); IRsignalTrainingMode IRSTM = new IRsignalTrainingMode(); var waitsignal = Ex.LongRun(() => IRSTM.CaptureSignal()); var form = new FormTimer("", "white", 10, "Подайте сигнал с пульта"); form.Show(); await waitsignal; Ex.Try(() => form.Close()); var signal = IRSTM.GetSignal(); if (signal == null) { PublicData.write_info("Сигнал не был получен. Прием окончен."); return; } var ir = SignalToString(signal); string nec = null; Ex.Try( () => nec = CodeTransform.SignalToNEC(signal) //, ex => PublicData.write_info(ex.Message) ); PublicData.write_info("Сигнал принят."); nec = (nec?.Length == 6 || nec?.Length == 8) ? nec : null; Ex.Try(() => Clipboard.SetText(nec ?? ir)); new FormTextLine(nec, ir).Show(); } else { MessageBox.Show("Нет подключенных устройств RedRat3. Подключите RedRat3 и попробуйте снова.", "Проверка подключения", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }