i'll report an issue i've encountered while playing with a480+ptp:
once i successfully switch to record mode, scripts work as expected. however, my problem is in the switch itself. i chosed a simple thing for those tests: setting zoom level.
here's what i'm doing:
- initializing the camera
- checking the current mode (executing the get_mode() script on the camera and checking the result)
- if mode is record already, i just skip to the subsequent steps (set_zoom(x))
- if mode is playback, i call ptp_chdk_switch_mode
now, here's my problem: switching to record mode works fine.
however, after the switch_mode is requested, the camera shows in the lcd the modechange with the usual animation (in my case it shows "auto" since i'm not requesting any special mode, and this happens even if chdk osd is active instead of canon's).
now, if i ask for the execution of another script while this visual stuff is going on (i.e. set_zoom(level), where level is a big step) the camera become crazy (i.e. the zoom slows down when reaching the target, then the camera turns off and the usb connection dies while linux thinks the device has been disconnected).
instead, if i wait until those "auto" stuff disappear from camera screen, everything's fine.
the problem is reproducible also with mweerden's ptpcam-built-in-chdk-shell (./ptpcam --chdk); just power on the camera, then connect and:
> mode 1
> lua set_zoom(long_interval);cls();exit_alt()
quickly after the mode switch. you should have the zoom moving slower and then the poweroff.
i tried with a sx200is and everything's fine, so i guess this is a camera(firmware?) specific issue.
note: i solved by moving zoom with little steps, that seem to work without making the camera explode, in the end the result is the same