示例#1
0
        public bool Handle(Command command)
        {
            EapiGpioId pin;

            if (_onCommandMap.TryGetValue(command.CommandDefinition.Uri, out pin))
            {
                _gpioDriver.SetLevel(pin, GpioLevelEnum.EapiGpioHigh);
                var gpioLevel = _gpioDriver.GetLevel();
                _action(new SgetDatapointValue(gpioLevel.GetLevelOf(pin), command.CommandDefinition.RelatedDatapoint));
                return(true);
            }
            if (_offCommandMap.TryGetValue(command.CommandDefinition.Uri, out pin))
            {
                _gpioDriver.SetLevel(pin, GpioLevelEnum.EapiGpioLow);
                var gpioLevel = _gpioDriver.GetLevel();
                _action(new SgetDatapointValue(gpioLevel.GetLevelOf(pin), command.CommandDefinition.RelatedDatapoint));
                return(true);
            }

            return(false);
        }