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/AudioTimerDesktop.h
"
21
#include "
AudioTools/CoreAudio/AudioTimer/AudioTimerZephyr.h
"
22
#include "
AudioTools/CoreAudio/AudioLogger.h
"
23
24
namespace
audio_tools
{
25
30
class
AudioTimer
{
31
public
:
33
AudioTimer
() =
default
;
39
AudioTimer
(
AudioTimerDriverBase
&
timer
) {
40
setDriver
(
timer
);
41
};
42
virtual
~AudioTimer
() =
default
;
43
44
bool
begin
(
repeating_timer_callback_t
callback_f
,
uint32_t
time,
45
TimeUnit
unit =
MS
) {
46
// stop timer if it is already active
47
if
(
is_active
)
end
();
48
// start timer
49
is_active
=
p_timer
->
begin
(
callback_f
, time, unit);
50
return
is_active
;
51
}
52
bool
end
() {
53
is_active
=
false
;
54
return
p_timer
->
end
();
55
};
56
57
void
setCallbackParameter
(
void
*
obj
) {
p_timer
->
setCallbackParameter
(
obj
); }
58
59
void
*
callbackParameter
() {
return
p_timer
->
callbackParameter
(); }
60
61
virtual
void
setTimer
(
int
timer
) {
p_timer
->
setTimer
(
timer
); }
62
63
virtual
void
setTimerFunction
(
TimerFunction
function
=
DirectTimerCallback
) {
64
p_timer
->
setTimerFunction
(
function
);
65
}
66
67
void
setIsSave
(
bool
is_save
) {
p_timer
->
setIsSave
(
is_save
); }
68
70
operator
bool
() {
return
is_active
; }
71
73
AudioTimerDriverBase
*
driver
() {
return
p_timer
; }
74
76
void
setDriver
(
AudioTimerDriverBase
&
timer
) {
77
p_timer
= &
timer
;
78
}
79
80
protected
:
81
void
*
object
=
nullptr
;
82
bool
is_active
=
false
;
83
AudioTimerDriver
timer
;
// platform specific timer
84
AudioTimerDriverBase
*
p_timer
= &
timer
;
85
};
86
87
// Support for legacy name
88
using
TimerAlarmRepeating
=
AudioTimer
;
89
90
}
// namespace audio_tools
91
92
#endif
AudioTimerAVR.h
AudioTimerBase.h
AudioTimerDesktop.h
AudioTimerESP32.h
AudioTimerESP32Legacy.h
AudioTimerESP8266.h
AudioTimerMBED.h
AudioTimerRP2040.h
AudioTimerRenesas.h
AudioTimerSTM32.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:30
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:39
audio_tools::AudioTimer::timer
AudioTimerDriver timer
Definition
AudioTimer.h:83
audio_tools::AudioTimer::is_active
bool is_active
Definition
AudioTimer.h:82
audio_tools::AudioTimer::setTimer
virtual void setTimer(int timer)
Definition
AudioTimer.h:61
audio_tools::AudioTimer::~AudioTimer
virtual ~AudioTimer()=default
audio_tools::AudioTimer::setTimerFunction
virtual void setTimerFunction(TimerFunction function=DirectTimerCallback)
Definition
AudioTimer.h:63
audio_tools::AudioTimer::p_timer
AudioTimerDriverBase * p_timer
Definition
AudioTimer.h:84
audio_tools::AudioTimer::setIsSave
void setIsSave(bool is_save)
Definition
AudioTimer.h:67
audio_tools::AudioTimer::driver
AudioTimerDriverBase * driver()
Provides access to the driver.
Definition
AudioTimer.h:73
audio_tools::AudioTimer::callbackParameter
void * callbackParameter()
Definition
AudioTimer.h:59
audio_tools::AudioTimer::setDriver
void setDriver(AudioTimerDriverBase &timer)
Allows to set a different driver.
Definition
AudioTimer.h:76
audio_tools::AudioTimer::setCallbackParameter
void setCallbackParameter(void *obj)
Definition
AudioTimer.h:57
audio_tools::AudioTimer::begin
bool begin(repeating_timer_callback_t callback_f, uint32_t time, TimeUnit unit=MS)
Definition
AudioTimer.h:44
audio_tools::AudioTimer::AudioTimer
AudioTimer()=default
Default constructor.
audio_tools::AudioTimer::end
bool end()
Definition
AudioTimer.h:52
audio_tools::TimeUnit
TimeUnit
Time Units.
Definition
AudioTypes.h:44
audio_tools::MS
@ MS
Definition
AudioTypes.h:44
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
AudioCodecsBase.h:10
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
audio_tools::writeData
size_t writeData(Print *p_out, T *data, int samples, int maxSamples=512)
Definition
AudioTypes.h:508
Generated by
1.9.8