arduino-audio-tools
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
AudioTimer.h
1#pragma once
7#include "AudioToolsConfig.h"
8#if defined(USE_TIMER)
9#include "AudioTools/CoreAudio/AudioTimer/AudioTimerAVR.h"
10#include "AudioTools/CoreAudio/AudioTimer/AudioTimerBase.h"
11#include "AudioTools/CoreAudio/AudioTimer/AudioTimerESP32.h"
12#include "AudioTools/CoreAudio/AudioTimer/AudioTimerESP8266.h"
13#include "AudioTools/CoreAudio/AudioTimer/AudioTimerMBED.h"
14#include "AudioTools/CoreAudio/AudioTimer/AudioTimerRP2040.h"
15#include "AudioTools/CoreAudio/AudioTimer/AudioTimerRenesas.h"
16#include "AudioTools/CoreAudio/AudioTimer/AudioTimerSTM32.h"
17#include "AudioTools/CoreAudio/AudioLogger.h"
18
19namespace audio_tools {
20
26 public:
35 p_timer = &timer;
36 };
37 virtual ~TimerAlarmRepeating() = default;
38
39 bool begin(repeating_timer_callback_t callback_f, uint32_t time,
40 TimeUnit unit = MS) {
41 // stop timer if it is already active
42 if (is_active) end();
43 // start timer
44 is_active = p_timer->begin(callback_f, time, unit);
45 return is_active;
46 }
47 bool end() {
48 is_active = false;
49 return p_timer->end();
50 };
51
52 void setCallbackParameter(void* obj) { p_timer->setCallbackParameter(obj); }
53
54 void* callbackParameter() { return p_timer->callbackParameter(); }
55
56 virtual void setTimer(int timer) { p_timer->setTimer(timer); }
57
58 virtual void setTimerFunction(TimerFunction function = DirectTimerCallback) {
59 p_timer->setTimerFunction(function);
60 }
61
62 void setIsSave(bool is_save) { p_timer->setIsSave(is_save); }
63
65 operator bool() { return is_active; }
66
69
70 protected:
71 void* object = nullptr;
72 bool is_active = false;
73 TimerAlarmRepeatingDriver timer; // platform specific timer
74 TimerAlarmRepeatingDriverBase* p_timer = &timer;
75};
76
77} // namespace audio_tools
78
79#endif
Repeating Timer functions for repeated execution: Plaease use the typedef TimerAlarmRepeating.
Definition AudioTimerAVR.h:19
Definition AudioTimerBase.h:22
virtual void setIsSave(bool is_save)
Not used.
Definition AudioTimerBase.h:37
Common Interface definition for TimerAlarmRepeating.
Definition AudioTimer.h:25
TimerAlarmRepeating(TimerAlarmRepeatingDriverBase &timer)
Construct a new Timer Alarm Repeating object by passing your object which has been customized with so...
Definition AudioTimer.h:34
TimerAlarmRepeatingDriverBase * driver()
Provides access to the driver.
Definition AudioTimer.h:68
TimerAlarmRepeating()=default
Default constructor.
TimeUnit
Time Units.
Definition AudioTypes.h:46
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition AudioCodecsBase.h:10