Beispiel #1
0
void Thermocycler::UpdateEta() {
  if (iProgramState == ERunning) {
    double fastSecondPerDegree;
    if (iElapsedFastRampDegrees == 0 || !iHasCooled)
      fastSecondPerDegree = 1.0;
    else
      fastSecondPerDegree = iTotalElapsedFastRampDurationMs / 1000 / iElapsedFastRampDegrees;

    unsigned long estimatedDurationS = iProgramHoldDurationS + iProgramControlledRampDurationS + iProgramFastRampDegrees * fastSecondPerDegree;
    unsigned long elapsedTimeS = GetElapsedTimeS();
    iEstimatedTimeRemainingS = estimatedDurationS > elapsedTimeS ? estimatedDurationS - elapsedTimeS : 0;
  }
}
void Thermocycler::UpdateEta() {
  if (m_program_state == ERunning) {
    double fastSecondPerDegree;
    if (m_elapsed_fast_ramp_degrees == 0 || !m_has_cooled)
      fastSecondPerDegree = 1.0;
    else
      fastSecondPerDegree = m_total_elapsed_fast_ramp_duration_ms / 1000 / m_elapsed_fast_ramp_degrees;
      
    unsigned long estimatedDurationS = m_program_hold_duration_sec + m_program_controlled_ramp_duration_sec + m_program_fast_ramp_degrees * fastSecondPerDegree;
    unsigned long elapsedTimeS = GetElapsedTimeS();
    m_estimated_time_remaining_sec = estimatedDurationS > elapsedTimeS ? estimatedDurationS - elapsedTimeS : 0;
  }
}