TaskManagerIO
Toggle main menu visibility
Loading...
Searching...
No Matches
src
TmLongSchedule.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018 https://www.thecoderscorner.com (Dave Cherry)..
3
* This product is licensed under an Apache license, see the LICENSE file in the top-level directory.
4
*/
5
6
#ifndef TASKMANGER_IO_TMLONGSCHEDULE_H
7
#define TASKMANGER_IO_TMLONGSCHEDULE_H
8
13
14
#include "
TaskManagerIO.h
"
15
20
class
TmLongSchedule
:
public
BaseEvent {
21
private
:
22
const
uint32_t milliSchedule;
23
const
TimerFn
fnCallback;
24
Executable
*
const
theExecutable;
25
uint32_t lastScheduleTime;
26
bool
oneTime;
27
public
:
32
TmLongSchedule
(uint32_t milliSchedule,
TimerFn
callee,
bool
oneTime =
false
);
38
TmLongSchedule
(uint32_t milliSchedule,
Executable
* callee,
bool
oneTime =
false
);
39
40
void
exec
()
override
;
41
42
uint32_t
timeOfNextCheck
()
override
;
43
};
44
53
uint32_t
makeHourSchedule
(
int
hours,
int
minutes = 0,
int
seconds = 0,
int
millis
= 0);
54
60
uint32_t
makeDaySchedule
(
int
days,
int
hours = 0);
61
62
#endif
//TASKMANGER_IO_TMLONGSCHEDULE_H
TaskManagerIO.h
Task manager is a simple co-routine style implementation for Arduino which supports scheduling work t...
millis
uint32_t millis()
TimerFn
std::function< void()> TimerFn
Definition
TaskTypes.h:120
makeHourSchedule
uint32_t makeHourSchedule(int hours, int minutes=0, int seconds=0, int millis=0)
Definition
TmLongSchedule.cpp:12
makeDaySchedule
uint32_t makeDaySchedule(int days, int hours=0)
Definition
TmLongSchedule.cpp:16
Executable
Definition
TaskTypes.h:28
TmLongSchedule::exec
void exec() override
Definition
TmLongSchedule.cpp:26
TmLongSchedule::TmLongSchedule
TmLongSchedule(uint32_t milliSchedule, TimerFn callee, bool oneTime=false)
Definition
TmLongSchedule.cpp:23
TmLongSchedule::timeOfNextCheck
uint32_t timeOfNextCheck() override
Definition
TmLongSchedule.cpp:42