示例#1
0
        public void OnSeaLevelDigitalOutput(DigitalOutputDevice digitalOutput)
        {
            var outputs = BitConverter.GetBytes(Convert.ToInt32(string.Join("", DigitalOutput.Select(c => Convert.ToInt32(c.Value))), 2));

            SM_WriteDigitalOutputs(0, DigitalOutput.Count, outputs);
            if (SeaLevelDigitalOutput != null)
            {
                SeaLevelDigitalOutput.Invoke(this, digitalOutput);
            }
        }
示例#2
0
        private void OnSeaLevelDigitalOutputEvent(object sender, DigitalOutputDevice digitalOutput)
        {
            var seaio420Device     = (SeaLevel420Device)sender;
            var seaio420Index      = _deviceRepository.SeaMaxDeviceRepository.SeaLevel420Device.IndexOf(seaio420Device);
            var digitaloutputindex = seaio420Device.DigitalOutput.IndexOf(digitalOutput);

            var seaio420 = DeviceViewModel.SeaMaxViewModelRepository.SeaLevel420[seaio420Index];
            var seaio420Digitaloutput = DeviceViewModel.SeaMaxViewModelRepository.SeaLevel420[seaio420Index].DigitalOutput[digitaloutputindex];

            seaio420Digitaloutput.DigitalOutputEvent -= seaio420.OnSeaLevelDigitalOutput;
            seaio420.SeaLevelDigitalOutput           -= DeviceViewModel.SeaMaxViewModelRepository.OnSeaIoDigitalOutput <SeaLevel420>;

            DeviceViewModel.SeaMaxViewModelRepository.SeaLevel420[seaio420Index].DigitalOutput[digitaloutputindex].Value = digitalOutput.Value;

            seaio420Digitaloutput.DigitalOutputEvent += seaio420.OnSeaLevelDigitalOutput;
            seaio420.SeaLevelDigitalOutput           += DeviceViewModel.SeaMaxViewModelRepository.OnSeaIoDigitalOutput <SeaLevel420>;
        }