[uBasic] Susi2Stack - DOF-Stacking - Update XI

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

Jetzt klappt es

Beitragvon Sinter » 09.10.2009, 15:43

Hallo Hamster,

vielen Dank für deinen entscheidenden Hinweis. Genau das war offenbar mein Fehler. :-)

Ich hatte mich noch per PN mit Gehtnix ausgetauscht und da war noch ein anderer kleiner Bug den er dann erkannt und offenbar behoben hat, aber erst dein Hinweis macht nun das Skript funktionsfähig, so wie es gewünscht ist.

Ich hatte diesen Einstellungsparameter ganz übersehen, muss aber auch eingestehen dass ich das gesamte Thema nicht komplett verfolgt hatte, sondern nur den Testaufruf von Gehtnix mitbekam und ihm meine Unterstützung anbot ohne genau zu wissen, worauf er beim Test hinauswollte.

Nun also, mit Parameter p auf 1 gestellt, zeigt meine Ixus60 folgendes Verhalten:

Skript starten: Daraufhin schalten von Normal auf Makro und Unendlich in einem Zuge durch und bleibt auf Normal stehen.

up= keine Reaktion

down= Endlosschleife aller drei Zustände

left= Makro, wobei aus Makroeinstellung zunächst alle Zustände durchgeschaltet werden bis wieder Makro erscheint (vielleicht könnte man hier zuvor abfragen ob Makro bereits eingestellt ist und dann das Durchschalten sparen)

right= Normalfocus, wobei auch hier aus Normalstatus unnötig durchgeschaltet wird bis wieder der Normalstatus erreicht ist

Aber ich denke, es geht allgemein grundsätzlich um die Erkundung der Parameter und der Schaltmöglichkeiten.

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

Beitragvon S5andi » 09.10.2009, 16:10

Hallo gehtnix

gehtnix hat geschrieben:Wieso die Umbenennung? Oder hast Du ein weiteres Unterprogramm erstellt? Wenn ja, wo ist der Unterschied zu :taste? Taste sollte ja reichen.


Ja ich habe ein zweites Unterprogramm erstellt, denn in "Taste" rufts du unter "case 2" die Funktionstaste Makro auf. Die S5 hat aber zwei getrennte Tasten: eine für Makro und eine für MF. In "tastemf" steht anstelle " click "macro" der Aufruf "click "mf". Da ich nicht weis, wie die anderen Kameras reagieren, habe ich das Ganze so gelöst. Kann man vielleicht eleganter machen.

gehtnix hat geschrieben:Es ist gut möglich das er beide get_prop (6+133) benötigt. Mit get_zoom_steps>40 sollte es mit Deinen 128 auch klappen?

Da sehe ich in der Ausführung keinen Unterschied. Das Umschalten funktioniert mit meiner Programmänderung ohne diese Zeilen.

Nur beim Schalten von Supermakro in MF (direkt hintereinander Taste mit Taste <up> und <down>) kommt die Endlosschleife. Sonst kann ich problemlos von einer Funktion in die andere schalten

Gruß S5andi
S5 IS 1.01a + SX230HS 1.01e CHDK-DE: akt. Version
S5andi
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 38
Registriert: 16.08.2008, 07:48

Beitragvon gehtnix » 09.10.2009, 17:48

@Sinter, alles paletti, das gehört in diesem Skript so, Danke

@S5andi, eine eigene MF-Taste Bild jetzt ist bei mir der Groschen gefallen.

1x click "mf" schaltet immer in den MF, OK. Ein weiteres click "mf" was nun?

Probiere doch mal das aus.
Code: Alles auswählen
:manual
   if get_propset=2 and get_zoom_steps>40 then goto "sprung3"
   do
      gosub "taste"
      if get_propset=1 then until 1=get_prop 12 and 0=get_prop 11
      if get_propset=2 and get_zoom_steps<40 then until 4=get_prop 6
   goto "sprung4"
   :sprung3
      click "mf"
      sleep 200
   :sprung4
   return


Da sollte die Endlosschleife auch verschwinden.

