Hey.
sx100-100c-rev788
The short of it is that zoom commands crash the camera on rev 788 and autobuild. Don't know if it's regression or what.
I would
bet money this was working before, back when Fudgey was playing around with the
zoom-while-shooting LUA script. It's not a function I have ever needed besides playing around, but it did work previously. I know it. I have silly zoomy images around here somewhere. But this weekend I had an actual use for it, and attempt to move the zoom crashes the camera. And what's really fun is it crashes
after it actually moves the lens.
Free memory is 750,248 bytes on rev788. My install is "full" for sure; firmware extracted stubs, fi2'd
(not a feature I need with autobooting and SDHC support, just wanted to prove Memset's / ewavr's fi2 thingie worked), blah blah blah... so you'd think if it's gonna work, it'd work here. Nope.
So OK fine, feeces occurs, let's start clean: grab a SD, wipe it, partition it, format it, hexedit it, pull svn into a fresh directory, replace PRIMARY.BIN, make fir, copy, write a very short uBasic script (
set_zoom 0,
sleep 1000,
set_zoom 10) and just in case it's host-related, an equally short LUA
(same 3 commands but added get_zoom()) & get_zoom_steps())... lock it, boot it, and --- and crash it. Both scripts, repeatedly. If it's -at- 0, then it doesn't crash on first command, but does on 2nd. After it moves the lens it's lights out. The LUA one can query the zoom location and steps correctly, so it's getting at least some of the propcases right. No other CHDK function is misbehaving... I bracketed 50 each of Tv, Sv, Av... MDFB & motion_detect, etc. Nothing wrong. Just this zoom thing.
If you have an SX100, especially 100c, would you do me a favor and see if you can change zoom via a script? Here's a simple one:
SX100GAK.LUA--[[
@title Zoom Bracket SX100IS FAIL
rem is probably Anaglyphic's FAIL
--]]
max_zoom = get_zoom_steps()
cur_zoom = get_zoom()
print (" Zoom steps: " .. max_zoom)
print ("Currently at: " .. cur_zoom)
sleep (1000)
for cur_zoom = 0, max_zoom do
print (" Zoom to: " .. cur_zoom .. " =>")
set_zoom (cur_zoom)
sleep (250)
print (" Taking shot: " .. cur_zoom .. " of " .. max_zoom)
shoot()
sleep (2000)
end
print ("<press shutter to restart>")