CHDK Wiki
(→‎All Scripting Functions: updated thumbnail description of set_aflock())
m (imath.frac description)
Tag: Source edit
 
(72 intermediate revisions by 4 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 Draw Functions]]
+
|[[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/CHDK_scripting#The_Script_Header The Script Header]
+
|[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 | get_focus ]]||Y||Y||gets current focus distance in mm
+
| 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#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_IS_mode |get_IS_mode ]]||Y||Y||get image stabilization mode
 
|-
 
|-
| 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" | [[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#get_focus_state | get_focus_state ]]||Y||Y||returns focus status, > 0 focus successful, =0 not successful, < 0 MF
+
| 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#get_IS_mode | get_IS_mode ]]||Y||Y||get image stabilization mode
+
| 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" | [[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#set_mf |set_mf ]]||Y||Y||lock/unlock Canon manual focus (MF) mode.
 
|-
 
|-
| 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#set_aflock |set_aflock ]]||Y||Y||blocks the camera firmware from making focus adjustments
 
|-
 
|-
| align="center" | [[Script_commands#set_aflock | set_aflock ]]||Y||Y||blocks the camera firmware from making focus adjustments
+
| align="center" | [[CHDK_scripting#set_focus_.2F_get_focus |set_focus ]]||Y||Y||sets current focus distance in mm
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_focus_.2F_get_focus | set_focus ]]||Y||Y||sets current focus distance in mm
+
| 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 | 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 |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 | 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 |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 | set_zoom_speed ]]||Y||Y||sets zoom speed (only works on some cameras)
+
| 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 | get_dofinfo ]]||Y|| -||get DOF table (uBASIC commands below)
+
| align="center" | [[Script_commands#get_dofinfo |get_dofinfo ]]||Y|| -||get DOF table (uBASIC commands below)
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_dof | get_dof]] || -||Y||get the depth of sharpness in mm
+
| align="center" | [[CHDK_scripting#get_dof |get_dof]] || -||Y||get the depth of sharpness in mm
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_far_limit | get_far_limit ]]|| -||Y||get the far acceptable sharpness distance
+
| align="center" | [[CHDK_scripting#get_far_limit |get_far_limit ]]|| -||Y||get the far acceptable sharpness distance
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_near_limit | get_near_limit ]]|| -||Y||get near acceptable sharpness distance
+
| align="center" | [[CHDK_scripting#get_near_limit |get_near_limit ]]|| -||Y||get near acceptable sharpness distance
 
|-
 
|-
| align="center" | [[Script_commands#get_focal_length | get_focal_length ]]|| -||Y||get current lens 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 | get_hyp_dist ]]|| -||Y||get hyperfocal distance
+
| 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 | get_av ]]||N||Y||obsolete - replaced with 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 | get_av96 ]]||Y||Y||gets APEX96 aperature value
+
| align="center" | [[CHDK_scripting#get_av96 |get_av96 ]]||Y||Y||gets APEX96 aperature value
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_bv96 | get_bv96 ]]||Y||Y||gets APEX96 luminance value
+
| align="center" | [[CHDK_scripting#get_bv96 |get_bv96 ]]||Y||Y||gets APEX96 luminance value
 
|-
 
|-
| align="center" | [[Script_commands#get_ev | get_ev ]]||Y||Y||get exposure adjustment amount
+
| align="center" | [[Script_commands#get_ev |get_ev ]]||Y||Y||get exposure adjustment amount
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_iso_.2F_get_iso | get_iso ]]||N||Y||obsolete - replaced with get_iso_mode
+
| 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 | get_iso_market ]]||Y||Y||get inflated marketing ISO value
+
| align="center" | [[CHDK_scripting#get_iso_market |get_iso_market ]]||Y||Y||get inflated marketing ISO value
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_iso_mode | get_iso_mode ]]||Y||Y||obtain ISO mode
+
| align="center" | [[CHDK_scripting#get_iso_mode |get_iso_mode ]]||Y||Y||obtain ISO mode
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_iso_real | get_iso_real ]]||Y||Y||get actual ISO value
+
| align="center" | [[CHDK_scripting#set_iso_real |get_iso_real ]]||Y||Y||get actual ISO value
 
|-
 
|-
| align="center" | [[Script_commands#get_nd_present | get_nd_present ]]||Y||Y||returns whether camera has an ND filter (and / or diaphragm )
+
| align="center" | [[Script_commands#get_max_av96 |get_max_av96 ]]||Y||Y||gets maximum possible AV96 (smallest aperture) (CHDK 1.5+)
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_sv96 | get_sv96 ]]||Y||Y||gets APEX96 ISO sensitivity setting
+
| align="center" | [[Script_commands#get_min_av96 |get_min_av96 ]]||Y||Y||gets minimum possible AV96 (largest aperture) (CHDK 1.5+)
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_tv96 | get_tv96 ]]||Y||Y||gets APEX96 exposure time
+
| align="center" | [[Script_commands#get_nd_present |get_nd_present ]]||Y||Y||returns whether camera has an ND filter (and / or diaphragm )
 
|-
 
|-
| 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" | [[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" | [[CHDK_scripting#get_user_av_id | get_user_av96 ]]||Y||Y||gets APEX96 aperature value
+
| 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#get_user_tv_id | get_user_tv_id ]]||Y||Y||gets M mode override APEX96 exposure time by index
+
| align="center" | [[CHDK_scripting#get_sv96 |get_sv96 ]]||Y||Y||gets APEX96 ISO sensitivity setting
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_user_tv96 | get_user_tv96 ]]||Y||Y||gets M mode override APEX96 exposure value
+
| align="center" | [[CHDK_scripting#get_tv96 |get_tv96 ]]||Y||Y||gets APEX96 exposure time
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_av | set_av ]]||N||Y||obsolete - replaced with set_user_av_by_id
+
| 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#set_av_rel | set_av_rel ]]||N||Y||obsolete - replaced with set_user_ac_by_id_rel
+
| align="center" | [[CHDK_scripting#get_user_av_id |get_user_av96 ]]||Y||Y||gets APEX96 aperature value
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_av96 | set_av96 ]]||Y||Y||sets the APEX96 aperature value
+
| 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#set_av96_direct | set_av96_direct ]]||Y||Y||sets the APEX96 aperature value (bypass validation check)
+
| align="center" | [[CHDK_scripting#get_user_tv96 |get_user_tv96 ]]||Y||Y||gets M mode override APEX96 exposure value
 
|-
 
|-
| align="center" | [[Script_commands#set_ev | set_ev ]]||Y||Y||sets exposure adjustment amount
+
| 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#set_iso_.2F_get_iso | set_iso ]]||N||Y||obsolete - replaced with set_iso_mode
+
| align="center" | [[CHDK_scripting#set_av |set_av ]]||N||Y||obsolete - replaced with set_user_av_by_id
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_iso_mode | set_iso_mode ]]||Y||Y||sets propcase PROPCASE_ISO_MODE
+
| 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#set_iso_real | set_iso_real ]]||Y||Y||sets the sv96 override value base on ISO sensitivity value
+
| align="center" | [[CHDK_scripting#set_av96 |set_av96 ]]||Y||Y||sets the APEX96 aperature value
 
|-
 
|-
| 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#set_av96_direct |set_av96_direct ]]||Y||Y||sets the APEX96 aperature value (bypass validation check)
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_sv96 | set_sv96 ]]||Y||Y||set APEX96 ISO sensitivity value
+
| align="center" | [[Script_commands#set_ev |set_ev ]]||Y||Y||sets exposure adjustment amount
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_tv | set_tv ]]||N||Y||obsolete - replaced with set_user_tv_by_id
+
| align="center" | [[CHDK_scripting#set_iso_.2F_get_iso |set_iso ]]||N||Y||obsolete - replaced with set_iso_mode
 
|-
 
|-
| 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#set_iso_mode |set_iso_mode ]]||Y||Y||sets propcase PROPCASE_ISO_MODE
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_tv96 | set_tv96 ]]||Y||Y||set APEX96 exposure time
+
| 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#set_tv96_direct | set_tv96_direct ]]||Y||Y||set APEX96 exposure time (bypass validity checks)
+
| 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#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_sv96 |set_sv96 ]]||Y||Y||set APEX96 ISO sensitivity value
 
|-
 
|-
| 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_tv |set_tv ]]||N||Y||obsolete - replaced with set_user_tv_by_id
 
|-
 
|-
| 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_tv_rel |set_tv_rel ]]||N||Y||obsolete - replaced with set_user_tv_by_id_rel
 
|-
 
|-
| 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_tv96 |set_tv96 ]]||Y||Y||set APEX96 exposure time
 
|-
 
|-
| 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_tv96_direct |set_tv96_direct ]]||Y||Y||set APEX96 exposure time (bypass validity checks)
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_user_tv96 | set_user_tv96 ]]||Y||Y||set user override APEX96 exposure time (M mode only)
+
| 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" | [[Lua/Lua_Reference#get_live_histo | get_live_histo ]]||Y||N|| Get a histogram of the live viewport
+
| 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 197: 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| get_display_mode ]]||N||Y||returns state of LCD display info
+
| 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 | get_drive_mode ]]||Y||Y||returns shutter drive mode (single, continuous, timer )
+
| 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 | get_flash_mode ]]||Y||Y||returns flash mode (flash auto, flash on, flash off)
+
| 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 | get_flash_params_count ]]||Y||N||returns # of flash memory parameters available in camera
+
| 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 | get_flash_ready ]]||Y||Y||returns status indicating if flash is ready to fire
+
| 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 | get_meminfo ]]||Y||N||get camera memory information
+
| align="center" | [[Lua/Lua_Reference#get_meminfo |get_meminfo ]]||Y||N||get camera memory information
 
|-
 
|-
| align="center" | [[Script_commands#get_mode | get_mode ]]||Y||Y||returns whether record mode or playback mode is active
+
| 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 | get_movie_status ]]||Y||Y||gets state of video recording (off,on,paused)
+
| 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 | get_orientation_sensor ]]||Y||Y||get camera rotation sensor value
+
| align="center" | [[Script_commands#get_orientation_sensor |get_orientation_sensor ]]||Y||Y||get camera rotation sensor value
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Flash_parameters | get_parameter_data ]]||Y||N||get data from camera\'s flash memory
+
| 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| get_prop ]]||Y||Y||get PropertyCase value as short integer
+
| 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 | get_prop_str ]]||Y||N||get the value of a PropertyCase as a string
+
| 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 | get_propset ]]||Y||Y||get the propset number for this camera
+
| align="center" | [[Script_commands#get_propset |get_propset ]]||Y||Y||get the propset number for this camera
 
|-
 
|-
| align="center" | [[Script_commands#get_quality | get_quality ]]||N||Y||returns the current capture quality setting in Canon grades
+
| 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 | get_resolution ]]||N||Y||returns the current capture resolution setting in Canon grades
+
| 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 | get_shooting ]]||Y||Y||return value indicates if shooting is done
+
| 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 | get_temperature ]]||Y||Y||returns specified temperature sensor value
+
| align="center" | [[Script_commands#get_temperature |get_temperature ]]||Y||Y||returns specified temperature sensor value
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_vbatt | get_vbatt ]]||Y||Y||get current battery charge state
+
| align="center" | [[CHDK_scripting#get_vbatt |get_vbatt ]]||Y||Y||get current battery charge state
 
|-
 
|-
| 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#get_video_button |get_video_button ]]||Y||Y||returns whether on not the camera has a video button
 
|-
 
|-
| align="center" | [[Script_commands#get_video_details | get_video_details ]]||Y||N||returns a struct with viewport configuration info
+
| 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 | is_capture_mode_valid ]]||Y||Y||check if CHDK mode number is valid for this camera
+
| 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 | play_sound ]]||Y||*||plays the specified sound sequence (uBASIC use 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 | reboot ]]||Y||Y||restart the camera
+
| align="center" | [[Script_commands#reboot.28.5Bfile.5D.29 |reboot ]]||Y||Y||restart the camera
 
|-
 
|-
| align="center" | [[Script_commands#restore | restore ]]||Y||Y||specifies the routine called before a script terminates
+
| align="center" | [[Script_commands#restore |restore ]]||Y||Y||specifies the routine called before a script terminates
 
|-
 
|-
| align="center" | [[Script_commands#set_backlight.28.29 | set_backlight ]]||Y||Y||turns the LCD screen backlight on or off
+
| 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 | set_capture_mode ]]||Y||Y||set capture mode by CHDK mode number
+
| 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 | set_capture_mode_canon ]]||Y||Y||set capture mode by PROPCASE_SHOOTING_MODE value
+
| 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 | set_led ]]||Y||Y||turns on or off the selected camera 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 | set_movie_status ]]||Y||Y||allow video recording to pause, unpause and stop
+
| 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 | set_prop ]]||Y||Y||set PropertyCase value as short integer
+
| 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 | set_prop_str ]]||Y||N||used to set arbitraty sized propcases in Lua
+
| 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 | set_quality ]]||N||Y||set the quality (in Canon grades),
+
| align="center" | [[Script_commands#set_quality |set_quality ]]||N||Y||set the quality (in Canon grades),
 
|-
 
|-
| align="center" | [[Script_commands#set_record.28state.29 | set_record ]]||Y||Y||set playback or record mode
+
| align="center" | [[Script_commands#set_record.28state.29 |set_record ]]||Y||Y||set playback or record mode
 
|-
 
|-
| align="center" | [[Script_commands#set_resolution | set_resolution ]]||N||Y||Set the resolution (in Canon grades)
+
| align="center" | [[Script_commands#set_resolution |set_resolution ]]||N||Y||Set the resolution (in Canon grades)
 
|-
 
|-
| align="center" | [[CHDK_scripting#shut_down | shut_down ]]||Y||Y||turns the camera off
+
| align="center" | [[Script_commands#set_clock |set_clock ]]||Y||N||sets the camera's real time clock
  +
|-
 
| align="center" | [[CHDK_scripting#shut_down |shut_down ]]||Y||Y||turns the camera off
 
|-
 
|-
 
| align="left" style="color:#FFFFFF; background:#06718e;"|'''''Keypad & Switches'''''
 
| align="left" style="color:#FFFFFF; background:#06718e;"|'''''Keypad & Switches'''''
Line 280: Line 347:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[CHDK_scripting#Camera_Operation_Commands | click ]]||Y||Y||press and release a key
+
| 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#is_key | is_key ]]||Y||Y||detemines if specified key was pressed
+
| align="center" | [[CHDK_scripting#is_pressed_.22key.22|is_pressed ]]||Y||Y||determines if specified key is being pressed
 
|-
 
|-
| align="center" | [[Script_commands#is_pressed_.22key.22 | is_pressed ]]||Y||Y||determines if specified key is being pressed
+
| align="center" | [[CHDK_scripting#Camera_Button_Commands|press ]]||Y||Y||activates the specified camera button
 
|-
 
|-
| align="center" | [[CHDK_scripting#click.2Fpress.2Frelease_.22up.22.2C_.22down.22.2C_.22left.22.2C_.22right.22 | press ]]||Y||Y||activates the specified camera button
+
| align="center" | [[CHDK_scripting#Camera_Button_Commands|release ]]||Y||Y||releases the specified camera button
 
|-
 
|-
| align="center" | [[CHDK_scripting#click.2Fpress.2Frelease_.22up.22.2C_.22down.22.2C_.22left.22.2C_.22right.22 | release ]]||Y||Y||releases the specified camera button
+
| align="center" | [[CHDK_scripting#shoot |shoot ]]||Y||Y||takes a picture
 
|-
 
|-
| align="center" | [[CHDK_scripting#shoot | shoot ]]||Y||Y||takes a picture
+
| align="center" | [[CHDK scripting#wait click|wait_click ]]||Y||Y||waits for any camera button to be pressed
 
|-
 
|-
| align="center" | [[CHDK_scripting#wait_click_.2F_is_key | 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
+
| align="center" | [[CHDK_scripting#wheel_right |wheel_right ]]||Y||Y||simulates moving jog dial wheel to the right
 
|-
 
|-
| align="center" | [[CHDK_scripting#wheel_right | wheel_right ]]||Y||Y||simulates moving jog dial wheel to the right
+
| 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 308: Line 377:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_disk_size | get_disk_size ]]||Y||Y||returns size of SD card
+
| align="center" | [[CHDK_scripting#get_disk_size |get_disk_size ]]||Y||Y||returns size of SD card
 
|-
 
|-
| align="center" | [[Script_commands#get_exp_count | get_exp_count ]]||Y||Y|| return number of shots in a session
+
| align="center" | [[Script_commands#get_exp_count |get_exp_count ]]||Y||Y|| return number of shots in a session
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#get_image_dir | get_image_dir ]]||Y||N|| get current image directory
+
| align="center" | [[Lua/Lua_Reference#get_image_dir |get_image_dir ]]||Y||N|| get current image directory
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_disk_size | get_free_disk_space ]]||Y||Y||return space left on SD card
+
| align="center" | [[Lua/Lua_Reference#file_browser.28path.29 |file_browser ]]||Y||N||activate SD card file browser on LCD screen
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_jpg_count | get_jpg_count ]]||Y||Y||return number of JPG shots left on SD card
+
| align="center" | [[CHDK_scripting#get_disk_size |get_free_disk_space ]]||Y||Y||return space left on SD card
 
|-
 
|-
| align="center" | [[Script_commands#get_partitionInfo | get_partitionInfo ]]||Y||Y||get partition information from the SD card
+
| 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#set_file_attributes | set_file_attributes ]]||Y||Y||set file attributes of file on SD card
+
| align="center" | [[Script_commands#get_partitionInfo |get_partitionInfo ]]||Y||N||get partition information from the SD card
 
|-
 
|-
| align="center" | [[Script_commands#swap_partition | swap_partitions ]]||Y||Y||changes the partition order if SD card has multiple partitions
+
| 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 334: Line 405:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[Script_commands#autostarted | autostarted ]]||Y||Y||checks if script was autostarted
+
| align="center" | [[Script_commands#autostarted |autostarted ]]||Y||Y||checks if script was autostarted
|-
 
| align="center" | [[CHDK_scripting#end | end ]]||N||Y||terminate uBASIC program execution
 
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#file_browser.28path.29 | file_browser ]]||Y||Y||activate SD card file browser on LCD screen
+
| align="center" | [[CHDK_scripting#end |end ]]||N||Y||terminate uBASIC program execution
 
|-
 
|-
| align="center" | [[Script_commands#get_autostart_.26_set_autostart | get_autostart ]]||Y||Y||reads the conf.script_autostart
+
| align="center" | [[Script_commands#get_autostart_.26_set_autostart |get_autostart ]]||Y||Y||reads the conf.script_autostart
 
|-
 
|-
| align="center" | [[Get_day_seconds_example | get_day_seconds ]]||Y||Y||return number of seconds since midnight
+
| 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 | get_tick_count ]]||Y||Y||gets time in tic units since camera startup
+
| 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 | get_time ]]||Y||Y||returns elements of the camera\'s current date / time setting
+
| 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 | set_autostart]]||Y||Y||write conf.script_autostart (0=off, 1=on, 2=once)
+
| 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 | set_yield ]]||Y||Y||control how much of the Camera CPU time is used by scripting engine
+
| 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 | sleep ]]||Y||Y||halts program execution for specified number of milliseconds
+
| 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 364: 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 | call_event_proc(name,...) ]]||Y||N||calls a registered event procedure.
+
| 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 | call_func_ptr(fptr,...) ]]||Y||N||call ARM or Thumb function in camera RAM or ROM
+
| 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 | get_levent_def ]]||Y||N||returns (name, id, param) if index is valid, otherwise nil
+
| 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 | get_levent_def_by_index ]]||Y||N||returns (name, id, param) if index is valid, otherwise nil
+
| 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 | get_levent_index ]]||Y||N||returns the index of the given event
+
| 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 | post_levent_for_npt ]]||Y||N||Triggers a [[LogicalEvent]] in the Canon firmware.
+
| 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 | post_levent_to_ui ]]||Y||N||Triggers a [[LogicalEvent]] in the canon firmware.
+
| 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 | set_levent_active ]]||Y||N||<needs a definition>
+
| align="center" | [[Lua/Lua_Reference/Levent |set_levent_active ]]||Y||N||<needs a definition>
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference/Levent | set_levent_script_mode ]]||Y||N||<needs a definition>
+
| 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 392: Line 461:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[UBASIC/TutorialScratchpad#The_.22cls.22_Command | cls ]]||Y||Y||clear console screen
+
| align="center" | [[Script_commands#set_backlight.28.29 |set_backlight ]]||Y||Y||turns the LCD screen backlight on or off
 
|-
 
|-
| align="center" | [[Script_commands#console_redraw | console_redraw ]]||Y||Y||manually refresh/rewrite the script console
+
| 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" | [[CHDK_scripting#print | print ]]||Y||Y||displays a line of text on console area of LCD screen
+
| 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" | [[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#get_draw_title_line |get_draw_title_line]]||Y||Y||returns the current CHDK title state  (CHDK 1.3.0 or greater)
 
|-
 
|-
| align="center" | [[Script_commands#set_console_autoredraw | set_console_autoredraw ]]||Y||Y||enable or disable automatic rewrite/refresh of the console
+
| align="center" | [[UBASIC/TutorialScratchpad#The_.22cls.22_Command |cls ]]||Y||Y||clear console screen
 
|-
 
|-
| align="center" | [[Script_commands#set_console_layout | set_console_layout ]]||Y||Y||sets the dimensions the LCD message console
+
| 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 414: Line 491:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Drawings | draw_clear ]]||Y||N||clear drawing area on LCD screen
+
| align="center" | [[Lua/Drawings |draw.xxx ]]||Y||N||Lua drawing module
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Drawings | draw_ellipse ]]||Y||N||draws an ellipse on LCD screen
+
| align="center" | [[Lua/Lua_Reference#Drawings |draw_ellipse ]]||Y||N||draws an ellipse on LCD screen
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Drawings | draw_ellipse_filled ]]||Y||N||draws a filled ellipse on LCD screen
+
| align="center" | [[Lua/Lua_Reference#Drawings |draw_ellipse ]]||Y||N||draws an ellipse on LCD screen
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Drawings | draw_line ]]||Y||N||draw a line on LCD screen
+
| align="center" | [[Lua/Lua_Reference#Drawings |draw_ellipse_filled ]]||Y||N||draws a filled ellipse on LCD screen
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Drawings | draw_pixel ]]||Y||N||draws a single pixel on LCD screen
+
| align="center" | [[Lua/Lua_Reference#Drawings |draw_line ]]||Y||N||draw a line on LCD screen
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Drawings | draw_rect ]]||Y||N||draws a rectangle on LCD screen
+
| align="center" | [[Lua/Lua_Reference#Drawings |draw_pixel ]]||Y||N||draws a single pixel on LCD screen
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Drawings | draw_rect_filled ]]||Y||N||draws a filled rectangle on LCD screen
+
| align="center" | [[Lua/Lua_Reference#Drawings |draw_rect ]]||Y||N||draws a rectangle on LCD screen
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Drawings | draw_string ]]||Y||N||prints a text string on LCD screen
+
| align="center" | [[Lua/Lua_Reference#Drawings |draw_rect_filled ]]||Y||N||draws a filled rectangle on LCD screen
 
|-
 
|-
| align="center" | [[Script_commands#textbox | textbox ]]||Y||N||input text function for Lua scripts
+
| 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 442: Line 525:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[CHDK_scripting#get_raw | get_raw ]]||Y||Y||return status of RAW disabled or enabled
+
| align="center" | [[CHDK_scripting#get_raw |get_raw ]]||Y||Y||return status of RAW disabled or enabled
 
|-
 
|-
| 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_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 | get_raw_nr ]]||Y||Y||return state of RAW noise reduction ( off, on )
+
| 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" | [[Lua/Lua_Reference#RAW_development | raw_merge_add_file ]]||Y||N||adds a RAW file to the current merge process
+
| 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 | raw_merge_end ]]||Y||N||ends a RAW merge process on the camera
+
| 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 | raw_merge_start ]]||Y||N||begins a RAW merge process on the camera
+
| align="center" | [[Lua/Lua_Reference#RAW_development |raw_merge_end ]]||Y||N||ends a RAW merge process on the camera
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_raw | set_raw ]]||Y||Y||enables or disables the storage of RAW images
+
| align="center" | [[Lua/Lua_Reference#RAW_development |raw_merge_start ]]||Y||N||begins a RAW merge process on the camera
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#RAW_development | set_raw_develop ]]||Y||N||develop RAW image on next shot
+
| align="center" | [[CHDK_scripting#set_raw |set_raw ]]||Y||Y||enables or disables the storage of RAW images
 
|-
 
|-
| align="center" | [[CHDK_scripting#set_raw_nr | set_raw_nr ]]||Y||Y||enables or disable noise reduction in RAW mode
+
| 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 470: Line 557:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[CHDK_scripting#enter_alt | enter_alt ]]||Y||N||activates CHDK mode
+
| 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" | [[CHDK_scripting#exit_alt | exit_alt ]]||Y||Y||exits CHDK mode
+
| 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#get_buildinfo | get_buildinfo ]]||Y||N||return info about CHDK version running on the camera
+
| 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" | [[Script_commands#get_config_value | get_config_value ]]||Y||Y||get currently selected state of CHDK menu item
+
| 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 | get_histo_range ]]||Y||Y||return % if values in given range on histogram
+
| 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 | get_platform_id]]||N||Y||get the camera's platform ID value
+
| 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 | set_config_value ]]||Y||Y||sets specified CHDK config value to specified 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 | shot_histo_enable ]]||Y||Y||enables creation of histogram data from a shot
+
| 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 496: Line 593:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| 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 |bitand(a, b) ]]||Y||N||returns bitwise logical AND of two variables
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#bitwise_operations | bitnot(a) ]]||Y||N||returns bitwise inversion of a variable
+
| align="center" | [[Lua/Lua_Reference#bitwise_operations |bitnot(a) ]]||Y||N||returns bitwise inversion of a variable
 
|-
 
|-
| 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 |bitor(a, b) ]]||Y||N||returns bitwise logical OR of two variables
 
|-
 
|-
| 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 |bitshl(a) ]]||Y||N||returns logical shift left of a variable
 
|-
 
|-
| 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 |bitshri(a) ]]||Y||N||returns logical right of a variable (top bit stays in same state afterwards)
 
|-
 
|-
| 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 |bitshru(a) ]]||Y||N||returns logical right of a variable (top bit = 0 afterwards)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#bitwise_operations | bitxor(a, b) ]]||Y||N||returns logical exclusive or of two variables
+
| 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 | peek ]]||Y||N||reads from specified camera memory address
+
| align="center" | [[Lua/Lua_Reference#peek |peek ]]||Y||N||reads from specified camera memory address
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#poke | poke ]]||Y||N||writes to specified camera memory address
+
| 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 524: Line 621:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| 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_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| md_get_cell_diff ]]||Y||Y||gets change in motion detect level in specified cell
+
| 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| md_get_cell_val ]]||Y||Y||gets signal level in specified cell
+
| 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| md_af_on_time ]]||Y||Y||enable AF led for MD response testing
+
| 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 542: Line 639:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[USB_Remote_V2#Scripting_Interface | get_usb_power ]]||Y||Y||get status of USB connector ( voltage present or not present )
+
| 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#read_usb_msg | read_usb_msg ]]||Y||N||read a message from the CHDK ptp usb interface
+
| align="center" | [[Lua/PTP_Scripting#init_usb_capture |init_usb_capture ]]||Y||N||starts image capture over USB PTP
 
|-
 
|-
| 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#get_usb_capture_target |get_usb_capture_target]]||Y||N||mostly magic
 
|-
 
|-
| 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#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 560: Line 675:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[Script_commands#get_curve_file | get_curve_file ]]||Y||N||Lua commands to control tone curves
+
| 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 | get_curve_state ]]||Y||N||Lua commands to control tone curves
+
| 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 | set_curve_file ]]||Y||N||load a tone 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 | set_curve_state ]]||Y||N||enable/disable the use of a tone curve file
+
| 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 578: Line 693:
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
| align="left" style="background:#e6e1e4;"|'''Description'''
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Constants | imath.scale ]]||Y||N||constant = 1000
+
| align="center" | [[Lua/Lua_Reference#Constants |imath.scale ]]||Y||N||constant = 1000
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Constants | imath.pi2 ]]||Y||N||constant = 6283
+
| align="center" | [[Lua/Lua_Reference#Constants |imath.pi2 ]]||Y||N||constant = 6283
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Constants | imath.pi ]]||Y||N||constant = 3142
+
| align="center" | [[Lua/Lua_Reference#Constants |imath.pi ]]||Y||N||constant = 3142
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Constants | imath.pi_2 ]]||Y||N||constant = 1517
+
| align="center" | [[Lua/Lua_Reference#Constants |imath.pi_2 ]]||Y||N||constant = 1517
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Multiplication and Division | imath.muldiv ]]||Y||N||a*b/c
+
| align="center" | [[Lua/Lua_Reference#Multiplication and Division |imath.muldiv ]]||Y||N||a*b/c
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Multiplication and Division | imath.mul ]]||Y||N||a*b
+
| align="center" | [[Lua/Lua_Reference#Multiplication and Division |imath.mul ]]||Y||N||a*b
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Multiplication and Division | imath.div ]]||Y||N||a/b
+
| align="center" | [[Lua/Lua_Reference#Multiplication and Division |imath.div ]]||Y||N||a/b
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Conversions( degrees &lt;-&gt; radians ) | imath.rad ]]||Y||N||rad -> deg
+
| align="center" | [[Lua/Lua_Reference#Conversions( degrees &lt;-&gt; radians ) |imath.rad ]]||Y||N||rad -> deg
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Conversions( degrees &lt;-&gt; radians ) | imath.deg ]]||Y||N||deg -> rad
+
| align="center" | [[Lua/Lua_Reference#Conversions( degrees &lt;-&gt; radians ) |imath.deg ]]||Y||N||deg -> rad
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) | imath.sinr ]]||Y||N||sin(rad)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) |imath.sinr ]]||Y||N||sin(rad)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) | imath.cosr ]]||Y||N||cos(rad)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) |imath.cosr ]]||Y||N||cos(rad)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) | imath.tanr ]]||Y||N||tan(rad)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) |imath.tanr ]]||Y||N||tan(rad)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) | imath.asinr ]]||Y||N||arcsin(rad)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) |imath.asinr ]]||Y||N||arcsin(rad)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) | imath.acosr ]]||Y||N||arccos(rad)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) |imath.acosr ]]||Y||N||arccos(rad)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) | imath.atanr ]]||Y||N||arctan(rad)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) |imath.atanr ]]||Y||N||arctan(rad)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) | imath.polr ]]||Y||N||r, rad_alpha = pol(x, y)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) |imath.polr ]]||Y||N||r, rad_alpha = pol(x, y)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) | imath.recr ]]||Y||N||x, y = rec(r, rad_alpha)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (radians) |imath.recr ]]||Y||N||x, y = rec(r, rad_alpha)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) | imath.sind ]]||Y||N||sin(deg)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) |imath.sind ]]||Y||N||sin(deg)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) | imath.cosd ]]||Y||N||cos(deg)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) |imath.cosd ]]||Y||N||cos(deg)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) | imath.tand ]]||Y||N||tan(deg)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) |imath.tand ]]||Y||N||tan(deg)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) | imath.asind ]]||Y||N||arcsin(deg)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) |imath.asind ]]||Y||N||arcsin(deg)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) | imath.acosd ]]||Y||N||arccos(deg)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) |imath.acosd ]]||Y||N||arccos(deg)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) | imath.atand ]]||Y||N||arctan(deg)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) |imath.atand ]]||Y||N||arctan(deg)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) | imath.pold ]]||Y||N||r, deg_alpha = pol(x, y)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) |imath.pold ]]||Y||N||r, deg_alpha = pol(x, y)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) | imath.recd ]]||Y||N||x, y = rec(r, deg_alpha)
+
| align="center" | [[Lua/Lua_Reference#Trigonometry (degrees) |imath.recd ]]||Y||N||x, y = rec(r, deg_alpha)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Logarithmic | imath.pow ]]||Y||N||x^y
+
| align="center" | [[Lua/Lua_Reference#Logarithmic |imath.pow ]]||Y||N||x^y
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Logarithmic | imath.log ]]||Y||N||log(x)
+
| align="center" | [[Lua/Lua_Reference#Logarithmic |imath.log ]]||Y||N||log(x)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Logarithmic | imath.log2 ]]||Y||N||log2(x)
+
| align="center" | [[Lua/Lua_Reference#Logarithmic |imath.log2 ]]||Y||N||log2(x)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Logarithmic | imath.log10 ]]||Y||N||log10(x)
+
| align="center" | [[Lua/Lua_Reference#Logarithmic |imath.log10 ]]||Y||N||log10(x)
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Logarithmic | imath.sqrt ]]||Y||N||square root
+
| align="center" | [[Lua/Lua_Reference#Logarithmic |imath.sqrt ]]||Y||N||square root
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Integer Conversion and Rounding| imath.int ]]||Y||N||integer
+
| align="center" | [[Lua/Lua_Reference#Integer Conversion and Rounding|imath.int ]]||Y||N||integer
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Integer Conversion and Rounding | imath.frac ]]||Y||N|| fractal
+
| align="center" | [[Lua/Lua_Reference#Integer Conversion and Rounding |imath.frac ]]||Y||N|| fractional part
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Integer Conversion and Rounding | imath.ceil ]]||Y||N|| ceil
+
| align="center" | [[Lua/Lua_Reference#Integer Conversion and Rounding |imath.ceil ]]||Y||N|| ceil
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Integer Conversion and Rounding | imath.floor ]]||Y||N||floor
+
| align="center" | [[Lua/Lua_Reference#Integer Conversion and Rounding |imath.floor ]]||Y||N||floor
 
|-
 
|-
| align="center" | [[Lua/Lua_Reference#Integer Conversion and Rounding | imath.round ]]||Y||N||round
+
| 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

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