From ff66ea896b11893b1b05f0e8498c1db92ea6630b Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 11 Sep 2019 15:16:20 +0200 Subject: [PATCH] ssp clock delta --- armsrc/ticks.c | 7 +++++++ armsrc/ticks.h | 1 + 2 files changed, 8 insertions(+) diff --git a/armsrc/ticks.c b/armsrc/ticks.c index 43555b21b..1510de490 100644 --- a/armsrc/ticks.c +++ b/armsrc/ticks.c @@ -185,6 +185,13 @@ uint32_t RAMFUNC GetCountSspClk(void) { return tmp_count; } +uint32_t RAMFUNC GetCountSspClkDelta(uint32_t start) { + uint32_t stop = GetCountSspClk(); + if ( stop >= start ) + return stop - start; + return (UINT32_MAX - start) + stop; +} + // ------------------------------------------------------------------------- // Timer for bitbanging, or LF stuff when you need a very precis timer // 1us = 1.5ticks diff --git a/armsrc/ticks.h b/armsrc/ticks.h index 089501c87..e036e018c 100644 --- a/armsrc/ticks.h +++ b/armsrc/ticks.h @@ -33,6 +33,7 @@ void SpinDelayCountUs(uint32_t us); void StartCountSspClk(); void ResetSspClk(void); uint32_t RAMFUNC GetCountSspClk(); +uint32_t RAMFUNC GetCountSspClkDelta(); void StartTicks(void); uint32_t GetTicks(void);