42 void setPeriod (uint32_t us, TIMER::timer_mode mode)
override;
43 void setPeriod_ns(uint32_t ns, TIMER::timer_mode mode);
44 uint32_t getPeriod()
override;
46 void setCallback(function<
void()> f)
override;
48 void start()
override;
50 bool isRunning()
override;
52 void reset()
override;
54 inline uint8_t getIndex() {
return _index; }
57 friend void TIMER0_IRQ_0_Handler(
void);
58 friend void TIMER0_IRQ_1_Handler(
void);
59 friend void TIMER0_IRQ_2_Handler(
void);
60 friend void TIMER0_IRQ_3_Handler(
void);
61 friend void TIMER1_IRQ_0_Handler(
void);
62 friend void TIMER1_IRQ_1_Handler(
void);
63 friend void TIMER1_IRQ_2_Handler(
void);
64 friend void TIMER1_IRQ_3_Handler(
void);
71 static function<void()> _callback[8];
74 uint32_t * _alarm {
nullptr};
77 TIMER::timer_mode _mode;