diff options
Diffstat (limited to 'wirish')
-rw-r--r-- | wirish/boards.h | 8 | ||||
-rw-r--r-- | wirish/time.c | 2 | ||||
-rw-r--r-- | wirish/time.h | 7 |
3 files changed, 10 insertions, 7 deletions
diff --git a/wirish/boards.h b/wirish/boards.h index 617a7ad..03d0b0e 100644 --- a/wirish/boards.h +++ b/wirish/boards.h @@ -72,10 +72,10 @@ typedef struct ExtiInfo { } ExtiInfo; // LeafLabs Maple rev3, rev4 -#ifdef BOARD_maple +#ifdef BOARD_maple #define CYCLES_PER_MICROSECOND 72 - #define MAPLE_RELOAD_VAL 72000 + #define MAPLE_RELOAD_VAL 71999 /* takes a cycle to reload */ static __attribute__ ((unused)) PinMapping PIN_MAP[NR_GPIO_PINS] = { {GPIOA_BASE, 3, ADC3, TIMER2_CH4_CCR}, // D0/PA3 @@ -142,10 +142,10 @@ typedef struct ExtiInfo { #endif // LeafLabs Maple Native (prototype) -#ifdef BOARD_maple_native +#ifdef BOARD_maple_native #define CYCLES_PER_MICROSECOND 72 - #define MAPLE_RELOAD_VAL 72000 + #define MAPLE_RELOAD_VAL 71999 /* takes a cycle to reload */ // TODO: static __attribute__ ((unused)) PinMapping PIN_MAP[NR_GPIO_PINS] = { diff --git a/wirish/time.c b/wirish/time.c index ea8ebe1..eaa3c9e 100644 --- a/wirish/time.c +++ b/wirish/time.c @@ -23,7 +23,7 @@ * ****************************************************************************/ /** - * @brief + * @brief */ #include "libmaple.h" diff --git a/wirish/time.h b/wirish/time.h index f73d133..ad39057 100644 --- a/wirish/time.h +++ b/wirish/time.h @@ -23,7 +23,7 @@ * ****************************************************************************/ /** - * @brief + * @brief */ #ifndef _TIME_H @@ -59,7 +59,10 @@ static inline uint32 micros(void) { nvic_globalirq_enable(); - res = (ms * US_PER_MS) + (MAPLE_RELOAD_VAL - cycle_cnt)/CYCLES_PER_MICROSECOND; + /* MAPLE_RELOAD_VAL is 1 less than the number of cycles it actually + takes to complete a systick reload */ + res = (ms * US_PER_MS) + + (MAPLE_RELOAD_VAL + 1 - cycle_cnt)/CYCLES_PER_MICROSECOND; return res; } |