CHDK inside

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern
CHDK inside


Hier geht es rund um das Thema digitale Kampaktkameras  der PowerShot- und Ixus-Serie der Firma Canon® und CHDK als alternativer Firmware-Aufsatz für diese Kameras.

Diese Seiten sollen als Ergänzung zu bestehenden CHDK-Projekten betrachtet werden. CHDK ist sehr umfangreich. Da besteht die Gefahr, dass das eine odere andere Detail an Information verloren geht. Manche Dinge lassen sich in einem Forum auch nicht so gut darstellen.

Und wer sich jetzt fragt, wo bekomme ich denn nun dieses CHDK her? Der sollte sich unbedingt im deutschen CHDK-Forum im Downloadbereich umschauen.

Viel Spaß beim Stöbern.

msl

 


 

Bewegungserkennung

Drucken PDF

Einführung

Eines der schönsten CHDK-Features ist die Fähigkeit, Bewegungen zu erkennen, auszuwerten und bei Bedarf auszulösen. Die Bewegungserkennung wird per Skript organsisert. Es gibt vier spezielle Skriptbefehle, die bei geschickter Benutzung viele Möglichkeiten bieten. Besonders beliebte Anwendungen der Bewegungserkennung sind das Einfangen von Gewitterblitzen, Tieren  oder einem Feuerwerk.

Die Daten zur Auswertung kommen dabei nicht direkt vom Bildsensor. Das CHDK bedient sich hier dem kleinen Pufferspeicher für das Kameradisplay. Die Reduktion der Auflösung bedeutet aber auch einen Verlust an Details.

Skriptfunktionen

Um die CHDK-Bewegungserkennung zu nutzen, muss ein entsprechendes Skript auf der Kamera verfügbar sein. Zwei einfache Skripte in uBASIC und LUA befinden sich am Ende dieser Seite.

Der uBASIC- und Lua-Hauptbefehl für die Bewegungserkennung md_detect_motion hat 16 Eingabeparameter. Der Einfachheit halber werden diese mit a bis p bezeichnet. Neben diesem Hauptbefehl gibt es noch zwei Analysefunktionen und eine Testfunktion.
Weiterlesen...
 

Zeitzonen auslesen

Drucken PDF

Wie lässt sich die eingestellte Zeitzone auslesen?

Im Zusammenhang mit Berechnungen rund um den Sonnenstand spielt die Zeitzone eine wichtige Rolle. Da diese auch bei einer ganzen Reihe von Kameras einstellbar ist, stellt sich die Frage, ob man diese Daten auslesen und nutzen kann. Recherchen ergaben, dass diese Daten im Parameterspeicher abgelegt werden. Scheinbar erfolgt dies einheitlich für alle Kameras, die über diese Funktion verfügen, im Parameter 20.

Weiterlesen...
 

wissenschaftliche Funktionen

Drucken PDF

CHDK, Lua und wissenschaftliche mathematische Funktionen

Dank rudi aus dem deutschen CHDK-Forum ist es nun auch in CHDK-Lua-Skripten möglich, wissenschaftliche mathematische Funktionen zu verwenden, obwohl man in CHDK-Skripten nur Ganzzahlen ( Integer) verarbeiten kann.

Insbesondere die Integration der Winkelfunktionen stellt ein großes Problem dar. Hier wurde der CORDIC-Algorithmus verwendet. Andere Funktionen basieren auf der C-Bibliothek für mathematische Funktionen.

Die neue Lua-Bibliothek hat den Namen imath bekommen.

Alle Berechnungen erfolgen mit um 10^3 erweiterten Werten, welche damit drei Nachkommastellen repräsentieren. Intern arbeitet die Bibliothek mit vier Nachkommastellen. Weiterhin wurde die übliche Winkelangabe im Bogenmaß durch das Gradmaß ersetzt, was die Berechnung um mehr als eine Nachkommastelle verbessert. Der Genauigkeit wirken die üblichen Probleme mit der Umrechnung zwischen Dezimal- und Dualsystem entgegen.

Weiterlesen...
 

Neuer Lua-Befehl get_image_dir()

Drucken PDF

Ein wichtiger neuer Lua-Befehl

Mit Revision 2225 wurde ein sehr wichtiger neuer Lua-Befehl eingeführt, mit dem es nun relativ einfach ist, den Pfad für das zuletzt erstellte Bild festzustellen.

Die bisherigen Methoden, den Pfad für das letzte Bild zu ermitteln, waren recht umständlich. Über den Befehl os.listdir(<Pfad>) hat man den gesamten Inhalt der Verzeichnisstruktur und Dateien in Tabellen eingelesen. Diese Tabellen wurden sortiert, um letztendlich die letzte Datei zu ermitteln.

Insbesondere, wenn sich schon viele Bilddateien auf der SD-Karte befinden hat die beschriebene Methode so manche Kamera in die Knie gezwungen, weil nicht genügend Arbeitsspeicher für die umfangreichen Tabellen verfügbar war. Damit ist nun endlich Schluss.

Mit dem Befehl get_image_dir() erhält man den Pfad des Ordners, in dem sich das zuletzt erstellte Bild befindet. Nun braucht man nur noch per  get_exp_count() die Nummer des Letzten JPG-Bildes zu ermitteln. Dann kann man wie folgt den vollständigen Pfad definieren:

 

Pfad für zuletzt erstellte JPG-Datei
string.format('%s/IMG_%04d.JPG',get_image_dir(),get_exp_count())

 

 

 


Seite 1 von 8

Anmeldung

Wer ist online?

Wir haben 52 Gäste online