private RaspberryIRDotNet.RX.IRUnitCounter NewIRUnitCounter(FileSystem.IFileSystem fileSystem) { var subject = new RaspberryIRDotNet.RX.IRUnitCounter() { CaptureDevice = LircPath, CaptureDelay = TimeSpan.Zero, LeadInPattern = new PulseSpaceUnitList() { 5, 4 }, UnitDurationMicrosecs = 100, TargetCaptures = 5, ThrowOnUnknownPacket = true }; subject.SetFileSystem(fileSystem); return(subject); }
private int LearnExpectedUnitCount(RaspberryIRDotNet.IReadOnlyPulseSpaceDurationList leadInDurations, int unitDuration) { var counter = new RaspberryIRDotNet.RX.IRUnitCounter() { CaptureDevice = DemoConfig.GetRxDevice(), UnitDurationMicrosecs = unitDuration, }; counter.SetLeadInPatternAsMicrosecs(leadInDurations); SetUpRxFeedback(counter); Console.WriteLine("This step will try to learn how many units each IR message is."); WriteKeyPressInstructions("any key", true); int unitCount = counter.CaptureAndGetMostCommonUnitCount(); Console.WriteLine(); Console.WriteLine("Done, unit count is " + unitCount); Breather(); return(unitCount); }