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