Skip to content

Commit 734b39b

Browse files
committed
fixup! Refactor Reverse Stop
Fix Reverse Stop causing a jolt with big enough tire and/or high enough Startup Pitch Axis Angle Tolerance.
1 parent 3c9a3b2 commit 734b39b

1 file changed

Lines changed: 13 additions & 8 deletions

File tree

src/main.c

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -901,14 +901,19 @@ static void refloat_thd(void *arg) {
901901
break;
902902

903903
case (STATE_RUNNING):
904-
reverse_stop_update(
905-
&d->reverse_stop,
906-
d->motor.distance,
907-
d->motor.erpm,
908-
d->setpoint_target_interpolated,
909-
&d->time,
910-
d->float_conf.fault_reversestop_enabled
911-
);
904+
// Only update reverse stop after centering, as the centering angle
905+
// change registers as negative distance, which progresses Reverse
906+
// Stop and causes a jolt right after centering is finished.
907+
if (d->state.sat != SAT_CENTERING) {
908+
reverse_stop_update(
909+
&d->reverse_stop,
910+
d->motor.distance,
911+
d->motor.erpm,
912+
d->setpoint_target_interpolated,
913+
&d->time,
914+
d->float_conf.fault_reversestop_enabled
915+
);
916+
}
912917

913918
// Check for faults
914919
if (check_faults(d)) {

0 commit comments

Comments
 (0)