summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--digital/io/src/asserv.c13
-rw-r--r--digital/io/src/asserv.h2
2 files changed, 9 insertions, 6 deletions
diff --git a/digital/io/src/asserv.c b/digital/io/src/asserv.c
index a50a6ad3..282a0541 100644
--- a/digital/io/src/asserv.c
+++ b/digital/io/src/asserv.c
@@ -193,12 +193,15 @@ asserv_arm_cmd_status (void)
/* Get the current position of the bot. */
void
-asserv_get_position (asserv_position_t current_position)
+asserv_get_position (asserv_position_t *current_position)
{
- /* Copy last received status buffer information to current position */
- current_position.x = asserv_status.position.x;
- current_position.y = asserv_status.position.y;
- current_position.a = asserv_status.position.a;
+ if (current_position)
+ {
+ /* Copy last received status buffer information to current position */
+ current_position->x = asserv_status.position.x;
+ current_position->y = asserv_status.position.y;
+ current_position->a = asserv_status.position.a;
+ }
}
/* Get the arm position. */
diff --git a/digital/io/src/asserv.h b/digital/io/src/asserv.h
index 9b1af1ab..021c88e7 100644
--- a/digital/io/src/asserv.h
+++ b/digital/io/src/asserv.h
@@ -120,7 +120,7 @@ typedef struct asserv_position_t
* @param current_position the current position to update.
*/
void
-asserv_get_position (asserv_position_t current_position);
+asserv_get_position (asserv_position_t *current_position);
/**
* Get the arm position.