diff options
Diffstat (limited to 'include/arch/infineon-tc1796-mock/driver/counter.h')
-rw-r--r-- | include/arch/infineon-tc1796-mock/driver/counter.h | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/include/arch/infineon-tc1796-mock/driver/counter.h b/include/arch/infineon-tc1796-mock/driver/counter.h deleted file mode 100644 index 38d039e..0000000 --- a/include/arch/infineon-tc1796-mock/driver/counter.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2022 Daniel Friesel - * - * SPDX-License-Identifier: BSD-2-Clause - */ -#ifndef COUNTER_H -#define COUNTER_H - -#define STM_TIM0 (*(volatile unsigned int*)0xf0000210) -#define STM_CAP (*(volatile unsigned int*)0xf000022c) - -typedef unsigned int counter_value_t; -typedef unsigned int counter_overflow_t; - -class Counter { - private: - Counter(const Counter ©); - unsigned long long startvalue, stopvalue; - - public: - counter_value_t value; - counter_overflow_t overflow; - - Counter() : overflow(0) {} - - inline void start() { - startvalue = STM_TIM0; - startvalue += (unsigned long long)STM_CAP << 32; - } - - inline void stop() { - stopvalue = STM_TIM0; - stopvalue += (unsigned long long)STM_CAP << 32; - value = (stopvalue - startvalue) & 0xffffffff; - overflow = (unsigned long long)(stopvalue - startvalue) >> 32; - } -}; - -extern Counter counter; - -#endif |