From 9343677bdbce9946a9eca92460d9d45a4ce5463d Mon Sep 17 00:00:00 2001 From: Jérémy Dufour Date: Fri, 25 Apr 2008 01:16:22 +0200 Subject: * digital/io/src - correct a bug in the updating of the position received by the asserv board (thanks to ni). --- digital/io/src/asserv.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'digital') diff --git a/digital/io/src/asserv.c b/digital/io/src/asserv.c index 799cd5f8..b6910275 100644 --- a/digital/io/src/asserv.c +++ b/digital/io/src/asserv.c @@ -222,10 +222,10 @@ asserv_update_status (void) /* Parse received data and store them */ asserv_status.status = status_buffer[0]; asserv_status.seq = status_buffer[1]; - asserv_status.position.x = v8_to_v32 (status_buffer[2], status_buffer[3], - status_buffer[4], 0); - asserv_status.position.y = v8_to_v32 (status_buffer[5], status_buffer[6], - status_buffer[7], 0); + asserv_status.position.x = ((int32_t) v8_to_v32 (status_buffer[2], status_buffer[3], + status_buffer[4], 0)) >> 8; + asserv_status.position.y = ((int32_t) v8_to_v32 (status_buffer[5], status_buffer[6], + status_buffer[7], 0)) >> 8; asserv_status.position.a = v8_to_v16 (status_buffer[8], status_buffer[9]); asserv_status.arm_position = v8_to_v16 (status_buffer[10], status_buffer[11]); } -- cgit v1.2.3