51 #ifndef CLASSB_WDT_TEST_H
52 #define CLASSB_WDT_TEST_H
105 #define CLASSB_WDT_WPER WDT_WPER_500CLK_gc
112 #define CLASSB_WDT_PER WDT_PER_250CLK_gc
126 #define CLASSB_WDT_PER_CYCLES (8 * (1 << ( CLASSB_WDT_PER >>2) ) )
133 #define CLASSB_WDT_MAX ( CLASSB_WDT_PER_CYCLES + (CLASSB_WDT_PER_CYCLES >>1) )
139 #define CLASSB_WDT_MIN ( CLASSB_WDT_PER_CYCLES - (CLASSB_WDT_PER_CYCLES >>1) )
151 #define CLASSB_WDT_RTC_PER 2
157 typedef enum classb_preinit_teststate {
163 } classb_preinit_teststate_t;
166 #if defined(__DOXYGEN__)
171 #elif defined(__GNUC__)
173 void __attribute__((__naked__, section(
".init1")))
classb_wdt_test (
void);
175 #define classb_wdt_test void classb_wdt_test
176 #elif defined(__ICCAVR__)
178 #define classb_wdt_test uint8_t __low_level_init
180 #error Unknown compiler!
183 #if defined(__GNUC__) && !defined(__OPTIMIZE__)
184 # error Optimization must be enabled to successfully write to protected registers, due to timing constraints.
190 #endif // #define CLASSB_WDT_TEST_H