|
|
@@ -81,11 +81,11 @@ static void smo_arctan(void) {
|
|
|
float prev_angle = smo.est_angle;
|
|
|
float comp_angle = 0.0f;
|
|
|
if (smo.dir_ccw) {
|
|
|
- if (prev_angle > angle) {
|
|
|
+ if ((prev_angle > angle) && (prev_angle > M_PI && angle < M_PI)) {//wrapper
|
|
|
comp_angle = 2 * M_PI;
|
|
|
}
|
|
|
}else {
|
|
|
- if (prev_angle < angle) {
|
|
|
+ if ((prev_angle < angle) && (prev_angle < M_PI && angle > M_PI)) {//wrapper
|
|
|
comp_angle = -2 * M_PI;
|
|
|
}
|
|
|
}
|