From fcc206bac0074705339edce6a086d9a8f44a3f21 Mon Sep 17 00:00:00 2001 From: Steffen Date: Thu, 18 Apr 2019 13:32:21 +0200 Subject: [PATCH] Tweak shaky GQ Geiger communication --- gqgeiger.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gqgeiger.c b/gqgeiger.c index b19ac35..ffb35a4 100644 --- a/gqgeiger.c +++ b/gqgeiger.c @@ -35,7 +35,7 @@ int gq_get_cpm(int device) { if (gq_write(device, cmd) == (ssize_t) strlen(cmd)) gq_read(device, buf, 2); - return buf[0] * 256 + buf[1]; + return (buf[0] & 0x3f) * 256 + buf[1]; // upper 2 bits masked out } bool gq_set_heartbeat_off(int device) { @@ -82,7 +82,7 @@ bool gq_write_ack(int device, const char *cmd) { } int gq_write(int device, const char *cmd) { - return write(device, cmd, strlen(cmd)); + return gq_flush(device) ? write(device, cmd, strlen(cmd)) : -1; // clear buffer before send } int gq_read(int device, char *buf, unsigned int len) {