ESP8266 time_t Fehler in Sloeber

Gast #5262608
Lesenswert?

Sloeber ist eine Programmierumgebung für den ESP8266, basierend auf der 
IDE Eclipse und dem Arduino-Framework.
http://eclipse.baeyens.it/

Nachdem die Fehlersuche ein wenig Zeit gekostet hat, nachfolgend die 
Lösung etwas detaillierter als in Issue 851 beschrieben.
https://github.com/Sloeber/arduino-eclipse-plugin/issues/851

Der Fehler äußert sich als "unknown type name 'time_t' time.c", sobald 
time.c für ESP8266-spezifische SNTP Funktionen verwendet wird, was mit 
Einbinden durch andere Libs geschehen kann.

Hier eine detaillierte Anleitung zu Behebung/Hinmurksung/Workaround:

In
1
\\sloeber\arduinoPlugin\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include
 wird im selben Verzeichnis eine Kopie der Datei time.h unter neuem 
Namen _time.h erstellt.

In
1
\\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.2.0\cores\esp8266
 wird die Datei time.c bearbeitet und dort
1
#include <time.h>
 nach
1
#include <_time.h>
 geändert.

Die Pfade dürften auf andere Versionen übertragbar sein.

time.h stammt aus dem Paket win32-xtensa-lx106-elf-gb404fb9-2.tar.gz, 
time.c aus dem Paket esp8266-2.2.0.zip, die derzeit neueste Version 
2.3.0 weist das gleiche Problem auf.

Sobald Libraries und Hardwarecore innerhalb der IDE geändert werden, ist 
die Wiederholung der Prozedur erforderlich, da time.c überschrieben 
wird, _time.h bleibt zwar erhalten, muss jedoch mit time.h identisch 
sein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren