Problem mit get_sv96() - ein ISO-Bug?

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

Problem mit get_sv96() - ein ISO-Bug?

Beitragvon Sinter » 12.04.2010, 11:39

Edit: Ausgegliedert aus der LowLight-Diskussion: /Edit

Hallo,

ich arbeite weiter daran, auch noch eine automatische ISO-Anhebung in LowLight zu integrieren. Bei den Programmierversuchen ergibt sich nun ein seltsamer Sachverhalt:

Mittels get_sv96 kann man offenbar keine neu veränderte ISO-Werte abfragen, ohne vorher die Kamera abzuschalten und wieder einzuschalten.

Beispiel:

Das Skript (siehe Download) startet man in manueller ISO-Einstellung 80. Dann wird im Skript mittels get_sv96() der ISO-Apex-Wert abgefragt und im Display unterhalb der Zeile
"erfordert TvMinimApex"
mit der Meldung
"get_sv96= " 371 korrekt angezeigt.

Wenn man nun nach diesem vollständigen ersten Skriptdurchlauf den ISO-Wert manuell an der Kamera ändert, beispielsweise auf ISO 200, und danach nochmals das Skript startet, so wird (irrtümlich?) erneut
get_sv96= 371
angezeigt, obwohl get_sv96 diesmal 507 anzeigen müsste.

Wenn man nun die Kamera ausschaltet, wieder einschaltet und nun nochmals unverändert in Kamera-Einstellung ISO200 das Skript startet, dann wird diesmal nun der korrekte Wert 507 für ISO200 angezeigt.

Entweder ich habe hier in diesem Zusammenhang noch einen Bug in meinem Skript, oder get_sv96 arbeitet noch nicht so ganz perfekt. Hilfsweise könnte dann vielleicht ausreichen, irgendwie eine Initialisierung vor den get-sv96-Befehl einzubauen, ( z. B. als würde man ein Aus- und Einschalten simulieren) sofern es dafür einen Weg gibt. Falls möglich, wie könnte so eine Initialisierung in diesem Zusammenhang aussehen?

Vielleicht hat bitte jemand von Euch Profis eine Idee/Vermutung/Überlegung? Ich bin für jeden Hinweis dankbar.

Viele Grüße,
Sinter
Dateianhänge
A973_LowLight.lua
Vorläufige quick-and-dirty-Variante von LowLight zum Befehlstest von get_sv96()
(16.07 KiB) 386-mal heruntergeladen
Zuletzt geändert von Sinter am 03.05.2010, 17:17, insgesamt 1-mal geändert.
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 msl » 12.04.2010, 12:04

Hallo Sinter,

voran gestellt, du gehörst auch zu den Profis. 8) Deinen Sachverstand bezüglich Einflussnahme auf das Shooting möchten wir hier nicht mehr missen. Das qualifiziert dich auf jeden Fall, Mitglied der Gruppe der Insider zu sein.

Zum Problem:

Ohne den Quellcode genauer überprüft zu haben, gehe ich davon aus, dass man mit get_sv96 erst nach "halben Auslöser" aktuelle Werte bekommt. set_sv96 wird dagegen sofort ausgeführt.

Alternativ könnte man die eingestellten Market-ISO-Werte auslesen und per Lookup-Tabelle, da es nur wenige Werte sind, die sv96-Werte zuordnen.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Der Umweg als Notlösung

Beitragvon Sinter » 12.04.2010, 13:03

Hallo msl,

vielen Dank für die Blumen. Es gibt halt sehr viele verschiedene CHDK-Felder. So wie ich, sind manche Teilnehmer eher mit bestimmten konkreten Schwerpunkten vertraut, und manche Teilnehmer besitzen zudem auch einen guten Überblick über das "Große Ganze" und manche komplizierten Zusammenhänge, die nicht jeder kennt. Daher bin ich immer froh wenn sich in Problemfällen jemand äußert, dem vielleicht bereits in einem anderen Zusammenhang eine Lösungsmöglichkeit begegnet ist, oder der vielleicht eine Analogie erkennt.

Eigentlich sollte ja get_sv96 irgendwie korrekt funktionieren.
Das Shoothalf der ersten Messung ist im vorigen Skriptfile noch nicht ganz abgeschlossen. Alternativ hatte ich release shoothalf bereits schon vor (!) get_sv96 platziert, also dem get_sv96 ein abgeschlossenes Shoothalf vorangestellt. (File unten zum download). Aber das funktioniert ebenfalls nicht korrekt.

Offenbar funktioniert also weder die Platzierung nach (!), noch knapp innerhalb (!) des Shoothalf.

Gibt es denn bereits eine Regel, ob das Shoothalf komplett abgeschlossen sein muss?

Die Lookup-Tabelle wäre eine Notlösung, sofern zumindest die dazugehörigen Market-ISO-Auslesebefehle korrekt funktionieren. Falls sich get_sv96 letztlich als nicht realisierbar erweist, werde ich diesen Umweg probieren müssen.

Viele Grüße,
Sinter
Dateianhänge
A973.lua
Platzierung von get_sv96 nach abgeschlossenen Shoothalf funktioniert ebenfalls nicht korrekt.
(16.07 KiB) 350-mal heruntergeladen
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 rudi » 13.04.2010, 12:14

Hallo Sinter,

dann versuche mal dieses Test-Script. Es zeigt den aktuellen SV96-Wert, verändert diesen und setzt ihn dann wieder auf den ursprünglichen Wert zurück.

