Exemplo n.º 1
0
        public void CodeShouldBeGeneratedCorrectly_WithUnitDAndTurnOff()
        {
            var code = DipswitchCodeProvider.GetCode(
                DipswitchSystemCode.AllOff,
                DipswitchUnitCode.D,
                RemoteSocketCommand.TurnOff);

            Assert.AreEqual(5592340U, code.Value);
        }
Exemplo n.º 2
0
        public void CodeShouldBeGeneratedCorrectly_WithUnitCAndTurnOff()
        {
            var code = DipswitchCodeProvider.GetCode(
                DipswitchSystemCode.Switch1 | DipswitchSystemCode.Switch3 | DipswitchSystemCode.Switch5,
                DipswitchUnitCode.C,
                RemoteSocketCommand.TurnOff);

            Assert.AreEqual(1119316U, code.Value);
        }
Exemplo n.º 3
0
        public void CodeShouldBeGeneratedCorrectly_WithUnitBAndTurnOn()
        {
            var code = DipswitchCodeProvider.GetCode(
                DipswitchSystemCode.AllOn,
                DipswitchUnitCode.B,
                RemoteSocketCommand.TurnOn);

            Assert.AreEqual(4433U, code.Value);
        }
        public void CodeShouldBeGeneratedCorrectly_WithUnitAAndTurnOff()
        {
            var generator = new DipswitchCodeProvider();
            var code      = generator.GetCode(
                DipswitchSystemCode.AllOn,
                DipswitchUnitCode.A,
                RemoteSocketCommand.TurnOff);

            Assert.AreEqual(1364U, code.Value);
        }
Exemplo n.º 5
0
        private Lpd433MhzCodePair GenerateCodePair(RemoteSocketCodeGeneratorConfiguration codeGeneratorConfiguration)
        {
            switch (codeGeneratorConfiguration.Type)
            {
            case "Dipswitch":
            {
                var dipswitchConfiguration = codeGeneratorConfiguration.Parameters.ToObject <DipswitchConfiguration>();
                return(DipswitchCodeProvider.GetCodePair(dipswitchConfiguration.SystemCode, dipswitchConfiguration.UnitCode));
            }

            case "Intertechno":
            {
                var intertechnoConfiguration = codeGeneratorConfiguration.Parameters.ToObject <IntertechnoConfiguration>();
                return(IntertechnoCodeProvider.GetCodePair(intertechnoConfiguration.SystemCode, intertechnoConfiguration.UnitCode));
            }

            default:
            {
                throw new NotSupportedException();
            }
            }
        }
Exemplo n.º 6
0
        public Task ApplyAsync()
        {
            _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input0.ToString(), new I2CSlaveAddress(42));
            _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input1.ToString(), new I2CSlaveAddress(43));
            _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input2.ToString(), new I2CSlaveAddress(47));
            _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input3.ToString(), new I2CSlaveAddress(45));
            _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input4.ToString(), new I2CSlaveAddress(46));
            _ccToolsBoardService.RegisterHSPE16InputOnly(InstalledDevice.Input5.ToString(), new I2CSlaveAddress(44));

            var i2CHardwareBridge = new I2CHardwareBridge(new I2CSlaveAddress(50), _i2CBusService, _schedulerService);

            _deviceService.AddDevice(i2CHardwareBridge);

            _remoteSocketService.Adapter = new I2CHardwareBridgeLdp433MhzBridgeAdapter(i2CHardwareBridge, 10);
            var codeSequenceProvider = new DipswitchCodeProvider();

            _remoteSocketService.RegisterRemoteSocket("OFFICE_0", codeSequenceProvider.GetCodePair(DipswitchSystemCode.AllOn, DipswitchUnitCode.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();

            var ioBoardsInterruptMonitor = new InterruptMonitor(_pi2GpioService.GetInput(4), _logService);

            ioBoardsInterruptMonitor.AddCallback(_ccToolsBoardService.PollInputBoardStates);
            ioBoardsInterruptMonitor.Start();

            return(Task.FromResult(0));
        }