Fragen zu set_mf()

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Re: Fragen zu set_mf()

Beitragvon Werner_O » 20.02.2015, 01:48

Hallo Jörg,

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
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1013
Registriert: 22.10.2010, 14:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: Fragen zu set_mf()

Beitragvon c_joerg » 20.02.2015, 09:50

Hallo Werner_O


Sorry, aber das klingt für mich mehr nach einem Vorwurf statt nach einem wirklichen Dankeschön


Es war aber ein wirkliches Dankeschön.

"Echte Kölner" (auch eingebürgerte wie ich) haben am Rosenmontag aber wichtigere Aufgaben als zuhause am PC zu hocken....


Das haben wir in Bremen gar nicht mitbekommen…

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 ist mir jetzt erst aufgefallen, dass das zweite Script eine anderes ist…

Den sozusagen "generellen" Befehl set_focus(hyp) gibt es aber m.W. nicht in CHDK!


Du musst mich wohl für total bescheuert halten. Dass das so nicht funktioniert ist doch wohl klar. Da kommt schon vorher noch eine Zeile wie

Code: Alles auswählen
dof_value     = get_dofinfo()
hyp = dof_value.hyp_dist


Das sollte wohl klar sein oder? Ich habe mich auch nur auf die wichtigsten Codezeilen konzentriert.



Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 334
Registriert: 14.08.2014, 07:50
Wohnort: Bremen
Kamera(s): S110 103a
IXUS30 100k
2 * S45
2 * G1X 101a, 100e
SX230 101a
SX50hs 100c
IXUS160 100a
EOS M3 101a

Vorherige

Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste