Beispiel #1
0
        public void ReadParameter <T>(byte?destinationUnit, byte?destinationGroup, byte?sourceUnit, byte?sourceGroup, ref T parameter) where T : Parameter
        {
            var request  = new OpCode167Request(destinationUnit.GetValueOrDefault(DeviceAddress), destinationGroup.GetValueOrDefault(DeviceGroup), sourceUnit.GetValueOrDefault(HostAddress), sourceGroup.GetValueOrDefault(HostGroup), new List <Parameter>(new T[] { parameter }));
            var response = Transport.UnicastMessage <OpCode167Response>(request);

            parameter = (T)response.Parameters.First();
        }
Beispiel #2
0
        public void ReadParameters(byte?destinationUnit, byte?destinationGroup, byte?sourceUnit, byte?sourceGroup, ref List <Parameter> parameters)
        {
            bool UseOpcode167 = ParameterListIsContiguous <Parameter>(parameters);

            if (UseOpcode167)
            {
                var request  = new OpCode167Request(destinationUnit.GetValueOrDefault(DeviceAddress), destinationGroup.GetValueOrDefault(DeviceGroup), sourceUnit.GetValueOrDefault(HostAddress), sourceGroup.GetValueOrDefault(HostGroup), parameters);
                var response = Transport.UnicastMessage <OpCode167Response>(request);
                parameters = response.Parameters;
            }
            else
            {
                var request  = new OpCode180Request(destinationUnit.GetValueOrDefault(DeviceAddress), destinationGroup.GetValueOrDefault(DeviceGroup), sourceUnit.GetValueOrDefault(HostAddress), sourceGroup.GetValueOrDefault(HostGroup), parameters);
                var response = Transport.UnicastMessage <OpCode180Response>(request);
                parameters = response.Parameters;
            }
        }