mirror of
https://github.com/ttrftech/NanoVNA.git
synced 2025-12-06 03:31:59 +01:00
add clearconfig command
This commit is contained in:
parent
551ece833c
commit
373e56f006
18
flash.c
18
flash.c
|
|
@ -194,3 +194,21 @@ caldata_recall(int id)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const uint32_t save_config_prop_area_size = 0x8000;
|
||||||
|
|
||||||
|
void
|
||||||
|
clear_all_config_prop_data(void)
|
||||||
|
{
|
||||||
|
flash_unlock();
|
||||||
|
|
||||||
|
/* erase flash pages */
|
||||||
|
void *p = (void*)save_config_area;
|
||||||
|
void *tail = p + save_config_prop_area_size;
|
||||||
|
while (p < tail) {
|
||||||
|
flash_erase_page((uint32_t)p);
|
||||||
|
p += FLASH_PAGESIZE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
30
main.c
30
main.c
|
|
@ -191,6 +191,22 @@ static void cmd_saveconfig(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
chprintf(chp, "Config saved.\r\n");
|
chprintf(chp, "Config saved.\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void cmd_clearconfig(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
|
{
|
||||||
|
if (argc != 1) {
|
||||||
|
chprintf(chp, "usage: clearconfig {protection key}\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strcmp(argv[0], "1234") != 0) {
|
||||||
|
chprintf(chp, "Key unmatched.\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
clear_all_config_prop_data();
|
||||||
|
chprintf(chp, "Config and all cal data cleared.\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
int16_t rms[2];
|
int16_t rms[2];
|
||||||
int16_t ave[2];
|
int16_t ave[2];
|
||||||
|
|
@ -313,6 +329,7 @@ static void cmd_dump(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
static void cmd_gamma(BaseSequentialStream *chp, int argc, char *argv[])
|
static void cmd_gamma(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
{
|
{
|
||||||
float gamma[2];
|
float gamma[2];
|
||||||
|
|
@ -327,6 +344,7 @@ static void cmd_gamma(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
|
|
||||||
chprintf(chp, "%d %d\r\n", gamma[0], gamma[1]);
|
chprintf(chp, "%d %d\r\n", gamma[0], gamma[1]);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
int32_t frequency0 = 1000000;
|
int32_t frequency0 = 1000000;
|
||||||
|
|
@ -347,6 +365,7 @@ config_t config = {
|
||||||
/* trace_colors[4] */ { RGB565(0,255,255), RGB565(255,0,40), RGB565(0,0,255), RGB565(50,255,0) },
|
/* trace_colors[4] */ { RGB565(0,255,255), RGB565(255,0,40), RGB565(0,0,255), RGB565(50,255,0) },
|
||||||
///* touch_cal[4] */ { 620, 600, 160, 190 },
|
///* touch_cal[4] */ { 620, 600, 160, 190 },
|
||||||
/* touch_cal[4] */ { 620, 600, 130, 180 },
|
/* touch_cal[4] */ { 620, 600, 130, 180 },
|
||||||
|
/* default_loadcal */ 0,
|
||||||
/* checksum */ 0
|
/* checksum */ 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -385,7 +404,7 @@ ensure_edit_config(void)
|
||||||
cal_status = 0;
|
cal_status = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
static void cmd_scan(BaseSequentialStream *chp, int argc, char *argv[])
|
static void cmd_scan(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
{
|
{
|
||||||
float gamma[2];
|
float gamma[2];
|
||||||
|
|
@ -412,6 +431,7 @@ static void cmd_scan(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
}
|
}
|
||||||
chMtxUnlock(&mutex);
|
chMtxUnlock(&mutex);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// main loop for measurement
|
// main loop for measurement
|
||||||
void sweep(void)
|
void sweep(void)
|
||||||
|
|
@ -1336,6 +1356,7 @@ static const ShellCommand commands[] =
|
||||||
{ "time", cmd_time },
|
{ "time", cmd_time },
|
||||||
{ "dac", cmd_dac },
|
{ "dac", cmd_dac },
|
||||||
{ "saveconfig", cmd_saveconfig },
|
{ "saveconfig", cmd_saveconfig },
|
||||||
|
{ "clearconfig", cmd_clearconfig },
|
||||||
{ "data", cmd_data },
|
{ "data", cmd_data },
|
||||||
{ "dump", cmd_dump },
|
{ "dump", cmd_dump },
|
||||||
{ "frequencies", cmd_frequencies },
|
{ "frequencies", cmd_frequencies },
|
||||||
|
|
@ -1343,8 +1364,8 @@ static const ShellCommand commands[] =
|
||||||
{ "stat", cmd_stat },
|
{ "stat", cmd_stat },
|
||||||
{ "gain", cmd_gain },
|
{ "gain", cmd_gain },
|
||||||
{ "power", cmd_power },
|
{ "power", cmd_power },
|
||||||
{ "gamma", cmd_gamma },
|
//{ "gamma", cmd_gamma },
|
||||||
{ "scan", cmd_scan },
|
//{ "scan", cmd_scan },
|
||||||
{ "sweep", cmd_sweep },
|
{ "sweep", cmd_sweep },
|
||||||
{ "test", cmd_test },
|
{ "test", cmd_test },
|
||||||
{ "touchcal", cmd_touchcal },
|
{ "touchcal", cmd_touchcal },
|
||||||
|
|
@ -1427,7 +1448,8 @@ int main(void)
|
||||||
dacStart(&DACD2, &dac1cfg1);
|
dacStart(&DACD2, &dac1cfg1);
|
||||||
|
|
||||||
/* restore frequencies and calibration properties from flash memory */
|
/* restore frequencies and calibration properties from flash memory */
|
||||||
caldata_recall(0);
|
if (config.default_loadcal >= 0)
|
||||||
|
caldata_recall(config.default_loadcal);
|
||||||
|
|
||||||
/* initial frequencies */
|
/* initial frequencies */
|
||||||
update_frequencies();
|
update_frequencies();
|
||||||
|
|
|
||||||
|
|
@ -178,6 +178,7 @@ typedef struct {
|
||||||
uint16_t menu_active_color;
|
uint16_t menu_active_color;
|
||||||
uint16_t trace_color[TRACES_MAX];
|
uint16_t trace_color[TRACES_MAX];
|
||||||
int16_t touch_cal[4];
|
int16_t touch_cal[4];
|
||||||
|
int8_t default_loadcal;
|
||||||
int32_t checksum;
|
int32_t checksum;
|
||||||
} config_t;
|
} config_t;
|
||||||
|
|
||||||
|
|
@ -290,6 +291,8 @@ int caldata_recall(int id);
|
||||||
int config_save(void);
|
int config_save(void);
|
||||||
int config_recall(void);
|
int config_recall(void);
|
||||||
|
|
||||||
|
void clear_all_config_prop_data(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ui.c
|
* ui.c
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue