summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2012-05-19 06:01:56 +0200
committerNicolas Schodet2012-05-19 06:01:56 +0200
commit43d3ed3da8f87720db5fd287d8145d1e7cfd69cd (patch)
tree0868b7a1ec7a3cc0f33563f2df051950e434f9d3
parent508cad5f24c295d9cb628ebc7573b5cf2afacfa3 (diff)
digital/io-hub/src/guybrush: add chrono stats
-rw-r--r--digital/io-hub/src/guybrush/main.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/digital/io-hub/src/guybrush/main.c b/digital/io-hub/src/guybrush/main.c
index 32463b67..49172984 100644
--- a/digital/io-hub/src/guybrush/main.c
+++ b/digital/io-hub/src/guybrush/main.c
@@ -108,6 +108,9 @@ static uint8_t main_stats_usdist_, main_stats_usdist_cpt_;
/** Pressure stats counters. */
static uint8_t main_stats_pressure_, main_stats_pressure_cpt_;
+/** Chrono stats. */
+static uint8_t main_stats_chrono_, main_stats_chrono_last_s_;
+
/** Clamp zero stats. */
static uint8_t main_stats_clamp_zero_;
@@ -383,6 +386,12 @@ main_loop (void)
proto_send1w ('F', pressure_get ());
main_stats_pressure_cpt_ = main_stats_pressure_;
}
+ if (main_stats_chrono_
+ && main_stats_chrono_last_s_ != chrono_remaining_time () / 1000)
+ {
+ main_stats_chrono_last_s_ = chrono_remaining_time () / 1000;
+ proto_send1b ('C', main_stats_chrono_last_s_);
+ }
if (main_stats_clamp_zero_
&& IO_GET (CONTACT_LOWER_CLAMP_ZERO)
!= main_stats_clamp_zero_last_io_)
@@ -508,6 +517,14 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
/* Pressure stats. */
main_stats_pressure_ = main_stats_pressure_cpt_ = args[0];
break;
+ case c ('C', 1):
+ /* Chrono stats.
+ * - b: start chrono. */
+ main_stats_chrono_ = 1;
+ main_stats_chrono_last_s_ = 0;
+ if (args[0])
+ chrono_start ();
+ break;
case c ('Z', 1):
/* Clamp zero stat. */
main_stats_clamp_zero_ = args[0];