Beispiel #1
0
 public LinuxPinController(IAsyncFileUtil fileUtils, IIoPinControllerLogger logger, ITaskSchedulerUtility taskSchedulerUtility)
     : base((pinNumber) => new LinuxInputPin(pinNumber, fileUtils, logger),
            (pinNumber) => new LinuxOutputPin(pinNumber, fileUtils, logger),
            taskSchedulerUtility)
 {
 }
Beispiel #2
0
        protected PinController(Func <int, TInputPin> cerateInputPinFunction, Func <int, TOutputPin> createOutputPinFunction, ITaskSchedulerUtility taskSchedulerUtility)
        {
            _createInputPinFunction  = cerateInputPinFunction;
            _createOutputPinFunction = createOutputPinFunction;

            ConfiguredInputPins  = ImmutableDictionary.Create <int, TInputPin>();
            ConfiguredOutputPins = ImmutableDictionary.Create <int, TOutputPin>();

            _taskScheduler = taskSchedulerUtility.GetScheduler();
            _continuouslyCheckingInputPinsTask = new Task <Task>(ContinuouslyCheckingInputPins, TaskCreationOptions.LongRunning);
        }