Mit der A590 funtioniert das wunderbar, aber die zurückgeschrieben Werte ergeben manchmal einen etwas anderen ISO-Wert. Lässt man das Script mehrere Duchläufe hintereinander arbeiten, dann sinkt der ISO-Wert Stufe um Stufe ab.
Die CANON ISO-Eintellung sowie deren Display-Anzeige bekommen von allen Änderungen nichts mit.
Unter CHDK-Menü|OSD|DiverseWerte kannst du dir die ISO-Anzeigen auf das Display legen. Dort sind die Veränderungen sichtbar.

Grundsätzlich sollte deine Variante auch funktionieren, da beim SHOOT_HALF der entsprechende Propcase-Wert für SV96 gesetzt wird. GET_SV96 ruft ihn dann nur dort ab.

Warum gibt es in Zeile 360 keine Probleme?
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
   kamerawillbelichten=get_bv96()+get_sv96()-get_av96()
Erstellt in 0.005 Sekunden, mit GeSHi 1.0.8.9


Gruß rudi
Dateianhänge
sv_test.lua
SV96-Test
(736 Bytes) 360-mal heruntergeladen
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 510
Registriert: 11.09.2009, 11:27
Kamera(s): A590IS_101B, SX260_100B

Danke

Beitragvon Sinter » 15.04.2010, 10:55

Hallo Rudi,

ich bin leider erst heute wieder online. Vielen Dank für Dein Testskript. Das werde ich mir noch genau ansehen. Mittlerweile habe ich selbst noch weiter getestet und stelle die Ergebnisse nachher hier zusammen.

Dass die Zeile 360 keine Probleme bereitet, glaube ich nicht. Diese Zeile ist ein Notnagel für den Fall der Mehrdeutigkeit, wenn die Cam mit 1 Sekunde belichten will und man nicht weiß, ob die Cam nicht vielleicht länger belichten würde, wenn das nicht diese ominöse Belichtungsgrenze wäre.
Ich hatte ja zwischendurch allein mittels dieses Verfahrens versucht, LowLight derart zu steuern (siehe die Beitragshistorie). Allerdings traten dabei durchaus Probleme auf [mein Beitrag vom 25.3.2010 12:35 Uhr] und ich ruderte wieder zurück und fahre zweigleisig. Eine präzise Berechnung erfolgt falls die Cam unter 1 Sekunde belichten wollte, und die tückische Notlösung nur dann, falls ich die Mehrdeutigkeit händeln muss.

Ich bin gespannt wie sich dein Testskript bei mir verhält, wenn ich es austeste. Ich hoffe, es ergibt sich noch irgendein präzises Verfahren. Zunächst liste ich nachher noch die Ungereimtheiten, auf die ich dieser Tage bei weiteren eigenen Tests gestoßen bin.

Viele Grüße,
Sinter
Zuletzt geändert von Sinter am 15.04.2010, 13:17, insgesamt 1-mal geändert.
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

ISO-Befehls-Dilemma

Beitragvon Sinter » 15.04.2010, 11:12

Hallo,

mittlerweile habe ich nach dem Durchlauf verschiedener Testszenarien den Eindruck, es gibt keinen Weg um die bestehenden ISO-Steuerungs-Befehle zuverlässig einsetzen zu können nachdem die Befehle deutliche Tücken aufweisen. (Rudis Skript ist hier noch nicht getestet und damit noch nicht berücksichtigt.)

Get_iso_market() scheitert schon in TEST 1 oder bietet teilweise völligen Unsinn in TEST 5.

Get_iso_real scheitert spätestens in TEST 3 im zweiten Durchlauf.

Get_iso_mode() liefert keine ISO-Werte, sondern nur Stufen, wobei ISO 80 als Stufe „0“ gemeldet wird, und der Befehl spätestens in TEST 6 nicht korrekt funktioniert? (iso50=?, iso 80=0, iso100=2, iso200=3, iso400=4, iso800=5, alles auslesbar nur nach dem set_sv96() nach (!) dem ShootHalf des Auslöseshootings und funktioniert nicht in allen Testszenarien). Welcher Wert ISO50 repräsentiert weiß ich nicht (ISO50 hat meine Cam nicht).

Get_sv96() spiegelt nicht korrekt die Kamera-ISO-Einstellung wider.

Eine ISO-Änderung mittels set_sv96() wird offenbar noch nicht nach dem Set auslesbar angenommen, sondern kann als Override erst nach dem HalfShoot des eigentlichen Auslöse-Shootings ausgelesen werden.


Hier die Testszenarien mit ihren merkwürdigen Ergebnissen. Meine Anmerkungen innerhalb der Log-Files gehen angesichts der massigen Fülle von Ungereimtheiten nicht auf jeden einzigen Fehler ein.:


Folgendes erstes Skript:
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting

--[[

************************************

@title GetIso

@param q Logfile

@default q 1

--]]




-- start main



sleep(2000)

print_screen(q)



set_console_layout(0,0,25,13)





print("ISOMarketVorSet=",get_iso_market())

print("ISORealVorSet  =",get_iso_real())

print("ISO96VorSet    =",get_sv96())

print("ISOModeVorSet  =",get_iso_mode())



set_sv96(507) -- =ISO200



print("ISOMarketNachSet=",get_iso_market())

print("ISORealNachSet  =",get_iso_real())

print("ISO96NachSet    =",get_sv96())

print("ISOModeNachSet  =",get_iso_mode())



press("shoot_half")

  repeat

    sleep(1)

  until get_shooting() == true

 

print("ISOMarketNachHalf=",get_iso_market())

