コード例 #1
0
 public LogicGateSensor(LogicGateInitializer initializer) : base(initializer)
 {
     ReferenceBit0 = initializer.RefBit0;
     ReferenceBit1 = initializer.RefBit1;
     ReferenceBit2 = initializer.RefBit2;
     ReferenceBit3 = initializer.RefBit3;
 }
コード例 #2
0
        protected virtual async Task <SensorX> ParseLogicSensor(ActuatorItemData data)
        {
            switch (data.ActuatorType)
            {
            case 5:
                var logicGateInitializer = new LogicGateInitializer
                {
                    RefBit0 = (data.Data & 0x10) == 0x10,
                    RefBit1 = (data.Data & 0x20) == 0x20,
                    RefBit2 = (data.Data & 0x40) == 0x40,
                    RefBit3 = (data.Data & 0x80) == 0x80
                };
                await SetupInitializer(logicGateInitializer, data);

                return(new LogicGateSensor(logicGateInitializer));

            case 6:
                var counterInitializer = new CounterIntializer()
                {
                    Count = data.Data,
                };
                await SetupInitializer(counterInitializer, data);

                return(new CounterSensor(counterInitializer));

            default:
                throw new InvalidOperationException();
            }
        }