diff --git a/dda_queue.c b/dda_queue.c index c4b1b85..ab905fc 100644 --- a/dda_queue.c +++ b/dda_queue.c @@ -108,8 +108,9 @@ void next_move() { } #ifdef XONXOFF - // restart transmission - xon(); + // restart transmission if the move buffer is only half full + if (((mb_tail - mb_head - 1) & (MOVEBUFFER_SIZE - 1)) > (MOVEBUFFER_SIZE / 2)) + xon(); #endif }