print("ISORealNachHalf  =",get_iso_real())

print("ISO96NachHalf    =",get_sv96())

print("ISOModeNachHalf  =",get_iso_mode())



sleep(300)

   

        press("shoot_full")

        release("shoot_full")

        release("shoot_half")

               

  repeat

    sleep(1)

until get_shooting() ~= true

--end

 



print_screen(false)

 
Erstellt in 0.008 Sekunden, mit GeSHi 1.0.8.9



Nun das Skript vierfach gestartet, alle 4 Durchläufe mit ISO 80-Einstellung der Kamera:
Hier die einzelnen Log-Ergebnisse:

Code: Alles auswählen
TEST 1:         Bemerkung
ISOMarketVorSet= 80     ok
ISORealVorSet  = 0   falsch
ISO96VorSet    = 0   falsch
ISOModeVorSet  = 0
ISOMarketNachSet= 80     falsch. Müsste 200 sein. Warum noch nicht richtig?
ISORealNachSet  = 0     falsch
ISO96NachSet    = 0      falsch      müsste 507 sein
ISOModeNachSet  = 0   falsch
ISOMarketNachHalf= 196   falsch??? müsste 200 sein
ISORealNachHalf  = 130
ISO96NachHalf    = 507   Override erfolgte offenbar erst nach ShootHalf
ISOModeNachHalf  = 0     entspricht nicht dem aktuellen Setting mittels set_sv96().

ISOMarketVorSet= 100    ???????????? falsch! Woher denn die 100 wenn ISO auf 80?
ISORealVorSet  = 130
ISO96VorSet    = 507      noch  aus Durchlauf 1 gespeichert???
ISOModeVorSet  = 0
ISOMarketNachSet= 100   falsch
ISORealNachSet  = 130
ISO96NachSet    = 507       noch alt oder schon neu?
ISOModeNachSet  = 0
ISOMarketNachHalf= 100     falsch; war nur in Durchlauf 1 mit Wert 196 einigermaßen korrekt.
ISORealNachHalf  = 130
ISO96NachHalf    = 507   könnte ok sein
ISOModeNachHalf  = 0

ISOMarketVorSet= 100          Durchlauf 3 und 4 wie Durchlauf 2.
ISORealVorSet  = 130
ISO96VorSet    = 507
ISOModeVorSet  = 0
ISOMarketNachSet= 100
ISORealNachSet  = 130
ISO96NachSet    = 507
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

ISOMarketVorSet= 100
ISORealVorSet  = 130
ISO96VorSet    = 507
ISOModeVorSet  = 0
ISOMarketNachSet= 100
ISORealNachSet  = 130
ISO96NachSet    = 507
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0



Weiter ein anderer Skriptdurchlauf mit aufsteigender ISO-Einstellung:
Code: Alles auswählen
TEST 2:
Beginnend mit ISO80:
ISOMarketVorSet= 80   ok
ISORealVorSet  = 0   falsch
ISO96VorSet    = 0   falsch
ISOModeVorSet  = 0
ISOMarketNachSet= 80   falsch; noch keinen Override angenommen
ISORealNachSet  = 0   falsch
ISO96NachSet    = 0   falsch; warum funktioniert diesmal der Override an dieser Stelle noch nicht?
ISOModeNachSet  = 0   falsch oder Override noch nicht angekommen
ISOMarketNachHalf= 196   Override angekommen, aber wieder nur mit 196 statt 200
ISORealNachHalf  = 130     Warum 130 bei Market 196 wenn zuvor im Vierer-Durchlauf ebenfalls 130 aber bei Market 100 ????
ISO96NachHalf    = 507 könnte ok sein
ISOModeNachHalf  = 0   stellt die ursprüngliche Cam-Einstellung dar, aber nicht die aktuelle Einstellung.

ISO100:
ISOMarketVorSet= 100      ok
ISORealVorSet  = 130
ISO96VorSet    = 507   falsch. Oder ist das Altwert von vorigem Durchlauf?
ISOModeVorSet  = 2   könnte ok sein
ISOMarketNachSet= 100   falsch
ISORealNachSet  = 130
ISO96NachSet    = 507   könnte ok sein, oder auch fälschlicherweise nur der alte Wert aus vorigem Durchlauf
ISOModeNachSet  = 2
ISOMarketNachHalf= 196  warum nur 196 statt 200 ???
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0       falsch

ISO200:
ISOMarketVorSet= 200        ok
ISORealVorSet  = 130
ISO96VorSet    = 507
ISOModeVorSet  = 3
ISOMarketNachSet= 200  diesmal tatsächlich 200. Könnte aber auch aus ISO200-Einstellung stammen.
ISORealNachSet  = 130
ISO96NachSet    = 507
ISOModeNachSet  = 3
ISOMarketNachHalf= 196    da sind sie schon wieder, die ominösen 196
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0   falsch

ISO400:
ISOMarketVorSet= 400        ok
ISORealVorSet  = 130
ISO96VorSet    = 507
ISOModeVorSet  = 4
ISOMarketNachSet= 400    falsch, es müsste 200 eingestellt sein
ISORealNachSet  = 130
ISO96NachSet    = 507
ISOModeNachSet  = 4
ISOMarketNachHalf= 196    200 müsste es heißen
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

ISO800:
ISOMarketVorSet= 800         ok
ISORealVorSet  = 130
ISO96VorSet    = 507
ISOModeVorSet  = 5
ISOMarketNachSet= 800   falsch, es müsste 200 eingestellt sein
ISORealNachSet  = 130
ISO96NachSet    = 507
ISOModeNachSet  = 5
ISOMarketNachHalf= 196   200 müsste es heißen
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

