[uBasic] Tv-Modus für Kameras ohne Tv-Modus

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

Tv-Modus für Kameras ohne Tv-Modus

Beitragvon msl » 25.04.2008, 14:31

Dieses Skript simuliert den Tv-Modus. Es läuft unter DigicIII-Bedingungen.

Vielleicht kann jemand die PropertyCase-Variablen an DigicII anpassen.

Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
rem Für Kameras ohne Tv-Modus DigicIII
rem Original von MP9SIT 20080415
@title Tv-Modus
@param a Tv
@default a 0

t=a
if t=-19 then s=-576
if t=-18 then s=-544
if t=-17 then s=-512
if t=-16 then s=-480
if t=-15 then s=-448
if t=-14 then s=-416
if t=-13 then s=-384
if t=-12 then s=-384
if t=-11 then s=-352
if t=-10 then s=-320
if t=-9 then s=-288
if t=-8 then s=-256
if t=-7 then s=-224
if t=-6 then s=-192
if t=-5 then s=-160
if t=-4 then s=-128
if t=-3 then s=-96
if t=-2 then s=-64
if t=-1 then s=-32
if t=0 then s=0
if t=1 then s=32
if t=2 then s=64
if t=3 then s=96
if t=4 then s=128
if t=5 then s=160
if t=6 then s=192
if t=7 then s=224
if t=8 then s=256
if t=9 then s=288
if t=10 then s=320
if t=11 then s=352
if t=12 then s=384
if t=13 then s=416
if t=14 then s=448
if t=15 then s=480
if t=16 then s=512
if t=17 then s=544
if t=18 then s=576
if t=19 then s=608
if t=20 then s=640
if t=21 then s=672
if t=22 then s=704
if t=23 then s=736
if t=24 then s=768
if t=25 then s=800
if t=26 then s=832
if t=27 then s=864
if t=28 then s=896
if t=29 then s=928
if t=30 then s=960
if t=31 then s=992
if t=32 then s=1021
if t=33 then s=1053
if t=34 then s=1088
if t=35 then s=1120
if t=36 then s=1152
if t=37 then s=1184
if t=38 then s=1216
if t=39 then s=1248
if t=40 then s=1280
if t=41 then s=1312
if t=42 then s=1344
if t=43 then s=1376
if t=44 then s=1408
if t=45 then s=1440
if t=46 then s=1472
if t=47 then s=1504
if t=48 then s=1536
if t=49 then s=1568
if t=50 then s=1600

  print "Menu für Fokus"
  print "Display für Shoot"
  print "links für Makro"
do
  wait_click
  if is_key "menu" then gosub "half"
  if is_key "display" then gosub "full"
  if is_key "left" then gosub "macro"

until is_key "set"

goto "the_end"

rem Propcase 6 Fokus-Modus 0=normal 1=Makro
:macro
set_prop 6 m
if m=0 then
  m=1
  print "Makro-Modus"
else
  m=0
  print "Normaler Modus"
endif
set_prop 6 m
return

:half
press "shoot_half"
sleep 1500
release "shoot_half"
return

:full
press "shoot_half"
sleep 500
get_av96 h
get_bv96 i
release "shoot_half"
rem exposure shift
get_prop 107 e
if e>65000 then
e=65536-e
endif
z=h+s-i-e
if z>759 then
z=759
set_led 8 1
endif
press "shoot_half"
sleep 1500
rem Tv
set_prop 262 s
rem Sv market
set_prop 247 z
press "shoot_full"
release "shoot_full"
set_led 8 0
release "shoot_half"
return

:the_end
end
Erstellt in 0.020 Sekunden, mit GeSHi 1.0.8.9


Dank gilt dem Originalautor MP9SIT.
Zuletzt geändert von msl am 01.11.2009, 11:38, insgesamt 2-mal geändert.
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

Frage zum Script

Beitragvon calavera » 16.06.2008, 13:09

Hallo,
erster Versuch:
Also - habe das script auf einer SD 750 zum laufen gebracht. War fast genau was ich suchte.
Nach stundenlagem Lesen fehlt mir jedoch der Code für eine kleine Erweiterung dieses scritps:
Es sollte nach Möglichkeit die ISO Einstellung und die Blende einstellbar sein, quasi ein kompletter manueller Modus...
Die Zeilen mit shoot half und shoot full hab ich rausgelöscht und durch shoot ersetzt.
Jetzt kann ich im CHDK Menü Iso und Blende manuell überschreiben, das sollte jedoch auch im Script möglich sein oder ?

