From 64e210f284eb70b919a2086c3ab1015d2f805d5b Mon Sep 17 00:00:00 2001 From: sorgelig Date: Fri, 8 May 2020 04:29:41 +0800 Subject: [PATCH] pcecd: use absolute time for timer. --- support/pcecd/pcecd.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/support/pcecd/pcecd.cpp b/support/pcecd/pcecd.cpp index 54bb7e3..8eae783 100644 --- a/support/pcecd/pcecd.cpp +++ b/support/pcecd/pcecd.cpp @@ -20,9 +20,11 @@ void pcecd_poll() static uint8_t last_req = 0; static uint8_t adj = 0; - if (!poll_timer || CheckTimer(poll_timer)) + if (!poll_timer) poll_timer = GetTimer(13); + + if (CheckTimer(poll_timer)) { - poll_timer = GetTimer(13 + (!adj ? 1 : 0)); + poll_timer += 13 + (!adj ? 1 : 0); if (++adj >= 3) adj = 0; if (pcecdd.has_status) { @@ -102,6 +104,7 @@ void pcecd_poll() if (need_reset) { need_reset = 0; pcecdd.Reset(); + poll_timer = 0; printf("\x1b[32mPCECD: Reset\n\x1b[0m"); }