From 4147a87b5f1b8127d88361d2eef1176ef12c0829 Mon Sep 17 00:00:00 2001 From: Ari Cooper-Davis Date: Sun, 18 Jun 2023 18:50:18 +0100 Subject: [PATCH 1/2] Add config option for default discard post-measure --- bootloader/config.c | 8 +++++++- bootloader/config.h | 2 ++ firmware/config.c | 8 +++++++- firmware/config.h | 2 ++ firmware/interface.c | 7 +++++++ firmware/measure.c | 6 ++++++ 6 files changed, 31 insertions(+), 2 deletions(-) diff --git a/bootloader/config.c b/bootloader/config.c index 7c216ef..59dcdd3 100644 --- a/bootloader/config.c +++ b/bootloader/config.c @@ -23,7 +23,8 @@ struct CONFIG default_config = { METRIC, //metric units 120, //2 minute timeout false, //no bluetooth module - false //normal display style (not compact) + false, //normal display style (not compact) + false //don't discard measurements by default }; struct CONFIG config; @@ -78,3 +79,8 @@ void config_set_timeout(int32_t timeout) { config.timeout = timeout; config_save(); } + +void config_set_discard(int32_t on) { + config.discard = on; + config_save(); +} diff --git a/bootloader/config.h b/bootloader/config.h index c4bd269..db78f68 100644 --- a/bootloader/config.h +++ b/bootloader/config.h @@ -51,6 +51,7 @@ struct __attribute__((aligned(8))) CONFIG { uint16_t timeout; unsigned dummy :1; unsigned compact :1; + unsigned discard :1; }; /* Note it is important to keep this as a union to ensure that no other data/ program @@ -76,6 +77,7 @@ void config_set_units(int32_t units); void config_set_style(int32_t style); void config_set_compact(int32_t on); void config_set_timeout(int32_t timeout); +void config_set_discard(int32_t on); #endif #ifdef TEST diff --git a/firmware/config.c b/firmware/config.c index 400bdcf..b725c8d 100644 --- a/firmware/config.c +++ b/firmware/config.c @@ -24,7 +24,8 @@ struct CONFIG default_config = { METRIC, //metric units 120, //2 minute timeout false, //no bluetooth module - false //normal display style (not compact) + false, //normal display style (not compact) + false //don't discard measurements by default }; struct CONFIG config; @@ -80,3 +81,8 @@ void config_set_timeout(int32_t timeout) { config.timeout = timeout; config_save(); } + +void config_set_discard(int32_t on) { + config.discard = on; + config_save(); +} diff --git a/firmware/config.h b/firmware/config.h index cbcb117..7d4dd93 100644 --- a/firmware/config.h +++ b/firmware/config.h @@ -51,6 +51,7 @@ struct __attribute__((aligned(8))) CONFIG { uint16_t timeout; unsigned dummy :1; unsigned compact :1; + unsigned discard :1; }; /* Note it is important to keep this as a union to ensure that no other data/ program @@ -76,6 +77,7 @@ void config_set_units(int32_t units); void config_set_style(int32_t style); void config_set_compact(int32_t on); void config_set_timeout(int32_t timeout); +void config_set_discard(int32_t on); #endif #ifdef TEST diff --git a/firmware/interface.c b/firmware/interface.c index f648d94..766cb0b 100644 --- a/firmware/interface.c +++ b/firmware/interface.c @@ -53,6 +53,12 @@ DECLARE_MENU(style_menu, { {"Back", Back, {NULL}, 0} }); +DECLARE_MENU(discard_menu, { + {"Show menu", Action, {config_set_discard}, 0}, + {"Auto-discard", Action, {config_set_discard}, 1}, + {"Back", Back, {NULL}, 0} +}); + DECLARE_MENU(units_menu, { {"Metric", Action, {config_set_units}, METRIC}, {"Imperial", Action, {config_set_units}, IMPERIAL}, @@ -64,6 +70,7 @@ DECLARE_MENU(settings_menu, { /* settings menu */ {"Style >", SubMenu, .submenu = &style_menu, 0}, {"Display >", SubMenu, .submenu = &display_menu, 0}, {"Timeout >", SubMenu, .submenu = &timeout_menu, 0}, + {"Post-measure >", SubMenu, .submenu = &discard_menu, 0}, {"Set Date", Action, {datetime_set_date}, 0}, {"Set Time", Action, {datetime_set_time}, 0}, {"Back", Back, {NULL}, 0}, diff --git a/firmware/measure.c b/firmware/measure.c index 22a0490..4c2636b 100644 --- a/firmware/measure.c +++ b/firmware/measure.c @@ -237,6 +237,12 @@ void measure_show_reading(void) { // set up menus if (bt_present) bt_send_measurement(); menu_clear(&measure_menu); + if (config.discard) { + laser_off(); + wdt_clear(); + delay_ms(50); + return; + } if (config.display_style==CARTESIAN) { add_cartesian_entries_to_menu(&measure_menu); } else { From 464c7f35bf138d700c944df77db33d4776c26af3 Mon Sep 17 00:00:00 2001 From: Ari Cooper-Davis Date: Mon, 17 Jul 2023 14:58:00 +0100 Subject: [PATCH 2/2] Shorten default discard menu text --- firmware/interface.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/firmware/interface.c b/firmware/interface.c index 766cb0b..494e374 100644 --- a/firmware/interface.c +++ b/firmware/interface.c @@ -54,8 +54,8 @@ DECLARE_MENU(style_menu, { }); DECLARE_MENU(discard_menu, { - {"Show menu", Action, {config_set_discard}, 0}, - {"Auto-discard", Action, {config_set_discard}, 1}, + {"Show Menu", Action, {config_set_discard}, 0}, + {"Discard", Action, {config_set_discard}, 1}, {"Back", Back, {NULL}, 0} }); @@ -70,7 +70,7 @@ DECLARE_MENU(settings_menu, { /* settings menu */ {"Style >", SubMenu, .submenu = &style_menu, 0}, {"Display >", SubMenu, .submenu = &display_menu, 0}, {"Timeout >", SubMenu, .submenu = &timeout_menu, 0}, - {"Post-measure >", SubMenu, .submenu = &discard_menu, 0}, + {"Post-shot >", SubMenu, .submenu = &discard_menu, 0}, {"Set Date", Action, {datetime_set_date}, 0}, {"Set Time", Action, {datetime_set_time}, 0}, {"Back", Back, {NULL}, 0},