Example #1
0
 private void SoftwareControlValueChanged(IControl control)
 {
     if (control.ControlMode == ControlMode.Software) {
     ADLFanSpeedValue adlf = new ADLFanSpeedValue();
     adlf.SpeedType = ADL.ADL_DL_FANCTRL_SPEED_TYPE_PERCENT;
     adlf.Flags = ADL.ADL_DL_FANCTRL_FLAG_USER_DEFINED_SPEED;
     adlf.FanSpeed = (int)control.SoftwareValue;
     ADL.ADL_Overdrive5_FanSpeed_Set(adapterIndex, 0, ref adlf);
       }
 }
Example #2
0
 [DllImport(LibraryName, EntryPoint = "ADL_Overdrive5_FanSpeed_Get")] static extern Result Overdrive5FanSpeedGet(int a, int b, ref ADLFanSpeedValue c);
Example #3
0
        public override void Update()
        {
            ADLTemperature adlt = new ADLTemperature();
              if (ADL.ADL_Overdrive5_Temperature_Get(adapterIndex, 0, ref adlt)
            == ADL.ADL_OK)
              {
            temperature.Value = 0.001f * adlt.Temperature;
            ActivateSensor(temperature);
              } else {
            temperature.Value = null;
              }

              ADLFanSpeedValue adlf = new ADLFanSpeedValue();
              adlf.SpeedType = ADL.ADL_DL_FANCTRL_SPEED_TYPE_RPM;
              if (ADL.ADL_Overdrive5_FanSpeed_Get(adapterIndex, 0, ref adlf)
            == ADL.ADL_OK)
              {
            fan.Value = adlf.FanSpeed;
            ActivateSensor(fan);
              } else {
            fan.Value = null;
              }

              adlf = new ADLFanSpeedValue();
              adlf.SpeedType = ADL.ADL_DL_FANCTRL_SPEED_TYPE_PERCENT;
              if (ADL.ADL_Overdrive5_FanSpeed_Get(adapterIndex, 0, ref adlf)
            == ADL.ADL_OK) {
            controlSensor.Value = adlf.FanSpeed;
            ActivateSensor(controlSensor);
              } else {
            controlSensor.Value = null;
              }

              ADLPMActivity adlp = new ADLPMActivity();
              if (ADL.ADL_Overdrive5_CurrentActivity_Get(adapterIndex, ref adlp)
            == ADL.ADL_OK)
              {
            if (adlp.EngineClock > 0) {
              coreClock.Value = 0.01f * adlp.EngineClock;
              ActivateSensor(coreClock);
            } else {
              coreClock.Value = null;
            }

            if (adlp.MemoryClock > 0) {
              memoryClock.Value = 0.01f * adlp.MemoryClock;
              ActivateSensor(memoryClock);
            } else {
              memoryClock.Value = null;
            }

            if (adlp.Vddc > 0) {
              coreVoltage.Value = 0.001f * adlp.Vddc;
              ActivateSensor(coreVoltage);
            } else {
              coreVoltage.Value = null;
            }

            coreLoad.Value = Math.Min(adlp.ActivityPercent, 100);
            ActivateSensor(coreLoad);
              } else {
            coreClock.Value = null;
            memoryClock.Value = null;
            coreVoltage.Value = null;
            coreLoad.Value = null;
              }
        }
 public static extern ADLStatus ADL_Overdrive5_FanSpeed_Set(int adapterIndex, int thermalControllerIndex, ref ADLFanSpeedValue fanSpeedValue);