Waterwingz (talk | contribs) (→All Scripting Functions: add get_alt_mode()) |
Waterwingz (talk | contribs) m (→All Scripting Functions: fixed wait_click link) Tag: Visual edit |
||
Line 331: | Line 331: | ||
| align="center" | [[CHDK_scripting#shoot | shoot ]]||Y||Y||takes a picture |
| align="center" | [[CHDK_scripting#shoot | shoot ]]||Y||Y||takes a picture |
||
|- |
|- |
||
− | | align="center" | [[ |
+ | | align="center" | [[CHDK scripting#wait click| wait_click ]]||Y||Y||waits for any camera button to be pressed |
|- |
|- |
||
| align="center" | [[CHDK_scripting#wheel_left | wheel_left ]]||Y||Y||simulates moving jog dial wheel to the left |
| align="center" | [[CHDK_scripting#wheel_left | wheel_left ]]||Y||Y||simulates moving jog dial wheel to the left |
Revision as of 21:46, 14 November 2014
CHDK Scripting Links
CHDK Scripts | CHDK Scripting |
Script Commands | Script Commands Stub |
User Written Scripts | Property Case Values |
uBASIC Links
uBASIC | uBASIC Syntax |
uBASIC Tutorial Scratchpad |
Lua Links
Lua | Lua Syntax |
Lua Reference | Lua PTP Scripting |
Lua Draw & Lua Drawing | Native Function Calls |
Lua Development Environment | Lua 5.1 Reference Manual |
One Page CHDK Lua Reference Card |
Script Header Documentation
The Script Header | Tutorial - The Script Header |
All Scripting Functions
.
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_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_nd_present | Y | Y | returns whether camera has an ND filter (and / or diaphragm ) | |
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 | |
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_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 | return value indicates if shooting is done | |
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_details | Y | N | returns a struct with viewport configuration info | |
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_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) | |
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 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 | returns (name, id, param) if index is valid, otherwise nil | |
get_levent_def_by_index | Y | N | returns (name, id, param) if index is valid, otherwise nil | |
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 | |
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 | |
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 RAW noise reduction ( off, on ) | |
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 | enables or disable noise reduction in RAW mode | |
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 running on the 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 connector ( voltage present or not present ) | |
enable_remote_hp_timer | Y | Y | enabled 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 | |
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 | fractal | |
imath.ceil | Y | N | ceil | |
imath.floor | Y | N | floor | |
imath.round | Y | N | round | |