From: Keith Packard Date: Mon, 1 Apr 2013 08:58:37 +0000 (-0700) Subject: altos: Flush the on-board mega log after every sample interval. X-Git-Tag: altosdroid_v1.2-1~46 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=a764bf06d0975cbf1620b079351c7437053ea1a8 altos: Flush the on-board mega log after every sample interval. SPI flash parts don't need flushing, but the SD card does. Make sure the SD card contents are sane after every logging interval has passed by flushing all dirty blocks to the device. Signed-off-by: Keith Packard --- diff --git a/src/core/ao_log.h b/src/core/ao_log.h index 036d6f2d..cac78771 100644 --- a/src/core/ao_log.h +++ b/src/core/ao_log.h @@ -268,4 +268,7 @@ ao_log_data(__xdata struct ao_log_record *log) __reentrant; uint8_t ao_log_mega(__xdata struct ao_log_mega *log) __reentrant; +void +ao_log_flush(void); + #endif /* _AO_LOG_H_ */ diff --git a/src/core/ao_log_mega.c b/src/core/ao_log_mega.c index e03687ad..ba3f7bfc 100644 --- a/src/core/ao_log_mega.c +++ b/src/core/ao_log_mega.c @@ -171,6 +171,8 @@ ao_log(void) } #endif + ao_log_flush(); + /* Wait for a while */ ao_delay(AO_MS_TO_TICKS(100)); diff --git a/src/drivers/ao_log_fat.c b/src/drivers/ao_log_fat.c index 2741555f..6b433b99 100644 --- a/src/drivers/ao_log_fat.c +++ b/src/drivers/ao_log_fat.c @@ -83,3 +83,9 @@ ao_log_mega(struct ao_log_mega *log) ao_mutex_put(&log_mutex); return wrote; } + +void +ao_log_flush(void) +{ + ao_fat_sync(); +}