Always provide datetime
This commit is contained in:
+10
-2
@@ -25,10 +25,18 @@ HalStorage::HalStorage() {
|
|||||||
bool HalStorage::begin() {
|
bool HalStorage::begin() {
|
||||||
if (!SDCard.begin()) return false;
|
if (!SDCard.begin()) return false;
|
||||||
FsDateTime::setCallback([](uint16_t* date, uint16_t* time) {
|
FsDateTime::setCallback([](uint16_t* date, uint16_t* time) {
|
||||||
if (!HalClock::isSynced()) return;
|
if (!HalClock::isSynced()) {
|
||||||
|
*date = FS_DATE(1980, 1, 1);
|
||||||
|
*time = FS_TIME(0, 0, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
const time_t t = HalClock::now();
|
const time_t t = HalClock::now();
|
||||||
const struct tm* tm = localtime(&t);
|
const struct tm* tm = localtime(&t);
|
||||||
if (!tm) return;
|
if (!tm) {
|
||||||
|
*date = FS_DATE(1980, 1, 1);
|
||||||
|
*time = FS_TIME(0, 0, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
*date = FS_DATE(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday);
|
*date = FS_DATE(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday);
|
||||||
*time = FS_TIME(tm->tm_hour, tm->tm_min, tm->tm_sec);
|
*time = FS_TIME(tm->tm_hour, tm->tm_min, tm->tm_sec);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user