Zumo V1.2

Ich habe den Zumo schon einige Jahre und gerade wieder in einer Kiste entdeckt. Da dachte ich mir wäre doch ganz schön mal was darüber zu berichten. Der Zumo ist ein kleiner fahrbarer Untersatz auf den man den Arduino Uno oder Leonardo direkt aufstecken kann. Er verfügt über zwei Motoren und ein paar Sensoren …

Weiterlesen

ESP8266 RTOS SDK

Das RTOS SDK is die Espressif eigenen Programmierumgebung für den ESP8266. Fakten Auch das Arduino SDK kapselt die Funktionalitäten dieses SDKs. Jetzt könnte man sich fragen warum für ESP8266 spezialisierten Code schreiben indem man direkt das SDK verwendet. Die Anwort ist nicht ganz einfach aber hier ein paar Argumente: Das Framework bietet erweiterte Funktionalitäten die …

Weiterlesen

Espressif IDF – GPIOs

Die meisten GPIO Pins des ESP32 sind, bis auf ein paar Ausnahmen, sowohl Eingänge als auch Ausgänge (Siehe hierzu auch das entsprechende Datenblatt). Wie diese Digital angesteuert werden, zeigen die nächsten Beispiele. Grundsätzliches Sind die Pins als Digital konfiguriert können sie jeweil den Wert 1= true oder 0= false annehmen. Ausgang Hier das Blinkbeispiele mit …

Weiterlesen

Espressif IDF – Tasks

Ein Task ist eine (wiederkehrende) Aufgabe für den Prozessor. Mehrere Tasks ringen um die Aufmerksamkeit der CPU. Wie diese erstellt werden und welche Datenstrukturen zur Datenübermittlung und Synchronisation vorhanden sind, wird in diesem Beitrag kurz umrissen. Tasks können zu einer sehr komplexen Angelegenheit werden, weshalb ich hier nur die Spitze des Eisberges ankratzen kann. Dennoch …

Weiterlesen

Espressif IDF – Menuconfig

Eine der schönen Erungenschaften der IDF ist die Menü gesteuerte Konfiguration. Noch schöner finde ich, dass eigenen Konfiguratiospunkte erstellt werden können. Diese werden dann automatisch in das Haupt Menü eingehängt. Vorab: Die Biliothek „esp_system.h“ wird im Quellcode benötigt sonst klappts nicht Nach Änderungen am Menü ein idf.py clean durchführen Zur Erstellung solch eines Konfigurationspunktes nehme …

Weiterlesen

Espressif IDF – Timer

Ein beliebtes Beispiel in der Arduino Umgebung ist Blink. Hier wird eine LED mit einer kurzen Pause an und aus geschaltet. Zu Gpio Aktionen kommen wir im nächsten Kapitel, um das Blinken kümmern wir uns hier. Auch in der Arduino Umgebung wird immer geraten Codeunterbrechungen mit Delay zu vermeiden. Dort gibt es einige Konstrukte mit …

Weiterlesen

Espressif IDF – Lognachrichten

Gerade bei der Entwicklung auf dem Mircocontroller ist hier und da mal eine Ausgabe wichtig, um zu erahnen, ob der entwickelte Code auch das richtige macht. Schade ist es wenn solche Ausgaben dann immer noch das fertige Produkt belasten. Damit der Debugging code es nicht oder nur bedingt ins Endprodukt schafft gibt es in nahezu …

Weiterlesen

Espressif IDF – Fehlerbehandlung

Die Fehlerbehandlung in der IDF eine der Kernfunktionalitäten. Auf sie stösst man praktisch in jedem Beipiel-Programm. Deshalb möchte ich an dieser Stelle näher auf sie eingehen. Alle wichtigen Funktion der IDF geben Fehlercodes zurück. Hierauf kann zum einen manuell reagiert werden (if Bedingung + Eigenes Handling) oder sie können an eine spezielles Macro (Funktion) zur …

Weiterlesen

Espressif IDF – Konsolenausgabe

Direkte Ausgaben über die Konsole werden in der IDF mit printf erreicht. Hiermit sollte man jedoch sparsam umgehen, da es zum Beispiel zu debugging Zwecken oder zur Fehlerbehandlung andere Mechanismen gibt. Dies können dann auch über Menuconfig ein und ausgeschaltet werden und belasten so nicht den CODE. So sieht der Testcode für eine einfach Ausgabe …

Weiterlesen

Espressif IDF – Projekt erstellen

Hier beschreibe ich wie ein neues IDF Projekt angelegt wird. Wie die IDF, auch in Verbindung mit VS-Code, genutzt und installiert wird, habe ich unter folgenden Links schon beschrieben und ist nicht Gegenstand dieses Beitrags. Espressif IDF für ESP32-S2 Installieren VS-Code Espressif IDF LILYGO EP32 S2 V1.1 (1. Anwendung) Ein guter Start ist das IDF-Beispiel …

Weiterlesen