telefiretwo: log a state-change "boost" record when igniting pyro
authorBdale Garbee <bdale@gag.com>
Thu, 27 Apr 2017 21:23:09 +0000 (15:23 -0600)
committerBdale Garbee <bdale@gag.com>
Thu, 27 Apr 2017 21:23:09 +0000 (15:23 -0600)
src/drivers/ao_pad.c
src/kernel/ao_log.h
src/kernel/ao_log_firetwo.c

index 16b4ae60eb19e4d8ee23eff06f930a8fc12828a3..636ad40cc8bfd918fe66c8f15576f3b17cd6ab38 100644 (file)
@@ -17,6 +17,7 @@
  */
 
 #include <ao.h>
+#include <ao_log.h>
 #include <ao_pad.h>
 #include <ao_74hc165.h>
 #include <ao_radio_cmac.h>
@@ -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:
index 5c568c99e9e3bdd34906c14c92a1bf30d0f27a17..abc0dc4974cf6d5fa41ebc9c20a3e126a78ec1ff 100644 (file)
@@ -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);
 
index 1a82673d4344e387e505148dcd58815409056ea0..5d3b866bca7fc4d1697be250d4734ce178fcb258 100644 (file)
@@ -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)
 {