The unified diff between revisions [08a35a66..] and [dc88787e..] is displayed below. It can also be downloaded as a raw diff.

This diff has been restricted to the following files: 'sdcard.c'

#
# old_revision [08a35a6680cdf8985cfb16fa6779ee6db7202a9c]
# new_revision [dc88787ecd1d574feba045763baed2a7651ff33d]
#
# patch "sdcard.c"
#  from [31209e9d85b303159ee1479d140e3f429ca8ec90]
#    to [d2762fa54e59dc4bb97f17ac0f3ff90735d55445]
#
============================================================
--- sdcard.c	31209e9d85b303159ee1479d140e3f429ca8ec90
+++ sdcard.c	d2762fa54e59dc4bb97f17ac0f3ff90735d55445
@@ -6,6 +6,7 @@
 #include "timer.h"
 #include "event.h"
 #include "log.h"
+#include "config.h"
 
 #define spi_write_array(x) spi_write_bytes(x, sizeof(x)/sizeof(x[0]))
 
@@ -492,6 +493,7 @@ void sdcard_prepare(void)
 {
 	unsigned int magic;
 	unsigned int start_sector;
+	unsigned int config_sector;
 	unsigned int count;
 
 	if (!sdcard_read(0, log_buffer, 512))
@@ -506,10 +508,12 @@ void sdcard_prepare(void)
 		WRITE_UINT(log_buffer, 0, LOG_MAGIC);
 		start_sector = SDCARD_BOUNDARY_SIZE;
 		log_generation = 0;
+		config_sector = 1;
 		putstr("Did not find header. Formatting.\r\n");
 	} else {
 		start_sector = READ_UINT(log_buffer, 4);
 		log_generation = READ_UINT(log_buffer, 8);
+		config_sector = READ_UINT(log_buffer, 12);
 		count = 0;
 		putstr("Found header.\r\n");
 		putstr("Last started at sector ");
@@ -539,6 +543,7 @@ void sdcard_prepare(void)
 
 	WRITE_UINT(log_buffer, 4, start_sector);
 	WRITE_UINT(log_buffer, 8, log_generation);
+	WRITE_UINT(log_buffer, 12, config_sector);
 
 	putstr("Starting at sector ");
 	putint(start_sector);
@@ -551,7 +556,13 @@ void sdcard_prepare(void)
 
 	sdcard_sector = start_sector;
 	sdcard_offset = 0;
+
+	if (!sdcard_read(config_sector, log_buffer, 512))
+		return;
+
 	log_enabled = TRUE;
+
+	config_init(log_buffer);
 }