Canon s5is running fudgeys fast motion detect script

This is basically a very fast and responsive motion detection script. This will definitely solve your problems if you want to catch lightning (thus the title) or anything fast, however some objects will blur when the light conditions are insufficient. Enjoy this script!

Current version[]

The version "080205" listed below is outdated.   See version "MDFB-080914.BAS" (released 14 September 2008) in this forum thread

UPDATE :  2013 version of this script is here MDFB2013.lua

See also[]

Original Script Code[]

Save as "Lightning script.bas" to your /CHDK/SCRIPTS/ folder

Version 080205:

rem Author: fudgey - based on BarneyFive's MD Lightning6 and MLuna's Motion Detect scripts     
  rem Tested on A570IS, Allbest build 16     
  rem For bursts, set the camera in continuous shooting mode and set j>0     
  rem If j>0 in single shot mode, you will see your shot for j seconds on screen.     
  @title Fast MD with Burst/Preview 080205     
  @param a Columns     
  @default a 6     
  @param b Rows     
  @default b 4     
  @param c Threshold (0-255)     
  @default c 10     
  @param d Compare Interval (ms)     
  @default d 1     
  @param e Trigger Delay (0.1 sec)     
  @default e 42     
  @param f Rows to Exclude     
  @default f 0     
  @param g Pix-Step(speed/accuracy adj)     
  @default g 8     
  @param h Reg Mode(0-no,1-incl,2-excl)     
  @default h 0     
  @param i Measure Mode (1-Y,0-U,2-V)     
  @default i 1     
  @param j Burst/Preview (sec,0=off)     
  @default j 0     
  if a<1 then a=1     
  if b<1 then b=1     
  if c<0 then c=0     
  if g<1 then g=1     
  if f<1 then f=1     
  if j<0 then j=0     
  print ">[";a;",";b;"] threshold: ";c     
  if j>0 then goto "md_burst"     
    press "shoot_half"     
     md_detect_motion a, b, i, x, d, c, 1, t, h, 1, 1, a, f, 0, g, e     
    until t>0     
    click "shoot_full"     
    goto "md_singleshot"     
    press "shoot_half"     
     md_detect_motion a, b, i, x, d, c, 1, t, h, 1, 1, a, f, 0, g, e     
    until t>0     
    press "shoot_full"     
    let X=get_tick_count     
  let U=get_tick_count     
  let V=(U-X)     
  if V<j then goto "contloop"     
  release "shoot_full"       
  goto "md_burst"


Written for/on: Powershot S5 IS

Also works on: A470, A530, A540, A550, A570, A590, A720IS, A1200, SX10IS, SX100IS, SX110IS, SX240, SD750, SD980 (Ixus 200IS), SD990 (Ixus 980IS), SD940 (IXUS120), SD1100IS (ixus 80), SD1000 (ixus 70), G10, G11, S90, IXUS85IS, SX40, SX50,IXUS175(ELPH180).

Doesn't works on: A560 (freeze camera, You need to remove batteries to make it work again), A720 IS (I tested it with allbest firmware and works!) and some others ; Update 7/02/2009 : With the latest version of CHDK ( autobuild ) , version B for PowerShot S5IS it causes camera crash. update 4/03/2011 Tested on SX200IS, freezes camera on load, takes one picture then have to remove batteries and delete script.