virtual environment

Besonders wenn man mit Windows arbeitet, lohnt es sich virtuelle Umgebungen für jedes Projekt mit Python anzulegen.

Plugins sind uneinheitlich ins Windosw OS eingebunden

Python ist aufgrund seiner vielen Bibliotheken mächtig. Doch es gibt keine standadisierte Prozedur wie die Plugins dem Betriebsystem hinzugefügt werden. Sie liegen deshalb an mehreren Orten verteilt. Dies führt dazu, dass man keinen Überblick erhält, welche Plugins installiert sind.

Was ist das Problem?

Will man ein spezifisches Python-Projekt updaten, so betrifft dieses Update ev. auch andere Projekte. Deren Schnittstelle zu anderen Programmen stimmt dann ev. nicht mehr und man weiss nicht warum.

Was macht die virtuelle Umgebung?

In jeder virtuellen Umgebung installiert man lokal in diese Umgebung die Plugins. Diese berühren so die anderen Projekte nicht.

Best Practice

  1. Python und PIP werden ins OS installiert.
  2. Für jedes neue Projekt wird ein Projektordner als virtuelle Umgebung angelegt
  3. Alle Bibliotheken und Plugins werden in diesem Projektordner installiert

 

 

8 Prozessoren und nur 4 Kerne: Hyperthreading

Beim Laptop steht: 8 logische Prozessoren (die jeder auch im Gerätemanager angezeigt werden) und (nur) 4  Kerne. Wie geht das?

Die CPU hat vier Kerne (cores). Jeder der Kerne kann dank Hyper-Threading mehr Prozesse gleichzeitig verarbeiten. Dies ergibt dann aus der Sicht von Windows acht logische CPUs.

Erklärung fand ich in:

http://forum.chip.de/cpu-board-speicher/logische-prozesooren-1546697.html

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