make encoder dir find and overspeed check

This commit is contained in:
Oskar Weigl
2018-10-10 15:35:41 -07:00
parent 8c286f0a6d
commit d7644daaca
6 changed files with 53 additions and 9 deletions
+9
View File
@@ -274,6 +274,15 @@ bool Encoder::update() {
snap_to_zero_vel = true;
}
// Check overspeed fault
if (config_.overspeed_fault_ratio != 0.0f) { // 0.0f = disabled
// TODO: Use separate encoder, motor, controller vel_lim: take min
if (fabsf(vel_estimate_) > config_.overspeed_fault_ratio * axis_->controller_.config_.vel_limit) {
set_error(ERROR_OVERSPEED);
return false;
}
}
//// run encoder count interpolation
int32_t corrected_enc = count_in_cpr_ - config_.offset;
// if we are stopped, make sure we don't randomly drift