fix bug where regulator locks on overflown integer

master
Eggert Jung 3 years ago
parent 560b4fbc4d
commit e938862cde

@ -81,7 +81,7 @@ void do_taenzer(){
/* Force regualtion */ /* Force regualtion */
if(kraftsensor_valid && taenzer_state.active && taenzer_state.homed && taenzer_state.pos >= 0){ if(kraftsensor_valid && taenzer_state.active && taenzer_state.homed && taenzer_state.pos >= 0){
int16_t err = (kraftsensor_value - taenzer_state.force_setpoint); int32_t err = (kraftsensor_value - taenzer_state.force_setpoint);
double pid_out = pid(&regler, err); double pid_out = pid(&regler, err);
int16_t out = (int16_t)pid_out; int16_t out = (int16_t)pid_out;