Vielen dank für eure Hilfe....
Sorry, aber das klingt für mich mehr nach einem Vorwurf statt nach einem wirklichen Dankeschön
"Echte Kölner" (auch eingebürgerte wie ich) haben am Rosenmontag aber wichtigere Aufgaben als zuhause am PC zu hocken....
ich habe den Fehler gefunden. Das mit dem af_lock funktioniert nur nach press("shoot_half").
Set_mf funktioniert immer. Jetzt gehen beide Methoden....
Im Interesse aller anderer Forumsleser muß ich diese Angaben von Dir aber leider revidieren, weil sie so sachlich nicht richtig sind:
1) Der Skript-Befehl set_mf zum Einstellen des MF-Modus (bei übrigens späterer Einstellung des Fokus auf eine manuelle Fokusdistanz!) ist leider nicht bei allen CAMs verfügbar.
Falls dem so sein sollte (etwa bei den meisten Ixus-Modellen), bieten aktuelle CHDK-Versionen alternativ den Befehl set_aflock an:
Nach diesem Befehl kann dann ebenfalls später eine Einstellung auf eine manuelle Fokusdistanz erfolgen.
2) Die nachfolgend nötige Einstellung auf die gewünschte manuelle Fokusdistanz erfolgt dann anschließend über den Befehl set_focus.
Das Problem dabei:
Dieser Fokus-Befehl wird offiziell (siehe hier) erst nach einem gemachten "shoot" gültig - Zitat:
<< Also note that set_focus (on all cameras?) requires the execution of "shoot" before taking effect >>
Wie geht es einfacher:
In der Praxis reicht m.W. nach set_focus aber bereits der Befehl shoothalf aus, damit die gewünschte Fokusdistanz eingestellt wird. Auf diese Weise kann man dann ein unnötig gemachtes Bild vermeiden.
Auch in meiner speziell für Dich erstellten Skriptversion "IntervWOb2.lua" werden diese Abläufe verwendet und ich hatte gehofft, daß Du mal in den Programm-Code reinschaust, um diese Zusammenhänge erkennen zu können.
Leider hatte ich diesbezüglich anscheinend zu große Hoffnungen, da Du diese (speziell für Dich erstellte!) Datei ja noch nicht mal heruntergeladen hast.
Das nimmt mir dann aber leider auch die Motivation, mich weiterhin intensiv um Anfragen von Dir zu beschäftigen, weil Du diese Arbeit von mir (übrigens in meiner sparen Freizeit) anscheinend nicht ernst nimmst und dazu von Dir noch nicht mal irgendeine Antwort gekommen ist.
Last not least:
Im Interesse aller muß ich übrigens auch noch klarstellen, daß Dein verwendeter Code zur Einstellung der hyperfokalen Distanz m.W. völlig daneben liegt - Code-Zitat von Dir (siehe oben):
- Code: Alles auswählen
print("MF Test with lock in")
set_mf(1)
set_focus(hyp)
...
Den sozusagen "generellen" Befehl set_focus(hyp) gibt es aber m.W. nicht in CHDK!
Stattdessen muß der Wert für die hyperfokale Distanz (bezogen auf die aktuellen Kamera-Einstellungen) erst ermittelt werden, und danach kann man diesen Wert beim Befehl set_focus einsetzen.
Zumindest unter Lua gibt es aber durchaus einen Befehl, welcher die aktuelle hyperfokale Distanz auslesen und in einer Variablen speichern kann, um diese später als Wert für set_focus nutzen zu können - dazu ein Lua-Skriptbeispiel:
- Code: Alles auswählen
hyper_focal_distance = get_dofinfo().hyp_dist
set_focus(hyper_focal_distance)
So long
Werner_O