From 6e254480dd18f9019021f5d2b6dafb15afdbe443 Mon Sep 17 00:00:00 2001 From: Andras Salamon Date: Wed, 18 Apr 2018 12:42:32 +0200 Subject: [PATCH] timeval_diff simplification --- pktriggercord-cli.c | 6 +++--- pktriggercord-servermode.c | 9 +++++---- pktriggercord-servermode.h | 2 +- pktriggercord.c | 6 +++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/pktriggercord-cli.c b/pktriggercord-cli.c index f514218..6880e57 100644 --- a/pktriggercord-cli.c +++ b/pktriggercord-cli.c @@ -319,7 +319,7 @@ void bulb_old(pslr_handle_t camhandle, pslr_rational_t shutter_speed, struct tim pslr_bulb( camhandle, true ); pslr_shutter(camhandle); gettimeofday(¤t_time, NULL); - double waitsec = 1.0 * shutter_speed.nom / shutter_speed.denom - timeval_diff(¤t_time, &prev_time) / 1000000.0; + double waitsec = 1.0 * shutter_speed.nom / shutter_speed.denom - timeval_diff_sec(¤t_time, &prev_time); if ( waitsec < 0 ) { waitsec = 0; } @@ -1067,7 +1067,7 @@ int main(int argc, char **argv) { } pslr_connect(camhandle); } - waitsec = 1.0 * delay - timeval_diff(¤t_time, &prev_time) / 1000000.0; + waitsec = 1.0 * delay - timeval_diff_sec(¤t_time, &prev_time); if ( waitsec > 0 ) { printf("Waiting for %.2f sec\n", waitsec); sleep_sec( waitsec ); @@ -1086,7 +1086,7 @@ int main(int argc, char **argv) { } gettimeofday (¤t_time, NULL); - if ( timeout != 0 && ( timeval_diff(¤t_time, &prev_time) / 1000000.0 >= timeout) ) { + if ( timeout != 0 && ( timeval_diff_sec(¤t_time, &prev_time) >= timeout) ) { printf("Timeout %d sec passed!\n", timeout); break; } diff --git a/pktriggercord-servermode.c b/pktriggercord-servermode.c index 9ed2c92..649242a 100644 --- a/pktriggercord-servermode.c +++ b/pktriggercord-servermode.c @@ -41,8 +41,9 @@ #include "pslr.h" #include "pslr_lens.h" -long int timeval_diff(struct timeval *t2, struct timeval *t1) { - return (t2->tv_usec - t1->tv_usec) + 1000000 * (t2->tv_sec - t1->tv_sec); +double timeval_diff_sec(struct timeval *t2, struct timeval *t1) { + //DPRINT("tv2 %ld %ld t1 %ld %ld\n", t2->tv_sec, t2->tv_usec, t1->tv_sec, t1->tv_usec); + return (t2->tv_usec - t1->tv_usec) / 1000000.0 + (t2->tv_sec - t1->tv_sec); } void camera_close(pslr_handle_t camhandle) { @@ -59,8 +60,8 @@ pslr_handle_t camera_connect( char *model, char *device, int timeout, char *erro gettimeofday(&prev_time, NULL); while (!(camhandle = pslr_init( model, device ))) { gettimeofday(¤t_time, NULL); - DPRINT("diff: %f\n", timeval_diff(¤t_time, &prev_time) / 1000000.0); - if ( timeout == 0 || timeout > timeval_diff(¤t_time, &prev_time) / 1000000.0 ) { + DPRINT("diff: %f\n", timeval_diff_sec(¤t_time, &prev_time)); + if ( timeout == 0 || timeout > timeval_diff_sec(¤t_time, &prev_time)) { DPRINT("sleep 1 sec\n"); sleep_sec(1); } else { diff --git a/pktriggercord-servermode.h b/pktriggercord-servermode.h index aaec0d2..8d411b5 100644 --- a/pktriggercord-servermode.h +++ b/pktriggercord-servermode.h @@ -35,6 +35,6 @@ pslr_handle_t camera_connect( char *model, char *device, int timeout, char *erro void camera_close(pslr_handle_t camhandle); -long int timeval_diff(struct timeval *t2, struct timeval *t1); +double timeval_diff_sec(struct timeval *t2, struct timeval *t1); #endif diff --git a/pktriggercord.c b/pktriggercord.c index 23e592f..dff5eae 100644 --- a/pktriggercord.c +++ b/pktriggercord.c @@ -1070,16 +1070,16 @@ static void update_image_areas(int buffer, bool main) { DPRINT("update_image_areas\n"); struct timeval current_time; gettimeofday(¤t_time, NULL); - long int bulb_remain_sec = timeval_diff(&expected_bulb_end_time, ¤t_time) / 1000000.0; + double bulb_remain_sec = timeval_diff_sec(&expected_bulb_end_time, ¤t_time); GtkButton *shutterButton = (GtkButton *)GW("shutter_button"); while (bulb_remain_sec>0) { static gchar bulb_message[100]; - sprintf (bulb_message, "BULB -> wait : %ld seconds", bulb_remain_sec); + sprintf (bulb_message, "BULB -> wait : %.0f seconds", bulb_remain_sec); gtk_button_set_label(shutterButton, bulb_message); sleep_sec(1); wait_for_gtk_events_pending(); gettimeofday(¤t_time, NULL); - bulb_remain_sec = timeval_diff(&expected_bulb_end_time, ¤t_time) / 1000000.0; + bulb_remain_sec = timeval_diff_sec(&expected_bulb_end_time, ¤t_time); } gtk_button_set_label(shutterButton, "Take picture");