public void CodeShouldBeGeneratedCorrectly_WithUnitBAndTurnOff() { var generator = new BrennenstuhlCodeSequenceProvider(); var sequence = generator.GetSequence( BrennenstuhlSystemCode.AllOn, BrennenstuhlUnitCode.B, RemoteSwitchCommand.TurnOff); sequence.Codes.Count.ShouldBeEquivalentTo(1); sequence.Codes.First().Value.ShouldBeEquivalentTo(4436U); }
public void CodeShouldBeGeneratedCorrectly_WithUnitCAndTurnOn() { var generator = new BrennenstuhlCodeSequenceProvider(); var sequence = generator.GetSequence( BrennenstuhlSystemCode.Switch1 | BrennenstuhlSystemCode.Switch3 | BrennenstuhlSystemCode.Switch5, BrennenstuhlUnitCode.C, RemoteSwitchCommand.TurnOn); sequence.Codes.Count.ShouldBeEquivalentTo(1); sequence.Codes.First().Value.ShouldBeEquivalentTo(1119313U); }
private RemoteSwitchController SetupRemoteSwitchController(I2CHardwareBridge i2CHardwareBridge) { const int LDP433MhzSenderPin = 10; var ldp433MHzSender = new LPD433MHzSignalSender(i2CHardwareBridge, LDP433MhzSenderPin, HttpApiController); var remoteSwitchController = new RemoteSwitchController(ldp433MHzSender, Timer); var brennenstuhlCodes = new BrennenstuhlCodeSequenceProvider(); remoteSwitchController.Register( 0, brennenstuhlCodes.GetSequence(BrennenstuhlSystemCode.AllOn, BrennenstuhlUnitCode.A, RemoteSwitchCommand.TurnOn), brennenstuhlCodes.GetSequence(BrennenstuhlSystemCode.AllOn, BrennenstuhlUnitCode.A, RemoteSwitchCommand.TurnOff)); return remoteSwitchController; }
public Task ApplyAsync() { _synonymService.TryLoadPersistedSynonyms(); _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input0, new I2CSlaveAddress(42)); _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input1, new I2CSlaveAddress(43)); _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input2, new I2CSlaveAddress(47)); _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input3, new I2CSlaveAddress(45)); _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input4, new I2CSlaveAddress(46)); _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input5, new I2CSlaveAddress(44)); var i2CHardwareBridge = new I2CHardwareBridge(new I2CSlaveAddress(50), _i2CBusService, _schedulerService); _deviceService.AddDevice(i2CHardwareBridge); _remoteSocketService.Sender = new LPD433MHzSignalSender(i2CHardwareBridge, LDP433MhzSenderPin, _apiService); var brennenstuhl = new BrennenstuhlCodeSequenceProvider(); _remoteSocketService.RegisterRemoteSocket(0, brennenstuhl.GetSequencePair(BrennenstuhlSystemCode.AllOn, BrennenstuhlUnitCode.A)); _containerService.GetInstance<BedroomConfiguration>().Apply(); _containerService.GetInstance<OfficeConfiguration>().Apply(); _containerService.GetInstance<UpperBathroomConfiguration>().Apply(); _containerService.GetInstance<ReadingRoomConfiguration>().Apply(); _containerService.GetInstance<ChildrensRoomRoomConfiguration>().Apply(); _containerService.GetInstance<KitchenConfiguration>().Apply(); _containerService.GetInstance<FloorConfiguration>().Apply(); _containerService.GetInstance<LowerBathroomConfiguration>().Apply(); _containerService.GetInstance<StoreroomConfiguration>().Apply(); _containerService.GetInstance<LivingRoomConfiguration>().Apply(); _synonymService.RegisterDefaultComponentStateSynonyms(); var ioBoardsInterruptMonitor = new InterruptMonitor(_pi2GpioService.GetInput(4)); ioBoardsInterruptMonitor.InterruptDetected += (s, e) => _ccToolsBoardService.PollInputBoardStates(); ioBoardsInterruptMonitor.Start(); return Task.FromResult(0); }
public void CodeShouldBeGeneratedCorrectly_WithUnitDAndTurnOn() { var generator = new BrennenstuhlCodeSequenceProvider(); var sequence = generator.GetSequence( BrennenstuhlSystemCode.AllOff, BrennenstuhlUnitCode.D, RemoteSocketCommand.TurnOn); sequence.Codes.Count.ShouldBeEquivalentTo(1); sequence.Codes.First().Value.ShouldBeEquivalentTo(5592337U); }