2#include "NumberToText.h"
15 audio_tools::Vector<const char *> &
say(
int hour,
int minutes) {
23 LOGI(
"say: %d:%d",time.hour, time.minute);
24 if (time.minute < 0 || time.minute >= 60) {
25 LOGE(
"Invalid minute (range 0-59): %d", time.minute);
28 if (time.hour < 0 || time.hour > 24) {
29 LOGE(
"Invalid hour (range 0-24): %d", time.hour);
37 callback(result, reference);
44 audio_tools::Vector<const char *> &
allTexts() {
46 for (
int j = 0; j < 10; j++) {
53 audio_tools::Vector<const char *> result;
57 const int MIDNIGHT = 2;
64 const int QUARTER = 9;
66 const char *words[10] = {
"ITS",
"NOON",
"MIDNIGHT",
"OCLOCK",
"TO",
67 "PAST",
"AM",
"PM",
"HALF",
"QUARTER"};
69 void add(
int idx) { add(words[idx]); }
71 void add(
const char *str) { result.push_back(str); }
73 void addAll(audio_tools::Vector<const char *> &words) {
74 for (
auto word : words) {
79 void process(SimpleTime time) {
82 if (time.hour == 12 && time.minute == 00) {
86 if (time.hour == 0 && time.minute == 00) {
95 if (time.hour <= 12) {
103 void processMinutes(SimpleTime &time) {
105 if (time.minute == 0) {
107 }
else if (time.minute == 15) {
110 }
else if (time.minute < 30) {
111 addAll(ntt.
say(time.minute,0u));
113 }
else if (time.minute == 30) {
116 }
else if (time.minute == 45) {
120 }
else if (time.minute > 30) {
122 time.minute = 60 - time.minute;
123 addAll(ntt.
say(time.minute,0u));
128 void processHourPM(SimpleTime time) {
129 int hour = time.hour;
135 addAll(ntt.
say(hour,0u));
144 void processHourAM(SimpleTime time) {
145 int hour = time.hour;
150 addAll(ntt.
say(hour,0u));
Translates a number into englich words.
Definition: NumberToText.h:15
audio_tools::Vector< const char * > & say(double value, int decimals=2)
converts a real number to it's text representation (with the indicated number of digits)
Definition: NumberToText.h:19
Common Functionality for TTS classes.
Definition: SimpleTTSBase.h:15
Translates a time in hour and minutes into englich words. This implementation builds upon the NumberT...
Definition: TimeToText.h:12
audio_tools::Vector< const char * > & say(SimpleTime time)
converts a number to it's text representation
Definition: TimeToText.h:21
audio_tools::Vector< const char * > & say(int hour, int minutes)
converts a number to it's text representation
Definition: TimeToText.h:15
audio_tools::Vector< const char * > & allTexts()
provides all texts
Definition: TimeToText.h:44
Just a simple structure with the hour and minutes.
Definition: SimpleTTSBase.h:83