diff options
Diffstat (limited to 'led_sysdefs.h')
-rw-r--r-- | led_sysdefs.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/led_sysdefs.h b/led_sysdefs.h index 57dc605d..a6711a9d 100644 --- a/led_sysdefs.h +++ b/led_sysdefs.h @@ -2,15 +2,43 @@ #define __INC_LED_SYSDEFS_H #if defined(__MK20DX128__) || defined(__MK20DX256__) + #define FASTLED_TEENSY3 #define FASTLED_ARM +#define FASTLED_ACCURATE_CLOCK +#ifndef INTERRUPT_THRESHOLD +#define INTERRUPT_THRESHOLD 5 +#endif #if (F_CPU == 96000000) #define CLK_DBL 1 #endif + #elif defined(__SAM3X8E__) + #define FASTLED_ARM + +// Setup DUE timer defines/channels/etc... +#ifndef DUE_TIMER_CHANNEL +#define DUE_TIMER_GROUP 0 +#endif + +#ifndef DUE_TIMER_CHANNEL +#define DUE_TIMER_CHANNEL 0 +#endif + +#define DUE_TIMER ((DUE_TIMER_GROUP==0) ? TC0 : ((DUE_TIMER_GROUP==1) ? TC1 : TC2)) +#define DUE_TIMER_ID (ID_TC0 + (DUE_TIMER_GROUP*3) + DUE_TIMER_CHANNEL) +#define DUE_TIMER_VAL (DUE_TIMER->TC_CHANNEL[DUE_TIMER_CHANNEL].TC_CV << 1) +#define DUE_TIMER_RUNNING ((DUE_TIMER->TC_CHANNEL[DUE_TIMER_CHANNEL].TC_SR & TC_SR_CLKSTA) != 0) + #else + #define FASTLED_AVR +#define FASTLED_ACCURATE_CLOCK +#ifndef INTERRUPT_THRESHOLD +#define INTERRUPT_THRESHOLD 10 +#endif + #endif #ifndef CLK_DBL @@ -53,4 +81,10 @@ typedef volatile uint8_t RwReg; /**< Read-Write 8-bit register (volatile u # define INLINE_SCALE(B, SCALE) B = scale8_video(B, SCALE) #endif +#define CLKS_PER_US (F_CPU/1000000) + +#ifndef INTERRUPT_THRESHOLD +#define INTERRUPT_THRESHOLD 5 +#endif + #endif |