ISOReal ändert sich hier offenbar überhaupt nicht.



Nun das Skript abgewandelt und ein abgeschlossenes ShootHalf vorangestellt. Hier das Skript:
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
--[[
************************************
@title GetIso
@param q Logfile
@default q 1
--]]


-- start main

sleep(2000)
print_screen(q)

set_console_layout(0,0,25,13)

press("shoot_half")
  repeat
    sleep(1)
  until get_shooting() == true
 release("shoot_half")
 
print("ISOMarketVorSet=",get_iso_market())
print("ISORealVorSet  =",get_iso_real())
print("ISO96VorSet    =",get_sv96())
print("ISOModeVorSet  =",get_iso_mode())

set_sv96(507) -- =ISO200

print("ISOMarketNachSet=",get_iso_market())
print("ISORealNachSet  =",get_iso_real())
print("ISO96NachSet    =",get_sv96())
print("ISOModeNachSet  =",get_iso_mode())

press("shoot_half")
  repeat
    sleep(1)
  until get_shooting() == true
 
print("ISOMarketNachHalf=",get_iso_market())
print("ISORealNachHalf  =",get_iso_real())
print("ISO96NachHalf    =",get_sv96())
print("ISOModeNachHalf  =",get_iso_mode())

sleep(300)
   
        press("shoot_full")
        release("shoot_full")
        release("shoot_half")
               
  repeat
    sleep(1)
until get_shooting() ~= true
--end
 

print_screen(false)
 
Erstellt in 0.008 Sekunden, mit GeSHi 1.0.8.9



Mit diesem Skript der gleiche Test wie anfangs: 4 Durchläufe, alle 4 Durchläufe in ISO 80-Einstellung:
Code: Alles auswählen
TEST 3:
ISOMarketVorSet= 80
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 80
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 196
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

ISOMarketVorSet= 100      falsch! Woher denn die 100 wenn ISO auf 80?
ISORealVorSet  = 130      IsoReal größer als Market? Unmöglich.
ISO96VorSet    = 507
ISOModeVorSet  = 0
ISOMarketNachSet= 100
ISORealNachSet  = 130
ISO96NachSet    = 507
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

ISOMarketVorSet= 100
ISORealVorSet  = 130
ISO96VorSet    = 507
ISOModeVorSet  = 0
ISOMarketNachSet= 100
ISORealNachSet  = 130
ISO96NachSet    = 507
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

ISOMarketVorSet= 100
ISORealVorSet  = 130
ISO96VorSet    = 507
ISOModeVorSet  = 0
ISOMarketNachSet= 100
ISORealNachSet  = 130
ISO96NachSet    = 507
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0



Gleichfalls nochmal das Skript mit stufenweise ansteigenden ISO-Einstellungen, beginnend mit ISO 80, ohne die Cam zwischen den Durchläufen auszuschalten:

Code: Alles auswählen
TEST 4:

Iso80:
ISOMarketVorSet= 80
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 80
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 196
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

Iso100:
ISOMarketVorSet= 100
ISORealVorSet  = 65
ISO96VorSet    = 411
ISOModeVorSet  = 2
ISOMarketNachSet= 100
ISORealNachSet  = 65
ISO96NachSet    = 411
ISOModeNachSet  = 2
ISOMarketNachHalf= 196
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

Iso200:
ISOMarketVorSet= 200
ISORealVorSet  = 130
ISO96VorSet    = 507
ISOModeVorSet  = 3
ISOMarketNachSet= 200
ISORealNachSet  = 130
ISO96NachSet    = 507
ISOModeNachSet  = 3
ISOMarketNachHalf= 196
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

Iso400:
ISOMarketVorSet= 400
ISORealVorSet  = 261
ISO96VorSet    = 603
ISOModeVorSet  = 4
ISOMarketNachSet= 400
ISORealNachSet  = 261
ISO96NachSet    = 603
ISOModeNachSet  = 4
ISOMarketNachHalf= 196
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

Iso800:
ISOMarketVorSet= 800
ISORealVorSet  = 523
ISO96VorSet    = 699
ISOModeVorSet  = 5
ISOMarketNachSet= 800
ISORealNachSet  = 523
ISO96NachSet    = 699
ISOModeNachSet  = 5
ISOMarketNachHalf= 196
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0


In TEST 4 sehen die Werte ISOMarketVorSet zwar korrekt aus, aber in TEST 3 sind diese Werte fehlerbehaftet wenn man ISO einfach nur auf Iso80 stehen lässt.



Noch eine Abwandlung des Skripts: Diesmal nach dem Shooting ein Versuch, ob der jeweils zuletzt gesetzte set_sv96 jeweils den nächsten Skriptablauf (ohne die Cam dazwischen auszuschalten) beeinflusst. Versuch einer Art Initialisierung der Cam-ISO nach (!) dem Shooting mittels eines set_sv96(371) nach dem Shooting. Hier zunächst das Skript:
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
--[[
************************************
@title GetIso
@param q Logfile
@default q 1
--]]


-- start main

sleep(2000)
print_screen(q)

set_console_layout(0,0,25,13)

press("shoot_half")
  repeat
    sleep(1)
  until get_shooting() == true
 release("shoot_half")
 
print("ISOMarketVorSet=",get_iso_market())
print("ISORealVorSet  =",get_iso_real())
print("ISO96VorSet    =",get_sv96())
print("ISOModeVorSet  =",get_iso_mode())

