#ifndef __INC_LED_SYSDEFS_ARM_SAM_H #define __INC_LED_SYSDEFS_ARM_SAM_H #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) #ifndef INTERRUPT_THRESHOLD #define INTERRUPT_THRESHOLD 1 #endif // Default to allowing interrupts #ifndef FASTLED_ALLOW_INTERRUPTS #define FASTLED_ALLOW_INTERRUPTS 1 #endif #if FASTLED_ALLOW_INTERRUPTS == 1 #define FASTLED_ACCURATE_CLOCK #endif // reusing/abusing cli/sei defs for due #define cli() __disable_irq(); __disable_fault_irq(); #define sei() __enable_irq(); __enable_fault_irq(); #endif