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/AudioLogger.h
"
22
23
namespace
audio_tools
{
24
29
class
TimerAlarmRepeating
{
30
public
:
32
TimerAlarmRepeating
() =
default
;
38
TimerAlarmRepeating
(
TimerAlarmRepeatingDriverBase
&
timer
) {
39
setDriver
(
timer
);
40
};
41
virtual
~TimerAlarmRepeating
() =
default
;
42
43
bool
begin
(
repeating_timer_callback_t
callback_f
,
uint32_t
time,
44
TimeUnit
unit =
MS
) {
45
// stop timer if it is already active
46
if
(
is_active
)
end
();
47
// start timer
48
is_active
=
p_timer
->
begin
(
callback_f
, time, unit);
49
return
is_active
;
50
}
51
bool
end
() {
52
is_active
=
false
;
53
return
p_timer
->
end
();
54
};
55
56
void
setCallbackParameter
(
void
*
obj
) {
p_timer
->
setCallbackParameter
(
obj
); }
57
58
void
*
callbackParameter
() {
return
p_timer
->
callbackParameter
(); }
59
60
virtual
void
setTimer
(
int
timer
) {
p_timer
->
setTimer
(
timer
); }
61
62
virtual
void
setTimerFunction
(
TimerFunction
function
=
DirectTimerCallback
) {
63
p_timer
->
setTimerFunction
(
function
);
64
}
65
66
void
setIsSave
(
bool
is_save
) {
p_timer
->
setIsSave
(
is_save
); }
67
69
operator
bool
() {
return
is_active
; }
70
72
TimerAlarmRepeatingDriverBase
*
driver
() {
return
p_timer
; }
73
75
void
setDriver
(
TimerAlarmRepeatingDriverBase
&
timer
) {
76
p_timer
= &
timer
;
77
}
78
79
protected
:
80
void
*
object
=
nullptr
;
81
bool
is_active
=
false
;
82
TimerAlarmRepeatingDriver
timer
;
// platform specific timer
83
TimerAlarmRepeatingDriverBase
*
p_timer
= &
timer
;
84
};
85
86
}
// namespace audio_tools
87
88
#endif
AudioTimerAVR.h
AudioTimerBase.h
AudioTimerDesktop.h
AudioTimerESP32.h
AudioTimerESP32Legacy.h
AudioTimerESP8266.h
AudioTimerMBED.h
AudioTimerRP2040.h
AudioTimerRenesas.h
AudioTimerSTM32.h
AudioLogger.h
AudioToolsConfig.h
audio_tools::TimerAlarmRepeatingDriverAVR
Repeating Timer functions for repeated execution: Plaease use the typedef TimerAlarmRepeating.
Definition
AudioTimerAVR.h:19
audio_tools::TimerAlarmRepeatingDriverBase
Definition
AudioTimerBase.h:22
audio_tools::TimerAlarmRepeatingDriverBase::end
virtual bool end()
Definition
AudioTimerBase.h:28
audio_tools::TimerAlarmRepeatingDriverBase::setTimer
virtual void setTimer(int timer)
Definition
AudioTimerBase.h:34
audio_tools::TimerAlarmRepeatingDriverBase::setTimerFunction
virtual void setTimerFunction(TimerFunction function=DirectTimerCallback)
Definition
AudioTimerBase.h:35
audio_tools::TimerAlarmRepeatingDriverBase::setIsSave
virtual void setIsSave(bool is_save)
Not used.
Definition
AudioTimerBase.h:37
audio_tools::TimerAlarmRepeatingDriverBase::begin
virtual bool begin(repeating_timer_callback_t callback_f, uint32_t time, TimeUnit unit=MS)=0
audio_tools::TimerAlarmRepeatingDriverBase::callbackParameter
void * callbackParameter()
Definition
AudioTimerBase.h:32
audio_tools::TimerAlarmRepeatingDriverBase::setCallbackParameter
void setCallbackParameter(void *obj)
Definition
AudioTimerBase.h:30
audio_tools::TimerAlarmRepeating
Common Interface definition for TimerAlarmRepeating.
Definition
AudioTimer.h:29
audio_tools::TimerAlarmRepeating::setDriver
void setDriver(TimerAlarmRepeatingDriverBase &timer)
Allows to set a different driver.
Definition
AudioTimer.h:75
audio_tools::TimerAlarmRepeating::TimerAlarmRepeating
TimerAlarmRepeating(TimerAlarmRepeatingDriverBase &timer)
Construct a new Timer Alarm Repeating object by passing your object which has been customized with so...
Definition
AudioTimer.h:38
audio_tools::TimerAlarmRepeating::~TimerAlarmRepeating
virtual ~TimerAlarmRepeating()=default
audio_tools::TimerAlarmRepeating::is_active
bool is_active
Definition
AudioTimer.h:81
audio_tools::TimerAlarmRepeating::setTimer
virtual void setTimer(int timer)
Definition
AudioTimer.h:60
audio_tools::TimerAlarmRepeating::driver
TimerAlarmRepeatingDriverBase * driver()
Provides access to the driver.
Definition
AudioTimer.h:72
audio_tools::TimerAlarmRepeating::setTimerFunction
virtual void setTimerFunction(TimerFunction function=DirectTimerCallback)
Definition
AudioTimer.h:62
audio_tools::TimerAlarmRepeating::setIsSave
void setIsSave(bool is_save)
Definition
AudioTimer.h:66
audio_tools::TimerAlarmRepeating::timer
TimerAlarmRepeatingDriver timer
Definition
AudioTimer.h:82
audio_tools::TimerAlarmRepeating::callbackParameter
void * callbackParameter()
Definition
AudioTimer.h:58
audio_tools::TimerAlarmRepeating::setCallbackParameter
void setCallbackParameter(void *obj)
Definition
AudioTimer.h:56
audio_tools::TimerAlarmRepeating::begin
bool begin(repeating_timer_callback_t callback_f, uint32_t time, TimeUnit unit=MS)
Definition
AudioTimer.h:43
audio_tools::TimerAlarmRepeating::TimerAlarmRepeating
TimerAlarmRepeating()=default
Default constructor.
audio_tools::TimerAlarmRepeating::p_timer
TimerAlarmRepeatingDriverBase * p_timer
Definition
AudioTimer.h:83
audio_tools::TimerAlarmRepeating::end
bool end()
Definition
AudioTimer.h:51
audio_tools::TimeUnit
TimeUnit
Time Units.
Definition
AudioTypes.h:48
audio_tools::MS
@ MS
Definition
AudioTypes.h:48
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:512
Generated by
1.9.8