diff options
| author | Keith Packard <keithp@keithp.com> | 2009-05-16 20:45:26 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2009-05-16 20:45:26 -0700 | 
| commit | 93d7ce8e054515ed7b166eb042ae7f47e564d21d (patch) | |
| tree | 3528a70549188a42cef8366d694cf9bda88a105c | |
| parent | fec4212a59a7b3321536b25707dcabc43c797c33 (diff) | |
When logging starts up, right the whole ring to the log.
This preserves the data pre boost-detect for later analysis.
Signed-off-by: Keith Packard <keithp@keithp.com>
| -rw-r--r-- | ao_log.c | 12 | 
1 files changed, 9 insertions, 3 deletions
| @@ -124,10 +124,12 @@ ao_log(void)  	log.u.flight.ground_accel = ao_ground_accel;  	log.u.flight.flight = ao_log_dump_flight + 1;  	ao_log_data(&log); -	for (;;) { -		while (!ao_log_running) -			ao_sleep(&ao_log_running); +	/* Write the whole contents of the ring to the log +	 * when starting up. +	 */ +	ao_log_adc_pos = ao_adc_ring_next(ao_adc_head); +	for (;;) {  		/* Write samples to EEPROM */  		while (ao_log_adc_pos != ao_adc_head) {  			log.type = AO_LOG_SENSOR; @@ -164,6 +166,10 @@ ao_log(void)  		/* Wait for a while */  		ao_delay(AO_MS_TO_TICKS(100)); + +		/* Stop logging when told to */ +		while (!ao_log_running) +			ao_sleep(&ao_log_running);  	}  } | 
