C++ 11 beim Kompilieren in Eclipse

  1. Right click your project and click Properties
  2. Under C/C++ Build click Settings
  3. Under GCC C++ Compiler, click Miscellaneous
  4. In the Other Flags box, append „-std=c++11 “ to the list of tokens.
  5. Click Apply and OK
  6. Right click on your project and click Properties
  7. Navigate to C/C++ General and Preprocessor Include Paths, Macros etc.
  8. Select the Providers tab, click on compiler settings row for the compiler you use (MINGW)
  9. Add -std=c++11 to Command to get compiler specs.
  10. Apply changes.

Will look something like this: ${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11 

aus: https://stackoverflow.com/questions/17457069/enabling-c11-in-eclipse-juno-kepler-luna-cdt

C++ für Arduino

1.) IDE wechseln. Anstatt Arduino als Plattform  auf Eclipse wechseln

  • Aktuellste Java Runtime Engine installieren
  • Aktuellste Eclipse-Version downloaden

2.) CDT (C/C++-Development-Toolkit)-Plugin hinzufügen

  • Help/Install new Software/CDT
  • MinGW (Minimalistisches GNU für Windows) installieren, damit man einen g++-Compiler hat
  • Der Ort, an dem die MinGW-Binärdatei installiert ist, muss in Eclipse in die Pfadvariable abgelegt werden
    Project/Properties/C_C++ General/Paths and Symbols -> Tab „Includes“

Konsolenbefehle Windows <-> Linux

Dateien auflisten

Linux: ls

Windows: dir

 

Inhalt einer Datei ausgeben

Linux: cat

Windows: type

 

Suchen nach einem gewissen Inhalt in einer Datei

Linux: grep

Windows: find (mit Hochkomma)

find „arduino.h“  *

 

IDE für STMicrokontroller

Es gibt zwei Hauptkategorien von STMicrocontrollern: 8-Bit-Prozessoren oder die 32-Bit-Prozessoren.

STM8

Ist Soft- und Hardware, die sich auf den 8-Bit-Prozessor bezieht. Die IDE ist ST Visual Develop.

Diese IDE erinnert stark an die Anfänge von IDEs und macht nicht wirklich Spass, sie zu gebrauchen.

 

STM32

Viele  Hard- und somit auch Software bezieht sich auf diesen Prozessorentyp, der mit 4 Bytes rechnet.

Zu diesem Prozessor gibt es mehrere IDEs: Bis jetzt arbeitete ich nur mit Keil und mit Atollic True Studio.

Zu dieser IDE gibt es super Plug-Ins. Wie z. B. das STM-Cube.

Grundbegriffe Fotographie

Blende oder Bildschärfe

Die Bildschärfe bezeichnet wie viel Bildfläche scharf dargestellt wird.
Die Schärfe wird an den Kanten der Objekte sichtbar. Was sind klare Grenzen, was ist scharf. Die maximale Schärfe hängt auch vom ISO-Wert ab.

  • Ein grosser Blendewert ist z. B. 11 oder 13.
    Dies bewirkt, dass eine grössere Fläche im Bild geschärft wird.
    Es bedingt eine gute Belichtung (viel Licht).
  • Ein kleiner Blendewert ist 2 oder 2.5.
    Dies bewirkt, dass nur ein kleiner Teil des Bildes scharf ist.
    Wenig Umgebungslicht ist no/twendig.
  • Je grösser die Distanz zum Objekt, desto mehr Bildschäfe entsteht.
    Will man eine breite Schärfe, so sollte man von möglichst weit weg aufnehmen.

ISO

Bezeichnet die Körnigkeit bzw. die Auflösung des Bildes.

  • Ein tiefer Wert ist 400. Das Bild erscheint körnig
  • Ein höherer Standard ist 3200. Keine Körnigkeit mehr sichtbar.

Belichtung oder Verschlusszeit

  • Je länger das Bild belichtet ist, desto eher ist es verwackelt.
  • Je kürzer das Bild belichtet wird, desto dunkler wird es

 

Eclipse: Plattform-spezifisch kompilieren

Innerhalb eines Projektes kann plattform-spezifisch kompiliert werden. Für jede neue Build-Einheit entsteht ein neuer „Debug“-Ordner.

Auswahl, für welche Plattform kompiliert werden soll
Projektordner>Properties/C/C++Build auswählen:
Unter Configuration: Auswählen der korrekten Plattform

Neue Plattform hinzufügen
Projektordner>Properties/C/C++Build auswählen:
Unter Configuration: Den rechten Knopf „Manage Configurations..“ auswählen und die neuen Build-Einstellungen aufsetzen.

Der Name, der die Build-Konfiguration erhält, dient innerhalb des Projektes als Ordnername.

 

 

Git Basics: checkout – der aktuelle Zustand, auf den sich Änderungen beziehen

Das Verzeichnis befindet sich in einem Zustand. Dieser hat eine Commit-Nummer. Dieser Ort wird mit checkout benannt. Der Head-Pfeil zeigt immer auf die aktuell gültige Zustandsversion.

Bild 1 zeigt, dass der aktuelle Zustand des git Verzeichnisses 111 ist und dass Änderungen vorgenommen wurden.

git

 

Bild 2 zeigt, dass wenn Änderungen übermittelt werden, checkout sich auf den neuen Commit bezieht. Auch der Head zeigt zum neuen Commit.