0 Replies Latest reply on Jul 27, 2011 12:19 PM by togglewolf

    ADL SDK doesn't give me the correct values

    togglewolf

      Hello Folks,

      recently i found the ADL and i successfully could use it ;-)
      My problem is, the returnvalues are strange.

      Sometimes i'll get the correct values, sometimes not.

      i tested it on 2 different computers.
      Any hints?
      ADL_OK returns after each call. whats my problem here?

      i always call with ADL_SOMEAPI_CALL(1,1, &var) usually.
      first 1 => first adapter, 2nd 1 => Sensors, Monitors ect.....

      the return values are 0 or -1^6...?

       

      here some code:

       

      // part of the class i made: // types: ADLODPerformanceLevels clocks; ADLTemperature temp; ADLFanSpeedValue fanspeed; // funcs: int ATI_display_helper::getClockSpeed() { setCoreAndMemClock(); return clocks.aLevels->iEngineClock; }; int ATI_display_helper::getFanSpeed() { if(ADL_Overdrive5_FanSpeed_Get(1, 1, &fanspeed) == ADL_OK) return fanspeed.iFanSpeed; else return -10; }; int ATI_display_helper::getMemSpeed() { setCoreAndMemClock(); return clocks.aLevels->iMemoryClock; }; int ATI_display_helper::getTemperature() { if(ADL_Overdrive5_Temperature_Get(1, 1, &temp) == ADL_OK) return temp.iSize; else return -10; }; void ATI_display_helper::setCoreAndMemClock() { ADL_Overdrive5_ODPerformanceLevels_Get(1, 1, &clocks); }; // calls in main: ATI_display_helper *x = new ATI_display_helper(0); int y = 1; // (bedingung) ? wert_falls_bedingung_wahr : wert_falls_bedingung_falsch; do { cout << "Clock: " << float(x->getClockSpeed() / 1000) << "\nFan: " << float(x->getFanSpeed() / 1000) << "\nMem: " << float(x->getMemSpeed() / 1000) << "\nTemp: " << float(x->getTemperature() / 1000); Sleep(500); system("cls"); } while(true);