gruß gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon S5andi » 09.10.2009, 18:23

Hallo gehtnix,

Bingo! Das war's. jetzt läuft das Script.

Jetzt ist verstehst du sicher auch den Hinweis:
s5Andi hat geschrieben:Bei der S5 ist es möglich im Supermakro-Modus den MF einzuschalten. Beim Makromodus geht das nicht, da wird Makro ausgeschaltet.


Ich hoffe das hilft dir Susi2Stack auch für die S5 anzupassen. Helfe dir da gerne.

Gruss S5Andi
S5 IS 1.01a + SX230HS 1.01e CHDK-DE: akt. Version
S5andi
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 38
Registriert: 16.08.2008, 07:48

Beitragvon gehtnix » 09.10.2009, 23:17

Hallo,

so, ein paar Bild Späne mussten noch fallen.

Neue Version anbei. Sollte jetzt bei allen Kameras laufen Bild

Ein paar Änderungen:

Zeile 135
    C=(G*2*d/100)-e
-e reduziert nochmals die Fotostrecke. Besonders bei Makro werden unnötige Fotos vermieden. Siehe Susi2Stack Zusatz.pdf - Variante 1, da wird dann die Fotostrecke auf 348-40mm (=Startpunkt) = 308mm verkürzt.

Zeile 91
    if G<(A+e) then
    print "* Startpunkt war zu groß"
    E=O
    else
    print "************************"
    endif
Verhindert dass der Startpunkt hinter dem Fokus plaziert wird. Gerade bei Makro ist man schnell darüber hinweg.

Nicht vergessen unter Optionen die Tasten anzugeben ;)

@S5Andi, da bin ich jetzt mal gespannt was die S5 sagt. Im Supermacro kann CHDK aber nur jeweils um 1mm verstellen. Das könnte für ein passable Schärfentiefe zum Stacken zu viel sein.

Und jetzt erst mal Bild

grüße gehtnix
Zuletzt geändert von gehtnix am 10.10.2009, 11:51, insgesamt 2-mal geändert.
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon no.7 » 09.10.2009, 23:48

@gehtnix,
entschuldige, wenn ich einfach so reinplatze (will auch gar nicht S5Andi vorgreifen),
aber hab gerade die neueste Version gestartet: funzt mit der S5 nach dem ersten Eindruck wunderbar! :D
Leider verstehe ich vom Skripten etc. nichts, kann nur das anwenden,
darum von mir ein großes DANKE für deinen/euren Einsatz,
und hoffe das wohlverdiente Bierchen hat inzwischen gemundet!

Gruß
no.7
SX40HS,S5IS (+ CHDK, ist doch klar!)
Benutzeravatar
no.7
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 97
Bilder: 0
Registriert: 06.05.2008, 16:47

Beitragvon Hamster.78 » 10.10.2009, 09:55

Hallo gehtnix,

zum Wohl - hast dir es ja wirklich verdient. Bild
Jedoch habe ich mir noch einmal den Startpunkt angesehen. set_focus 62+5 (Zeile 91 e=E*10 wird ignoriert) (A=62 kl. Focus) + (e=5 Startpunkt cm)
Dadurch wird wenn man das Menü deaktiviert h=1 immer bei einen Focus von 67 angefangen. Daher wäre die Ermittlung des Focus über Macro / AF finde ich fast überflüssig.

Zeile 137 hat geschrieben:rem Startpunkt
G=G-(G/3)
set_focus G
dadurch wird der ermittelte Focus als Basis für den Startpunkt genommen. Habe noch einmal 33% abgezogen um noch ein Bild vor dem Focuspunkt zu machen.


gehtnix hat geschrieben:
    C=(G*2*d/100)-e
-e reduziert nochmals die Fotostrecke. Besonders bei Makro werden unnötige Fotos vermieden. Siehe Susi2Stack Zusatz.pdf - Variante 1, da wird dann die Fotostrecke auf 348-40mm (=Startpunkt) = 308mm verkürzt.


