IXUS und der shoot - Befehl

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

IXUS und der shoot - Befehl

Beitragvon fe50 » 09.11.2008, 02:47

Bei einigen (meist älteren) Ixus - Modellen wurde immer wieder von Problemen mit dem shoot - Befehl in Scripten berichtet.

Das Problem war, dass bei manchen Ixus-Modelle beim/nach dem ersten shoot - Befehl in einem Script dieses abgehalten/abgebrochen wurde bzw. die Scriptausführung einfach stehen blieb. Dieser Effekt trat meist nur unter bestimmten Bedingungen auf, z.B. abhängig von der Blitz-Einstellung.

Umgehen konnte man das Problem, indem man "shoot" durch eine half_press/full_press Sequenz ersetzt hat.

Ich habe deshalb nun einige Tests mit meiner Ixus 50 (Firmware 1.01b) durchgeführt, konnte aber - egal, was ich ausprobiert & eingestellt habe - mit der aktuellen Version 0.7.3 keine einzige shoot - Fehlfunktion mehr "einfangen" :-k
Entweder das Problem wurde mit der Entwicklung in den letzten Wochen beseitigt, evtl. durch die Änderungen in #550 (RAW-Hook) oder früher (#543/544), oder es lässt sich nur auf der Ixus 50 nicht mehr reproduzieren.

Nun müssten mal die Ixus-User, die von dem Problem betroffen sind / waren testen, ob die Verwendung von shoot noch immer Probleme macht !

Als einfacher Test kann folgendes Script dienen:
Code: Alles auswählen
@title Ixus shoot test
@param a Anzahl
@default a 8
print a," x, los geht's..."
for i = 1 to a step 1
shoot
next i
print i-1," x, fertig."
end

Bitte auf eine neu formattierte Karte eine aktuelle (0.7.3) Complete - Version laden, das Script speichern & laden, dann mit verschiedenen Einstellungen laufen lassen:

Automatischer Modus
- Blitz An / AUS (falls möglich) / Auto / rote Augen / Porträt (falls möglich)
- verschiedene Zoom-Stufen
- Makro / Normal / Unendlich (falls möglich)
Manueller Modus
- Blitz An / AUS / Auto / rote Augen / Proträt (falls möglich)
- verschiedene Zoom-Stufen
- Makro / Normal / Unendlich

Eventuell können auch Kameraeinstellungen wie AiAF, Review-Zeit, IS (Image Stabilisator, wenn vorhanden) einen Einfluss haben...

Also bitte mal ran an die Ixus, testen & hier die Resultate berichten, damit wir diesem ominösen Problem den Hals umdrehen können (sofern es in den aktuellen CHDK-Versionen überhaupt noch vorhanden ist) !

Bei folgenden Kameras wurde der shoot-Befehl OHNE FEHLFUNKTION getestet (Stand: 23.12.2008):
Ixus 50 1.01b (fe50)    Ixus 870 1.00c (fe50)    Ixus 950 1.00c    Ixus 75 1.02a


Bei folgenden Kameras funktioniert der shoot-Befehl FEHLERHAFT (Stand: 23.12.2008):
Ixus 55 100c (pterozaurus)      Ixus 750 100f (kopi1)
Zuletzt geändert von fe50 am 23.12.2008, 13:59, insgesamt 5-mal geändert.
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Beitragvon Schnappschuss » 09.11.2008, 21:20

Also bei der IXUS 950 funktioniert alles einwandfrei, keine Probleme!
(die ersten Tests waren mit 8 Bildern, danach hab ich die Bildanzahl auf 4 reduziert...)

Automatischer Modus
- Blitz An / AUS (falls möglich) / Auto / rote Augen / Porträt (falls möglich)
- verschiedene Zoom-Stufen
- Makro / Normal / Unendlich (falls möglich)
Manueller Modus
- Blitz An / AUS / Auto / rote Augen / Proträt (falls möglich)
- verschiedene Zoom-Stufen
- Makro / Normal / Unendlich

Alles perfekt! :D

(2GB frisch formartierte Karte mit dem aktuellen (0.7.3) Complete)
IXUS 950 + CHDK
Schnappschuss
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 44
Registriert: 29.06.2008, 18:24
Wohnort: NRW

Beitragvon fe50 » 09.11.2008, 21:48

Danke für's testen, Schnappschuss !

Das hatte ich mir schon gedacht, das die neueren Modelle bzw. die erst später portierten Cams hier nicht auffällig sind, die Ixus 860 funktioniert diesbezüglich auch einwandfrei...
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Beitragvon pterozaurus » 10.11.2008, 12:01

