From 8c7ee88332652e7e79f6c1e4baacabe2183f7e8e Mon Sep 17 00:00:00 2001 From: root Date: Tue, 2 Mar 2021 12:54:03 +0000 Subject: working, with hybrid FLL/PLL, new refclk input and support for max7219 displays, neo 5 and neo 7 and a bazillion other fixes --- app/abs.c | 121 -------------------------------------------------------------- 1 file changed, 121 deletions(-) (limited to 'app/abs.c') diff --git a/app/abs.c b/app/abs.c index 7a6b5d5..636b721 100644 --- a/app/abs.c +++ b/app/abs.c @@ -1,124 +1,3 @@ #include "project.h" -static uint32_t high_tick; - -#if HW_CLOCK_LEN == 32 - -#define QUARTER (1UL << 29) -#define HALF (1UL << 30) -#define THREE_QUARTERS (HALF+QUARTER) -#define ONE (~(uint32_t)0) - - -uint64_t abs_extend (uint32_t now) -{ - static int m; - uint64_t ret; - - - if (!m) { - ret = high_tick; - ret <<= 32; - ret |= now; - - - if ((now > THREE_QUARTERS) && (now <= ONE)) { - high_tick++; - m = 1; - } - - } else { - if (now < HALF) { - ret = high_tick; - ret <<= 32; - ret |= now; - } else { - ret = high_tick - 1; - ret <<= 32; - ret |= now; - } - - if ((now > QUARTER) && (now < HALF)) - m = 0; - } - - return ret; -} -#elif HW_CLOCK_LEN == 31 - -#define QUARTER (1UL << 28) -#define HALF (1UL << 29) -#define THREE_QUARTERS (HALF+QUARTER) -#define ONE (0x7fffffff) - - -uint64_t abs_extend (uint32_t now) -{ - static int m; - uint64_t ret; - - - if (!m) { - ret = high_tick; - ret <<= 31; - ret |= now; - - if ((now > THREE_QUARTERS) && (now <= ONE)) { - high_tick++; - m = 1; - } - - } else { - if (now < HALF) { - ret = high_tick; - ret <<= 31; - ret |= now; - } else { - ret = high_tick - 1; - ret <<= 31; - ret |= now; - } - - if ((now > QUARTER) && (now < HALF)) - m = 0; - } - - return ret; -} - - - - - -#else -#error unknown hardware clock length -#endif - - - - - - - - -void abs_meh (void) -{ - printf ("HT %d\n", (int) high_tick); -} - - - - - -uint64_t abs_get (void) -{ - uint32_t now = HW_CLOCK_REG; - return abs_extend (now); -} - - -void abs_slow_tick() -{ - abs_get(); -} -- cgit v1.2.3