Weather-Display
Aktuelle Wetterdaten auf einem LC-Display darstellen

Diesen Elektor-Artikel weiterlesen?
- Unbegrenzter Zugriff auf Member Only -Artikel
- 3 neue Ausgaben des Elektor Magazins (digital)
- Mehr als 5000 Gerber-Dateien
- 20% Mitgliederrabatt auf E-Books (auf elektor.de)
- 10% Mitgliederrabatt auf Produkte (auf elektor.de)
Stoppt automatisch.
Was ist Members Only
Elektor engagiert sich dafür, hochwertigen Inhalt rund um Elektronik bereitzustellen und betreut dabei zehntausende zahlende Mitglieder. Als Teil dieses Engagements hat Elektor das Premium-Angebot ins Leben gerufen, das exklusiven Zugriff auf ausgewählte Artikel bietet – manchmal sogar bevor diese in der Zeitschrift erscheinen.
Täglich können Mitglieder fundierte Artikel entdecken, die das Beste aus Elektors Premium-Content präsentieren und speziell darauf abzielen, ihr Wissen und ihre Begeisterung für Elektronik zu vertiefen.
Mit dem Premium-Programm will Elektor seiner Community aus Enthusiasten frühzeitigen Zugang zu aktuellen Projekten und Erkenntnissen ermöglichen. Nach dem Einloggen genießen Mitglieder diesen exklusiven Inhalt und können sich über spannende Projekte und Innovationen austauschen. Während Premium unser bestehendes Angebot erweitert, wird Elektor weiterhin eine Fülle an kostenlosen Informationen für die breite Community bereitstellen.
Werden Sie Teil der Elektor-Community und nutzen Sie Premium sowie weitere Mitgliedervorteile!
Material
Gerber-Datei
Die zu diesem Projekt gehörende Platine steht als Gerber-Datei exklusiv allen GOLD- und GREEN-Mitgliedern zum sofortigen Download zur Verfügung. Mit Gerber-Daten können Sie Platinen selber herstellen oder sie bei einem Platinenhersteller in Auftrag geben.
Elektor empfiehlt den zuverlässigen PCB-Service von Eurocircuits oder von AISLER.
Gerber-Dateien unterliegen der Creative Commons-Lizenz. Creative Commons bietet Urhebern die Möglichkeit, dass ihre Werke frei genutzt und verbreitet werden.
Diskussion (0 Kommentare)
HaSch vor 7 Jahren
BastelBert vor 7 Jahren
HaSch vor 7 Jahren
TXD muss an CN10-31 (PB3) angeschlossen sein, nicht an CN7-31
Außerdem sollte man vorsichtig sein, wenn man die Zeilen, die WiFi.begin() ersetzen sollen, aus der digitalen Ausgabe durch copy/paste in den Sketch einfügt. Die Anführungszeichen stimmen nicht und führen zu einer Fehlermeldung beim Kompilieren. Durch die "richtigen" Anführungszeichen ersetzt, gibt es keine Probleme. Bei der Gelegenheit sollte auch noch gleich ein anderer Fehler an derselben Stelle korrigiert werden: Es muss natürlich WiFi.begin(cssid, cpasswd); heißen und nicht wie im Text mit einem großen "B" geschrieben.
macintosh vor 7 Jahren
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Die Wetter Station läuft und das aktuelle Wetter wird auch angezeigt.
Was nicht angezeigt wird ist die 6 Tage Vorschau.
Hat jemand einen Tipp, woran das liegen könnte ?
Mir werden noch 2 Warnungen angezeigt beim kompilieren:
weathertimeget_el-mac.ino: In function 'void docommand(char)':
weathertimeget_el-mac.ino:225:7: warning: unused variable 'pre' [-Wunused-variable]
int pre;
^
HaSch vor 7 Jahren
Auch die UV-Daten, von denen im Text die Rede ist, müssten mit dem freien Account bei OpenWeatherMap zu bekommen sein (beta).
HaSch vor 7 Jahren
Es müsste aber auch mit der Ortsbezeichnung gehen, dann muss in den beiden Codezeilen das "q" statt "id" stehen bleiben. und die Zeile 174: Bei LOCATION in Zeile 23 trägst du dann einfach den Zahlencode ein, den du in der Liste für deinen Ort findest.
HaSch vor 7 Jahren
Die Compilerwarnungen kannst du getrost ignorieren.
macintosh vor 7 Jahren
Das Problem bleibt aber.
Das aktuelle Wetter wird angezeigt, aber die 6 Tage Vorschau nicht.
Alle Temperatur Angaben stehen auf 0,0
HaSch vor 7 Jahren
macintosh vor 7 Jahren
Keine Anzeige in der Wettervorschau
HaSch vor 7 Jahren
... Probier einfach ein wenig damit rum.
macintosh vor 7 Jahren
Glaube der Aufruf der Zeile 174 ist nicht ganz korrekt.
Wenn ich die Zeile so eingebe:
str_forecast = wget("api.openweathermap.org/data/2.5/forecast?q=" + LOCATION + "&units=metric&appid=" + APIID + "&mode=xml&cnt=6", 80);
also nicht "forecast/daily?q=" sondern nur "forecast?q=" ,dann wird an der ersten Stelle der Vorschau auch werte angezeigt, nur die anderen 5 zeigen noch 0,0 an.
Muss mit dem mehrfach Aufruf der forecast Werte, also "cnt=6" zusammenhängen.
HaSch vor 7 Jahren
macintosh vor 7 Jahren
Die 6 Tage Vorschau funktioniert einfach nicht.
ICH GEB`S AUF :-(
Jörg Stamm vor 7 Jahren
bei Max / Min
anstatt ("time day") > ("temperature")
bei ICON
und bei ICON ("time day") > ("symbol")
Gruß
Jörg
Jörg Stamm vor 7 Jahren
Also ich glaube Macintosh hat in soweit recht,
"Glaube der Aufruf der Zeile 174 ist nicht ganz korrekt.
Wenn ich die Zeile so eingebe:
str_forecast = wget("api.openweathermap.org/data/2.5/forecast?q=" + LOCATION + "&units=metric&appid=" + APIID + "&mode=xml&cnt=6", 80);
also nicht "forecast/daily?q=" sondern nur "forecast?q=" ,dann wird an der ersten Stelle der Vorschau auch werte angezeigt,
nur die anderen 5 zeigen noch 0,0 an."
Laut Openweathermap (API doc) bezieht sich "daily" nur auf die 16 Tagesvorhersage und nicht auf die 5 Tagesvorhersage.
Original "API doc" Beispiel für die 16 Tagesvorhersage
api.openweathermap.org/data/2.5/forecast/daily?q=London&mode=xml&units=metric&cnt=7
Original "API doc" Beispiel für die 5 Tagesvorhersage
api.openweathermap.org/data/2.5/forecast?q=London,us&mode=xml
Ändere ich diese Zeile 174 ohne "daily", dann ist auch der Befehl in Zeile 352 für FORCAST1_MAX_TEMP
in Klammern (time day) nicht mehr relevant, da er sich nur auf die 16 Tagesvorhersage bezieht.
Ändere ich nun wie in der Doku von Openweathermap zu finden, anstatt (time day) in (temperature) bei den MAX / Min Werten
und bei FORCAST1_ICON von (time day) in (Symbol) um, dann funktioniert soweit alles einwandfrei.
Allerdings muss man die "fmode" Zeilen wie hier Beispiel um eine Zeile erhöhen.
case COM_GET_FORCAST1_MAX_TEMP:
fmode = str_forecast.indexOf("temperature"); // (time day);
fmode = str_forecast.indexOf("temperature", fmode +10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST1_MIN_TEMP:
fmode = str_forecast.indexOf("temperature"); // (time day);
fmode = str_forecast.indexOf("temperature", fmode +10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST1_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode +10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST2_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode +10);
fmode = str_forecast.indexOf("temperature", fmode +10);
fmode = str_forecast.indexOf("temperature", fmode +10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST2_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode +10);
fmode = str_forecast.indexOf("temperature", fmode +10);
fmode = str_forecast.indexOf("temperature", fmode +10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST2_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
Ich Würde mich über ein Feedback freuen
Gruß
Jörg
HaSch vor 7 Jahren
also bei mir läuft die Vorschau mit der Zeile 174 exakt so, wie ich sie oben gepostet habe!
Gruß
Hans
HaSch vor 7 Jahren
macintosh vor 7 Jahren
Hatte schon mal einen anderen eingetrage...und gerade noch mal probiert.
Vorschau funktioniert nicht.
In der Wetterdatei von meinem Ort sind auch die Daten von den nächsten Tagen vorhanden.
Wenn ich testweise in Zeile 174 das "/daily" wegnehme, bekomme ich zumindest eine Vorschau etwas angezeigt.
Alle anderen 5 stehen auf 0,0.
Hab keine Ahnunung vom Programmieren, denke aber, dass diese Zeile über eine Art Schleife aufgerufen wird, um die nächsten Vorscha Tage abzufragen.
Jörg Stamm vor 7 Jahren
ID Nr.: 6545310.
Ich habe aber immer noch das gleiche Problem.
Wo ist nun der Unterschied das es bei den einem Läuft und bei dem anderen nicht ? Mein WLAN Modul habe ich bei Ebay als ESP8266 bestellt, bekommen habe ich aber ein ESP12-N. Liegt es vielleicht daran ???
Laut Internet Nachforschungen hat es nur geringeren Speicher, kann es aber trotzdem verwenden.
Das zweite wäre die APPID von Openweathermap,
Hier steht was von api.openweathermap.org/data/2.5/weather?q=London,uk&APPID="hier meine APPID Nummer"
Ist hier vielleicht was falsch?
Wieso "q=London" haben das alle ?
Hallo Macintosh,
hast du mal meinen Code eingegeben und getestet ? Du müsstes auf jedenfall Werte und Symbole bekommen!
Danke nochmal für die Rückmeldung
Gruß
Jörg
HaSch vor 7 Jahren
macintosh vor 7 Jahren
das Wlan Modul wird nicht das Problem sein.
Habe meins direkt bei Elektor gekauft und es ist ein ESP8266.
Zur Zeit kann ich nicht mehr testen, da mein Board streikt.
Das programm bekomme ich fast vollständig hochgeladen, dann kommt die Fehlermeldung "Beim Hochladen des Sketches ist ein Fehler aufgetreten"
Keine Ahnung, warum es auf einmal spinnt.
Gruß
Macintosh
DE0060598ID vor 7 Jahren
gut zu wissen das du das Original WLAN Modul von Elektor hast. Dann können wir das schon mal ausschließen.
Kannst du mir mal deine Fehlermeldung mitteilen. Hast du vorher dein Board im ESP Menü auf Program Loop Serial gesetzt?
Gruss Jörg
DE0060598ID vor 7 Jahren
Grüße
Jörg
macintosh vor 7 Jahren
Habe alles deinstalliert und die Arduino Software neu installiert.
Bekomme das Programm jetzt wieder installiert.
Eine Frage hätte ich noch.
Warum gibt es auf dieser Seite oben den Download Link:
https://esp8266.github.io/Arduino/versions/2.3.0/
Das ist doch für die Bibliothek des ESP8266 ??
Die wird doch in der Arduino Software eh über:
Werkzeug > Board > Boardverwaltung
eingespielt?
Habe nichts von diesem Verzeichnis genutzt....
Gruß
Macintosh
macintosh vor 7 Jahren
habe Deine Zeilen von oben mal eingespielt.
Leider keine Änderung...Vorschau funktioniert nicht.
Aber wie Du schon sagtest, die Zeilen treffen für uns nicht zu.
Mir war auch nicht ganz klar, wie ich die Dateien der Bibliothek für das ESP8266 einspielen soll.
Jörg Stamm vor 7 Jahren
ohne
https://esp8266.github.io/Arduino/versions/2.3.0/
dürftest du eigentlich den esp8266.github erst garnicht in deinem Arduino Werkzeug>Board>Boardverwaltung finden.
Also alle die, die noch nie ein esp8266 Programmiert haben so wie ich, müssen dieses File erst mal Downloaden um es im Arduino mit einzubinden. Erst dann dürfte es in deinem Arduino Tool zu finden sein.
Ausserdem kann es sein das hier auch dein Board rumspackte, da du hier vielleicht deine Buadrate auf 115200 stand. Ich hatte hier auch den gleichen Fehler, zeigt kurz vorm Programmierende eine Fehlermeldung. So steht es auch in der Elektorausgabe auf Seite 95 beschrieben nur max. 9600 Baud.
macintosh vor 7 Jahren
man findet das Board unter Bordverwaltung, wenn man als Suchbegriff ESP8266 eingibt.
Sogar in der Version 2.4.0
Die Baudrate war immer korrekt auf 9600 eingestellt.
Es fällt schon auf wenn man die Übertragungsgeschwindigkeit falsch einstellt, da der Programmiervorgang dann viel schneller läuft...
Jörg Stamm vor 7 Jahren
habe ich dich richtig verstanden nachdem du meine Zeilen eingespielt
bzw. geändert hast, sind keine Daten und Symbole in deiner Vorschau zu sehen ?
Also immer noch alles auf 0,0 ?
Hast du auch in Zeile 174 das "daily" entfernt ?
Gruß
Jörg
Jörg Stamm vor 7 Jahren
Ich habe jetzt, da ich 2 lauffähige Boards hier habe das erste so Programmiert wie du es hattest ohne "daily" auf Zeile 174 und das zweite ebenfalls ohne "daily" auf Zeile 174 aber mit meinem geänderten Code. In der ersten Vorhersage habe ich die gleichen Werte und die gleichen Symbole, also wie in der 18 Stundenvorhersage.
Bei meinem geänderten Code zeigt das Display 6 Werte und 6 Symbole an, allerdings exakt die gleichen Werte von Openweathermap der "18 Stundenvorhersage".
Aber gut irgendetwas ist bei uns falsch, vielleicht die Software (Arduino Sketch) nochmal neu herunterladen und Programmieren. Fakt ist die Hardware sollte in Ordnung sein, auch die Sofware für das Nucleo Board.
Denn Menufunktion, Batterie, Taster, ESP Verbindung und Display funktionieren einwandfrei. Du hast das Original ESP Modul von Elektor und mit der APPID kann es wohl auch nicht zusammenhängen (das andere vielleicht eine APPID für die 16 Tagesvorhersage haben?) ich vermute den Fehler im Arduino Sketch.
Grüße
Jörg
macintosh vor 7 Jahren
da hast Du recht,
wenn ich daily in Zeile 174 entferne und Deine Zeilen eingebe, werden mir bei 3 der 6 Vorschau Werte angezeigt.
Das sieht schon mal gut aus !!!
Gruß
Macintosh
DE0060598ID vor 7 Jahren
Jörg
macintosh vor 7 Jahren
Zeile 174
str_forecast = wget("api.openweathermap.org/data/2.5/forecast?id=" + LOCATION + "&units=metric&appid=" + APIID + "&mode=xml&cnt=6", 80);
es werden jetzt alle forecast Werte angezeicht, aber bei der Zuordnung der Werte scheint noch was nicht zu stimmen...
ab Zeile 352 sieht das jetzt so aus...
Hab ich das richtig vesrastanden mit Deiner Aussage ?
" anderen Forecast die Zeilen fmode um 2 Zeilen erhöhen"
case COM_GET_FORCAST1_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST1_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST1_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST2_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST2_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST2_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST3_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST3_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST3_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST4_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST4_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST4_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST5_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST5_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST5_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
Jörg Stamm vor 7 Jahren
bei FORCAST2 3 mal die Zeile fmode
bei FORCAST3 5 mal die Zeile fmode
bei FORCAST4 7 mal die Zeile fmode
bei FORCAST5 9 mal die Zeile fmode
Allerdings wäre es über eine Schleife schöner,
bin bis jetzt noch nicht dazu gekommen.
muss hier auch noch mal testen.
Jörg
macintosh vor 7 Jahren
hab ich jetzt so gemacht,
es werden überall Werte angezeigt, die Zuordnung scheint immer noch nicht zu stimmen.
Die Werte, die Angezeigt werden, stimmen nicht mit den Werten im Internet überein.
Die von mir bearbeiteten Zeilen sehen jetzt so aus:
case COM_GET_FORCAST0_MAX_TEMP:
fmode = 0;
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST0_MIN_TEMP:
fmode = 0;
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST0_ICON:
fmode = 0;
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST1_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST1_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST1_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST2_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST2_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST2_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST3_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST3_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST3_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST4_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST4_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST4_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
case COM_GET_FORCAST5_MAX_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "max=", " ", NUMBER);
break;
case COM_GET_FORCAST5_MIN_TEMP:
fmode = str_forecast.indexOf("temperature");
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
fmode = str_forecast.indexOf("temperature", fmode + 10);
print_parse(str_forecast, fmode, "min=", " ", NUMBER);
break;
case COM_GET_FORCAST5_ICON:
fmode = str_forecast.indexOf("symbol");
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
fmode = str_forecast.indexOf("symbol", fmode + 10);
smp = get_parse(str_forecast, fmode, "var=", ">", STRING);
Serial.write(get_icon(smp));
Serial.write(ACK);
break;
DE0060598ID vor 7 Jahren
Gruß
Jörg
macintosh vor 7 Jahren
gibt`s was neues ?
Gruß
Macintosh
macintosh vor 7 Jahren
Warum funktioniert die Software bei HaSch.
Elektor wird sich doch auch sicher sein, dass das Programm läuft.
Wo kann ich die Software von dem ähnlichen Projekt runterladen, um zu vergleichen, wie es da programmiert wurde ?
https://www.elektormagazine.com/labs/weather-display
Jörg Stamm vor 7 Jahren
habe noch mal über deine Frage nachgedacht
Eine Frage hätte ich noch.
Warum gibt es auf dieser Seite oben den Download Link:
https://esp8266.github.io/Arduino/versions/2.3.0/
Jörg Stamm vor 7 Jahren
Hinzufügen des ESP8266-Moduls in der Arduino-IDE
Ich konnte anschließend die Version 2.3.0 auswählen.
(Stand so aber auch in der Elektor nicht beschrieben)
Seit dem sieht bei mir die Kompilierung ganz anders aus
Es durchläuft in Schritten bir 32% dann weiter bis 66% und dann weiter bis 100%.
Das hatte ich vorher so auch noch nicht, hat sich allerding auch nichts geändert.
Aber ich denke mal wir haben irgendwie so einen kleinen Fehler eingebaut den Andere nicht haben.
Habe noch ein wenig rumprobiert, komme aber auch nicht weiter.
Sollte ich aber was finden melde ich mich auf jedenfall bei Dir.
Gruß
Jörg
macintosh vor 7 Jahren
vielen Dank Jörg
macintosh vor 7 Jahren
Wäre mal froh, dass Projekt abschliessen zu können.......
Jörg Stamm vor 7 Jahren
Ich musste soweit alles neu Downloaden und Installiern (Arduino, Atollic, Software für Arduino und ST, sowie den ESP.github.io 2.3.0).
Ach ja, ausserdem muss man den https://esp8266.github.io/Arduino/versions/2.3.0/ Downloaden da der ESP8266 vorher nicht in der Arduino Bibliothek zu finden ist, erst nach dem Download wird der ESP8266 2.3.0 in der Bibliothek sichtbar bzw. auswählbar.
Nun ja, also musste ich alles noch mal neu machen und siehe da, ich habe immer noch die gleichen Probleme. Mit anderen Worten ich kann alles tausend mal machen es wird sich einfach nichts ändern. Auch nach anschliessenden Änderungen oder Anpassungen im Quellcode wurde es nicht erfolgreicher.
Und aus den Kommentaren der neuesten Elektorausgabe vom Mai/Juni 2018 auf Seite 115 (Korrekturen, Updates und Leserbriefe zum Thema Weather Display) gibt es nicht viel Neues zu berichten, denn diese Punkte sind unter den Weather Display Kommentaren schon zu finden.
Also mit anderen Worten: ich gebe jetzt hier auch auf und orientiere mich viel lieber auf neue Projekte.
Tut mir leid, dass ich nicht weiterhelfen konnte und wünsche dir noch viel Glück.
Jörg
macintosh vor 7 Jahren
wirklich sehr schade.
Ich danke Dir trotdem für die Mühen und die Rückmeldung !!!!!!!!!!!
Mit dem Lesebrief werde ich mal nachlesen.
Vielleicht findet jemand doch mal ne Lösung zum Problem.........
Weiterhin viel Erfolg !
Viele Grüße
macintosh
kami vor 7 Jahren
habe die ganze Schaltung selber auf Lochrasterplatine aufgebaut. Was noch nicht angeschlossen ist, ist as WLAN Modul und die Batterie. Ich kann die Software aufs Nucleo Board hochladen und auch per Debug sehe ich am Ende:
STM32 device: programmed flash memory at address 80280d0
STM32 device: programmed flash memory at address 8028110
STM32 device: programmed flash memory at address 8028150
STM32 device: flash programming successful 0x8027fd0
Aber das Display bleibt danach weiß und es passier nix. Was mache ich falsch?
Gruß kami
macintosh vor 7 Jahren
die Wetterstation wollte ich auch zwei mal bauen um eine zu verschenken.
Habe beide Platinen umgebaut exakt nach Anleitung.
Mir war beim Programmieren aufgefallen, dass bei einer die blaue LED auf dem Board blinkte, bei der anderen nicht.
Bei beiden kam am Schluss auch die Meldung, dass sie erfolgreich programmiert wurden.
Fakt ist, nur das Nucleo Board, wo die blaue LED blinkte, hat das Programm angenommen und läuft.
Bei dem zweiten blieb das Display auch weiß.
Habe beide Hardware noch mal überprüft, aber keinen Unterschied feststellen können.
Habe das Board für tot erklärt und neu bestellt.
kami vor 7 Jahren
kann man das nicht irgendwie testen, ob das Board richtig funktioniert? Zeigt das TrueStudio nicht an?
Gruß kami
kami vor 7 Jahren
erstmal danke für die schnelle Antwort. Also das hat nix mit der blauen LED zu tun. Ich habe nochmal die Software neuinstalliert und alles hochgeladen genauso wie im Artikel beschrieben und dann gings. Auch die Anpassungen der URL gehen super das kann man aber auch vorab mit einem Key im Browser so treffen.
Ich habe außerdem noch das Menu vom Nucleo eingedeutscht. Ist 5 Min Sache.
Nochmal vielen Dank an den Autor und wenn es ein Update gibt bitte melden :)
Gruß kami
macintosh vor 7 Jahren
Mit der LED war es zumindest schon so bei mir.....
Läuft es den jetzt alles bei Dir ?
Bekomme es einfach nicht hin, mit der 6 Tage Wetter Vorschau.
HaSch vor 7 Jahren
Was mir nur aufgefallen ist: Das WLAN, das das ESP8266 aufspannt, ist auch noch aktiv, wenn der entsprechende Menüpunkt nicht ausgewählt ist (dann allerdings mit der IP-Adresse 192.168.4.1 statt 10.0.0.1). Im Artikel steht, dass er wieder ausgeschaltet wird, wenn der Menüpunkt verlassen wurde. Ist das bei euch auch so?
Wenn ich mich dann einlogge, habe ich weder Zugang zum ESP8266 noch zum Internet, das ESP8266 ist also dann nicht als Accesspoint aktiv.
Wie kann man es vollständig ausschalten?
kami vor 7 Jahren
also zum dem Wlan kann ich nix sagen. Ich weiß nicht ganz genau welchen Menüpunkt du meinst. Die 6 Tagevorhersage klappt gut. Ich habe die beiden Links aus der Sketch halt vorher mit einem Browser getestet ob ich XML Files bekomme.
Gruß kami
HaSch vor 7 Jahren
HaSch vor 7 Jahren
Gruß
Hans
Nickelgrass vor 7 Jahren
ich habe bereits eines in Arbeit. Es ist ähnlich dem des originalen Projektes mit AVR https://www.elektormagazine.com/labs/weather-display
Ich werde die STL Dateien in den nächsten Wochen hochladen.
Grüße
Markus
kami vor 7 Jahren
ich habe zwar ein Gehäuse gebaut. Aber ich benutze ja eine selbstgebaute Platine und die viel kleiner als die Original. Sonst Empfehlung Tinkercad. Habe ich 30 Min zur Erstellung gebraucht.
Gruß kami
HaSch vor 7 Jahren
wie weit ist das Gehäuse?
Gruß
Hans
Nickelgrass vor 7 Jahren
es ist stetig im Entstehen und wird veröffentlicht sobald es fertig ist. Ich werde auch die DesignSpark Mechanical Dateien zur Verfügung stellen damit man Änderungen und Anpassungen nach Belieben machen kann.
Das Gehäuse wird aus einer weißen Wolke und einer gelben Sonne bestehen, die einfach zusammengeklebt werden können.
Grüße
Markus
HaSch vor 7 Jahren
danke für die Information, ich freue mich schon drauf.
Gruß
Hans
HaSch vor 7 Jahren
Gruß
Hans
Nickelgrass vor 7 Jahren
entschuldige die Verzögerung. Das Gehäuse selber ist schon länger fertig. Ich muss es nur noch einmal testdrucken. Ich kann es gerne schon mal vorab posten. Man kann es natürlich nach belieben anpassen. Aber diese Version ist ohne Gewähr.
Grüße
Markus
HaSch vor 6 Jahren
leider kann ich die .stl Dateien nirgendwo finden. Ich habe nur eine weatherdisplay.rsdoc gefunden, mit der ich nichts anfangen kann.
Gruß
Hans
Nickelgrass vor 6 Jahren
die .rsdoc kann man mit Designspark Mechanical öffnen: https://www.rs-online.com/designspark/mechanical-software . Damit lässt sich das Gehäuse sehr einfach bearbeiten und in STL exportieren (Speichern unter -> STL). Für das Gehäuse gebe ich keine Garantie, drucken auf eigene Verantwortung! Die STL Dateien poste ich demnächst jenachdem wie ich Zeit habe.
Grüße
HaSch vor 6 Jahren
das mit DesignSpark hatte ich schon gefunden, nutzt mir aber nichts, weil ich mit nem Mac arbeite und es DS nur für Windows gibt.
Dann muss ich eben noch warten.
Gruß
Hans
Jörg Stamm vor 7 Jahren
dann die Software auf`s Nucleo Board hochgeladen.
Nach dem Neustart war die Anzeige auf dem Display so wie beschrieben.
Taster, Batterie und Display Funktion einwandfrei.
Allerdings fehlten noch die Informationen über WLAN.
Nachdem nun bei der ESP8266-Programmierung inklusive APPID, Location, SSID und WLAN Passwort der Sketch bei der Überprüfung ohne Fehlermeldung durchlief, habe ich diesen hochgeladen.
Alles einwandfrei ohne Fehlermeldung, nach dem Reset hatte ich auch wieder die Display Anzeige wie es sein sollte,
jedoch ohne WLAN Informationen obwohl bei meinem WLAN Modul so ca. alle 5s die Blaue LED kurz aufleuchtet.
Scheint die Programmierung über Arduino ja erfolgreich gewesen zu sein.
Hallo kami, hast du eine Beschreibung zu diesen Test ohne WLAN?
"Ich habe die beiden Links aus der Sketch halt vorher mit einem Browser getestet ob ich XML Files bekomme."
Bin für jeden Tipp dankbar.
kami vor 7 Jahren
ne leider kann ich das nicht so nachvollziehen. Nach Test der beiden Links lief alles bei mir ohne Probleme.
Gruß kami
DE0060598ID vor 7 Jahren
Dann verstehe ich es richtig das
Laut deinem Beitrag vom 29.12 um 16:54 Uhr dein ESP8266 mit dem Arduino Sketch schon Programmiert war und du deine Informationen über das WLAN Modul bekommen hast ?
LG Jörg
kami vor 7 Jahren
Gruß kami
DE0060598ID vor 7 Jahren
erst einmal vielen Dank für deine Unterstützung.
WIE hast du deinen Sketch angepasst oder meinst du mit Anpassungen die SSID und das WLAN Password oder eine Änderung im Quellcode? Grüße Jörg.
kami vor 7 Jahren
void upd_w()
{
int retry = 3;
str_weather = "";
while (retry)
{
str_weather = wget("api.openweathermap.org/data/2.5/weather?id=" + LOCATION + "&units=metric&appid=" + APIID + "&mode=xml", 80);
if (str_weather.length() > 100) return;
delay(100);
retry--;
}
}
void upd_f()
{
int retry = 3;
str_forecast = "";
fmode = 0;
while (retry)
{
str_forecast = wget("api.openweathermap.org/data/2.5/forecast/daily?id=" + LOCATION + "&units=metric&appid=" + APIID + "&mode=xml&cnt=6", 80);
if (str_forecast.length() > 100) return;
delay(100);
retry--;
}
}
Gruß kami
Jörg Stamm vor 7 Jahren
Unter umständen doch die Platine von Elektor bestellen. Ist es eigentlich richtig das nach der Arduino Programmierung auf dem WiFi Modul so ca. alle 5 sec. eine blaue LED aufblinkt?
Gruß Jörg
kami vor 7 Jahren
Gruß kami
Jörg Stamm vor 7 Jahren
Und siehe da: es funktioniert nun auch. Allerdings genauso wie bei macintosh, in der 6 Tagesvorhersage werden (nach Software Anpassung wie bei macintosh) nur die Daten vom ersten Tag angezeigt, alle anderen Werte zeigen 0,0 an.
Ausserdem ist es nicht richtig wenn nach der Arduino Programmierung bei dem WLAN Modul alle 5 Sekunden die Blaue LED aufblitzt. Also tauschte ich bei meinen Eigenbau auf der Lochrasterplatine das WLAN Modul und programmierte es neu, dieses funktionierte nun auch. Allerdings hier auch das gleiche Ergebnis: das Wetter wurde angezeigt, die 6 Tagesvorhersage jedoch nicht.
Gruß Jörg
Nickelgrass vor 7 Jahren
https://www.elektormagazine.com/labs/weather-display-with-st-nucleo-160157-1
Nickelgrass vor 7 Jahren
Linberry vor 5 Jahren
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
What can i do?
The ESP programming mode is running.
tnx
Nickelgrass vor 5 Jahren
Linberry vor 5 Jahren
thanks for the answer.
This evening i checked the connections between the PCB and the ESP. I saw an interruption between pin1 and the pad. Now, the connection is established and the next problem too. The data transmission is stopping abrupt. Do you have any idea what it could be?
With the best wishes
Berry
Linberry vor 5 Jahren
Linberry vor 5 Jahren
Linberry vor 5 Jahren
Warum bleibt der Upload auf einmal stehen?
Der Sketch verwendet 246.321 Bytes (56%) des Programmspeicherplatzes. Das Maximum sind 434.160 Bytes.
Globale Variablen verwenden 34.756 Bytes (42%) des dynamischen Speichers, 47.164 Bytes für lokale Variablen verbleiben. Das Maximum sind 81.920 Bytes.
Uploading 250464 bytes from C:\Users\Berry\AppData\Local\Temp\buildf8b714e62608f4e3159b27659e978589.tmp/weathertimeget_el.ino.bin to flash at 0x00000000
................................................................................ [ 32% ]
......................
Linberry vor 5 Jahren
Software\160157-11\160157 ESP8266 sketch\weathertimeget_el\weathertimeget_el.ino: In function 'void docommand(char)':
C:\Users\Berry\Desktop\Weather-Display\Software\160157-11\160157 ESP8266 sketch\weathertimeget_el\weathertimeget_el.ino:225:7: warning: unused variable 'pre' [-Wunused-variable]
int pre;
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\ESP8266WiFiGeneric.cpp:155:127: warning: unused parameter 'e' [-Wunused-parameter]
WiFiEventHandler handler = std::make_shared<WiFiEventHandlerOpaque>(WIFI_EVENT_STAMODE_DHCP_TIMEOUT, [f](System_Event_t* e){
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\ESP8266WiFiGeneric.cpp:454:6: warning: unused parameter 'name' [-Wunused-parameter]
void wifi_dns_found_callback(const char *name, ip_addr_t *ipaddr, void *callback_arg) {
^
In file included from C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClient.cpp:41:0:
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:250:15: warning: unused parameter 'pcb' [-Wunused-parameter]
err_t _sent(tcp_pcb* pcb, uint16_t len) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:278:20: warning: unused parameter 'pcb' [-Wunused-parameter]
recv_ret_t _recv(tcp_pcb* pcb, pbuf* pb, err_t err) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:278:20: warning: unused parameter 'err' [-Wunused-parameter]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:303:14: warning: unused parameter 'err' [-Wunused-parameter]
void _error(err_t err) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:315:15: warning: unused parameter 'pcb' [-Wunused-parameter]
err_t _poll(tcp_pcb* pcb) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClient.cpp:136:8: warning: unused parameter 'err' [-Wunused-parameter]
int8_t WiFiClient::_connected(void* pcb, int8_t err)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClient.cpp:145:6: warning: unused parameter 'err' [-Wunused-parameter]
void WiFiClient::_err(int8_t err)
^
In file included from C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp:40:0:
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:250:15: warning: unused parameter 'pcb' [-Wunused-parameter]
err_t _sent(tcp_pcb* pcb, uint16_t len) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:278:20: warning: unused parameter 'pcb' [-Wunused-parameter]
recv_ret_t _recv(tcp_pcb* pcb, pbuf* pb, err_t err) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:278:20: warning: unused parameter 'err' [-Wunused-parameter]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:303:14: warning: unused parameter 'err' [-Wunused-parameter]
void _error(err_t err) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:315:15: warning: unused parameter 'pcb' [-Wunused-parameter]
err_t _poll(tcp_pcb* pcb) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp:182:27: warning: unused parameter 'fd' [-Wunused-parameter]
static ClientContext* getIOContext(int fd) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp: In function 'int ax_port_read(int, uint8_t*, size_t)':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp:539:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if (!_client || _client->state() != ESTABLISHED && !_client->getSize()) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp: At global scope:
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp:567:16: warning: unused parameter 'filename' [-Wunused-parameter]
extern "C" int ax_get_file(const char *filename, uint8_t **buf) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp:579:18: warning: unused parameter 'file' [-Wunused-parameter]
extern "C" void* ax_port_malloc(size_t size, const char* file, int line) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp:579:18: warning: unused parameter 'line' [-Wunused-parameter]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp:596:18: warning: unused parameter 'file' [-Wunused-parameter]
extern "C" void* ax_port_realloc(void* ptr, size_t size, const char* file, int line) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiClientSecure.cpp:596:18: warning: unused parameter 'line' [-Wunused-parameter]
In file included from C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp:38:0:
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:250:15: warning: unused parameter 'pcb' [-Wunused-parameter]
err_t _sent(tcp_pcb* pcb, uint16_t len) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:278:20: warning: unused parameter 'pcb' [-Wunused-parameter]
recv_ret_t _recv(tcp_pcb* pcb, pbuf* pb, err_t err) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:278:20: warning: unused parameter 'err' [-Wunused-parameter]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:303:14: warning: unused parameter 'err' [-Wunused-parameter]
void _error(err_t err) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/ClientContext.h:315:15: warning: unused parameter 'pcb' [-Wunused-parameter]
err_t _poll(tcp_pcb* pcb) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp:99:12: warning: unused parameter 'status' [-Wunused-parameter]
WiFiClient WiFiServer::available(byte* status) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp:134:8: warning: unused parameter 'buffer' [-Wunused-parameter]
size_t WiFiServer::write(const uint8_t *buffer, size_t size) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp:134:8: warning: unused parameter 'size' [-Wunused-parameter]
In file included from C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0/tools/sdk/lwip/include/lwip/opt.h:46:0,
from C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp:35:
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp: In member function 'int8_t WiFiServer::_accept(tcp_pcb*, int8_t)':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0/tools/sdk/lwip/include/lwip/debug.h:66:32: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
LWIP_PLATFORM_ASSERT(message); } while(0)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0/tools/sdk/lwip/include/lwip/tcp.h:335:36: note: in expansion of macro 'LWIP_ASSERT'
#define tcp_accepted(pcb) LWIP_ASSERT("pcb->state == LISTEN (called for wrong pcb?)", \
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp:155:5: note: in expansion of macro 'tcp_accepted'
tcp_accepted(_pcb);
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp: At global scope:
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp:151:8: warning: unused parameter 'err' [-Wunused-parameter]
int8_t WiFiServer::_accept(tcp_pcb* apcb, int8_t err) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiServer.cpp:159:6: warning: unused parameter 'client' [-Wunused-parameter]
void WiFiServer::_discard(ClientContext* client) {
^
In file included from C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\WiFiUdp.cpp:41:0:
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/UdpContext.h:329:10: warning: unused parameter 'upcb' [-Wunused-parameter]
void _recv(udp_pcb *upcb, pbuf *pb,
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/UdpContext.h:329:10: warning: unused parameter 'addr' [-Wunused-parameter]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src\include/UdpContext.h:329:10: warning: unused parameter 'port' [-Wunused-parameter]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\cont_util.c: In function 'cont_init':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\cont_util.c:35:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int pos = 0; pos < sizeof(cont->stack) / 4; pos++)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_postmortem.c: In function '__custom_crash_callback':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_postmortem.c:48:56: warning: unused parameter 'rst_info' [-Wunused-parameter]
extern void __custom_crash_callback( struct rst_info * rst_info, uint32_t stack, uint32_t stack_end ) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_postmortem.c:48:75: warning: unused parameter 'stack' [-Wunused-parameter]
extern void __custom_crash_callback( struct rst_info * rst_info, uint32_t stack, uint32_t stack_end ) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_postmortem.c:48:91: warning: unused parameter 'stack_end' [-Wunused-parameter]
extern void __custom_crash_callback( struct rst_info * rst_info, uint32_t stack, uint32_t stack_end ) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_postmortem.c: In function '__assert_func':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_postmortem.c:185:78: warning: unused parameter 'what' [-Wunused-parameter]
void __assert_func(const char *file, int line, const char *func, const char *what) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_timer.c: In function 'timer1_isr_handler':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_timer.c:32:47: warning: unused parameter 'para' [-Wunused-parameter]
void ICACHE_RAM_ATTR timer1_isr_handler(void *para){
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_timer.c: In function 'timer0_isr_handler':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_timer.c:79:47: warning: unused parameter 'para' [-Wunused-parameter]
void ICACHE_RAM_ATTR timer0_isr_handler(void* para){
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_wiring.c: In function 'delay_end':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_wiring.c:38:22: warning: unused parameter 'arg' [-Wunused-parameter]
void delay_end(void* arg) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_wiring.c: In function 'micros_overflow_tick':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_wiring.c:55:33: warning: unused parameter 'arg' [-Wunused-parameter]
void micros_overflow_tick(void* arg) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_wiring_digital.c: In function 'interrupt_handler':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_wiring_digital.c:112:46: warning: unused parameter 'arg' [-Wunused-parameter]
void ICACHE_RAM_ATTR interrupt_handler(void *arg) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c: In function 'pvPortMalloc':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:10:61: warning: unused parameter 'file' [-Wunused-parameter]
void* ICACHE_RAM_ATTR pvPortMalloc(size_t size, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:10:71: warning: unused parameter 'line' [-Wunused-parameter]
void* ICACHE_RAM_ATTR pvPortMalloc(size_t size, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c: In function 'vPortFree':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:15:55: warning: unused parameter 'file' [-Wunused-parameter]
void ICACHE_RAM_ATTR vPortFree(void *ptr, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:15:65: warning: unused parameter 'line' [-Wunused-parameter]
void ICACHE_RAM_ATTR vPortFree(void *ptr, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c: In function 'pvPortCalloc':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:20:75: warning: unused parameter 'file' [-Wunused-parameter]
void* ICACHE_RAM_ATTR pvPortCalloc(size_t count, size_t size, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:20:85: warning: unused parameter 'line' [-Wunused-parameter]
void* ICACHE_RAM_ATTR pvPortCalloc(size_t count, size_t size, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c: In function 'pvPortRealloc':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:25:73: warning: unused parameter 'file' [-Wunused-parameter]
void* ICACHE_RAM_ATTR pvPortRealloc(void *ptr, size_t size, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:25:83: warning: unused parameter 'line' [-Wunused-parameter]
void* ICACHE_RAM_ATTR pvPortRealloc(void *ptr, size_t size, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c: In function 'pvPortZalloc':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:30:61: warning: unused parameter 'file' [-Wunused-parameter]
void* ICACHE_RAM_ATTR pvPortZalloc(size_t size, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\heap.c:30:71: warning: unused parameter 'line' [-Wunused-parameter]
void* ICACHE_RAM_ATTR pvPortZalloc(size_t size, const char* file, int line)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\time.c: In function 'clock_gettime':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\time.c:77:29: warning: unused parameter 'unused' [-Wunused-parameter]
int clock_gettime(clockid_t unused, struct timespec *tp)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\time.c: In function 'gettimeofday':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\time.c:119:44: warning: unused parameter 'tzp' [-Wunused-parameter]
int gettimeofday(struct timeval *tp, void *tzp)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\uart.c: In function 'uart_ignore_char':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\uart.c:356:35: warning: unused parameter 'c' [-Wunused-parameter]
static void uart_ignore_char(char c)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\libb64\cdecode.c: In function 'base64_decode_value':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\libb64\cdecode.c:14:3: warning: comparison is always false due to limited range of data type [-Wtype-limits]
if (value_in < 0 || value_in > decoding_size) return -1;
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\libb64\cdecode.c: In function 'base64_decode_block':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\libb64\cdecode.c:40:9: warning: comparison is always false due to limited range of data type [-Wtype-limits]
} while (fragment < 0);
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\libb64\cdecode.c:50:9: warning: comparison is always false due to limited range of data type [-Wtype-limits]
} while (fragment < 0);
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\libb64\cdecode.c:61:9: warning: comparison is always false due to limited range of data type [-Wtype-limits]
} while (fragment < 0);
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\libb64\cdecode.c:72:9: warning: comparison is always false due to limited range of data type [-Wtype-limits]
} while (fragment < 0);
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs\spiffs_hydrogen.c: In function 'SPIFFS_buffer_bytes_for_filedescs':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs\spiffs_hydrogen.c:24:49: warning: unused parameter 'fs' [-Wunused-parameter]
u32_t SPIFFS_buffer_bytes_for_filedescs(spiffs *fs, u32_t num_descs) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\Esp.cpp:84:6: warning: unused parameter 'timeout_ms' [-Wunused-parameter]
void EspClass::wdtEnable(uint32_t timeout_ms)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\Esp.cpp: In member function 'uint32_t EspClass::getSketchSize()':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\Esp.cpp:437:45: warning: missing initializer for member 'section_header_t::size' [-Wmissing-field-initializers]
section_header_t section_header = {0};
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\Schedule.cpp:17:13: warning: 'void init_lists()' defined but not used [-Wunused-function]
static void init_lists()
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\abi.cpp:105:6: warning: unused parameter 'str' [-Wunused-parameter]
void __throw_logic_error(const char* str)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\abi.cpp:110:6: warning: unused parameter 'str' [-Wunused-parameter]
void __throw_out_of_range(const char* str)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_main.cpp:54:5: warning: unused parameter 'func' [-Wunused-parameter]
int atexit(void (*func)()) {
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_main.cpp:127:13: warning: unused parameter 'events' [-Wunused-parameter]
static void loop_task(os_event_t *events) {
^
In file included from C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.cpp:24:0:
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h: In constructor 'SPIFFSImpl::SPIFFSImpl(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_config::hal_write_f' [-Wmissing-field-initializers]
, _maxOpenFds(maxOpenFds)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_config::hal_erase_f' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_config::phys_size' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_config::phys_addr' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_config::phys_erase_block' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_config::log_block_size' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_config::log_page_size' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::block_count' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::free_cursor_block_ix' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::free_cursor_obj_lu_entry' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::cursor_block_ix' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::cursor_obj_lu_entry' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::lu_work' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::work' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::fd_space' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::fd_count' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::err_code' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::free_blocks' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::stats_p_allocated' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::stats_p_deleted' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::cleaning' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::max_erase_count' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::cache' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::cache_size' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::check_cb_f' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::file_cb_f' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::mounted' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::user_data' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:57:29: warning: missing initializer for member 'spiffs_t::config_magic' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h: In member function 'bool SPIFFSImpl::_tryMount()':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:179:34: warning: missing initializer for member 'spiffs_config::hal_write_f' [-Wmissing-field-initializers]
spiffs_config config = {0};
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:179:34: warning: missing initializer for member 'spiffs_config::hal_erase_f' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:179:34: warning: missing initializer for member 'spiffs_config::phys_size' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:179:34: warning: missing initializer for member 'spiffs_config::phys_addr' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:179:34: warning: missing initializer for member 'spiffs_config::phys_erase_block' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:179:34: warning: missing initializer for member 'spiffs_config::log_block_size' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:179:34: warning: missing initializer for member 'spiffs_config::log_page_size' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h: At global scope:
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:242:17: warning: unused parameter 'type' [-Wunused-parameter]
static void _check_cb(spiffs_check_type type, spiffs_check_report report,
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:242:17: warning: unused parameter 'report' [-Wunused-parameter]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:242:17: warning: unused parameter 'arg1' [-Wunused-parameter]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:242:17: warning: unused parameter 'arg2' [-Wunused-parameter]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h: In constructor 'SPIFFSFileImpl::SPIFFSFileImpl(SPIFFSImpl*, spiffs_file)':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:272:21: warning: missing initializer for member 'spiffs_stat::size' [-Wmissing-field-initializers]
, _written(false)
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:272:21: warning: missing initializer for member 'spiffs_stat::type' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:272:21: warning: missing initializer for member 'spiffs_stat::pix' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:272:21: warning: missing initializer for member 'spiffs_stat::name' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h: In member function 'void SPIFFSFileImpl::_getStat() const':
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:379:19: warning: missing initializer for member 'spiffs_stat::size' [-Wmissing-field-initializers]
_stat = {0};
^
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:379:19: warning: missing initializer for member 'spiffs_stat::type' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:379:19: warning: missing initializer for member 'spiffs_stat::pix' [-Wmissing-field-initializers]
C:\Users\Berry\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs_api.h:379:19: warning: missing initializer for member 'spiffs_stat::name' [-Wmissing-field-initializers]
Der Sketch verwendet 246.321 Bytes (56%) des Programmspeicherplatzes. Das Maximum sind 434.160 Bytes.
Globale Variablen verwenden 34.756 Bytes (42%) des dynamischen Speichers, 47.164 Bytes für lokale Variablen verbleiben. Das Maximum sind 81.920 Bytes.
Linberry vor 5 Jahren
Nickelgrass vor 5 Jahren