Exemple #1
0
        public HSRT16 CreateHSRT16(Enum id, I2CSlaveAddress address)
        {
            var device = new HSRT16(DeviceIdFactory.CreateIdFrom(id), address, _i2CBus);

            _controller.AddDevice(device);

            return(device);
        }
Exemple #2
0
        public HSPE8InputOnly RegisterHSPE8InputOnly(Enum id, I2CSlaveAddress i2CAddress)
        {
            var device = new HSPE8InputOnly(DeviceIdFactory.CreateIdFrom(id), i2CAddress, _i2CBusService);

            _deviceService.AddDevice(device);

            return(device);
        }
Exemple #3
0
        public HSPE8InputOnly CreateHSPE8InputOnly(Enum id, I2CSlaveAddress i2CAddress)
        {
            var device = new HSPE8InputOnly(DeviceIdFactory.CreateIdFrom(id), i2CAddress, _i2CBus);

            _controller.AddDevice(device);

            return(device);
        }
Exemple #4
0
        public HSRT16 RegisterHSRT16(Enum id, I2CSlaveAddress address)
        {
            var device = new HSRT16(DeviceIdFactory.CreateIdFrom(id), address, _i2CBusService);

            _deviceService.AddDevice(device);

            return(device);
        }
Exemple #5
0
        public HSREL8 CreateHSREL8(Enum id, I2CSlaveAddress i2CAddress)
        {
            var device = new HSREL8(DeviceIdFactory.CreateIdFrom(id), i2CAddress, _i2CBus, _httpApi, _log);

            _controller.AddDevice(device);

            return(device);
        }
Exemple #6
0
        public HSPE16OutputOnly CreateHSPE16OutputOnly(Enum id, I2CSlaveAddress address)
        {
            var device = new HSPE16OutputOnly(DeviceIdFactory.CreateIdFrom(id), address, _i2CBus, _httpApi, _log);

            _controller.AddDevice(device);

            return(device);
        }
Exemple #7
0
        public HSPE16InputOnly CreateHSPE16InputOnly(Enum id, I2CSlaveAddress address)
        {
            var device = new HSPE16InputOnly(DeviceIdFactory.CreateIdFrom(id), address, _i2CBus)
            {
                AutomaticallyFetchState = true
            };

            _controller.AddDevice(device);

            return(device);
        }
Exemple #8
0
        public HSPE16InputOnly RegisterHSPE16InputOnly(Enum id, I2CSlaveAddress address)
        {
            var device = new HSPE16InputOnly(DeviceIdFactory.CreateIdFrom(id), address, _i2CBusService)
            {
                AutomaticallyFetchState = true
            };

            _deviceService.AddDevice(device);

            return(device);
        }
        private void SetupCeilingFan(StateMachine stateMachine)
        {
            var relayBoard = GetDevice <HSREL5>(DeviceIdFactory.CreateIdFrom(InstalledDevice.HSRel5));
            var gear1      = relayBoard.GetOutput(2);
            var gear2      = relayBoard.GetOutput(1);

            stateMachine.AddOffState().WithLowOutput(gear1).WithLowOutput(gear2);

            stateMachine.AddState(new StatefulComponentState("1")).WithHighOutput(gear1).WithLowOutput(gear2);
            stateMachine.AddState(new StatefulComponentState("2")).WithLowOutput(gear1).WithHighOutput(gear2);
        }
Exemple #10
0
        public static TDevice GetDevice <TDevice>(this IDeviceService deviceService, Enum id) where TDevice : IDevice
        {
            if (deviceService == null)
            {
                throw new ArgumentNullException(nameof(deviceService));
            }

            var deviceId = DeviceIdFactory.CreateIdFrom(id);

            return(deviceService.GetDevice <TDevice>(deviceId));
        }