-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
class ITimeStrategy
{
public:
virtual uint32_t millis() = 0;
virtual uint32_t micros() = 0;
};
//milliseconds are realtime. Microseconds are evaluated from elapsed milliseconds (increments of 1000)
class RealtimeStrategy : public virtual ITimeStrategy
{
private:
RealtimeStrategy();
~RealtimeStrategy();
public:
static RealtimeStrategy & getInstance();
public:
virtual uint32_t millis();
virtual uint32_t micros();
};
//microseconds increases by a constant amount for every call to micros() functions. milliseconds are evaluated from microseconds.
class IncrementalTimeStrategy : public virtual ITimeStrategy
{
private:
IncrementalTimeStrategy();
~IncrementalTimeStrategy();
public:
static IncrementalTimeStrategy & getInstance();
public:
virtual uint32_t millis();
virtual uint32_t micros();
void setMicrosecondsResolution(uint32_t iResolution);
uint32_t getMicrosecondsResolution() const;
void setMicrosecondsCounter(uint32_t iCounter);
uint32_t getMicrosecondsCounter() const;
};
testarduino::setTimeStrategy(ITimeStrategy * strategy);Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request