From af4a995d542879f39c5ded0de45b80ba2b2999bf Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 27 Apr 2017 15:23:09 -0600 Subject: [PATCH] telefiretwo: log a state-change "boost" record when igniting pyro --- src/drivers/ao_pad.c | 4 ++++ src/kernel/ao_log.h | 4 ++++ src/kernel/ao_log_firetwo.c | 10 ++++++++++ 3 files changed, 18 insertions(+) diff --git a/src/drivers/ao_pad.c b/src/drivers/ao_pad.c index 16b4ae60..636ad40c 100644 --- a/src/drivers/ao_pad.c +++ b/src/drivers/ao_pad.c @@ -17,6 +17,7 @@ */ #include +#include #include #include #include @@ -388,6 +389,9 @@ ao_pad(void) PRINTD ("ignite\n"); ao_pad_ignite = ao_pad_armed; ao_pad_arm_time = ao_time(); +#if HAS_LOG + ao_log_staticstart(); +#endif ao_wakeup(&ao_pad_ignite); break; case AO_PAD_ENDSTATIC: diff --git a/src/kernel/ao_log.h b/src/kernel/ao_log.h index 5c568c99..abc0dc49 100644 --- a/src/kernel/ao_log.h +++ b/src/kernel/ao_log.h @@ -481,6 +481,10 @@ ao_log_gps(__xdata struct ao_log_gps *log) __reentrant; void ao_log_flush(void); +/* record a state record indicating pyro initiation time on test stand */ +void +ao_log_staticstart(void); + void ao_gps_report_metrum_init(void); diff --git a/src/kernel/ao_log_firetwo.c b/src/kernel/ao_log_firetwo.c index 1a82673d..5d3b866b 100644 --- a/src/kernel/ao_log_firetwo.c +++ b/src/kernel/ao_log_firetwo.c @@ -72,6 +72,16 @@ static __data uint8_t ao_log_data_pos; typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_firetwo))] ; #endif +/* log a state record recording pyro initiation time on test stand */ +void +ao_log_staticstart(void) +{ + log.type = AO_LOG_STATE; + log.tick = ao_time(); + log.u.state.state = ao_flight_boost; + ao_log_firetwo(&log); +} + void ao_log(void) { -- 2.47.2