so:
Version 0.7.4-555 (aktuell 10.11.08) heruntergeladen (http://mighty-hoernsche.de/chdk/), Karte formatiert aufgespielt, bootbar gemacht etc....
Testscript aufgespielt und...

leider nicht...... 1 Bild und meine Ixus 55 FW 1.00C bleibt stehen schade schade schade

Version 0.7.3 hatte ich leider nicht heruntergeladen und finde ich auch nicht.

Danke für die trotz allem tolle Arbeit und das Engagement

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 fe50 » 10.11.2008, 15:12

Hi Stephan,
da haben wir ja nun einen der Problemfälle...0.7.4 ist auch ok.

Was ich noch wissen sollte dabei:
- wann genau bleibt sie stehen: vor / nach dem 1. shoot,
- wurde ein Bild gespeichert & ist es ok ?
- was zeigen die LEDs an wenn die Kamera hängt ?

Unter welchen Bedingungen passiert das ?
- Blitz AN/AUS/AUTO
- mit / ohne Zoom
- welche Kameraeinstellungen: AiAF AN / AUS, Rückschau Zeit in s, welche Betriebsart (manuell / Auto) ?

Was im CHDK mit dieser Testkarte & dem Testscript noch getestet werden sollte: shoot delay Wert -> Im Script-Menü den 2. Eintrag "Script shoot delay (.1s)" von 0 hochsetzen, z.B. auf 20 (=2s). Dieser Wert gibt die Wartezeit NACH einem shoot an...
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Beitragvon pterozaurus » 10.11.2008, 16:04

Was ich noch wissen sollte dabei:
- wann genau bleibt sie stehen: vor / nach dem 1. shoot,
- wurde ein Bild gespeichert & ist es ok ?
- was zeigen die LEDs an wenn die Kamera hängt ?

Unter welchen Bedingungen passiert das ?
- Blitz AN/AUS/AUTO
- mit / ohne Zoom
- welche Kameraeinstellungen: AiAF AN / AUS, Rückschau Zeit in s, welche Betriebsart (manuell / Auto) ?


Und hier meine Ergebnisse: Kamera bleibt nach den 1. shoot stehen, Bild wird gespeichert und ist OK, LED oben blinkt rot und bei genügend Licht grünes Dauerlicht

Betrieb Manuell, Blitz Aus, keine Rückschau, kein Zoom, kein AiAF

Script shoot delay auf 20 gesetzt keine Änderung

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 PhyrePhoX » 10.11.2008, 16:14

oh shoot! raw vielleicht an?
Benutzeravatar
PhyrePhoX
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 490
Registriert: 04.07.2008, 21:31

Beitragvon pterozaurus » 10.11.2008, 16:20

oh shoot! raw vielleicht an?


leider auch nicht

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 fe50 » 10.11.2008, 16:23

PhyrePhoX hat geschrieben:oh shoot! raw vielleicht an?

Ha - wollt ich grad' posten, FastPhox *grins*

Stephan, schalte mal RAW an -> wann hängt sie da, was macht die blaue LED & wird ein RAW Bild gespeichert ?

*Edit: ...bin jetzt mal kurz weg...komme aber heut' abend wieder vorbei ;)
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Beitragvon pterozaurus » 10.11.2008, 16:46

raw an -> raw wird gespeichert dabei blaue print LED auf dauer. Nach dem speichern wie gehabt, Display normales, bewegtes Bild, kleines grünes Rechteck obere LED dauergrün.

Bis später dann

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 fe50 » 10.11.2008, 22:57

Ok, mit den gesammelten Infos muss ich mir jetzt mal die in Frage kommenden Stellen im Sourcecode anschauen...zudem versuche ich mal weiterhin, eine Umgebung hinzubekommen, bei der meine Ixus 50 sich ebenfalls aufhängt, damit ich das Verhalten nachvollziehen & untersuchen kann.
Das kann jetzt etwas dauern, mal schauen wie's in den nächsten Tagen zeitlich aussieht.

...Stephan, drei Dinge hab' ich noch für Dich:
1.) Was passiert, wenn Du das "hängende" Script mit dem Auslöser (ganz drücken) stoppst & dann erneut startest - wieder nur 1 Bild + Hänger ? ... und mit PRINT ?
2.) Starte mal die Kamera (manueller Modus, Blitz aus), mach' 2 Bilder (ganz normal), zoome ganz aus, mach' ein Bild, zoome wieder ganz ein, schieß' nochmal, starte dann das Script - alles unverändert ?
3.) Macht es einen Unterschied, ob die Kamera a) im Play Modus oder b) im Aufnahmemodus eingeschaltet wird ?

...wünsche angenehme Nachtruhe !

:?: Hat sonst noch jemand mit einer älteren Ixus das shoot - Problem (siehe 1. Post) ?
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Beitragvon pterozaurus » 10.11.2008, 23:34

fe50 hat geschrieben:Ok, mit den gesammelten Infos muss ich mir jetzt mal die in Frage kommenden Stellen im Sourcecode anschauen...zudem versuche ich mal weiterhin, eine Umgebung hinzubekommen, bei der meine Ixus 50 sich ebenfalls aufhängt, damit ich das Verhalten nachvollziehen & untersuchen kann.
Das kann jetzt etwas dauern, mal schauen wie's in den nächsten Tagen zeitlich aussieht.


Danke schon mal, zeitlich pressiert es überhaupt nicht.

...Stephan, drei Dinge hab' ich noch für Dich:
1.) Was passiert, wenn Du das "hängende" Script mit dem Auslöser (ganz drücken) stoppst & dann erneut startest - wieder nur 1 Bild + Hänger ? ... und mit PRINT ?


