#include "actions.h" #include "idle.h" #include #include #include bool sleeptimer(unsigned long seconds, actionCallback callback) { unsigned long millis = seconds * 1000; unsigned long idleTime = getIdleTime(); struct timespec sleepTime = {.tv_sec = 0, .tv_nsec = 100 * 1000000}; while (idleTime < millis) { idleTime = getIdleTime(); nanosleep(&sleepTime, NULL); } if (!(*callback)()) { return false; } return true; }