From 554c4baf249f68bb8f716af97cbf23daad73ef5c Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Fri, 6 May 2011 23:44:36 +0200 Subject: digital/io-hub: add contacts --- digital/io-hub/src/robospierre/main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'digital/io-hub/src/robospierre/main.c') diff --git a/digital/io-hub/src/robospierre/main.c b/digital/io-hub/src/robospierre/main.c index 12a35054..bbc9bdb9 100644 --- a/digital/io-hub/src/robospierre/main.c +++ b/digital/io-hub/src/robospierre/main.c @@ -37,6 +37,7 @@ #include "twi_master.h" #include "pwm.h" +#include "contact.h" #include "io.h" @@ -46,6 +47,9 @@ enum team_color_e team_color; /** Asserv stats counters. */ static uint8_t main_stats_asserv_, main_stats_asserv_cpt_; +/** Contact stats counters. */ +static uint8_t main_stats_contact_, main_stats_contact_cpt_; + /** Main initialisation. */ static void main_init (void) @@ -62,6 +66,7 @@ main_init (void) twi_master_init (); /* IO modules. */ pwm_init (); + contact_init (); /* Initialization done. */ proto_send0 ('z'); } @@ -94,6 +99,7 @@ main_loop (void) proto_accept (uart0_getc ()); /* Update IO modules. */ pwm_update (); + contact_update (); /* Only manage events if slaves are synchronised. */ if (twi_master_sync ()) main_event_to_fsm (); @@ -108,6 +114,11 @@ main_loop (void) /* Reset stats counter */ main_stats_asserv_cpt_ = main_stats_asserv_; } + if (main_stats_contact_ && !--main_stats_contact_cpt_) + { + proto_send1d ('P', contact_all ()); + main_stats_contact_cpt_ = main_stats_contact_; + } } } @@ -144,6 +155,10 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args) /* Position stats. */ main_stats_asserv_ = main_stats_asserv_cpt_ = args[0]; break; + case c ('P', 1): + /* Contact stats. */ + main_stats_contact_ = main_stats_contact_cpt_ = args[0]; + break; default: /* Unknown commands */ proto_send0 ('?'); -- cgit v1.2.3