set_sv96(507) -- =ISO200

print("ISOMarketNachSet=",get_iso_market())
print("ISORealNachSet  =",get_iso_real())
print("ISO96NachSet    =",get_sv96())
print("ISOModeNachSet  =",get_iso_mode())

press("shoot_half")
  repeat
    sleep(1)
  until get_shooting() == true
 
print("ISOMarketNachHalf=",get_iso_market())
print("ISORealNachHalf  =",get_iso_real())
print("ISO96NachHalf    =",get_sv96())
print("ISOModeNachHalf  =",get_iso_mode())

sleep(300)
   
        press("shoot_full")
        release("shoot_full")
        release("shoot_half")
               
  repeat
    sleep(1)
until get_shooting() ~= true

set_sv96(371) -- =ISO80
--end
 

print_screen(false)
 
Erstellt in 0.006 Sekunden, mit GeSHi 1.0.8.9



Nun wieder die entstandenen Logfiles bei 4 Durchläufen mit konstant ISO80:
Code: Alles auswählen
TEST 5:

ISOMarketVorSet= 80
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 80
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 196
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

ISOMarketVorSet= 36        völliger Unsinn
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 36
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

ISOMarketVorSet= 36
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 36
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

ISOMarketVorSet= 36
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 36
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0


Ebenfalls nochmals mit ansteigender ISO-Einstellung ohne die Cam zwischen den Durchläufen auszuschalten:

Code: Alles auswählen
TEST 6:

Iso80:
ISOMarketVorSet= 80
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 80
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 196
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

Iso100:
ISOMarketVorSet= 72
ISORealVorSet  = 48
ISO96VorSet    = 371      scheint sich die Cam zu merken wenn keine Abschaltung dazw.
ISOModeVorSet  = 0      falsch
ISOMarketNachSet= 72
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

Iso200:
ISOMarketVorSet= 36
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 36
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

Iso400:
ISOMarketVorSet= 36
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 36
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0

Iso800:
ISOMarketVorSet= 36
ISORealVorSet  = 48
ISO96VorSet    = 371
ISOModeVorSet  = 0
ISOMarketNachSet= 36
ISORealNachSet  = 48
ISO96NachSet    = 371
ISOModeNachSet  = 0
ISOMarketNachHalf= 100
ISORealNachHalf  = 130
ISO96NachHalf    = 507
ISOModeNachHalf  = 0



Jeweils innerhalb der 6 Tests wurde die Cam nicht ausgeschaltet, sondern jeweils nur der Skriptparameter für die Logfile-Nummer sowie bei den geradzahligen Tests die manuelle ISO-Einstellung geschalten.



Ernüchterndes Fazit falls ich nichts übersehen habe:

Egal welcher ISO-Abfragebefehl, egal welche Position, egal ob noch ein abgeschlossenes ShootHalf davor, egal ob nach dem Shooting nochmals auf IsoApexGrundwert 371 gesetzt. Ich sehe hier kein einziges verlässliches Verfahren um die aktuelle ISO-Einstellung auszulesen.
Einzig get_sv96() nach demjenigen Shoothalf des eigentlichen Shootings funktioniert wohl, nur ist das nicht das, was wir brauchen. Wir brauchen einen Befehl um korrekt abzufragen, welche ISO-Einstellung vor (!) dem set_sv96() aktiv ist.


get_iso() gibt es wohl unter Lua nicht. Ich bekam eine Fehlermeldung:
attempt to call global 'get_iso' (a nil value)


@msl: get_iso_mode() scheint in Lua keine ISO-Werte auszugeben, sondern wie UBasic get_iso nur die Stufen durchzuzählen. (evtl. muss hier das Handbuch angepasst werden)
Von ISO 100 bis 800 könnte get_iso_mode() nützlich sein sofern man TEST 5 und 6 ausklammert und deren Verfahren vermeidet. Aber falls bei anderen Cams ISO 50 vielleicht ebenso wie ISO 80 mit dem Wert 0 definiert wäre (was noch zu prüfen ist), wäre das nicht mehr eindeutig und wäre damit unbrauchbar.

Vielleicht sind wir hier an einem toten Punkt angekommen. Mittlerweile habe ich eine zweistellige Stundenanzahl allein nur in die Versuche der ISO-Befehlsanwendung investiert, ohne dass sich ein komplett zuverlässiger Weg aufzeigt. Mit den CHDK-Interna und der Befehlsprogrammierung kenne ich mich zu wenig aus, um systematisch direkt an die Befehle ranzugehen, ob es da einen erkennbaren Bug gibt, den man vielleicht mit angemessenem Aufwand bereinigen könnte. Grundsätzlich sind ja die Befehle schön durchdacht. Vielleicht fehlt da nur noch eine Kleinigkeit um die Tücken zu beseitigen. Aber vielleicht findet sich bereits in Rudis Testskript noch eine Lösung. Das möchte ich detailliert austesten.

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

Getestet: Verwirrende Ergebnisse bei mir

Beitragvon Sinter » 15.04.2010, 13:01

Hallo Rudi,

Dein Skript verhält sich bei mir folgendermaßen verwirrend:


Erster Start mit ISO80 und einem Durchlauf: alles ok, aber OSD steht danach auf I-R=48 und I-M=36.

Nun aber zweiter Start ohne (!) die Cam dazwischen auszuschalten, weiterhin mit ISO80 und einem Durchlauf:
Da wird mir als erste Zeile ein get_ur_sv96 von 507 angezeigt. Dieses Mysterium ist auch bei meinen anderen Tests schon aufgetreten. So ist und bleibt der Befehl get_sv96() unbrauchbar. Zudem steht danach das OSD auf I-R=130 und I-M=100. Beides ebenso falsch.

