示例#1
0
        public void PollInputBoardStates()
        {
            var stopwatch = Stopwatch.StartNew();

            var inputDevices = _deviceService.GetDevices <CCToolsInputDeviceBase>();

            foreach (var portExpanderController in inputDevices)
            {
                if (portExpanderController.AutomaticallyFetchState)
                {
                    portExpanderController.PeekState();
                }
            }

            stopwatch.Stop();
            if (stopwatch.ElapsedMilliseconds > 25)
            {
                _log.Warning($"Fetching inputs took {stopwatch.ElapsedMilliseconds}ms.");
            }

            foreach (var portExpanderController in inputDevices)
            {
                if (portExpanderController.AutomaticallyFetchState)
                {
                    portExpanderController.FetchState();
                }
            }
        }
示例#2
0
        public void RegisterRemoteSockets()
        {
            var adapterDevices = _deviceRegistryService.GetDevices <ILdp433MhzBridgeAdapter>();

            foreach (var adapterDevice in adapterDevices)
            {
                adapterDevice.CodeReceived += OnCodeReceived;
            }

            var configuration = _configurationService.GetConfiguration <RemoteSocketServiceConfiguration>("RemoteSocketService");

            foreach (var remoteSocketConfiguration in configuration.RemoteSockets)
            {
                var codePair = GenerateCodePair(remoteSocketConfiguration.Value.CodeGenerator);
                RegisterRemoteSocket(remoteSocketConfiguration.Key, remoteSocketConfiguration.Value.Adapter.DeviceId, codePair);
            }
        }