1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/coloz-blinker-library

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
BlinkerTicker.h 1.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
某10 Отправлено 6 лет назад 4bf677d
#ifndef BLINEKR_TICKER_H
#define BLINEKR_TICKER_H
#if defined(ARDUINO)
#if ARDUINO >= 100
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
#endif
#include "../Blinker/BlinkerDebug.h"
extern "C" {
typedef void (*blinker_callback_t)(void);
}
class BlinkerTicker
{
public :
BlinkerTicker() {}
// : day_time(0)
// , os_time(0)
// {}
// void freshTime(uint32_t time_s) { day_time = time_s; os_time = millis(); }
void attach(uint32_t seconds, blinker_callback_t func)
{
aim_time = seconds;
tickerFunc = func;
isRun = true;
}
void detach() { isRun = false; }
void run()
{
if (millis() - os_time >= 1000 && millis() - os_time < 2000)
{
os_time += 1000;
tick_time ++;
}
else if (millis() - os_time >= 2000)
{
tick_time += (millis() - os_time) / 1000;
os_time = millis();
}
if (isRun)
{
if (tick_time - aim_time >= 0 && tick_time - aim_time < 60)
{
BLINKER_LOG_ALL(BLINKER_F("ticker trigged"));
isRun = false;
if (tickerFunc) tickerFunc();
}
}
}
protected :
uint32_t tick_time;
uint32_t os_time;
uint32_t aim_time;
bool isRun = false;
blinker_callback_t tickerFunc = NULL;
};
#endif

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/coloz-blinker-library.git
git@gitlife.ru:oschina-mirror/coloz-blinker-library.git
oschina-mirror
coloz-blinker-library
coloz-blinker-library
master