Beispiel C=(294*2*0/100)-5 Focus=294 d=0 (d Nachlauf %) - e=5 (e Startpunkt cm)

gruß Hamster Bild
◄ SX100 v100c ◄ Samsung NX10

CHDK DEThe Canon Camera Hackers Manual schon gelesen?
Benutzeravatar
Hamster.78
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 318
Registriert: 24.01.2009, 11:21
Wohnort: Sachsen / Chemnitz

Beitragvon gehtnix » 10.10.2009, 11:11

Hi Hamster,

hat mir der Wirt da Bild eines zuviel gegeben oder hast Du so einen lustigen Editor,´der wo sich selber schreibt´?
Zeile 137 hat geschrieben:rem Startpunkt

Der Startpunkt ist beim Hobeln ein wenig verrutscht, stimmt jetzt wieder.

Zeile 137 hat geschrieben:Daher wäre die Ermittlung des Focus über Macro / AF finde ich fast überflüssig.
Hier irrt Zeile 137, das ist Variante 2 vom Zusatz-PDF. In Variante 2 wird, da f=1, der AF zum Ende der Fotostrecke umdefiniert.
Code: Alles auswählen
if f=0 then C=(G*2*d/100)-e else C=G"


Die Option "Menü" ist nicht mehr vorhanden, macht auch keinen Sinn mehr.

@no7, da gibt es nix zum Entschuldigen. Jede Rückmeldung ist wichtig!

Zusatz-PDF hatte ich zwar überarbeitet aber nicht angehängt, siehe ganz Oben.

gruß gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon gehtnix » 16.10.2009, 17:05

Hi,

nun habe ich das Susi2Stack.PDF aktualisiert. Skript selber auch nochmal aktualisiert. Da war noch ein kleiner Fehler bei der S5-Tastenbelegung.

In der Grafik erscheint jetzt nicht mehr der Startpunkt als Maß (mm) sondern der Parameter e. Diese e (mm) werden nun aber von hinten auch noch reduziert. Nochmals weniger Fotos.

habe fertig

gruß gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon pterozaurus » 18.10.2009, 15:42

test.....test...test
Ixus55 FW 1.00cCHDK 0.9.8-788

joh ich hab es geschafft das Script zu testen, leider erfolglos
gleich nach dem Start kommt:
uBasic:251 Parse err.

Bei einer älteren Version war es der "shoot" Befehl der Probleme machte, aber das regle ich mit
press "shoot_half"
sleep 500
click "shoot_full"
sleep 500
release "shoot_half"
sleep 500

Vielleicht hilfts ;-)

Viele Grüße
Stephan
SX220 HS; Fw. 101b; CHDK_DE 1.2.8 Rev. 2099
Ixus55:chdk ixus55_sd450-100c-1.0.0-DE
Benutzeravatar
pterozaurus
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 65
Bilder: 0
Registriert: 18.06.2008, 10:41
Kamera(s): SX220 HS
Ixus 55

Beitragvon gehtnix » 18.10.2009, 16:31

pterozaurus hat geschrieben:Ixus55 FW 1.00cCHDK 0.9.8-788
Mal auf 819 updaten, sollte zwar nicht die Ursache sein, können wir dann aber schon mal ausschließen.

pterozaurus hat geschrieben:uBasic:251 Parse err.
Hört sich nach einem alten Bekannten an. Du hast aber auch DIGIC II. Habe jetzt bei mir mal die zwei shoot durch press..... ersetzt, läuft bei mir auch durch.

Das hast Du bestimmt auch gemacht?

Testweise könntest Du jetzt ab Zeile
44 und danach 81
alles löschen und ein end zum Abschluß setzen.
EDIT NICHT löschen, nur end danach setzen!

Was dann?

gruss gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon pterozaurus » 18.10.2009, 21:59

Hi gehtnix,

Ixus55 FW 1.00cCHDK 0.9.8-788
Mal auf 819 updaten, sollte zwar nicht die Ursache sein, können wir dann aber schon mal ausschließen.

