rem HDR-Hyper.bas by gehtnix 16.07.2011 rem Näheres im PDF-File @title HDR-Hyper @param l CT 0=ja 1=aus 2=mEV @default l 0 @param c EV Anzahl 3,5,7 => 1/2/3 @default c 1 @param p Blende prüfen aus=0 ein=1 @default p 0 @param o do/until Sleep x10 @default o 0 @param x Zoom Sleep x10 @default x 50 @param z Tasten Sleep x10 @default z 15 @param f Zoomschritte fein @default f 3 @param y Fokus Down=0/Left=1/S5=2/Up=3 @default y 0 v=get_config_value 107 (-1) set_config_value 7 4 set_config_value 107 0 set_config_value 109 6 if c=1 then H=192 if c=2 then H=96 if c=3 then H=64 t=get_zoom_steps e=0 g=0 j=2 u=0 o=o*10 x=x*10 z=z*10 cls if l=0 then gosub "customein" else a=2 sleep z h=1 gosub "schalten" gosub "hyperfocal" b=1 :start cls print "*** Zoom ist bereit ***" print "Halber Druck = Foto" if a=1 then print "Custom T aus = <<<" if a=2 then print "Custom T ein = <<<" if b=1 then print "Hyperfoc aus = >>>" if b=2 then print "Hyperfoc ein = >>>" print "Exit Alt = Set" wait_click is_key k "zoom_in" if k=1 then click "zoom_in" if k=1 then sleep x if k=1 then gosub "hyperfocal" is_key k "zoom_out" if k=1 then click "zoom_out" if k=1 then sleep x if k=1 then gosub "hyperfocal" is_key k "left" if k=1 then gosub "custom" is_key k "right" if k=1 then gosub "hyper" is_key k "up" if k=1 then gosub "vorlauf" is_key k "down" if k=1 then gosub "near" is_key k "set" if k=1 then goto "restore" is_key k "shoot_half" if k=1 then gosub "shoot" is_key k "erase" if k=1 then gosub "nullen" is_key k "display" if k=1 then gosub "grob" is_key k "menu" if k=1 then gosub "fein" goto "start" end :shoot if l=2 then gosub "serie" else sleep u shoot endif return :restore set_led 8 0 set_config_value 7 0 set_config_value 107 v set_config_value 109 0 if a=1 then gosub "customaus" sleep z h=0 gosub "schalten" sleep z if j=1 then gosub "raw" cls exit_alt end :hyper if b=1 then h=0 gosub "schalten" b=2 else h=1 gosub "schalten" gosub "hyperfocal" b=1 endif return :vorlauf u=u+1000 if u>3000 then u=0 cls print "" print "Vorlauf auf "u/1000" Sek gesetzt" print "" sleep 1500 return :nullen if e=0 then set_zoom t-1 e=1 else set_zoom t-t e=0 endif gosub "hyperfocal" return :grob if g=0 then set_zoom t*25/100 sleep x g=1 goto "sprung2" endif if g=1 then set_zoom t*50/100 sleep x g=2 goto "sprung2" endif if g=2 then set_zoom t*75/100 sleep x g=0 endif :sprung2 gosub "hyperfocal" return :fein set_zoom_rel f gosub "hyperfocal" return :raw cls print "" if j=2 then set_raw 1 print "*** RAW - EIN ***" j=1 else set_raw 0 print "*** RAW - AUS ***" j=2 endif print "" sleep 750 return :near cls h=0 gosub "schalten" sleep z :neufok if get_nd_present<>0 then set_aflock 0 press "shoot_half" do sleep o until get_shooting=1 if get_focus_ok=1 then goto "sprung1" cls release "shoot_half" print "!!! Fokus nicht OK !!!" print "Kamera neu ausrichten" print "Ich wiederhole den Fokus" sleep 3000 goto "neufok" :sprung1 S=get_focus release "shoot_half" do sleep o until get_shooting=0 h=1 gosub "schalten" sleep z set_focus A sleep 500 if get_nd_present<>0 then set_aflock 1 :wait2 cls if SA then print "*Motiv liegt hinter HYP*" print "" endif if S>=N and S<=A then print "> Motiv liegt zwischen <" print ">>>> NEAR und HYP <<<<" print "" endif B=(A%1000)/10 if B<10 then B=B*10 if A<10000 then print "Hyperfokal ",A/1000","B" m >>>" else print "Hyperfokal ",A/1000","B" m >>>" endif T=(S%1000)/10 if T<10 then T=T*10 if S<10000 then print "Motiv bei ",S/1000","T" m <<<" else print "Motiv bei ",S/1000","T" m <<<" endif :wait wait_click if is_key "erase" then goto "wait" if is_key "display" then goto "wait" if is_key "menu" then goto "wait" if is_key "zoom_in" then goto "wait" if is_key "zoom_out" then goto "wait" if is_key "shoot_half" then goto "wait" is_key k "right" if k=1 then goto "abgang" is_key k "left" if k=1 then h=0 if k=1 then gosub "hyper" is_key k "up" if k=1 then set_led 8 0 if k=1 then goto "near" is_key k "down" if k=1 then gosub "raw" if k=1 then goto "wait2" is_key k "set" if k=1 then goto "restore" :abgang set_led 8 0 cls return :serie rem 'manueller Focus - 2s Vorlauf sleep 2000 for i=-192 to 192 step H set_ev i shoot next i set_ev 0 return :hyperfocal if get_nd_present<>0 then set_aflock 0 if p=0 then A=get_hyp_dist set_focus A else press "shoot_half" do sleep o until get_shooting=1 A=get_hyp_dist release "shoot_half" do sleep o until get_shooting=0 set_focus A endif sleep x N=get_near_limit if get_nd_present<>0 then set_aflock 1 return :schalten if get_nd_present<>0 then goto "ixus" cls if y=2 and (h=1)or(h=0) then click "mf" sleep 300 else while get_focus_mode<>h select y case 0; click "down" case 1; click "left" case 3; click "up" end_select sleep 300 wend endif :ixus return :custom if a=1 then gosub "customaus" else gosub "customein" endif return rem -------------------- Kameraspezifisch -------------------- :customein click "set" sleep z click "down" sleep z click "down" sleep z click "left" sleep z click "set" sleep z a=1 return :customaus click "set" sleep z click "right" sleep z click "up" sleep z click "up" sleep z click "set" sleep z a=2 return