예제 #1
0
        public static int ToLength(this HidDevices.CoolitRegisterData.ModernRegisterAddress address)
        {
            switch (address)
            {
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FirmwareVersion:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.TSCurrentTemperature:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDManualTemperature:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanTargetRPM:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanManualTemperature:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanCurrentRPM:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanMaxRPM:
                return(2);

            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDCurrentColor:
                return(3);

            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDTMTemperatures:
                return(6);

            case HidDevices.CoolitRegisterData.ModernRegisterAddress.ProductName:
                return(8);

            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDTMColors:
                return(9);

            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanRPMTable:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanTemperatureTable:
                return(10);

            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDCycleColors:
                return(12);

                #region defaultCases
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.DeviceID:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.CurrentLED:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDMode:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.CurrentTemperatureSensor:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.CurrentFan:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanMode:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanTargetPWM:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.Status:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.NumberOfLEDChannels:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.NumberOfTemperatureSensors:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.NumberOfFans:
                #endregion defaultCases
            default: return(1);
            }
        }
예제 #2
0
        public static RegisterAccess ToAccess(this HidDevices.CoolitRegisterData.ModernRegisterAddress address)
        {
            switch (address)
            {
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.CurrentLED:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDMode:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDManualTemperature:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDTMTemperatures:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDTMColors:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDCycleColors:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.CurrentTemperatureSensor:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.CurrentFan:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanMode:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanTargetPWM:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanTargetRPM:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanManualTemperature:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanRPMTable:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanTemperatureTable:
                return(RegisterAccess.ReadWrite);

                #region defaultcases
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.DeviceID:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FirmwareVersion:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.ProductName:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.Status:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.NumberOfLEDChannels:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.LEDCurrentColor:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.NumberOfTemperatureSensors:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.TSCurrentTemperature:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.NumberOfFans:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanCurrentRPM:
            case HidDevices.CoolitRegisterData.ModernRegisterAddress.FanMaxRPM:
                #endregion defaultcases
            default: return(RegisterAccess.ReadOnly);
            }
        }
예제 #3
0
 public static CoolitRegisterData CreateRegisterData(HidDevices.CoolitRegisterData.ModernRegisterAddress address)
 {
     return(new CoolitRegisterData(address.ToAccess(), address.ToLength(), (byte)address));
 }