//private void Thermocycler::AdvanceToNextStep() { m_previous_step = m_current_step; m_current_step = m_program->GetNextStep(); if (m_current_step == NULL) return; //update eta calc params if (m_previous_step == NULL || m_previous_step->GetTemp() != m_current_step->GetTemp()) { m_is_ramping = true; m_ramp_start_time = millis(); m_ramp_start_temp = GetPlateTemp(); } else { m_cycle_start_time = millis(); //next step starts immediately } CalcPlateTarget(); SetPlateControlStrategy(); }
void Thermocycler::PrepareStep() { //update eta calc params if (ipPreviousStep == NULL || ipPreviousStep->GetTemp() != ipCurrentStep->GetTemp()) { iRamping = true; iRampElapsedTimeMs = 0; iRampStartTemp = GetPlateTemp(); } else { iCycleElapsedTimeMs = 0; //next step starts immediately } // Switch cycle to display ProgramComponent *pComp = ipProgram->GetComponent(ipProgram->GetCurrentComponentIndex()); if (pComp->GetType() == ProgramComponent::ECycle) { ipDisplayCycle = (Cycle*) pComp; } CalcPlateTarget(); SetPlateControlStrategy(); }
//private void Thermocycler::AdvanceToNextStep() { ipPreviousStep = ipCurrentStep; ipCurrentStep = ipProgram->GetNextStep(); if (ipCurrentStep == NULL) return; //update eta calc params if (ipPreviousStep == NULL || ipPreviousStep->GetTemp() != ipCurrentStep->GetTemp()) { iRamping = true; iRampStartTime = millis(); iRampStartTemp = GetPlateTemp(); } else { iCycleStartTime = millis(); //next step starts immediately } CalcPlateTarget(); SetPlateControlStrategy(); }