Und bitte nicht schreien, ich solle die Such-Funktion verwenden, ich sitze hier wirklich schon seit Stunden...

Grüße
calavera
calavera
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 5
Registriert: 16.06.2008, 12:58

Beitragvon holgi09 » 16.06.2008, 13:32

Die SD 750 ist ja gleich mit der Ixus 75, oder?
welches CHDK nutzt Du?
Canon Digital Ixus 130, leider noch nicht portiert...
Benutzeravatar
holgi09
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 144
Registriert: 13.06.2008, 08:04
Wohnort: 31xxx
Kamera(s): EOS 10D.

Beitragvon fe50 » 16.06.2008, 13:37

Hallo und herzlich willkommen calavera,

aber hier schreit doch niemand :p

Ok, habe grad' nur wenig Zeit & keine Kamera zur Hand, aber da Du nun doch schon mittendrin in der Script-Programmierung steckst...

In der CHDK-wikia gibt es ein uBasic Tutorial:

-> The_set_iso_and_get_iso_commands

Die SD750 hat vermutlich wie alle anderen Ixus-Modelle nur einen ND-Filter...

-> The_set_tv.2C_get_tv.2C_etc_commands

Hoffe, das hilft Dir weiter...
◄"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 msl » 16.06.2008, 13:54

Hallo und willkommen,

Die Idee ist nicht schlecht. Du kannst ISO und Blende über Variablen setzen, genauso wie die Verschlußzeit. Nun wirst Du fragen, wie lauten die Variablen. Als erstes solltest Du in den einschlägigen Quellen nach Propertycase und DigicIII suchen, z. B. hier

Hier im Skript steht die Variable 262 für die Verschlußzeit und 247 für ISO. Blende wird wohl nicht so einfach gehen. Das ist von der Kamera abhängig. Die Werte für die Variablen müssen auch berechnet werden.

Eine weitere Möglichkeit, um die Werte zu setzen, sind folgende Skript-Befehle, siehe auch hier:
set_tv96; set_av96; set_iso_real

Du wirst viel experimentieren müssen. Die Nutzung von Variablen ist sehr stark kameraabhängig.

Noch eine kleine Anmerkung: Hier schreit keiner herum. Ein Hinweis auf die Suchfunktion kommt nur dann, wenn man das Gefühl hat, der Fragensteller hat keine Eigenleistung erbracht.

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

Beitragvon calavera » 16.06.2008, 14:01

hallo,

ich nutze dieses CHDK : http://chdk.setepontos.com/index.php/topic,898.0.html
worauf es letztendlich basiert, habe ich noch nicht herausgefunden...

gefunden habe ich:
set_av - müsste bei Blende von 8 auf 18 gestellt werden
set_tv - müsste auf -3 für -2.0 Korrektur
set_iso - müsste auf 1 bei Iso 80


korrekt ?

Mein Problem ist, dass ich glaube, dass shoot_half diese settings überschreibt.

Um noch mal deutlicher zu werden, folgendes möchte ich fotografieren:

Bild

Das ging mit meiner alten Powershot 85 recht einfach, da sie eben die entsprechenden modi eingebaut hat.
Die Entscheidung für eine Ixus fiel aud´fgrund der besseren Bildqualität - leider mit dem Nachteil, dass sie eben keinen echten Tv Modus hat.
Ich denke aber, wenn das script mal fertig ist, wird es bestimmt gut - natürlich mit einiger Hilfe ;-)

Grüße
calavera

EDIT: @ msl: Du hast wohl geantwortet, als ich noch geschrieben habe...
Status:
-----
set_av 18
set_tv s
set_iso 1
sleep 500
shoot
-----
Auszug aus dem script - der funktioniert nicht, weil ich denke, dass die Extra Foto Einstellungen im CHDK das alles überschreiben, werde daher das CHDK nochmal "neu" aufspielen und mich melden.
calavera
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 5
Registriert: 16.06.2008, 12:58

Beitragvon msl » 16.06.2008, 14:37

