Ejemplo n.º 1
0
        /// <summary>
        /// Gets status of fan. Calls GetFanSpeed internally to check if fan has a particular RPM
        /// </summary>
        /// <returns></returns>
        public bool GetFanStatus()
        {
            FanSpeedResponse fanspeed = GetFanSpeed(this.deviceId);

            if (fanspeed.CompletionCode == (byte)CompletionCode.Success &&
                fanspeed.Rpm != 0)
            {
                return(true);
            }

            return(false);
        }
        /// <summary>
        /// Gets Fan speed in RPM
        /// </summary>
        /// <param name="deviceId"></param>
        /// <returns></returns>
        internal FanSpeedResponse GetFanSpeed(byte deviceId)
        {
            // Get Fan Requirement
            FanSpeedResponse response = (FanSpeedResponse)this.SendReceive(deviceType, deviceId, new FanSpeedRequest(),
                                                                           typeof(FanSpeedResponse), (byte)PriorityLevel.System);

            if (response.CompletionCode != (byte)CompletionCode.Success)
            {
                Tracer.WriteError("GetFanSpeed - error getting fan speed, completion code: {0:X}", response.CompletionCode);
            }

            return(response);
        }
        /// <summary>
        /// Gets status of fan. Calls GetFanSpeed internally to check if fan has a particular RPM
        /// </summary>
        /// <returns></returns>
        public bool GetFanStatus()
        {
            FanSpeedResponse fanspeed = GetFanSpeed(this.deviceId);

            if (fanspeed.CompletionCode == (byte)CompletionCode.Success &&
                fanspeed.Rpm != 0)
            {
                return(true);
            }

            // Log fan failure
            Tracer.WriteError("GetFanStatus: Fan {0} error. Completion code: {1}  RPM (only valid if Completion Code is 0): {2}",
                              this.deviceId, fanspeed.CompletionCode, fanspeed.Rpm);
            return(false);
        }