예제 #1
0
 /// <summary>   EllDevice Constructor. </summary>
 /// <param name="deviceID">         Identifier for the device. </param>
 /// <param name="messageUpdater">   Thea message handler. To receive feedback on progress, supply a meddage handler, derived from
 ///                                 <see cref="MessageUpdater"/> to process feedback. </param>
 internal ELLPaddlePolariser(DeviceID deviceID, MessageUpdater messageUpdater)
     : base(deviceID, 3, messageUpdater)
 {
     MinPos        = (16m / 1023) * deviceID.Travel;
     MinPosRounded = Math.Ceiling(MinPos * 10) / 10;
     MaxPos        = (1006m / 1023) * deviceID.Travel;
     MaxPosRounded = Math.Floor(MinPos * 10) / 10;
 }
예제 #2
0
        public static DeviceID Configure(string deviceID, MessageUpdater messageUpdater)
        {
            if (string.IsNullOrEmpty(deviceID))
            {
                return(null);
            }
            char address = deviceID[0];

            if (!IsValidAddress(address))
            {
                return(null);
            }
            DeviceID di = new DeviceID(deviceID);

            messageUpdater?.UpdateParameter(MessageUpdater.UpdateTypes.DeviceInfo, address, di);
            return(di);
        }
예제 #3
0
 /// <summary>   EllDevice Constructor. </summary>
 /// <param name="deviceID">         Identifier for the device. </param>
 /// <param name="messageUpdater">   Thea message handler. To receive feedback on progress, supply a meddage handler, derived from
 ///                                 <see cref="MessageUpdater"/> to process feedback. </param>
 internal ELLDevice(DeviceID deviceID, MessageUpdater messageUpdater)
     : base(deviceID, 2, messageUpdater)
 {
 }
예제 #4
0
 /// <summary>   Specialised default constructor for use only by derived class. </summary>
 /// <param name="deviceID">     Identifier for the device. </param>
 /// <param name="motorCount">   Number of motors. </param>
 protected ELLBaseDevice(DeviceID deviceID, int motorCount)
 {
     _messageUpdater = null;
     InitializeClass(deviceID, (char)('0' + motorCount));
 }
예제 #5
0
 /// <summary>   EllDevice Constructor. </summary>
 /// <param name="deviceID">         Identifier for the device. </param>
 /// <param name="motorCount">       Number of motors. </param>
 /// <param name="messageUpdater">   Thea message handler. To receive feedback on progress, supply a meddage handler, derived from
 ///                                 <see cref="MessageUpdater"/> to process feedback. </param>
 internal ELLBaseDevice(DeviceID deviceID, int motorCount, MessageUpdater messageUpdater)
 {
     _messageUpdater = messageUpdater;
     InitializeClass(deviceID, (char)('0' + motorCount));
 }