Wenn man aber vor dem zweiten Start die Cam aus- und wieder einschaltet, dann ist wieder wie beim ersten Start alles ok, bis auf die fragwürdigen OSD-Werte von Iso.



Anderes Szenario:
Erster Start mit ISO100: eigentlich ok, aber wieder OSD falsch: I-R=65, I-M=50
Zweiter Start ohne aus/ein: Schon wieder ein fälschliches get_ur_sv von 507. OSD: I-R=130, I-M=100. Diese ominöse 507 kann ich mir hier überhaupt nicht mehr erklären. Die wurde ja beim vorigen Start unter Iso100 noch nicht mal gesetzt. Der erste Lauf lief ja nur von 411 auf 371 und wieder zurück auf 411. Wo soll da die 507 herkommen? Ist mein Ixus-CHDK hier zerschossen...?



Ich habe Dein Skript mit Logfiles versehen (Download unten) und jeweils mit drei Durchläufen getestet:
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting

--[[

@title SV_test A590 by rudi

@param i Anzahl Testdurchläufe

@default i 1

@param q Logfilenummer

@default q 1

]]
--

function get_curr_sv96()

  press("shoot_half")

  repeat

    sleep(1)

  until get_shooting() == true

  res=get_sv96()

  release("shoot_half")

  repeat

    sleep(1)

  until get_shooting() == false

  return res

end



print_screen(q)

j=0

if (i<1>10) then i=10 end

repeat

  j=j+1

  ur_sv96=get_curr_sv96()

    print("Durchlauf",j)

  print(" get_ur_sv96= ",ur_sv96)



  if (ur_sv96==371) then new_sv96=507 else new_sv96=371 end

  set_sv96(new_sv96)

  print("set_new_sv96= ",new_sv96)

  print("get_new_sv96= ",get_curr_sv96())



  set_sv96(ur_sv96)

  print(" set_ur_sv96= ",ur_sv96)

  print(" get_ur_sv96= ",get_curr_sv96())

  print(" ")

  wait_click()

until (i==j)



print_screen(false)



 
Erstellt in 0.004 Sekunden, mit GeSHi 1.0.8.9




Hier der Start bei Iso80
Code: Alles auswählen
Durchlauf 1
 get_ur_sv96=  371
set_new_sv96=  507
get_new_sv96=  507
 set_ur_sv96=  371
 get_ur_sv96=  371
 
Durchlauf 2
 get_ur_sv96=  507   Wie kommt das?
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 3
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507


Nochmals wiederholen ohne (!) aus-/einschalten:
Code: Alles auswählen
Durchlauf 1
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 2
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 3
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507


Nochmals wiederholen mit (!) aus-ein:
Code: Alles auswählen
Durchlauf 1
 get_ur_sv96=  371
set_new_sv96=  507
get_new_sv96=  507
 set_ur_sv96=  371
 get_ur_sv96=  371
 
Durchlauf 2
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 3
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507



Start mit Iso100 nach aus/ein:
Code: Alles auswählen
Durchlauf 1
 get_ur_sv96=  411
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  411
 get_ur_sv96=  411
 
Durchlauf 2
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 3
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507


Nochmals wdh ohne aus/ein:
Code: Alles auswählen
Durchlauf 1
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 2
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 3
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507


Nochmals wdh mit aus/ein:
Code: Alles auswählen
Durchlauf 1
 get_ur_sv96=  411
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  411
 get_ur_sv96=  411
 
Durchlauf 2
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 3
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507



Eine nochmals abgewandelte Variante: zuerst mit iso80 starten, und danach ohne (!) aus/ein auf Iso100 schalten und starten:
Beginn mit Iso80:
Code: Alles auswählen
Durchlauf 1
 get_ur_sv96=  371
set_new_sv96=  507
get_new_sv96=  507
 set_ur_sv96=  371
 get_ur_sv96=  371
 
Durchlauf 2
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 3
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507


Nun ohne aus/ein weiter mit Iso100: Immerhin startet hier der ur_sv im ersten Durchlauf noch korrekt mit 411:
Code: Alles auswählen
Durchlauf 1
 get_ur_sv96=  411
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  411
 get_ur_sv96=  411
 
Durchlauf 2
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507
 
Durchlauf 3
 get_ur_sv96=  507
set_new_sv96=  371
get_new_sv96=  371
 set_ur_sv96=  507
 get_ur_sv96=  507



Lauter abstruse Ergebnisse, die sich nicht durch Deinen Lua-Code erklären lassen. Es darf nicht sein dass get_sv96() nur ein einziges Mal nach dem Einschalten funktioniert, und ohne aus/ein unzuverlässig ist.
Irgendwo ist da CHDK noch tückisch. Worin die Gründe zu suchen sind weiß ich nicht, aber vielleicht haben auch meine verrückten HYP-Werte, die sich bei gleicher Brennweite weiterhin nicht konstant verhalten, die gleiche unerklärliche Ursache? Wir haben jetzt in die Fehlersuche schon so viel Zeit investiert und suchen die Fehlerquelle ständig in unseren Codes, während die wahre Ursache vielleicht viel tiefgreifender liegt und wir uns hier ständig umsonst abmühen, ohne die Chance, allein auf diese Weise noch eine Lösung zu finden. Mir geht es mit der Weiterentwicklung von LowLight inzwischen genau wie Dir mit dem tückischen Hyp-Wert meiner Ixus. Die tückische Sache mag sich einfach nicht greifen lassen.

