arduino-audio-tools
Loading...
Searching...
No Matches
src
AudioTools
CoreAudio
AudioTimer
AudioTimer.h
Go to the documentation of this file.
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
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)
12
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerESP32.h
"
13
#endif
14
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerESP32Legacy.h
"
15
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerESP8266.h
"
16
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerMBED.h
"
17
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerRP2040.h
"
18
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerRenesas.h
"
19
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerSTM32.h
"
20
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerTangNano.h
"
21
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerDesktop.h
"
22
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerZephyr.h
"
23
#include "
AudioTools/CoreAudio/AudioLogger.h
"
24
25
namespace
audio_tools
{
26
31
class
AudioTimer
{
32
public
:
34
AudioTimer
() =
default
;
40
AudioTimer
(
AudioTimerDriverBase
&
timer
) {
41
setDriver
(
timer
);
42
};
43
virtual
~AudioTimer
() =
default
;
44
45
bool
begin
(
repeating_timer_callback_t
callback_f, uint32_t time,
46
TimeUnit
unit =
MS
) {
47
// stop timer if it is already active
48
if
(
is_active
)
end
();
49
// start timer
50
is_active
=
p_timer
->
begin
(callback_f, time, unit);
51
return
is_active
;
52
}
53
bool
end
() {
54
is_active
=
false
;
55
return
p_timer
->
end
();
56
};
57
58
void
setCallbackParameter
(
void
* obj) {
p_timer
->
setCallbackParameter
(obj); }
59
60
void
*
callbackParameter
() {
return
p_timer
->
callbackParameter
(); }
61
62
virtual
void
setTimer
(
int
timer
) {
p_timer
->
setTimer
(
timer
); }
63
64
virtual
void
setTimerFunction
(
TimerFunction
function =
DirectTimerCallback
) {
65
p_timer
->
setTimerFunction
(function);
66
}
67
68
void
setIsSave
(
bool
is_save) {
p_timer
->
setIsSave
(is_save); }
69
71
operator
bool() {
return
is_active
; }
72
74
AudioTimerDriverBase
*
driver
() {
return
p_timer
; }
75
77
void
setDriver
(
AudioTimerDriverBase
&
timer
) {
78
p_timer
= &
timer
;
79
}
80
81
protected
:
82
void
*
object
=
nullptr
;
83
bool
is_active
=
false
;
84
AudioTimerDriver
timer
;
// platform specific timer
85
AudioTimerDriverBase
*
p_timer
= &
timer
;
86
};
87
88
// Support for legacy name
89
using
TimerAlarmRepeating
=
AudioTimer
;
90
91
}
// namespace audio_tools
92
93
#endif
AudioTimerAVR.h
AudioTimerBase.h
AudioTimerDesktop.h
AudioTimerESP32.h
AudioTimerESP32Legacy.h
AudioTimerESP8266.h
AudioTimerMBED.h
AudioTimerRP2040.h
AudioTimerRenesas.h
AudioTimerSTM32.h
AudioTimerTangNano.h
AudioTimerZephyr.h
AudioLogger.h
AudioToolsConfig.h
audio_tools::AudioTimerDriverAVR
Repeating Timer functions for repeated execution: Plaease use the typedef AudioTimer.
Definition
AudioTimerAVR.h:19
audio_tools::AudioTimerDriverBase
Definition
AudioTimerBase.h:22
audio_tools::AudioTimerDriverBase::end
virtual bool end()
Definition
AudioTimerBase.h:28
audio_tools::AudioTimerDriverBase::setTimer
virtual void setTimer(int timer)
Definition
AudioTimerBase.h:34
audio_tools::AudioTimerDriverBase::setTimerFunction
virtual void setTimerFunction(TimerFunction function=DirectTimerCallback)
Definition
AudioTimerBase.h:35
audio_tools::AudioTimerDriverBase::setIsSave
virtual void setIsSave(bool is_save)
Not used.
Definition
AudioTimerBase.h:37
audio_tools::AudioTimerDriverBase::begin
virtual bool begin(repeating_timer_callback_t callback_f, uint32_t time, TimeUnit unit=MS)=0
audio_tools::AudioTimerDriverBase::callbackParameter
void * callbackParameter()
Definition
AudioTimerBase.h:32
audio_tools::AudioTimerDriverBase::setCallbackParameter
void setCallbackParameter(void *obj)
Definition
AudioTimerBase.h:30
audio_tools::AudioTimer
Common Interface definition for AudioTimer.
Definition
AudioTimer.h:31
audio_tools::AudioTimer::AudioTimer
AudioTimer(AudioTimerDriverBase &timer)
Construct a new Timer Alarm Repeating object by passing your object which has been customized with so...
Definition
AudioTimer.h:40
audio_tools::AudioTimer::timer
AudioTimerDriver timer
Definition
AudioTimer.h:84
audio_tools::AudioTimer::is_active
bool is_active
Definition
AudioTimer.h:83
audio_tools::AudioTimer::setTimer
virtual void setTimer(int timer)
Definition
AudioTimer.h:62
audio_tools::AudioTimer::~AudioTimer
virtual ~AudioTimer()=default
audio_tools::AudioTimer::setTimerFunction
virtual void setTimerFunction(TimerFunction function=DirectTimerCallback)
Definition
AudioTimer.h:64
audio_tools::AudioTimer::p_timer
AudioTimerDriverBase * p_timer
Definition
AudioTimer.h:85
audio_tools::AudioTimer::setIsSave
void setIsSave(bool is_save)
Definition
AudioTimer.h:68
audio_tools::AudioTimer::driver
AudioTimerDriverBase * driver()
Provides access to the driver.
Definition
AudioTimer.h:74
audio_tools::AudioTimer::callbackParameter
void * callbackParameter()
Definition
AudioTimer.h:60
audio_tools::AudioTimer::setDriver
void setDriver(AudioTimerDriverBase &timer)
Allows to set a different driver.
Definition
AudioTimer.h:77
audio_tools::AudioTimer::setCallbackParameter
void setCallbackParameter(void *obj)
Definition
AudioTimer.h:58
audio_tools::AudioTimer::begin
bool begin(repeating_timer_callback_t callback_f, uint32_t time, TimeUnit unit=MS)
Definition
AudioTimer.h:45
audio_tools::AudioTimer::AudioTimer
AudioTimer()=default
Default constructor.
audio_tools::AudioTimer::end
bool end()
Definition
AudioTimer.h:53
audio_tools::TimeUnit
TimeUnit
Time Units.
Definition
AudioTypes.h:49
audio_tools::MS
@ MS
Definition
AudioTypes.h:49
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
LMSEchoCancellationStream.h:6
audio_tools::TimerFunction
TimerFunction
Definition
AudioTimerBase.h:16
audio_tools::DirectTimerCallback
@ DirectTimerCallback
Definition
AudioTimerBase.h:17
audio_tools::repeating_timer_callback_t
void(* repeating_timer_callback_t)(void *obj)
Definition
AudioTimerAVR.h:7
Generated by
1.9.8