Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion bootloader/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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();
}
2 changes: 2 additions & 0 deletions bootloader/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
8 changes: 7 additions & 1 deletion firmware/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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();
}
2 changes: 2 additions & 0 deletions firmware/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
7 changes: 7 additions & 0 deletions firmware/interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@ DECLARE_MENU(style_menu, {
{"Back", Back, {NULL}, 0}
});

DECLARE_MENU(discard_menu, {
{"Show Menu", Action, {config_set_discard}, 0},
{"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},
Expand All @@ -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-shot >", SubMenu, .submenu = &discard_menu, 0},
{"Set Date", Action, {datetime_set_date}, 0},
{"Set Time", Action, {datetime_set_time}, 0},
{"Back", Back, {NULL}, 0},
Expand Down
6 changes: 6 additions & 0 deletions firmware/measure.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down