summaryrefslogtreecommitdiffhomepage
path: root/digital/io-hub/src/apbirthday/top.cc
diff options
context:
space:
mode:
authorNicolas Schodet2013-04-27 23:51:54 +0200
committerNicolas Schodet2013-04-28 00:49:58 +0200
commit068fac5ec55588187a242f3b7ae7033e1f6a39f1 (patch)
tree322d9ba13181b23a22cc337e63e093bf856c7fdd /digital/io-hub/src/apbirthday/top.cc
parentcab5c7e032771ec19e384436b1bfbd1b89793c7e (diff)
digital/io-hub/src/apbirthday: fix conversion from float to integer angle
Diffstat (limited to 'digital/io-hub/src/apbirthday/top.cc')
-rw-r--r--digital/io-hub/src/apbirthday/top.cc3
1 files changed, 2 insertions, 1 deletions
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;
}