diff --git a/src/main.c b/src/main.c index 8441a67..0466757 100644 --- a/src/main.c +++ b/src/main.c @@ -147,11 +147,17 @@ int main(int argc, char **argv) rtty.devid = optarg; break; case 'i': - rtty.heartbeat = atof(optarg); + rtty.heartbeat = atoi(optarg); + if (rtty.heartbeat < 5) { - rtty.heartbeat = 5.0; + rtty.heartbeat = 5; log_warn("Heartbeat interval too short, set to 5s\n"); } + + if (rtty.heartbeat > 255) { + rtty.heartbeat = 255; + log_warn("Heartbeat interval too long, set to 255s\n"); + } break; case 'h': rtty.host = optarg; diff --git a/src/rtty.h b/src/rtty.h index 9951eb2..1e28844 100644 --- a/src/rtty.h +++ b/src/rtty.h @@ -95,7 +95,7 @@ struct rtty { struct ev_io ior; struct ev_timer tmr; struct ev_loop *loop; - ev_tstamp heartbeat; + int heartbeat; bool wait_heartbeat; bool registered; bool reconnect;