CHDK Wiki
No edit summary
No edit summary
Line 4: Line 4:
   
 
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!
 
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'''==
   
'''Latest version'''
 
 
The version "080205" below seems outdated. See version "080914" released [http://chdk.setepontos.com/index.php/topic,471.msg21328.html#msg21328 in this forum thread]
 
The version "080205" below seems outdated. See version "080914" released [http://chdk.setepontos.com/index.php/topic,471.msg21328.html#msg21328 in this forum thread]
 
=='''See also'''==
 
'''See also:'''
 
 
* [[CameraFeatures]] (chart indicating motion-detection-response-time for many cameras.)
 
* [[CameraFeatures]] (chart indicating motion-detection-response-time for many cameras.)
 
* [[Software#Motion_Detection]] (software for testing camera response time.)
 
* [[Software#Motion_Detection]] (software for testing camera response time.)
   
   
  +
=='''Script Code'''==
 
Save as "Lightning script.bas" to your /CHDK/SCRIPTS/ folder
   
  +
Version 080205:
'''Script Code''' for version 080205 (save as "Lightning script.bas" to your /CHDK/SCRIPTS/ folder)
 
   
 
rem Author: fudgey - based on BarneyFive's MD Lightning6 and MLuna's Motion Detect scripts
 
rem Author: fudgey - based on BarneyFive's MD Lightning6 and MLuna's Motion Detect scripts

Revision as of 14:44, 28 May 2010

Written for/on: Powershot S5 IS
Also works on: A540, A550, A570, A590, A720IS, SX10IS, SX100IS, SX110IS, SD990 (Ixus 980IS), SD1100IS (ixus 80), SD1000 (ixus 70), G11, so far (Edit me).
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 ) , verison B for PowerShot S5IS it causes camera crash.

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" below seems outdated. See version "080914" released in this forum thread

See also


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     
  e=e*100     
  j=j*1000     
  print ">[";a;",";b;"] threshold: ";c     
  x=30000     
  if j>0 then goto "md_burst"     
  :md_singleshot     
    press "shoot_half"     
    t=0     
    do     
     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"     
  :md_burst     
    press "shoot_half"     
    t=0     
    do     
     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     
  :contloop     
  let U=get_tick_count     
  let V=(U-X)     
  if V<j then goto "contloop"     
  release "shoot_full"       
  goto "md_burst"