Ejemplo n.º 1
0
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;
  }
}
Ejemplo n.º 2
0
void startUp()
{
  readEeprom();
  setFanSpeed(255);
  _delay_us(100);
  restoreState();
}
Ejemplo n.º 3
0
void restoreState()
{
  for(char i = 0; i < 12; i++)
  {
    compbuff[i] = save_compbuff[i];
  }

  setFanSpeed(save_fanspeed);
}
Ejemplo n.º 4
0
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;
            }
        }
    }
}