void startUp() { readEeprom(); for(char i = 0; i < 12; i++) { crossfade[i] = save_compbuff[i]; } setFanSpeed(255); _delay_us(100); setFanSpeed(save_fanspeed); crossFade(100); for(char i = 0; i < 12; i++) { crossfade[i] = 0; } }
void startUp() { readEeprom(); setFanSpeed(255); _delay_us(100); restoreState(); }
void restoreState() { for(char i = 0; i < 12; i++) { compbuff[i] = save_compbuff[i]; } setFanSpeed(save_fanspeed); }
void SolanaServer::recomputeFS(std::string policy) { //Optimum proactive fan control policy if (policy.compare(SERVER_OPTIMUM_POLICY) == 0){ double fanPlusLeak=10000; for ( int i=0; i< NUM_FAN_SPEED; i++ ){ setFanSpeed(fanSpeedLUT[i]); computeCPUTemp(m_cpuDynPower); double leak = computeLeakage(); double fanpower = computeFanPower(); if ( (leak+fanpower) < fanPlusLeak ){ fanPlusLeak = leak+fanpower; VLOG_2 << " -- Fan+Leak power for FS: " << getFanSpeed() << " is: " << fanPlusLeak ; } else { VLOG_2 << " -- FanSpeed: " << getFanSpeed() << " increases power (" << leak+fanpower << ")"; setFanSpeed(fanSpeedLUT[i-1]); break; } } } }