für meine Schüler habe ich gerade mein Arduino Cheat Sheet für den ESP32 / ESP32-S3 überarbeitet. Beim ADC, Timer und LEDC sind die geänderten API-Funkionen vom Board Support V3.x bereits drin.
Wer es nutzen will, viel Spass damit
Wer Fehler findet bitte hier melden
Wer weitere Ergänzungen wünscht - wenn es der Platz zulässt ;-)
Aus Platzgründen sind jetzt nicht sämtliche API-Funktionen erklärt. Seltener genutzen Kram kann man in der Espressif-API nachlesen (ist verlinkt).
Ja, kann man sich beim ESP sparen. Danke für den Hinweis.
Es passiert aber auch nichts "tragisches", PROGMEM wird vom Compiler ignoriert (aber auch nicht als const umgesetzt!).
Hab dazu mal ein mini Testprogramm geschrieben:
1
#define longstring "das ist ein langer text, der jetzt irgendwo abgespeichert werden wird."
2
//char longstring[]= "das ist ein langer text, der jetzt irgendwo abgespeichert werden wird.";
3
//const char longstring[]= "das ist ein langer text, der jetzt irgendwo abgespeichert werden wird.";
4
//PROGMEM char longstring[]= "das ist ein langer text, der jetzt irgendwo abgespeichert werden wird.";
5
//String longstring = "das ist ein langer text, der jetzt irgendwo abgespeichert werden wird.";
6
//const char longstring[]= R"xxxxxx(das ist ein langer text, der jetzt irgendwo abgespeichert werden wird.)xxxxxx";
7
8
voidsetup(){
9
// put your setup code here, to run once:
10
Serial.begin(115200);
11
Serial.print(longstring);
12
}
13
14
voidloop(){
15
// put your main code here, to run repeatedly:
16
delay(1);
17
}
Ergebnis:
#define, const char und const char mit Rawliteral ist identisch
char, PROGMEM char und char mit Rawliteral ist identisch
String ist beim RAM geringfügig kleiner, beim ROM größer
1
#define longstring "das ist ein langer text, der jetzt irgendwo abgespeichert werden wird."
RTC_DATA_ATTR könnte noch mit drauf. oder ist das auch sinnlos?
Das ist sehr speziell. Wenn man Wake-Up intensiv nutzt, muss man sowieso noch in die vollständige API reinschauen. Das hab ich nicht mal in meinen Beispielen drin (könnte ich vielleicht mal an der Dualen Hochschule nutzen).
Danke für den Hinweis.
Genauso verzichte ich bei den Schülern bei ISR auf die etwas performantere Version mit IRAM_ATTR... Wer mit ISRs auf Kriegsfuß steht, dem hilft das auch wenig weiter.
mein Drucker kann es nicht ausdrucken, es kommt nur ein Ausschnitt raus
Im PDF-Reader beim Drucken auf "Skalierung auf Druckbereich" auswählen.
Das Original ist DIN-A0 (war so bei der Vorlage, muss das mal bei Gelegenheit wenigstens auf A3 verkleinern). Wenn ich das in LibreOffice als PDF konvertiere bleiben die Links klickbar, aber die Blattgröße ist original.
Wenn ich es in eine PDF-Datei drucke, dann ist die 20x so groß (auch wenn es nur A4 Format ist) und die Links sind nicht mehr anklickbar :-(
@all: das ist noch ein "Work in progress", 99% sind ok, aber es gibt sicher noch ein paar kleine Korrekturen ;-)
"Work in progress"
Was ist das Problem? Bei mir wird der Text vollständig angezeigt.
Welcher Browser/PDF-Reader wurde da benutzt?
Bei dir fehlt auch die Hintergrundfarbe...
Sumatra 3.1.2, Foxit Reader zeigt "Variablen" vollständig.
Vielleicht mal Updaten??
Latest release: 3.5.2
Bei dir fehlt auch die Hintergrundfarbe...
Hintergrund ist weiß, aber im Sumatra fehlen die blauen Rahmen.
Die blauen Rahmen sind der Hintergrund. Darüber liegen weiße abgerundete Rechtecke... Irgend was bekommt Sumatra da mit den Layern nicht auf die Reihe.
Im Dateiheader steht "PDF-1.7". Also nichts für ältere Systeme, das muss
heutzutage so sein.
Hab dir die Datei nochmal mit Option PDF/A exportiert. Stimmt damit die Darstellung?
Ich kann auf Wunsch aber auch die odg-Datei hier reinstellen.