]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/arducontrol.cpp
Avoid hogging the serial link with S88 read commands
[r2c2.git] / source / libr2c2 / arducontrol.cpp
index 2361d8540d561ccff6477836b36fc41ebba114dc..dd4e0574eb7d52c4714e8740db3e99c20be40ed8 100644 (file)
@@ -721,11 +721,17 @@ void ArduControl::RefreshTask::advance()
 ArduControl::S88Task::S88Task(ArduControl &c):
        control(c),
        n_octets(0),
-       octets_remaining(0)
+       octets_remaining(0),
+       delay(0)
 { }
 
 bool ArduControl::S88Task::get_work(PendingCommand &cmd)
 {
+       if(delay)
+       {
+               --delay;
+               return false;
+       }
        if(octets_remaining || !n_octets)
                return false;
 
@@ -734,6 +740,8 @@ bool ArduControl::S88Task::get_work(PendingCommand &cmd)
        cmd.command[1] = octets_remaining;
        cmd.length = 2;
 
+       delay = 4;
+
        return true;
 }