Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }