ropg / ezTime

ezTime — pronounced "Easy Time" — is a very easy to use Arduino time and date library that provides NTP network time lookups, extensive timezone support, formatted time and date strings, user events, millisecond precision and more.
MIT License
327 stars 92 forks source link

eeprom.h: No such file or directory #74

Open Levin-D opened 4 years ago

Levin-D commented 4 years ago

EEPROM.h is not found when using a MKR GSM 1400 board.

ropg commented 4 years ago

There are two cache mechanisms available for ezTime to use. Either NVS or EEPROM. I don't know all this much about this board, but if you comment out the line that says #define EZTIME_CACHE_EEPROM in src/ezTime.h you should be good to go.

vbandke commented 4 years ago

Same error here. If I edit eztime.h and move line

  1. ifdef __cplusplus

down to line 29, I.e. just before the „ Warranty void“ line, everything’s works out perfectly. I have no idea, however, why this would make s difference.....

With best regards

Volker Bandke

ropg commented 4 years ago

But is this with the #define EZTIME_CACHE_EEPROM commented out?

vbandke commented 4 years ago

No, nothing was commented out. When the #ifdef __cplusplus is moved downwards, then the EEPROM.h file gets included nicely, and the Timezone.cpp program compiles and runs nicely.

vbandke commented 4 years ago

Ha, one more info - while I am experiencing the same symptoms, the error is actually not quite the same: I am using a Heltec Lora ESP32 board.

vbandke commented 4 years ago

A follow-up: the same issue occurs when I build for an Arduino Uno, in other words, the issue seems to be independent of the board that is configured

With best regards

Volker Bandke

ropg commented 4 years ago

At this point I'm just really curious why this pops up all of a sudden with multiple people, it hasn't been an issue before, when already significant numbers of people were using ezTime.

vbandke commented 4 years ago

Well, I am flabbergasted as well. Maybe it is an issue with PlatformIO, who knows? I‘ll open an issue there as well

ropg commented 4 years ago

Is everyone else seeing this issue also using PlatformIO?

@Levin-D ?

vbandke commented 4 years ago

I opened an issue at Platformio: https://github.com/platformio/platformio-vscode-ide/issues/1482

BTW, no issue here when using the Arduino IDE

merlinschumacher commented 4 years ago

I am seeing this issue too on an ESP8266. But moving #ifdef __cplusplus doesn't work for me. Commenting out #define EZTIME_CACHE_EEPROM fixes it.

markymarkjay commented 3 years ago

Just to pile on here: I've been running this on the ESP32 with no problems, but when I tried compiling for ESP8266, I got the same issue. Commenting out works for me as well.

nabber00 commented 2 years ago

I am seeing this same issue with MKR Wifi 1010. The Arduino MKR Family does not have EEPROM, therefore I do not have or need EEPROM.h. If the EEPROM library is a dependency, it should be added to the ezTime metadata to pull it in automatically with the library manager in the Arduino IDE to avoid this error.

On a related note, some of the MKR series include the ATECC508A security chip, which can provide similar functionality to EEPROM so you may want to add support for that. The minimum slot size is 36 bytes which should be about right for a timezone to use one slot. There are 16 available slots.