From 0089efb953071dbcf36985f718afb8078b68c4e6 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 23 Sep 2019 10:16:42 +0200 Subject: sensor.c: abort after 3 unsuccessful trials --- sensor.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sensor.c b/sensor.c index 834c6bf..706817e 100644 --- a/sensor.c +++ b/sensor.c @@ -38,7 +38,13 @@ int main() { int bit = -3; char data[5]; memset(&data[0], 0, 5); + int trials = 3; while ((bit != 40) || ((data[0]+data[1]+data[2]+data[3]-data[4]) % 255 != 0)) { + trials--; + if (trials <= 0) { + fprintf(stderr, "Failed to obtain valid reading within 3 trials.\n"); + return -1; + } sleep(2); if (bit > -3) fprintf(stderr, "."); -- cgit v1.2.3-54-g00ecf