Hab ich gemacht, stimmt, es war nicht die Ursache
pterozaurus hat Folgendes geschrieben:
uBasic:251 Parse err.
Hört sich nach einem alten Bekannten an. Du hast aber auch DIGIC II. Habe jetzt bei mir mal die zwei shoot durch press..... ersetzt, läuft bei mir auch durch.

Das hast Du bestimmt auch gemacht?

Ja klar.

Testweise könntest Du jetzt ab Zeile
44 und danach 81
alles löschen und ein end zum Abschluß setzen.
EDIT NICHT löschen, nur end danach setzen!

Was dann?


habs gemacht. Das Script bleibt jetzt mit der Fehlermeldung "uBasic:262 Parse err"

Viele Grüße
Stephan
SX220 HS; Fw. 101b; CHDK_DE 1.2.8 Rev. 2099
Ixus55:chdk ixus55_sd450-100c-1.0.0-DE
Benutzeravatar
pterozaurus
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 65
Bilder: 0
Registriert: 18.06.2008, 10:41
Kamera(s): SX220 HS
Ixus 55

Beitragvon gehtnix » 18.10.2009, 22:54

Hi pterozaurus,

seltsam dass das bei mir geht.... if² ](*,)

Nimm mal dieses kurze Teil zum Testen.
Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
if get_nd_present=0 then

    if get_propset=1 and (0<>get_prop 11) or (0<>get_prop 12) then print "normal"

    if get_propset=2 and (0<>get_prop 6) or (0<>get_prop 133) then print "normal"

endif



print "Fertig"



end



 
Erstellt in 0.006 Sekunden, mit GeSHi 1.0.8.9
Wenn da auch wieder dieser Pars auftaucht, dann hinter "normal" jeweils ein endif setzen.
Läuft das dann durch dann kannst Du im Skript die Stellen suchen wo innerhalb einer if-Abfrage ein weitere If-Abfrage erscheint und am Ende ein endif hinzufügen.

Oder Du wartest mit uns, bis wir alle von diesem if-Irrsinn erlöst werden.

gruß gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon rudi » 19.10.2009, 06:46

Hallo

bitte verwendet innerhalb von mehrzeiligen IFs z.Z. auch nur mehrzeilige IFs und nach THEN und ELSE eine REM-Zeile.

Das Einfügen von zwei ENDIFs löst das Problem nicht, da das erste eingeschlossene IF (if get_propset...) z.Z. bei FALSE im obersten IF (if get_nd_...) nicht erkannt wird, damit ist das erste ENDIF dann zuviel.

Die Änderung sollte so aussehen:
Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
if get_nd_present=0 then

  rem gegen nested if bug

  if get_propset=1 and (0<>get_prop 11) or (0<>get_prop 12) then

    rem gegen nested if bug

    print "normal"

  endif

  if get_propset=2 and (0<>get_prop 6) or (0<>get_prop 133) then

    rem gegen nested if bug

    print "normal"

  endif

endif

 
Erstellt in 0.006 Sekunden, mit GeSHi 1.0.8.9

Das sieht nicht schön und übersichtlich aus, aber funktioniert dafür.

Gruß Rudi
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 510
Registriert: 11.09.2009, 11:27
Kamera(s): A590IS_101B, SX260_100B

Beitragvon gehtnix » 19.10.2009, 12:43

Bild + Bild Rudi, jo, das hatte ich doch mal, das hätte ich wissen müssen!

So stand es ja obenschon mal:
Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
if get_nd_present<>0 then goto "sprung2"

    if get_propset=1 and (0<>get_prop 11) or (0<>get_prop 12) then gosub "normal"

    if get_propset=2 and (0<>get_prop 6) or (0<>get_prop 133) then gosub "normal"

:sprung2

 
Erstellt in 0.005 Sekunden, mit GeSHi 1.0.8.9

Bild "rem gegen nested if bug" - das liest sich ja wie aus einem Beipackzettel für Schweinegrippe.
Das schweinische an dem IF ist aber auch, dass IXUS mit DIGIC III und A610 mit DIGIC II den Fehler nicht entdecken.

gruß gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

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

cron