Die Befehle set_tv und set_av werden wohl nicht funktionieren. Probier es mit set_tv96 und set_av96. Av wird aber generell nicht funktionieren, da Du bestimmt einen ND-Filter hast. Was steht denn in den "Extra-Foto-Einstellungen? Av oder ND-Filter?

Für Dein Vorhaben bist Du aber eigentlich nicht auf ein Skript angwiesen. Diese Einstellungen kannst Du viel leichter in den "Extra-Foto-Einstellungen" vornehmen. Da stellst Du alles ein, so wie Du es willst. Und dann wird geknipst.

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

Beitragvon calavera » 16.06.2008, 14:44

Für Dein Vorhaben bist Du aber eigentlich nicht auf ein Skript angwiesen. Diese Einstellungen kannst Du viel leichter in den "Extra-Foto-Einstellungen" vornehmen. Da stellst Du alles ein, so wie Du es willst. Und dann wird geknipst.


Stimmt soweit - aber vom Grundsatz her bin ich Elektriker und damit faul ;-)
das ist mir zuviel Tipperei....
Deshalb dachte ich: ein kleines script aus dem Script Menü, Parameter einstellen und abdrücken.
Was auf jeden Fall noch mit rein muss ist dann sowas wie Selbstauslöser usw. aber das ist Zukunfts-Musik

Bis dahin erst ml Danke an Euch alle - werde mich zu gegebener Zeit bestimmt nochmal mit Fragen melden...
Grüße
calavera
calavera
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 5
Registriert: 16.06.2008, 12:58

kleine Frage zwischendurch

Beitragvon calavera » 17.06.2008, 17:54

Hallo,

hab noch nicht aufgegeben ;-)

Wer kann mir diesen Sv Market erklären ?
Hatte zwischendurch ohne Erfolg versucht Iso auf 80 per script zu setzen, leider hat mir die Kalkulation von diesem prop 247 wohl das ganz überschrieben.

Zitat:

Hier im Skript steht die Variable 262 für die Verschlußzeit und 247 für ISO. Blende wird wohl nicht so einfach gehen. Das ist von der Kamera abhängig. Die Werte für die Variablen müssen auch berechnet werden.


Womit ich wieder ein paar Schritte zurück muss. Als absoluter Fotografie-Laie hab ich allerdings keine Ahnung,
was dieser Sv Market tut...
Am Englisch hapert es definitiv nicht, aber am Verstehen und Finden der Info's.
Hoffe jemand von Euch kann mir da helfen...

Grüße
Calavera
Canon Powershot SD 750 ( gleich Ixus 75 ) mit Firmware 1.00B und Allbest built #113
calavera
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 5
Registriert: 16.06.2008, 12:58

Beitragvon msl » 17.06.2008, 19:23

Du kannst Dir "Market ISO" über OSD-Einstellungen -> diverse Werte anzeigen lassen. Da wirst Du festellen, dass dieser Wert immer mit dem von der Kamera vorgesehenen Wert übereinstimmt.

Aber so richtig habe ich den Zusammenhang zwischen Market-ISO und Real-ISO noch nicht verstanden.

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

Beitragvon calavera » 25.06.2008, 11:37

Hallo zusammen,

Status: musste dann doch aufgeben.

Es ist dann nun leider doch so, dass die Kamera eben nicht die gleichen Möglichkeiten bietet, wie z.b. eine Powershot. Hab hier noch eine Powershot A85, die hat div. Automatikprogramme, wie Tv Pv usw.
- dafür ist die Bildqualität bei der Ixus meiner Meinung nach klar besser.
(Habe diverse Unterwasserfotos, die das belegen)

Umgekehrt ist es mit CHDK ja möglich, Verschlusszeit, Iso usw. zu überschreiben.
Persönlich hätte ich zwar gerne mal ein Script gehabt, mit dem ich alles per Hand einstellen kann,
aber so geht es natürlich auch.

Der erste "schlechte" Versuch ist hier zu sehen:

Bild

Da das für mich ausreichend ist, ist an dieser Stelle erst einmal Ende...

Danke für die Hilfe

calavera
Canon Powershot SD 750 ( gleich Ixus 75 ) mit Firmware 1.00B und Allbest built #113
calavera
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 5
Registriert: 16.06.2008, 12:58


Zurück zu Code-Ecke

Wer ist online?

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

cron