Lens Functions
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
get_focus |
Y |
Y |
gets current focus distance in mm
|
get_focus_mode |
Y |
Y |
returns focus mode, 0=auto, 1=MF, 3=inf., 4=macro, 5=supermacro
|
get_focus_ok |
Y |
Y |
returns 0=focus not ok, 1=ok if get_focus_state<>0 and get_shooting=1
|
get_focus_state |
Y |
Y |
returns focus status, > 0 focus successful, =0 not successful, < 0 MF
|
get_IS_mode |
Y |
Y |
get image stabilization mode
|
get_zoom |
Y |
Y |
returns current zoom position
|
get_zoom_steps |
Y |
Y |
returns the number of zoom steps supported by the camera
|
get_sd_over_modes |
Y |
Y |
returns a bit field value indicating when subject distance override will work with this camera.
|
set_mf |
Y |
Y |
lock/unlock Canon manual focus (MF) mode.
|
set_aflock |
Y |
Y |
blocks the camera firmware from making focus adjustments
|
set_focus |
Y |
Y |
sets current focus distance in mm
|
set_focus_interlock_bypass |
Y |
N |
bypass manual focus safety checks
|
set_zoom |
Y |
Y |
sets the current zoom position
|
set_zoom_rel |
Y |
Y |
moves zoom position a relative amount
|
set_zoom_speed |
Y |
Y |
sets zoom speed (only works on some cameras)
|
Depth of Field
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
get_dofinfo |
Y |
- |
get DOF table (uBASIC commands below)
|
get_dof |
- |
Y |
get the depth of sharpness in mm
|
get_far_limit |
- |
Y |
get the far acceptable sharpness distance
|
get_near_limit |
- |
Y |
get near acceptable sharpness distance
|
get_focal_length |
- |
Y |
get current lens focal length
|
get_hyp_dist |
- |
Y |
get hyperfocal distance
|
Exposure Functions
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
get_av |
N |
Y |
obsolete - replaced with get_user_av_id
|
get_av96 |
Y |
Y |
gets APEX96 aperature value
|
get_bv96 |
Y |
Y |
gets APEX96 luminance value
|
get_ev |
Y |
Y |
get exposure adjustment amount
|
get_iso |
N |
Y |
obsolete - replaced with get_iso_mode
|
get_iso_market |
Y |
Y |
get inflated marketing ISO value
|
get_iso_mode |
Y |
Y |
obtain ISO mode
|
get_iso_real |
Y |
Y |
get actual ISO value
|
get_max_av96 |
Y |
Y |
gets maximum possible AV96 (smallest aperture) (CHDK 1.5+)
|
get_min_av96 |
Y |
Y |
gets minimum possible AV96 (largest aperture) (CHDK 1.5+)
|
get_nd_present |
Y |
Y |
returns whether camera has an ND filter (and / or diaphragm )
|
get_nd_value_ev96 |
Y |
Y |
gets APEX96 value of ND filter, if present (CHDK 1.5+)
|
get_nd_current_ev96 |
Y |
Y |
gets APEX96 value of current ND filter state (CHDK 1.5+)
|
get_sv96 |
Y |
Y |
gets APEX96 ISO sensitivity setting
|
get_tv96 |
Y |
Y |
gets APEX96 exposure time
|
get_user_av_id |
Y |
Y |
gets M mode override APEX96 aperature value by index
|
get_user_av96 |
Y |
Y |
gets APEX96 aperature value
|
get_user_tv_id |
Y |
Y |
gets M mode override APEX96 exposure time by index
|
get_user_tv96 |
Y |
Y |
gets M mode override APEX96 exposure value
|
set_aelock |
Y |
Y |
sets automatic exposure lock (AEL) ( CHDK 1.3.0 or newer)
|
set_av |
N |
Y |
obsolete - replaced with set_user_av_by_id
|
set_av_rel |
N |
Y |
obsolete - replaced with set_user_ac_by_id_rel
|
set_av96 |
Y |
Y |
sets the APEX96 aperature value
|
set_av96_direct |
Y |
Y |
sets the APEX96 aperature value (bypass validation check)
|
set_ev |
Y |
Y |
sets exposure adjustment amount
|
set_iso |
N |
Y |
obsolete - replaced with set_iso_mode
|
set_iso_mode |
Y |
Y |
sets propcase PROPCASE_ISO_MODE
|
set_iso_real |
Y |
Y |
sets the sv96 override value base on ISO sensitivity value
|
set_nd_filter |
Y |
Y |
moves neutral density filter into or out of the optical path
|
set_sv96 |
Y |
Y |
set APEX96 ISO sensitivity value
|
set_tv |
N |
Y |
obsolete - replaced with set_user_tv_by_id
|
set_tv_rel |
N |
Y |
obsolete - replaced with set_user_tv_by_id_rel
|
set_tv96 |
Y |
Y |
set APEX96 exposure time
|
set_tv96_direct |
Y |
Y |
set APEX96 exposure time (bypass validity checks)
|
set_user_av_by_id |
Y |
Y |
set user override APEX96 aperature by index (M mode only)
|
set_user_av_by_id_rel |
Y |
Y |
set user override APEX96 aperature by index relative (M mode only)
|
set_user_av96 |
Y |
Y |
set user override APEX96 aperature (M mode only)
|
set_user_tv_by_id |
Y |
Y |
set user override APEX96 exposure time index (M mode only)
|
set_user_tv_by_id_rel |
Y |
Y |
set user override APEX96 exposure time index offset (M mode only)
|
set_user_tv96 |
Y |
Y |
set user override APEX96 exposure time (M mode only)
|
get_live_histo |
Y |
N |
Get a histogram of the live viewport
|
get_imager_active |
Y |
Y |
returns boolean of camera's image sensor active status
|
get_current_tv96 |
Y |
Y |
returns TV96 value being used in live view
|
get_current_av96 |
Y |
Y |
returns AV96 value being used in live view
|
APEX96 Conversion
|
|
|
Note : CHDK 1.3.0 or greater
|
Function Link
|
Lua
|
uBASIC
|
Description
|
iso_to_sv96 |
Y |
Y |
converts ISO into sv96 units
|
sv96_to_iso |
Y |
Y |
converts sv96 units to ISO
|
iso_real_to_market |
Y |
Y |
converts ISO value from real to market
|
iso_market_to_real |
Y |
Y |
converts ISO value from real to market
|
sv96_real_to_market |
Y |
Y |
converts sv96 value from real to market
|
sv96_market_to_real |
Y |
Y |
converts sv96 value from market to real
|
aperture_to_av96 |
Y |
Y |
converts f-stop to av96 units
|
av96_to_aperture |
Y |
Y |
converts av96 value to f-stop
|
usec_to_tv96 |
Y |
Y |
converts shutter speed to tv96 units
|
tv96_to_usec |
Y |
Y |
converts tv96 value to shutter speed
|
seconds_to_tv96 |
Y |
Y |
converts fractional value to tv96 units
|
Camera Functions
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
get_canon_image_format |
Y |
Y |
Get native firmware RAW/JPEG setting
|
get_canon_raw_support |
Y |
Y |
Return whether the native firmware supports RAW
|
get_capture_mode |
N |
Y |
gets current camera Program mode setting
|
get_display_mode |
N |
Y |
returns state of LCD display info
|
get_drive_mode |
Y |
Y |
returns shutter drive mode (single, continuous, timer )
|
get_flash_mode |
Y |
Y |
returns flash mode (flash auto, flash on, flash off)
|
get_flash_params_count |
Y |
N |
returns # of flash memory parameters available in camera
|
get_flash_ready |
Y |
Y |
returns status indicating if flash is ready to fire
|
get_meminfo |
Y |
N |
get camera memory information
|
get_mode |
Y |
Y |
returns whether record mode or playback mode is active
|
get_movie_status |
Y |
Y |
gets state of video recording (off,on,paused)
|
get_orientation_sensor |
Y |
Y |
get camera rotation sensor value
|
get_parameter_data |
Y |
N |
get data from camera\'s flash memory
|
get_prop |
Y |
Y |
get PropertyCase value as short integer
|
get_prop_str |
Y |
N |
get the value of a PropertyCase as a string
|
get_propset |
Y |
Y |
get the propset number for this camera
|
get_quality |
N |
Y |
returns the current capture quality setting in Canon grades
|
get_resolution |
N |
Y |
returns the current capture resolution setting in Canon grades
|
get_shooting |
Y |
Y |
indicates that half_press is active, exposure is set and focusing is completed (see also get_focus_ok)
|
get_temperature |
Y |
Y |
returns specified temperature sensor value
|
get_vbatt |
Y |
Y |
get current battery charge state
|
get_video_button |
Y |
Y |
returns whether on not the camera has a video button
|
get_video_recording |
Y |
Y |
return whether video is recording or not
|
is_capture_mode_valid |
Y |
Y |
check if CHDK mode number is valid for this camera
|
play_sound |
Y |
* |
plays the specified sound sequence (uBASIC use playsound)
|
reboot |
Y |
Y |
restart the camera
|
restore |
Y |
Y |
specifies the routine called before a script terminates
|
set_canon_image_format |
Y |
Y |
Set native firmware RAW/JPEG setting
|
set_capture_mode |
Y |
Y |
set capture mode by CHDK mode number
|
set_capture_mode_canon |
Y |
Y |
set capture mode by PROPCASE_SHOOTING_MODE value
|
set_led |
Y |
Y |
turns on or off the selected camera LED
|
set_movie_status |
Y |
Y |
allow video recording to pause, unpause and stop
|
set_prop |
Y |
Y |
set PropertyCase value as short integer
|
set_prop_str |
Y |
N |
used to set arbitraty sized propcases in Lua
|
set_quality |
N |
Y |
set the quality (in Canon grades),
|
set_record |
Y |
Y |
set playback or record mode
|
set_resolution |
N |
Y |
Set the resolution (in Canon grades)
|
set_clock |
Y |
N |
sets the camera's real time clock
|
shut_down |
Y |
Y |
turns the camera off
|
Keypad & Switches
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
click |
Y |
Y |
press and release a key
|
is_key |
Y |
Y |
detemines if specified key was pressed
|
is_pressed |
Y |
Y |
determines if specified key is being pressed
|
press |
Y |
Y |
activates the specified camera button
|
release |
Y |
Y |
releases the specified camera button
|
shoot |
Y |
Y |
takes a picture
|
wait_click |
Y |
Y |
waits for any camera button to be pressed
|
wheel_left |
Y |
Y |
simulates moving jog dial wheel to the left
|
wheel_right |
Y |
Y |
simulates moving jog dial wheel to the right
|
set_exit_key |
Y |
Y |
changes the key used to terminate the script (CHDK 1.3.0 or greater)
|
SD Card Functions
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
get_disk_size |
Y |
Y |
returns size of SD card
|
get_exp_count |
Y |
Y |
return number of shots in a session
|
get_image_dir |
Y |
N |
get current image directory
|
file_browser |
Y |
N |
activate SD card file browser on LCD screen
|
get_free_disk_space |
Y |
Y |
return space left on SD card
|
get_jpg_count |
Y |
Y |
return number of JPG shots left on SD card
|
get_partitionInfo |
Y |
N |
get partition information from the SD card
|
set_file_attributes |
Y |
N |
set file attributes of file on SD card
|
swap_partitions |
Y |
Y |
changes the partition order if SD card has multiple partitions
|
Script Status Functions
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
autostarted |
Y |
Y |
checks if script was autostarted
|
end |
N |
Y |
terminate uBASIC program execution
|
get_autostart |
Y |
Y |
reads the conf.script_autostart
|
get_day_seconds |
Y |
Y |
return number of seconds since midnight
|
get_tick_count |
Y |
Y |
gets time in tic units (milliseconds) since camera startup
|
get_time |
Y |
Y |
returns elements of the camera\'s current date / time setting
|
set_autostart |
Y |
Y |
write conf.script_autostart (0=off, 1=on, 2=once)
|
set_yield |
Y |
Y |
control how much of the Camera CPU time is used by scripting engine
|
sleep |
Y |
Y |
halts program execution for specified number of milliseconds
|
Firmware Interface
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
call_event_proc(name,...) |
Y |
N |
calls a registered event procedure.
|
call_func_ptr(fptr,...) |
Y |
N |
call ARM or Thumb function in camera RAM or ROM
|
get_levent_def |
Y |
N |
lookup levent definition by event's name string or id number
|
get_levent_def_by_index |
Y |
N |
lookup levent definition by index in logical event table
|
get_levent_index |
Y |
N |
returns the index of the given event
|
post_levent_for_npt |
Y |
N |
Triggers a LogicalEvent in the Canon firmware.
|
post_levent_to_ui |
Y |
N |
Triggers a LogicalEvent in the canon firmware.
|
set_levent_active |
Y |
N |
<needs a definition>
|
set_levent_script_mode |
Y |
N |
<needs a definition>
|
Display & Text Console
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
set_backlight |
Y |
Y |
turns the LCD screen backlight on or off
|
set_lcd_display |
Y |
Y |
turns the LCD screen on or off (CHDK 1.3.0 or greater)
|
set_draw_title_line |
Y |
Y |
turns the CHDK title line on or off (CHDK 1.3.0 or greater)
|
get_draw_title_line |
Y |
Y |
returns the current CHDK title state (CHDK 1.3.0 or greater)
|
cls |
Y |
Y |
clear console screen
|
console_redraw |
Y |
Y |
manually refresh/rewrite the script console
|
print |
Y |
Y |
displays a line of text on console area of LCD screen
|
print_screen |
Y |
Y |
causes text written to screen to also be written to file on the SD card
|
set_console_autoredraw |
Y |
Y |
enable or disable automatic rewrite/refresh of the console
|
set_console_layout |
Y |
Y |
sets the dimensions the LCD message console
|
LCD Graphics
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
draw.xxx |
Y |
N |
Lua drawing module
|
draw_ellipse |
Y |
N |
draws an ellipse on LCD screen
|
draw_ellipse |
Y |
N |
draws an ellipse on LCD screen
|
draw_ellipse_filled |
Y |
N |
draws a filled ellipse on LCD screen
|
draw_line |
Y |
N |
draw a line on LCD screen
|
draw_pixel |
Y |
N |
draws a single pixel on LCD screen
|
draw_rect |
Y |
N |
draws a rectangle on LCD screen
|
draw_rect_filled |
Y |
N |
draws a filled rectangle on LCD screen
|
draw_string |
Y |
N |
prints a text string on LCD screen
|
textbox |
Y |
N |
input text function for Lua scripts
|
get_gui_screen_width |
Y |
N |
get screen width
|
get_gui_screen_height |
Y |
N |
get screen height
|
RAW
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
get_raw |
Y |
Y |
return status of RAW disabled or enabled
|
get_raw_count |
Y |
Y |
return number of RAW shots that will fit on remaining SD card space
|
get_raw_nr |
Y |
Y |
return state of dark frame subtraction (noise reduction) override (auto, off, on )
|
get_raw_support |
Y |
Y |
return whether or not current capture mode supports RAW
|
raw_merge_add_file |
Y |
N |
adds a RAW file to the current merge process
|
raw_merge_end |
Y |
N |
ends a RAW merge process on the camera
|
raw_merge_start |
Y |
N |
begins a RAW merge process on the camera
|
set_raw |
Y |
Y |
enables or disables the storage of RAW images
|
set_raw_develop |
Y |
N |
develop RAW image on next shot
|
set_raw_nr |
Y |
Y |
set CHDK dark frame subtraction (noise reduction) override
|
rawop.* |
Y |
N |
read or modify raw image data between shot and file save
|
CHDK Functionality
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
enter_alt |
Y |
Y |
activates CHDK mode (CHDK 1.3.0 or greater for uBASIC support)
|
exit_alt |
Y |
Y |
exits CHDK mode
|
get_alt_mode |
Y |
Y |
returns whether CHDK is in ALT mode or not (CHDK 1.3.0 or greater)
|
get_buildinfo |
Y |
N |
return info about CHDK version and DIGIC running on the camera
|
get_digic |
N |
Y |
returns DIGIC type of camera
|
get_config_value |
Y |
Y |
get currently selected state of CHDK menu item
|
set_config_autosave |
Y |
N |
on/off for the autosave function of the CHDK configuration (CHDK 1.3.0 or greater)
|
load_config_file |
Y |
N |
loads a CHDK configuration file (CHDK 1.3.0 or greater)
|
save_config_file |
Y |
N |
saves a CHDK configuration file (CHDK 1.3.0 or greater)
|
get_histo_range |
Y |
Y |
return % if values in given range on histogram
|
get_platform_id |
N |
Y |
get the camera's platform ID value
|
set_config_value |
Y |
Y |
sets specified CHDK config value to specified value
|
shot_histo_enable |
Y |
Y |
enables creation of histogram data from a shot
|
Programming
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
bitand(a, b) |
Y |
N |
returns bitwise logical AND of two variables
|
bitnot(a) |
Y |
N |
returns bitwise inversion of a variable
|
bitor(a, b) |
Y |
N |
returns bitwise logical OR of two variables
|
bitshl(a) |
Y |
N |
returns logical shift left of a variable
|
bitshri(a) |
Y |
N |
returns logical right of a variable (top bit stays in same state afterwards)
|
bitshru(a) |
Y |
N |
returns logical right of a variable (top bit = 0 afterwards)
|
bitxor(a, b) |
Y |
N |
returns logical exclusive or of two variables
|
peek |
Y |
N |
reads from specified camera memory address
|
poke |
Y |
N |
writes to specified camera memory address
|
Motion Detection
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
md_detect_motion |
Y |
Y |
waits for a change in specified screen cells caused by motion
|
md_get_cell_diff |
Y |
Y |
gets change in motion detect level in specified cell
|
md_get_cell_val |
Y |
Y |
gets signal level in specified cell
|
md_af_on_time |
Y |
Y |
enable AF led for MD response testing
|
USB Port Interface
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
get_usb_power |
Y |
Y |
get status of USB remote ( current level, pulse width, pulse count, etc )
|
set_remote_timing |
Y |
Y |
enables high precision USB remote timing
|
read_usb_msg |
Y |
N |
read a message from the CHDK ptp usb interface
|
write_usb_msg |
Y |
N |
write a message via the CHDK ptp interface
|
usb_msg_table_to_string |
Y |
N |
User-definable callback used convert tables to string for write_usb_msg and PTP return
|
switch_mode_usb |
Y |
N |
set playback or record mode while PTP USB connected
|
usb_force_active |
Y |
Y |
force camera to believe USB 5V pin is active or inactive
|
force_analog_av |
Y |
Y |
force camera to believe AV output connector is attached or not attached
|
usb_sync_wait |
Y |
Y |
causes camera to wait for sync signal on next shot (CHDK 1.4.0 or newer)
|
get_usb_capture_support |
Y |
N |
gets remote capture supported image types
|
init_usb_capture |
Y |
N |
starts image capture over USB PTP
|
get_usb_capture_target |
Y |
N |
mostly magic
|
set_usb_capture_timeout |
Y |
N |
sets timeout waiting for image capture
|
Tone Curves
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
get_curve_file |
Y |
N |
Lua commands to control tone curves
|
get_curve_state |
Y |
N |
Lua commands to control tone curves
|
set_curve_file |
Y |
N |
load a tone curve file
|
set_curve_state |
Y |
N |
enable/disable the use of a tone curve file
|
imath functions
|
|
|
|
Function Link
|
Lua
|
uBASIC
|
Description
|
imath.scale |
Y |
N |
constant = 1000
|
imath.pi2 |
Y |
N |
constant = 6283
|
imath.pi |
Y |
N |
constant = 3142
|
imath.pi_2 |
Y |
N |
constant = 1517
|
imath.muldiv |
Y |
N |
a*b/c
|
imath.mul |
Y |
N |
a*b
|
imath.div |
Y |
N |
a/b
|
imath.rad |
Y |
N |
rad -> deg
|
imath.deg |
Y |
N |
deg -> rad
|
imath.sinr |
Y |
N |
sin(rad)
|
imath.cosr |
Y |
N |
cos(rad)
|
imath.tanr |
Y |
N |
tan(rad)
|
imath.asinr |
Y |
N |
arcsin(rad)
|
imath.acosr |
Y |
N |
arccos(rad)
|
imath.atanr |
Y |
N |
arctan(rad)
|
imath.polr |
Y |
N |
r, rad_alpha = pol(x, y)
|
imath.recr |
Y |
N |
x, y = rec(r, rad_alpha)
|
imath.sind |
Y |
N |
sin(deg)
|
imath.cosd |
Y |
N |
cos(deg)
|
imath.tand |
Y |
N |
tan(deg)
|
imath.asind |
Y |
N |
arcsin(deg)
|
imath.acosd |
Y |
N |
arccos(deg)
|
imath.atand |
Y |
N |
arctan(deg)
|
imath.pold |
Y |
N |
r, deg_alpha = pol(x, y)
|
imath.recd |
Y |
N |
x, y = rec(r, deg_alpha)
|
imath.pow |
Y |
N |
x^y
|
imath.log |
Y |
N |
log(x)
|
imath.log2 |
Y |
N |
log2(x)
|
imath.log10 |
Y |
N |
log10(x)
|
imath.sqrt |
Y |
N |
square root
|
imath.int |
Y |
N |
integer
|
imath.frac |
Y |
N |
fractional part
|
imath.ceil |
Y |
N |
ceil
|
imath.floor |
Y |
N |
floor
|
imath.round |
Y |
N |
round
|
|
|
|
|
|