Ultimate Intervalometer - a script for shooting over a long duration - v4.9 - page 30 - Completed and Working Scripts - CHDK Forum

Ultimate Intervalometer - a script for shooting over a long duration - v4.9

  • 651 Replies
  • 247596 Views
Advertisements
I want to share a problem and a solution I found while working with the script.  I have a PowerShot SD1300 IS that I plan to use in an outdoor time-lapse photography setup.  I chose the "PlayKey" for the "Display Off mode (day)" to make sure the lens would retract between shots.  While testing out the script, the display blanked and the lens did indeed retract after the first shot.  However, after that, while the display stayed blank, the lens no longer retracted after any of the subsequent shots.  After working my way through the code, I found that the when the set_display(0) function is called (as part of the code that’s run every 15 seconds) the first time, display_state=1.  Because display_state~=m, the mode-switch code is executed and the lens retracts.  But, at the end of the set_display(0) execution, display_state is set to 0.  Now, display_state=m, and the next time set_display(0) is called (and every time after that), the mode-switch portion of the code is skipped.   Luckily, there’s an easy fix.  I just added a line in the code right after the shot_counter gets incremented to set display_state=1.  This means the mode-switch portion of the code gets executed and the lens is retracted while the display stays blanked.  Problem solved! 

I want to share a problem and a solution I found while working with the script.  I have a PowerShot SD1300 IS that I plan to use in an outdoor time-lapse photography setup.  I chose the "PlayKey" for the "Display Off mode (day)" to make sure the lens would retract between shots.  While testing out the script, the display blanked and the lens did indeed retract after the first shot.  However, after that, while the display stayed blank, the lens no longer retracted after any of the subsequent shots.  After working my way through the code, I found that the when the set_display(0) function is called (as part of the code that’s run every 15 seconds) the first time, display_state=1.  Because display_state~=m, the mode-switch code is executed and the lens retracts.  But, at the end of the set_display(0) execution, display_state is set to 0.  Now, display_state=m, and the next time set_display(0) is called (and every time after that), the mode-switch portion of the code is skipped.   Luckily, there’s an easy fix.  I just added a line in the code right after the shot_counter gets incremented to set display_state=1.  This means the mode-switch portion of the code gets executed and the lens is retracted while the display stays blanked.  Problem solved!
Good catch.  There have been almost 3000 downloads of the script and you are the first person to spot this problem.  I suspect that people do not use that mode for Display Off mode (day) to save wear & tear on the lens and to save power by not retracting the lens after every shot during day mode shooting.

Please post your updated script as an attachment here.  I'll need to test and ensure your patch does not interfere with any of the other mode.

Thanks!
« Last Edit: 19 / April / 2015, 01:10:48 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

Here's the script.  The only thing I changed was to add:
display_state=1
after the line
shot_counter = shot_counter+1 

By the way, thanks for contributing this script.  It operates in the intersection of technology and art, which I always find fun.  I'm looking forward to capturing the change of seasons in a bog on my Grandparents' lot.  I hope to run the script continuously (or close to it) for a full year.       
« Last Edit: 19 / April / 2015, 14:20:39 by janetteFromLafayette »

Here's the script.  The only thing I changed was to add:
display_state=1
after the line
shot_counter = shot_counter+1 
Thanks. Being able to just do a "diff" makes things easier.

Quote
By the way, thanks for contributing this script.  It operates in the intersection of technology and art, which I always find fun.  I'm looking forward to capturing the change of seasons in a bog on my Grandparents' lot.  I hope to run the script continuously (or close to it) for a full year.     
You might want to do a little testing of the "reset" functionality.  Set it up to reset every night for a week.  I don't have specifics but there have been a few complaints about some cameras not restarting well.  Given the number of downloads and the lack of many complaints,  I don't think it's a common complaint.

Also,  I assume you realize you won't run more than a day using the internal battery?
« Last Edit: 19 / April / 2015, 14:55:06 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

Here's the script.  The only thing I changed was to add:
display_state=1
after the line
shot_counter = shot_counter+1 
That might work for some cameras but I'm going to have to add more code than that.   

When the camera is in sleep or playback modes during day mode shooting an extra bit of code is supposed to exit those states prior to taking the next shot.  Your patch fixes the display off question but depends on the shoot() command also being able to function when the camera is in playback or sleep modes.  This is not necessarily true.

I'll post an update in a day or two when I've had some time to code & test the necessary changes.

« Last Edit: 19 / April / 2015, 23:26:54 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

I knew it seemed too easy.  I was trying using a call to the set_disp(1) instead of resetting display_state, but I didn't like that solution because it turned the display on.  I might also go back and take a look to see if there is another way.

Also, regarding the power source...got it covered.  I picked up an ac adapter kit and will either run an extension cord or use a solar-charged battery source.   
« Last Edit: 20 / April / 2015, 13:51:16 by janetteFromLafayette »

I knew it seemed too easy.  I was trying using a call to the set_disp(1) instead of resetting display_state, but I didn't like that solution because it turned the display on.  I might also go back and take a look to see if there is another way.
I have the code "fixed"  Just need a little more testing time before I post an update.

Ported :   A1200    SD940   G10    Powershot N    G16

Thank you for your answers, they have been actually very helpful and insightful.

I am not too familiar with coding, especially with the code of CHDK scripts. Do you think it would be difficult to change the script so that it allows shooting throughout the entire night time, and does not reset at dawn? if not, do you have any other suggestions of what I should do?

To give more context, we are using CHDK to get images in RAW so we can evaluate the luminance during the night time.

Thanks!

Do you think it would be difficult to change the script so that it allows shooting throughout the entire night time, and does not reset at dawn?  To give more context, we are using CHDK to get images in RAW so we can evaluate the luminance during the night time.
So you want the script to run in the reverse of normal ?  It should start taking pictures at the day->night transistion and stop taking pictures at the night->day transition.    And if there is a scheduled restart,  that should happen during the day time rather than night time ?

I think that should be fairly easy to accommodate if so.  The script just needs to detect that the start time occurs later in the day than the stop time and adjusts accordingly.   

I'm doing another update to fix janetteFromLafayette's issue - I can most likely add that at the same time.

Ported :   A1200    SD940   G10    Powershot N    G16

Yes exactly! Either that or be able to run the script for 24 hours a day if that is easier. I would prefer to use this instead of the batter intervalometer due to the safety feature of a reset hour in case it stop working properly.

Also, you may find this interesting. Using a multimmeter and external battery, I tested the the amount of current the camera drawn from the camera using different display blanking settings (with a Powershot D30). They were as follows:
None: .3-.34
LCD: .24-.27
BkLite: .28-.31
PlayKey: .11-.20

As shown, the PlayKey setting draws the smallest amount of current, but an odd observation was it would turn the screen off and the after it took its first picture it would turn the screen back on and it would stay on. Oddly enough, it still used a relatively small amount of current. Thought I may share this and I am trying to find the most power saving setting for this camera model.

Thanks!

 

Related Topics


SimplePortal © 2008-2014, SimplePortal