arduino-audio-tools
Loading...
Searching...
No Matches
AudioTimerMBED.h
Go to the documentation of this file.
1#pragma once
2
3#if defined(ARDUINO_ARCH_MBED)
5#include "mbed.h"
6
7namespace audio_tools {
8
9class TimerAlarmRepeatingDriverMBED;
11
21 public:
23
28 TimeUnit unit = MS) override {
30
31 // we determine the time in microseconds
32 switch (unit) {
33 case MS:
34 ticker.attach(tickerCallback, std::chrono::microseconds(time * 1000));
35 break;
36 case US:
37 ticker.attach(tickerCallback, std::chrono::microseconds(time));
38 break;
39 case HZ:
40 // convert hz to time in us
42 ticker.attach(tickerCallback, std::chrono::microseconds(time_us));
43 break;
44 }
45 return true;
46 }
47
48 // ends the timer and if necessary the task
49 bool end() {
50 ticker.detach();
51 return true;
52 }
53
54 protected:
55 mbed::Ticker ticker;
57
61};
62
64using TimerAlarmRepeatingDriver = TimerAlarmRepeatingDriverMBED;
65
66} // namespace audio_tools
67
68#endif
static uint32_t toTimeUs(uint32_t samplingRate, uint8_t limit=10)
converts sampling rate to delay in microseconds (μs)
Definition AudioTypes.h:242
Definition AudioTimerBase.h:22
void * object
Definition AudioTimerBase.h:40
Repeating Timer functions for repeated execution: Plaease use the typedef TimerAlarmRepeating.
Definition AudioTimerMBED.h:20
static void tickerCallback()
Definition AudioTimerMBED.h:58
TimerAlarmRepeatingDriverMBED()
Definition AudioTimerMBED.h:22
bool begin(repeating_timer_callback_t callback_f, uint32_t time, TimeUnit unit=MS) override
Definition AudioTimerMBED.h:27
repeating_timer_callback_t callback
Definition AudioTimerMBED.h:56
mbed::Ticker ticker
Definition AudioTimerMBED.h:55
bool end()
Definition AudioTimerMBED.h:49
TimeUnit
Time Units.
Definition AudioTypes.h:48
@ US
Definition AudioTypes.h:48
@ HZ
Definition AudioTypes.h:48
@ MS
Definition AudioTypes.h:48
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition AudioCodecsBase.h:10
void(* repeating_timer_callback_t)(void *obj)
Definition AudioTimerAVR.h:7
TimerAlarmRepeatingDriverAVR TimerAlarmRepeatingDriver
use TimerAlarmRepeating!
Definition AudioTimerAVR.h:94
static TimerAlarmRepeatingDriverMBED * timerAlarmRepeating
Definition AudioTimerMBED.h:10
size_t writeData(Print *p_out, T *data, int samples, int maxSamples=512)
Definition AudioTypes.h:512