Beim "Hänger" mit dem Auslöser gestoppt kommt die Meldung "Unterbrochen" bei weiterem Auslösen startet es wieder von vorn, es können mehr Bilder gemacht werden wie die eingestellten.
Beim "Hänger" die Print-Taste 2Xgedrückt macht sie sofort ein weiters Bild bis zur angegebenen Anzahl. Anschliessend die Meldung "Beendet"

2.) Starte mal die Kamera (manueller Modus, Blitz aus), mach' 2 Bilder (ganz normal), zoome ganz aus, mach' ein Bild, zoome wieder ganz ein, schieß' nochmal, starte dann das Script - alles unverändert ?


alles unverändert, wie oben

3.) Macht es einen Unterschied, ob die Kamera a) im Play Modus oder b) im Aufnahmemodus eingeschaltet wird ?


kein Unterschied

...wünsche angenehme Nachtruhe !


Wünsche ich Dir ebenfalls

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 fe50 » 18.11.2008, 00:23

So - etwas spät, aber besser spät als nie ;)
Stephan,
ich hab' mir mal den ubasic shoot Code angeschaut, ich habe da "kbd_sched_shoot" aus core\kbd.c in Verdacht.

Um festzustellen, ob es sich um ein Timing-Problem handelt, habe ich diese Routine als neues uBasic-Kommando fe50 nachgebaut & Warteschleifen an den in Frage kommenden Stellen eingebaut. fe50 entspricht von der Funktion her zu 100% dem shoot - Befehl, die Ausführungszeit von fe50 ist gegenüber shoot um ca. 60 ms länger geworden.
Alle anderen Funktionen - also auch der shoot-Befehl - sind unverändert, Stand Version 0.7.6 (Changeset #575) von gestern/heute.

Im Anhang ist eine Testversion für die Ixus 55 1.00C, bitte auf eine neu formattierte Karte installieren, dann mit folgendem Script den neuen Test-Befehl einsetzen & schauen, was die Kamera macht:
Code: Alles auswählen
@title Ixus fe50 test
@param a Anzahl
@default a 3
print "fe50: ",a," x, los..."
for i = 1 to a step 1
fe50
print "-das war ",i
next i
print i-1," x, fertig."
end
Auf meiner Ixus 50 läuft das problemlos, aber da scheint das Problem ja auch nicht (mehr) vorhanden zu sein...

Das neue Testscript bitte auch mit unterschiedlichen "Script shoot delay" Werten (z.B. 100, 50, 20, 10, 0) testen; evtl. die weiter oben beschriebenen Test nochmal wiederholen...
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Beitragvon pterozaurus » 18.11.2008, 11:29

Hallo fe50,
vielen Dank für die Mühe.
leider ist es genauso wie bisher.
bei allen Einstellungen und Tests bleibt die Ixus55 nach den 1. Bild hängen. Mit 2x Print läuft es dann 1 Bild weiter.

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 fe50 » 18.11.2008, 14:40

Danke für's testen...

Meine Annahme war richtig, nachdem ich das Ganze mühsam selbst erarbeitet hab', habe ich im (e)Forum die Suche drauf angesetzt - und fand heraus, daß dieses Problem schon erforscht, beschrieben & diskutiert wurde #!@MHXx@#? :evil:

Das Problem ist, dass die Kamera nach dem Auslösen in shooting_in_progress wartet, bis Propcase 205 signalisiert das alles fertig ist - Propcase 205 ist korrekt, funktioniert aber an genau dieser Stelle nicht, die Kamera hängt in einer Endlos-Warteschleife.
Die Beschreibung ist hier: http://chdk.setepontos.com/index.php/topic,677.0.html

Die Erkennung, wann die Kamera fertig ist, ist eine recht komplexe Sache, bei einigen anderen Kameras traten hier auch Probleme auf, zuletz bei der G9...bei der Ixus 30 stehen auch entsprechende Kommentar im Code, da wurde das mit eigenen Routinen in Assembler umgangen...

Um den shoot-Befehl zum Laufen zu kriegen kann man die entsprechende Zeile einfach auskommentieren, allerdings wird dann nicht gewartet, bis die Kamera fertig ist - jedoch kommt direkt im Anschluss die Wartezeit, die man im Script-Menü mit Script Shoot Delay angibt, erst dann wird die shoot-Routine verlassen. Also könnte man damit eine entsprechende fixe Wartezeit einstellen (so scheint das im Ur-HDK gewesen zu sein, deswegen ist Script Shoot Delay überhaupt noch vorhanden).

Nun stellt sich die Frage, was tun ?
Ich muss mir das mal durch den Kopf gehen lassen, evtl. müssen wir dieses Thema im engl. Forum ausdiskutieren...alternativ kann man in Scripts shoot mit half_shoot/full_shoot umgehen, bedeutet aber lästiges umschreiben.

Ich kann heute abend mal eine Version ohne PropCase-205 Abfrage hochladen...
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Nächste

Zurück zu Code-Ecke

Wer ist online?

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