Update temperature.cpp
This commit is contained in:
		| @@ -136,9 +136,7 @@ volatile bool Temperature::temp_meas_ready = false; | |||||||
|     int Temperature::lpq_ptr = 0; |     int Temperature::lpq_ptr = 0; | ||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
|   float Temperature::pid_error[HOTENDS], |   float Temperature::pid_error[HOTENDS]; | ||||||
|         Temperature::temp_iState_min[HOTENDS], |  | ||||||
|         Temperature::temp_iState_max[HOTENDS]; |  | ||||||
|   bool Temperature::pid_reset[HOTENDS]; |   bool Temperature::pid_reset[HOTENDS]; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| @@ -148,9 +146,7 @@ volatile bool Temperature::temp_meas_ready = false; | |||||||
|         Temperature::pTerm_bed, |         Temperature::pTerm_bed, | ||||||
|         Temperature::iTerm_bed, |         Temperature::iTerm_bed, | ||||||
|         Temperature::dTerm_bed, |         Temperature::dTerm_bed, | ||||||
|         Temperature::pid_error_bed, |         Temperature::pid_error_bed; | ||||||
|         Temperature::temp_iState_min_bed, |  | ||||||
|         Temperature::temp_iState_max_bed; |  | ||||||
| #else | #else | ||||||
|   millis_t Temperature::next_bed_check_ms; |   millis_t Temperature::next_bed_check_ms; | ||||||
| #endif | #endif | ||||||
| @@ -448,12 +444,6 @@ void Temperature::updatePID() { | |||||||
|     #if ENABLED(PID_EXTRUSION_SCALING) |     #if ENABLED(PID_EXTRUSION_SCALING) | ||||||
|       last_e_position = 0; |       last_e_position = 0; | ||||||
|     #endif |     #endif | ||||||
|     HOTEND_LOOP() { |  | ||||||
|       temp_iState_max[e] = (PID_INTEGRAL_DRIVE_MAX) / PID_PARAM(Ki, e); |  | ||||||
|     } |  | ||||||
|   #endif |  | ||||||
|   #if ENABLED(PIDTEMPBED) |  | ||||||
|     temp_iState_max_bed = (PID_BED_INTEGRAL_DRIVE_MAX) / bedKi; |  | ||||||
|   #endif |   #endif | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -564,7 +554,6 @@ float Temperature::get_pid_output(int e) { | |||||||
|         } |         } | ||||||
|         pTerm[HOTEND_INDEX] = PID_PARAM(Kp, HOTEND_INDEX) * pid_error[HOTEND_INDEX]; |         pTerm[HOTEND_INDEX] = PID_PARAM(Kp, HOTEND_INDEX) * pid_error[HOTEND_INDEX]; | ||||||
|         temp_iState[HOTEND_INDEX] += pid_error[HOTEND_INDEX]; |         temp_iState[HOTEND_INDEX] += pid_error[HOTEND_INDEX]; | ||||||
|         temp_iState[HOTEND_INDEX] = constrain(temp_iState[HOTEND_INDEX], temp_iState_min[HOTEND_INDEX], temp_iState_max[HOTEND_INDEX]); |  | ||||||
|         iTerm[HOTEND_INDEX] = PID_PARAM(Ki, HOTEND_INDEX) * temp_iState[HOTEND_INDEX]; |         iTerm[HOTEND_INDEX] = PID_PARAM(Ki, HOTEND_INDEX) * temp_iState[HOTEND_INDEX]; | ||||||
|  |  | ||||||
|         pid_output = pTerm[HOTEND_INDEX] + iTerm[HOTEND_INDEX] - dTerm[HOTEND_INDEX]; |         pid_output = pTerm[HOTEND_INDEX] + iTerm[HOTEND_INDEX] - dTerm[HOTEND_INDEX]; | ||||||
| @@ -627,7 +616,6 @@ float Temperature::get_pid_output(int e) { | |||||||
|       pid_error_bed = target_temperature_bed - current_temperature_bed; |       pid_error_bed = target_temperature_bed - current_temperature_bed; | ||||||
|       pTerm_bed = bedKp * pid_error_bed; |       pTerm_bed = bedKp * pid_error_bed; | ||||||
|       temp_iState_bed += pid_error_bed; |       temp_iState_bed += pid_error_bed; | ||||||
|       temp_iState_bed = constrain(temp_iState_bed, temp_iState_min_bed, temp_iState_max_bed); |  | ||||||
|       iTerm_bed = bedKi * temp_iState_bed; |       iTerm_bed = bedKi * temp_iState_bed; | ||||||
|  |  | ||||||
|       dTerm_bed = K2 * bedKd * (current_temperature_bed - temp_dState_bed) + K1 * dTerm_bed; |       dTerm_bed = K2 * bedKd * (current_temperature_bed - temp_dState_bed) + K1 * dTerm_bed; | ||||||
| @@ -955,16 +943,10 @@ void Temperature::init() { | |||||||
|     // populate with the first value |     // populate with the first value | ||||||
|     maxttemp[e] = maxttemp[0]; |     maxttemp[e] = maxttemp[0]; | ||||||
|     #if ENABLED(PIDTEMP) |     #if ENABLED(PIDTEMP) | ||||||
|       temp_iState_min[e] = 0.0; |  | ||||||
|       temp_iState_max[e] = (PID_INTEGRAL_DRIVE_MAX) / PID_PARAM(Ki, e); |  | ||||||
|       #if ENABLED(PID_EXTRUSION_SCALING) |       #if ENABLED(PID_EXTRUSION_SCALING) | ||||||
|         last_e_position = 0; |         last_e_position = 0; | ||||||
|       #endif |       #endif | ||||||
|     #endif //PIDTEMP |     #endif //PIDTEMP | ||||||
|     #if ENABLED(PIDTEMPBED) |  | ||||||
|       temp_iState_min_bed = 0.0; |  | ||||||
|       temp_iState_max_bed = (PID_BED_INTEGRAL_DRIVE_MAX) / bedKi; |  | ||||||
|     #endif //PIDTEMPBED |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   #if ENABLED(PIDTEMP) && ENABLED(PID_EXTRUSION_SCALING) |   #if ENABLED(PIDTEMP) && ENABLED(PID_EXTRUSION_SCALING) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user