diff options
Diffstat (limited to 'instr-daemon.c')
-rw-r--r-- | instr-daemon.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/instr-daemon.c b/instr-daemon.c index 255b294..4924961 100644 --- a/instr-daemon.c +++ b/instr-daemon.c @@ -413,14 +413,19 @@ static gboolean periodic_poll (void) globals.VxiLocks.command_in_progress = TRUE; GPIB_check_for_device_clear_signal(); + if (GPIB_check_for_messages(globals.Registers.gpib_input_buffer)) { if (GPIB_handle_new_input(globals.Registers.gpib_input_buffer)) { - Parser_main(globals.Registers.gpib_input_buffer, 0, GPIB_send_query_response, NULL); + Parser_main(globals.Registers.gpib_input_buffer, 0, GPIB_start_query_response, NULL); } } + + // send response if appropriate + GPIB_finish_query_response(); + GPIB_check_for_device_clear_signal(); - // tell VXI servers that the 4882 subsystem is avilable again + // tell VXI servers that the 4882 subsystem is available again globals.VxiLocks.command_in_progress = FALSE; } |