Hallo piet, Hamster.78 und natürlich alle Anderen
Als aller Erstes wünsche ich euch allen nachträglich ein frohes neues Jahr 2010!
Tut mir leid, dass ich erst jetzt anworte. Hatte nach den Feiertagen etwas zuviel um die Ohren.
Es freut mich sehr zu sehen, dass mein Script immer noch ab und an Verwendung findet.
Leider muss ich gestehen, dass ich in meiner Abwesenheit hier im Forum auch nicht mehr an dem Script weiter gewerkelt habe, da mir leider die Motivation dazu gefehlt hat. Nicht zuletzt, könnte auch daran liegen, dass das Script bei mir (und ich habe das Gefühl ich wäre der Einzige
) relativ stabil lief und es mir schwer fiel per Ferndiagnose (motiviert
) an Fehlfunktionen zu arbeiten. Im Moment steht das CHDK bei mir nicht an erster Stelle aber ich habe da ein paar Ideen im Hinterkopf, welche zu verwirklichen ich hoffentlich irgendwann mal Zeit finden werde.
Bei piet's Problem würde ich einen etwas anderen Weg gehen. Und zwar wäre mein Vorschalg direkt an der Variable "limit" in der Funktion "calcshoot" zu schrauben. (Zeile 232)
Der folgende Vorschlag ist nicht getestet!
Ursprünglich ist die Funktion der Variable die Schwelle, ab der die Belichtungskorrektur anfängt zu wirken, festzulegen. (fragt bitte nicht, was ich mir bei 10 Sekunden gedacht habe, wahrscheinlich einfach gar nichts
)
Also im Moment sind es 10 Sekunden. Bis 10 Sekunden und einem Korrekturfaktor ungleich Null werden direkt die Zeiten gesetzt, welche ausgerechnet wurden. Ab 10 Sekunden wird Belichtungszeit durch den eingestellten Faktor beeinflusst.
Der Faktor kann dabei so hoch sein, dass diese Grenze niemals überschritten wird.
Würde man nun der Varialbe "limit" den Wert "-224" (was 5 Sekunden entspricht) statt "-320" (10 Sekunden) zuweisen und den Belichtungskorrekturfaktor hoch genug einstellen würden die 5 Sekunden nicht überschritten.
Diese Änderung hätte den Vorteil, dass das Script die urprüngliche Funktionalität beibehält und man im Fall der Fälle den vollständigen Funktionsumfang weiterhin zur Verfügung hätte. Natürlich kann der Wert auch eine andere Zahl als -224 sein.
Die Funktion calcshoot würde dann so aussehen
function calcshoot
()
bv
=get_bv96
()
sv
=get_sv96
()
av
=get_av96
()
g
=bv+sv-av
if 0>=g
and g
>-
32 then g
=0 y
="1" howlong
=2000 end --how long to sleep to let the cam work
if -
32>=g
and g
>-
64 then g
=-
32 y
="1,3" howlong
=2600 end
if -
64>=g
and g
>-
96 then g
=-
64 y
="1,6" howlong
=3200 end
if -
96>=g
and g
>-
128 then g
=-
96 y
="2" howlong
=4000 end
if -
128>=g
and g
>-
160 then g
=-
128 y
="2,5" howlong
=5000 end
if -
160>=g
and g
>-
192 then g
=-
160 y
="3,2" howlong
=6400 end
if -
192>=g
and g
>-
224 then g
=-
192 y
="4" howlong
=8000 end
if -
224>=g
and g
>-
256 then g
=-
224 y
="5" howlong
=10000 end
if -
256>=g
and g
>-
288 then g
=-
256 y
="6,3" howlong
=12600 end
if -
288>=g
and g
>-
320 then g
=-
288 y
="8" howlong
=16000 end
if -
320>=g
and g
>-
352 then g
=-
320 y
="10" howlong
=20000 end
if -
352>=g
and g
>-
384 then g
=-
352 y
="12,7" howlong
=25400 end
if -
384>=g
and g
>-
416 then g
=-
384 y
="16" howlong
=32000 end
if -
416>=g
and g
>-
448 then g
=-
416 y
="20" howlong
=40000 end
if -
448>=g
and g
>-
480 then g
=-
448 y
="25,4" howlong
=50800 end
if -
480>=g
and g
>-
512 then g
=-
480 y
="32" howlong
=64000 end
if -
512>=g
and g
>-
544 then g
=-
512 y
="40,3" howlong
=80600 end
if -
544>=g
and g
>-
576 then g
=-
544 y
="50,8" howlong
=10160 end
if -
576>=g
then g
=-
576 y
="64" howlong
=128000 end
limit
=-
224 --<<----------------HIER IST DIE VARIABLE--------------------------------------------
if ev~
=0 and g
<=limit
then
g
=g-
(ev
*32)
if g
>limit
then g
=limit
end
if g
==0 then y
="1" howlong
=2000 end --how long to sleep to let the cam work
if g
==-
32 then y
="1,3" howlong
=2600 end
if g
==-
64 then y
="1,6" howlong
=3200 end
if g
==-
96 then y
="2" howlong
=4000 end
if g
==-
128 then y
="2,5" howlong
=5000 end
if g
==-
160 then y
="3,2" howlong
=6400 end
if g
==-
192 then y
="4" howlong
=8000 end
if g
==-
224 then y
="5" howlong
=10000 end
if g
==-
256 then y
="6,3" howlong
=12600 end
if g
==-
288 then y
="8" howlong
=16000 end
if g
==-
320 then y
="10" howlong
=20000 end
if g
==-
352 then y
="12,7" howlong
=25400 end
if g
==-
384 then y
="16" howlong
=32000 end
if g
==-
416 then y
="20" howlong
=40000 end
if g
==-
448 then y
="25,4" howlong
=50800 end
if g
==-
480 then y
="32" howlong
=64000 end
if g
==-
512 then y
="40,3" howlong
=80600 end
if g
==-
544 then y
="50,8" howlong
=10160 end
if g
==-
576 then y
="64" howlong
=128000 end
end
end
Erstellt in 0.015 Sekunden, mit
GeSHi 1.0.8.9
Ich hoffe ich habe keinen Denkfehler, denn es ist doch ziemlich unübersichtlich, wenn man nach einem halben Jahr versucht, sich wieder daran zu erinnern was man damals gedacht hat
Hoffe ich konnte helfen.
Gruß DrMaex