public HomeLoggerService(ILogger <HomeLoggerService> logger, IOptions <HomeLoggerConfig> config, IHomeLoggerHardware hardware) { _logger = logger; _config = config; _hardware = hardware; _timer = new Timer(ChangeLeds); _hardware.ButtonChanged.Do(args => { _logger.LogInformation($"Button: {args.IsPressed}"); }); }
public static void SetLed(this IHomeLoggerHardware hardware, Colours color) { switch (color) { case Colours.Red: hardware.SetLed(1, 0, 0); return; case Colours.Green: hardware.SetLed(0, 1, 0); return; case Colours.Blue: hardware.SetLed(0, 0, 1); return; } throw new NotImplementedException($"The colour {color} has not been implemented."); }