fix: don't manually re-arm SRQ in menu nav
This commit is contained in:
20
main.c
20
main.c
@@ -2184,14 +2184,15 @@ static void enter_menu_mode(void) {
|
||||
save_dmm_state();
|
||||
// Trigger Hold (T4) to make sure no new measurements
|
||||
// interrupt our display while we're going through the menu
|
||||
gpib_send(sys_cfg.dmm_addr, HP3478A_TRIG_HOLD);
|
||||
// also clear SRQ here manually so we don't increment menu entry
|
||||
// the earlier we clear status bits, the better
|
||||
gpib_send(sys_cfg.dmm_addr, HP3478A_TRIG_HOLD HP3478A_CMD_SRQ_CLEAR);
|
||||
|
||||
app.current_mode = MODE_MENU;
|
||||
app.menu_pos = MENU_REL;
|
||||
app.data.menu.timer = millis();
|
||||
|
||||
dmm_display("M: REL", HP3478A_DISP_TEXT_FAST);
|
||||
gpib_send(sys_cfg.dmm_addr, HP3478A_CMD_MASK_BTN_ONLY HP3478A_CMD_SRQ_CLEAR);
|
||||
}
|
||||
|
||||
static void handle_feature_logic(void) {
|
||||
@@ -2675,11 +2676,6 @@ static void handle_menu_navigation(void) {
|
||||
// update display
|
||||
prepare_menu_base_string();
|
||||
dmm_display(scratch.disp.full_cmd, HP3478A_DISP_TEXT_FAST);
|
||||
|
||||
// re-arm SRQ
|
||||
gpib_send(sys_cfg.dmm_addr,
|
||||
HP3478A_CMD_MASK_BTN_ONLY HP3478A_CMD_SRQ_CLEAR);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -2694,10 +2690,13 @@ static void handle_menu_navigation(void) {
|
||||
if (dots > 3) dots = 3;
|
||||
|
||||
for (int i = 0; i < dots; i++) strcat(scratch.disp.full_cmd, ".");
|
||||
}
|
||||
dmm_display(scratch.disp.full_cmd, HP3478A_DISP_TEXT_FAST);
|
||||
|
||||
if (elapsed > sys_cfg.menu_commit_delay_ms) {
|
||||
// this does a strncmp every time :c
|
||||
dmm_display(scratch.disp.full_cmd, HP3478A_DISP_TEXT_FAST);
|
||||
}
|
||||
|
||||
if (elapsed <= sys_cfg.menu_commit_delay_ms) return;
|
||||
|
||||
// L0: main menu
|
||||
if (app.data.menu.layer == SUBMENU_NONE) {
|
||||
if (app.menu_pos == MENU_TEMP) {
|
||||
@@ -2751,7 +2750,6 @@ static void handle_menu_navigation(void) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void cmd_help(void) {
|
||||
static const char* help_text =
|
||||
|
||||
Reference in New Issue
Block a user