]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - common/timer.h
Fix rn42.h API
[tmk_firmware.git] / common / timer.h
index 70b008e6c98e38a7c04e8c1f9db6c5695fdb9052..fe23f87aecd6c684bdf9f23e2a6a86669efb91d7 100644 (file)
@@ -20,34 +20,22 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include <stdint.h>
 
-#ifndef TIMER_PRESCALER
-#   if F_CPU > 16000000
-#       define TIMER_PRESCALER      256
-#   elif F_CPU > 2000000
-#       define TIMER_PRESCALER      64
-#   elif F_CPU > 250000
-#       define TIMER_PRESCALER      8
-#   else
-#       define TIMER_PRESCALER      1
-#   endif
+#if defined(__AVR__)
+#include "avr/timer_avr.h"
 #endif
-#define TIMER_RAW_FREQ      (F_CPU/TIMER_PRESCALER)
-#define TIMER_RAW           TCNT0
-#define TIMER_RAW_TOP       (TIMER_RAW_FREQ/1000)
 
-#if (TIMER_RAW_TOP > 255)
-#   error "Timer0 can't count 1ms at this clock freq. Use larger prescaler."
-#endif
 
 #define TIMER_DIFF(a, b, max)   ((a) >= (b) ?  (a) - (b) : (max) - (b) + (a))
 #define TIMER_DIFF_8(a, b)      TIMER_DIFF(a, b, UINT8_MAX)
 #define TIMER_DIFF_16(a, b)     TIMER_DIFF(a, b, UINT16_MAX)
 #define TIMER_DIFF_32(a, b)     TIMER_DIFF(a, b, UINT32_MAX)
+#define TIMER_DIFF_RAW(a, b)    TIMER_DIFF_8(a, b)
 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 extern volatile uint32_t timer_count;
 
 
@@ -57,6 +45,7 @@ uint16_t timer_read(void);
 uint32_t timer_read32(void);
 uint16_t timer_elapsed(uint16_t last);
 uint32_t timer_elapsed32(uint32_t last);
+
 #ifdef __cplusplus
 }
 #endif