Wikia

CHDK Wiki

UBASIC/Scripts: Focus Bracketing with set focus and get focus

Talk1
573pages on
this wiki

< UBASIC

Revision as of 20:46, November 5, 2011 by 84.190.157.81 (Talk)

Focus Bracketing with set_focus and get_focus

Written for/on: Powershot A630, CHDK Build 125 or later required.
Also works on: Powershot SX10 IS

This is a new focus bracketing script. It uses set_focus to set the focus and is faster and more reliable than other scripts.

Script Code (save as "focus2.bas" to your /SCRIPTS/ folder)

rem Author Bubendorf
@title Focus2
@param a Number of ±steps 
@default a 2
@param b Step size [x6]
@default b 6

if a<1 then let a=2
if b<1 then let b=1

sleep 500
get_focus f

for s=-a to a
  g=f
  if s<0 then gosub "negative"
  if s>0 then gosub "positive"
  print "Shoot", s, "(", g, ")"
  set_focus g
  shoot
next s
set_focus f

end

:negative
  for i=s to -1
   g=6*g/(b+6)
  next i
return

:positive
  for i=1 to s
   g=g*b/6+g
  next i
return

A few more additions to the code:

Script Code (save as "focusrange.bas" to your /SCRIPTS/ folder)

rem arne182
@title FocusRange
@param a Number of +steps 
@default a 3
@param b Number of -steps
@default b 3
@param c Focus range in cm
@default c 10
@param d Infinity included, yes = 1
@default d 0

if a<0 then let a=0
if b<0 then let b=0
if c<1 then let c=1
if c>50 then let c=1

sleep 500
get_focus f
if f<0 then let f=65530
if f<69 then let b=0
if f>17590 then let a=0


for s=-b to a
  g=f+s*c*10/(a+b)
  set_focus g
  sleep 100
  get_focus g
  print "Shoot", s, "(", g, ")"
  shoot
next s
  if d=1 then gosub "infinity"

set_focus f

end

:infinity
  g = 65530
  print "Shoot infinity", "(", g, ")"
  set_focus g
  sleep 100
  shoot
return

Around Wikia's network

Random Wiki