Viele Grüße,
Sinter
Dateianhänge
A1_sv_test.lua
Rudis ISO-Test-Skript um Logfiles erweitert
(861 Bytes) 373-mal heruntergeladen
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 msl » 15.04.2010, 13:02

Hallo Sinter,

ja du hast recht. Da müssen ein paar Dinge überarbeitet werden, was die Dokumentation der Befehle zur ISO-Steuerung betrifft. Das kommt davon, wenn man die Informationen aus anderen Quellen ohne Kontrolle einfach nur übernimmt. get_iso() produziert unter Lua eine Fehlermeldung, weil nicht existent, und get_iso_mode() gibt das aus, was unter get_iso steht.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Eilt nicht

Beitragvon Sinter » 15.04.2010, 13:13

Hallo msl,

das Handbuch eilt nicht. Die Korrekturen sind ja nur minimal. Es ist auch in der jetzigen Form bereits eine große Hilfe. Viel wichtiger wäre mir, wenn es jemandem gelingen könnte, die Befehle rund um Iso instand zu setzen. Die Probleme scheinen tiefer zu liegen als ursprünglich angenommen/erhofft. Zur Not muss ich LowLight bei der bisherigen manuellen Iso-Steuerung belassen.

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

Die Sache mit dem Haken

Beitragvon Sinter » 19.04.2010, 16:37

Hallo,

wenn der Befehl get_sv96() für sich allein nicht so ganz zuverlässig ist (siehe meine vorigen Beiträge vom 15.4.2010), hat denn vielleicht noch jemand irgendeine Idee, wie man den Befehl eventuell durch einen vorangesetzten Befehl zumindest initialisieren könnte?

Ich mag mich nur ungern damit abfinden, einen CHDK-Befehl angesichts eines derzeit nicht konstanten Verhaltens meiden zu müssen. Bislang bin ich jedoch noch auf keinen funktionierenden Workaround gestoßen.

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

Mithilfe bei CHDK-Bug-Suche?

Beitragvon Sinter » 26.04.2010, 10:53

Hallo,

nachdem sich keinerlei Idee abzeichnet, wie sich mit bestehenden Mitteln eine ISO-Steuerung erfolgreich programmieren lässt, wären nun weitere Erkenntnisse hilfreich, wie sich verschiedene Kameras hinsichtlich der ISO-Befehle verhalten. Denn CHDK scheint in der ISO-Steuerung noch kleine Bugs zu verbergen, die sich hoffentlich noch bereinigen lassen.

Möglicherweise lässt sich hier klären ob einzelne kleine Bugs in der ISO-Verwaltung, in den unmittelbaren ISO-Befehlen, oder in der kameraspezifischen Portierung zu suchen sind.

Wer zur weiteren CHDK-Verbesserung beitragen mag, könnte bitte das beiliegende kleine Skript downloaden und bitte ganz exakt (!) gemäß folgender Anleitung laufen lassen um die Logfiles vergleichen zu können. Drei oder vier Teilnehmer würden vorerst schon reichen. Vielen Dank im Voraus.


Anleitung:

Die Kamera manuell auf ISO 80 stellen.
Das Skript "A4Getiso.lua" laden.
Das Skript starten.
->Logfile 1 wird automatisch erstellt.

Nach Beendigung des Skriptes die Kamera bitte NICHT ausschalten, sondern nur in den Skriptparametern die Logfilenummer auf "2" stellen.
Nun das Skript wieder starten.
->Logfile 2 wird erstellt.

Nach Beendigung des Skriptes die Kamera bitte NICHT ausschalten, sondern in den Skriptparametern die Logfilenummer auf "3" stellen.
WICHTIG!: Die Kamera nun manuell auf ISO 100 stellen.
Nun das Skript wieder starten.
->Logfile 3 wird erstellt.


Nun wäre interessant, die drei entstandenen Logfiles verschiedener Kameras zu vergleichen. Meine Ixus60 liefert:

Code: Alles auswählen
Logfile Nummer 1
MessungShootHalf done.
ISOMarketVorSet     = 80
ISORealVorSet       = 48
ISO96VorSet_1       = 371
ISO96VorSet_2       = 371
ISOModeVorSet       = 0
Set_sv96(507) done.
ISOMarketNachSet    = 80
ISORealNachSet      = 48
ISO96NachSet_1      = 371
ISO96NachSet_2      = 371
ISOModeNachSet      = 0
Shooting-ShootHalf offen.
ISOMarketNachHalf   = 196
ISORealNachHalf     = 130
ISO96NachHalf_1     = 507
ISO96NachHalf_2     = 507
ISOModeNachHalf     = 0
Shooting abgeschlossen.
ISOMarketNachShootg = 196
ISORealNachShooting = 130
ISO96NachShooting_1 = 507
ISO96NachShooting_2 = 507
ISOModeNachShooting = 0

Logfile Nummer 2
MessungShootHalf done.
ISOMarketVorSet     = 100
ISORealVorSet       = 130
ISO96VorSet_1       = 507
ISO96VorSet_2       = 507
ISOModeVorSet       = 0
Set_sv96(507) done.
ISOMarketNachSet    = 100
ISORealNachSet      = 130
ISO96NachSet_1      = 507
ISO96NachSet_2      = 507
ISOModeNachSet      = 0
Shooting-ShootHalf offen.
ISOMarketNachHalf   = 100
ISORealNachHalf     = 130
ISO96NachHalf_1     = 507
ISO96NachHalf_2     = 507
ISOModeNachHalf     = 0
Shooting abgeschlossen.
ISOMarketNachShootg = 100
ISORealNachShooting = 130
ISO96NachShooting_1 = 507
ISO96NachShooting_2 = 507
ISOModeNachShooting = 0

