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); }