From 41afcfab5e20de9c3e45d23901ee92b88a438cfd Mon Sep 17 00:00:00 2001 From: erikkaashoek Date: Sat, 14 Jan 2023 11:45:32 +0100 Subject: [PATCH] SETTING_MAGIC and STORE slot name --- flash.c | 8 ++++---- main.c | 2 +- nanovna.h | 1 + sa_core.c | 2 +- ui.c | 12 ++++++++++-- vna_browser.c | 2 +- 6 files changed, 18 insertions(+), 9 deletions(-) diff --git a/flash.c b/flash.c index cbacf5c..52775a7 100644 --- a/flash.c +++ b/flash.c @@ -138,7 +138,7 @@ caldata_save(uint16_t id) dst = (uint16_t*)(SAVE_PROP_CONFIG_ADDR + id * SAVE_PROP_CONFIG_SIZE); - setting.magic = CONFIG_MAGIC; + setting.magic = SETTING_MAGIC; setting.checksum = 0x12345678; setting.checksum = checksum( &setting, @@ -188,7 +188,7 @@ caldata_pointer(uint16_t id) // point to saved area on the flash memory src = (setting_t*)(SAVE_PROP_CONFIG_ADDR + id * SAVE_PROP_CONFIG_SIZE); - if (src->magic != CONFIG_MAGIC) + if (src->magic != SETTING_MAGIC) return NULL; // if (SDU1.config->usbp->state == USB_ACTIVE) shell_printf("Checksum %x\r\n", src->checksum); if (checksum(src, @@ -211,7 +211,7 @@ caldata_recall(uint16_t id) // point to saved area on the flash memory src = (setting_t*)(SAVE_PROP_CONFIG_ADDR + id * SAVE_PROP_CONFIG_SIZE); - if (src->magic != CONFIG_MAGIC) + if (src->magic != SETTING_MAGIC) return -1; // if (SDU1.config->usbp->state == USB_ACTIVE) shell_printf("Checksum %x\r\n", src->checksum); if (checksum(src, @@ -255,7 +255,7 @@ caldata_ref(int id) return NULL; src = (const setting_t*)saveareas[id]; - if (src->magic != CONFIG_MAGIC) + if (src->magic != SETTING_MAGIC) return NULL; if (checksum(src, sizeof *src - sizeof src->checksum) != src->checksum) return NULL; diff --git a/main.c b/main.c index da543b6..c6300c3 100644 --- a/main.c +++ b/main.c @@ -1078,7 +1078,7 @@ static const marker_t def_markers[MARKERS_MAX] = { void load_LCD_properties(void) { //Magic add on caldata_save -//setting.magic = CONFIG_MAGIC; +//setting.magic = SETTING_MAGIC; setting._sweep_points = POINTS_COUNT; setting.trace_scale = 10.0; setting.trace_refpos = 0; diff --git a/nanovna.h b/nanovna.h index 99108b4..bc204bd 100644 --- a/nanovna.h +++ b/nanovna.h @@ -1387,6 +1387,7 @@ typedef struct properties { //sizeof(properties_t) == 0x1200 #define CONFIG_MAGIC 0x434f4e60 /* 'CONF' */ +#define SETTING_MAGIC 0x434f4e60 extern int16_t lastsaveid; //extern properties_t *active_props; diff --git a/sa_core.c b/sa_core.c index c2e8319..d8c179e 100644 --- a/sa_core.c +++ b/sa_core.c @@ -4760,7 +4760,7 @@ again: // Spur redu // pureRSSI_t rssi = (RSSI>0 ? RSSI + correct_RSSI + correct_RSSI_freq : IGNORE_RSSI); // add correction pureRSSI_t rssi = RSSI; if (false) { - abort: +// abort: rssi = 0; } return rssi; diff --git a/ui.c b/ui.c index c8c2d26..4fdc41a 100644 --- a/ui.c +++ b/ui.c @@ -1889,7 +1889,15 @@ static UI_FUNCTION_ADV_CALLBACK(menu_store_preset_acb) { (void)item; if(b){ +#if 1 + setting_t *p = caldata_pointer(data); + if (p) + plot_printf(b->text, sizeof(b->text), "%.6FHz\n%.6FHz", (float)p->frequency0, (float)p->frequency1); + else + plot_printf(b->text, sizeof(b->text), "STORE %d", (int)data); +#else b->param_1.u = data; +#endif return; } if (data >= 100) { @@ -3708,7 +3716,7 @@ static const menuitem_t menu_back[] = { static const menuitem_t menu_store_preset[] = { { MT_ADV_CALLBACK, 0, "STORE AS\nSTARTUP",menu_store_preset_acb}, - { MT_ADV_CALLBACK |MT_REPEATS, DATA_STARTS_REPEATS(1,4), "STORE %d", menu_store_preset_acb}, + { MT_ADV_CALLBACK |MT_REPEATS, DATA_STARTS_REPEATS(1,4), MT_CUSTOM_LABEL, menu_store_preset_acb}, #ifdef TINYSA4 { MT_CALLBACK, FMT_PRS_FILE, "STORE\n"S_RARROW"SD", menu_sdcard_cb}, #endif @@ -6927,7 +6935,7 @@ static void sa_save_file(uint8_t format) { { uint16_t *src = (uint16_t*)&setting; int total = sizeof(setting_t); - setting.magic = CONFIG_MAGIC; + setting.magic = SETTING_MAGIC; setting.checksum = 0x12345678; setting.checksum = checksum( &setting, diff --git a/vna_browser.c b/vna_browser.c index 39d8d30..b53635f 100644 --- a/vna_browser.c +++ b/vna_browser.c @@ -252,7 +252,7 @@ finish: uint32_t total = sizeof(setting_t) - sizeof(magic); // Compare file size and try read magic header, if all OK load it if (fno.fsize == sizeof(setting) && f_read(fs_file, &magic, sizeof(magic), &size) == FR_OK && - magic == CONFIG_MAGIC && f_read(fs_file, src, total, &size) == FR_OK) { + magic == SETTING_MAGIC && f_read(fs_file, src, total, &size) == FR_OK) { // TODO remove code duplication with flash.c update_min_max_freq();