Logfile Nummer 3
MessungShootHalf done.
ISOMarketVorSet     = 100
ISORealVorSet       = 65
ISO96VorSet_1       = 411
ISO96VorSet_2       = 411
ISOModeVorSet       = 2
Set_sv96(507) done.
ISOMarketNachSet    = 100
ISORealNachSet      = 65
ISO96NachSet_1      = 411
ISO96NachSet_2      = 411
ISOModeNachSet      = 2
Shooting-ShootHalf offen.
ISOMarketNachHalf   = 100
ISORealNachHalf     = 130
ISO96NachHalf_1     = 507
ISO96NachHalf_2     = 507
ISOModeNachHalf     = 0
Shooting abgeschlossen.
ISOMarketNachShootg = 100
ISORealNachShooting = 130
ISO96NachShooting_1 = 507
ISO96NachShooting_2 = 507
ISOModeNachShooting = 0


Liefern andere Kameras andere Ergebnisse?

Vielen Dank und viele Grüße,
Sinter
Dateianhänge
A4Getiso.lua
Testskript um Erkenntnisse zur CHDK-ISO-Steuerung zu gewinnen.
(1.7 KiB) 365-mal heruntergeladen
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 msl » 26.04.2010, 12:26

Test für A720
Code: Alles auswählen
Logfile Nummer 1
MessungShootHalf done.
ISOMarketVorSet     = 80
ISORealVorSet       = 48
ISO96VorSet_1       = 370
ISO96VorSet_2       = 370
ISOModeVorSet       = 1
Set_sv96(507) done.
ISOMarketNachSet    = 80
ISORealNachSet      = 48
ISO96NachSet_1      = 370
ISO96NachSet_2      = 370
ISOModeNachSet      = 1
Shooting-ShootHalf offen.
ISOMarketNachHalf   = 224
ISORealNachHalf     = 130
ISO96NachHalf_1     = 507
ISO96NachHalf_2     = 507
ISOModeNachHalf     = 0
Shooting abgeschlossen.
ISOMarketNachShootg = 224
ISORealNachShooting = 130
ISO96NachShooting_1 = 507
ISO96NachShooting_2 = 507
ISOModeNachShooting = 0

Logfile Nummer 2
MessungShootHalf done.
ISOMarketVorSet     = 200
ISORealVorSet       = 130
ISO96VorSet_1       = 507
ISO96VorSet_2       = 507
ISOModeVorSet       = 0
Set_sv96(507) done.
ISOMarketNachSet    = 200
ISORealNachSet      = 130
ISO96NachSet_1      = 507
ISO96NachSet_2      = 507
ISOModeNachSet      = 0
Shooting-ShootHalf offen.
ISOMarketNachHalf   = 200
ISORealNachHalf     = 130
ISO96NachHalf_1     = 507
ISO96NachHalf_2     = 507
ISOModeNachHalf     = 0
Shooting abgeschlossen.
ISOMarketNachShootg = 200
ISORealNachShooting = 130
ISO96NachShooting_1 = 507
ISO96NachShooting_2 = 507
ISOModeNachShooting = 0

Logfile Nummer 3
MessungShootHalf done.
ISOMarketVorSet     = 100
ISORealVorSet       = 65
ISO96VorSet_1       = 411
ISO96VorSet_2       = 411
ISOModeVorSet       = 2
Set_sv96(507) done.
ISOMarketNachSet    = 100
ISORealNachSet      = 65
ISO96NachSet_1      = 411
ISO96NachSet_2      = 411
ISOModeNachSet      = 2
Shooting-ShootHalf offen.
ISOMarketNachHalf   = 200
ISORealNachHalf     = 130
ISO96NachHalf_1     = 507
ISO96NachHalf_2     = 507
ISOModeNachHalf     = 0
Shooting abgeschlossen.
ISOMarketNachShootg = 200
ISORealNachShooting = 130
ISO96NachShooting_1 = 507
ISO96NachShooting_2 = 507
ISOModeNachShooting = 0


Ich hoffe, das hilft dir weiter.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Wertezuordnung

Beitragvon Sinter » 26.04.2010, 15:12

Hallo msl,

vielen Dank für Deinen Testlauf. Es hilft auf jeden Fall um weitere Erkenntnisse zu gewinnen.

Deine Kamera zeigt hier teilweise einen ISOMode-Wert von "1". Ist demnach meine Vermutung richtig, dass deine A720 neben ISO 80 auch noch über die manuelle Stufe ISO 50 verfügt?

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 Hamster.78 » 26.04.2010, 17:26

Hallo Sinter,

hier das Testergebnis meiner SX100.
Klasse das du trotz der Rückschläge so intensiv am Thema bleibst Bild

gruß Hamster Bild
Dateianhänge
LOG_0001.TXT
A4Getiso.lua Ergebnis der SX100
(1.82 KiB) 361-mal heruntergeladen
◄ 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 msl » 26.04.2010, 19:49

Hallo Sinter,

nativ kann man bei der A720 nur ISO80 einstellen. Ich kann aber ohne Probleme per Ersatzwert ISO50 erzeugen.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Nächste

Zurück zu Code-Ecke

Wer ist online?

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