diff --git a/IO.hpp b/IO.hpp index 98f22c1..638ac0f 100644 --- a/IO.hpp +++ b/IO.hpp @@ -152,19 +152,29 @@ class IO { float getAngle(Axes axis) { float x, y, z; + float angle; m_code_cell->Motion_RotationRead(x, y, z); switch(axis) { case Axes::X: - return x - m_init_x; + angle = x - m_init_x; + if(angle < -180) angle += 360; + if(angle > 180) angle -= 360; + return angle; case Axes::Y: - return y - m_init_y; + angle = y - m_init_y; + if(angle < -180) angle += 360; + if(angle > 180) angle -= 360; + return angle; default: - return z - m_init_z; + angle = z - m_init_z; + if(angle < -180) angle += 360; + if(angle > 180) angle -= 360; + return angle; } }