From 068fac5ec55588187a242f3b7ae7033e1f6a39f1 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sat, 27 Apr 2013 23:51:54 +0200 Subject: digital/io-hub/src/apbirthday: fix conversion from float to integer angle --- digital/io-hub/src/apbirthday/top.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'digital/io-hub/src/apbirthday/top.cc') diff --git a/digital/io-hub/src/apbirthday/top.cc b/digital/io-hub/src/apbirthday/top.cc index 0fb37ca1..3f7bf2a5 100644 --- a/digital/io-hub/src/apbirthday/top.cc +++ b/digital/io-hub/src/apbirthday/top.cc @@ -47,7 +47,8 @@ top_cake_angle (const vect_t &pos) float dx = pos.x - pg_cake_pos.x; float dy = pos.y - pg_cake_pos.y; float angle_rad = std::atan2 (dy, dx); - uint16_t angle = angle_rad * ((1 << 16) / (2 * M_PI)); + // Be careful not to lose sign during conversion. + int16_t angle = angle_rad * ((1 << 16) / (2 * M_PI)); return angle; } -- cgit v1.2.3