TaskManagerIO
Loading...
Searching...
No Matches
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
20class TmLongSchedule : public BaseEvent {
21private:
22 const uint32_t milliSchedule;
23 const TimerFn fnCallback;
24 Executable *const theExecutable;
25 uint32_t lastScheduleTime;
26 bool oneTime;
27public:
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
53uint32_t makeHourSchedule(int hours, int minutes = 0, int seconds = 0, int millis = 0);
54
60uint32_t makeDaySchedule(int days, int hours = 0);
61
62#endif //TASKMANGER_IO_TMLONGSCHEDULE_H
Task manager is a simple co-routine style implementation for Arduino which supports scheduling work t...
uint32_t millis()
std::function< void()> TimerFn
Definition TaskTypes.h:120
uint32_t makeHourSchedule(int hours, int minutes=0, int seconds=0, int millis=0)
Definition TmLongSchedule.cpp:12
uint32_t makeDaySchedule(int days, int hours=0)
Definition TmLongSchedule.cpp:16
Definition TaskTypes.h:28
void exec() override
Definition TmLongSchedule.cpp:26
TmLongSchedule(uint32_t milliSchedule, TimerFn callee, bool oneTime=false)
Definition TmLongSchedule.cpp:23
uint32_t timeOfNextCheck() override
Definition TmLongSchedule.cpp:42