Page 3 of 6

PostPosted: Sat Oct 10, 2009 8:55 am
by fma38
tarnis, are you using a 50D, or a 20D? I'm lost...

What version of Papywizard are you using? I made some changes in the plugin in the last release (mainly renamed parameters), so I may have introduced a bug...

Could you post the log when it works, and when it fails (turn on 'trace' debug level)?

PostPosted: Fri Oct 16, 2009 10:58 pm
by tarnis
Iv always used it with the 20D, trying the 50D I just got.

Need to shoot another to get a log but I think it's the script...I get the same error just clicking the executable generated by autohotkey.

PostPosted: Sat Oct 17, 2009 5:00 pm
by fma38

PostPosted: Wed Oct 21, 2009 3:46 am
by sjhenry

i got your email. Did you install the camera driver for your 50D? What version of EOS utility you have installed in your machine? What is the error message you recieve when you run the script via PW? Let me know these details. I don't have 50D but I can see what the difference in EOS Utility version makes the error.


PostPosted: Wed Oct 21, 2009 12:53 pm
by tarnis
I installed the driver...

I get the same error wherer I run it in papywizard or just running the executable.
"unable to find main window button for eos utility"

Eos utility works fine on its own with the camera.

PostPosted: Mon Nov 23, 2009 4:07 pm
by plagarto
Hi guys,
I'm using PW 2.1.13 in Windows 7 x64 but I'm having some trouble with the EOS plugin.
I've compiled EOSbracket posted in 1st page and created bracket.ini like posted, but every time I try to shoot from PW the result is failed and the log looks like this:
2009-11-23 15:08:31,227::Shooting::INFO::Start shooting process...
2009-11-23 15:08:31,227::Shooting::DEBUG::Shooting.start(): create mosaic data object
2009-11-23 15:08:31,227::Shooting::DEBUG::Data.__init__(): create xml tree
2009-11-23 15:08:31,227::Shooting::DEBUG::Data.createHeader(): values={'comment': u'Generated by Papywizard 2.1.13', 'cameraOrientation': u'portrait', 'yawNbPicts': '1', 'pitchNbPicts': '1', 'title': u'Here goes the title', 'bracketingNbPicts': '1', 'timeValue': '-1.0', 'stabilizationDelay': '0.5', 'overlap': '0.25', 'headOrientation': 'up', 'lensType': u'rectilinear', 'yawRealOverlap': '1.00', 'pitchRealOverlap': '1.00', 'sensorCoef': '1.6', 'sensorRatio': u'3:2', 'roll': '90.0', 'focal': '17.0', 'gps': u'Here goes the location'}
2009-11-23 15:08:31,227::Shooting::DEBUG::Data._addNode(): parent=header, tag=general, value=None, attr={}
2009-11-23 15:08:31,227::Shooting::DEBUG::Data._addNode(): parent=general, tag=title, value=Here goes the title, attr={}
2009-11-23 15:08:31,227::Shooting::DEBUG::Data._addNode(): parent=general, tag=gps, value=Here goes the location, attr={}
2009-11-23 15:08:31,227::Shooting::DEBUG::Data._addNode(): parent=general, tag=comment, value=Generated by Papywizard 2.1.13, attr={}
2009-11-23 15:08:31,227::Shooting::DEBUG::Data._addNode(): parent=header, tag=shooting, value=None, attr={'mode': 'mosaic'}
2009-11-23 15:08:31,227::Shooting::DEBUG::Data._addNode(): parent=shooting, tag=headOrientation, value=up, attr={}
2009-11-23 15:08:31,227::Shooting::DEBUG::Data._addNode(): parent=shooting, tag=cameraOrientation, value=portrait, attr={}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=shooting, tag=stabilizationDelay, value=0.5, attr={}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=shooting, tag=startTime, value=2009-11-23_15h08m31s, attr={}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=shooting, tag=endTime, value=2009-11-23_15h08m31s, attr={}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=header, tag=camera, value=None, attr={}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=camera, tag=timeValue, value=-1.0, attr={}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=camera, tag=bracketing, value=None, attr={'nbPicts': '1'}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=camera, tag=sensor, value=None, attr={'ratio': u'3:2', 'coef': '1.6'}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=header, tag=lens, value=None, attr={'type': u'rectilinear'}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=lens, tag=focal, value=17.0, attr={}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=header, tag=mosaic, value=None, attr={}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=mosaic, tag=nbPicts, value=None, attr={'yaw': '1', 'pitch': '1'}
2009-11-23 15:08:31,243::Shooting::DEBUG::Data._addNode(): parent=mosaic, tag=overlap, value=None, attr={'yaw': '1.00', 'minimum': '0.25', 'pitch': '1.00'}
2009-11-23 15:08:31,243::Shooting::DEBUG::Shooting.start(): repeat 1/1
2009-11-23 15:08:31,259::Shooting::DEBUG::Shooting.start(): pict #1 of 1, index=(1, 1, 1), yaw=0.0, pitch=0.0
2009-11-23 15:08:31,259::Main::DEBUG::ShootController.__onShootingUpdate(): index=(1, 1, 1), yaw=0.0, pitch=0.0, state=None, next=True
2009-11-23 15:08:31,259::Shooting::INFO::Moving
2009-11-23 15:08:31,259::Main::DEBUG::ShootController.__onShootingSequence(): sequence=moving
2009-11-23 15:08:31, 'yawAxis' drive to 0.0
2009-11-23 15:08:31, 'pitchAxis' drive to 0.0
2009-11-23 15:08:31,259::Shooting::INFO::Stabilization
2009-11-23 15:08:31,259::Main::DEBUG::ShootController.__onShootingSequence(): sequence=stabilization
2009-11-23 15:08:31,773::Shooting::INFO::Shutter cycle
2009-11-23 15:08:31,773::Shooting::DEBUG::Shooting.start(): bracket #1 of 1
2009-11-23 15:08:31,773::Main::DEBUG::ShootController.__onShootingSequence(): sequence=shutter
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): bracketNumber=1
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Program Path=C:/Program Files (x86)/Papywizard/EOSBracket.exe
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): EOS Utility version=new
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Bracketing stops=1
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Bracketing type=0-+
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Bracketing nb pict=1
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Dry run=False
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Bulb enable=False
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Bulb base exposure 1 s
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Focus enable=False
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Focus direction=far
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Focus step=medium
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Focus step count=1
2009-11-23 15:08:31,773::Shooting::DEBUG::EOSUtilityShutter.shoot(): Focus nb picts=1
2009-11-23 15:08:31,773::Shooting::EXCEPTION::Shooting.start()
Traceback (most recent call last):
File "papywizard\model\shooting.pyo", line 562, in start
File "papywizard\plugins\eosUtilityPlugins.pyo", line 181, in shoot
TypeError: sequence item 10: expected string or Unicode, QString found
2009-11-23 15:08:31,773::Shooting::ERROR::Shoot process failed
2009-11-23 15:08:31,773::Main::DEBUG::ShootController.__onShootingStopped(): status=fail

am I doing something wrong?

PostPosted: Mon Nov 23, 2009 4:30 pm
by mediavets
plagarto wrote:Hi guys,
I'm using PW 2.1.13 in Windows 7 x64 but I'm having some trouble with the EOS plugin.

Perhaps it's not compatible with Windows 7 x64?:

PostPosted: Mon Nov 23, 2009 5:31 pm
by plagarto
mediavets wrote:Perhaps it's not compatible with Windows 7 x64?:

It all works fine when I use PW and shoot with Merlin plugin.
Also if I run the autokey script (not in PW) I'm able to shoot with EOS.
By the way the PW log only returns error in the last few lines.

PostPosted: Mon Nov 23, 2009 6:56 pm
by fma38
Ok, there is a bug in the i18n support in this plugin (and maybe in others). I'll try to fix this quickly.

PostPosted: Mon Nov 23, 2009 10:15 pm
by fma38
Ok, I think I found and fixed the bug.

Before I release a new version, could you try this new plugin version? Just copy/paste the following code, and save it in your plugins config directory (C:\Documents and settings\<user>\Application Data\papywizard2\plugins) under the name you want (something like Then restart Papywizard. The name of the plugin in the config dialog will be 'EOS Utility 2'... Let me know if it works.

BTW, which language are you using?

Code: Select all
# -*- coding: utf-8 -*-

""" Panohead remote control.


 - B{Papywizard} (U{}) is Copyright:
  - (C) 2007-2009 Frédéric Mantegazza

This software is governed by the B{CeCILL} license under French law and
abiding by the rules of distribution of free software.  You can  use,
modify and/or redistribute the software under the terms of the CeCILL
license as circulated by CEA, CNRS and INRIA at the following URL

As a counterpart to the access to the source code and  rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty  and the software's author,  the holder of the
economic rights,  and the successive licensors  have only  limited

In this respect, the user's attention is drawn to the risks associated
with loading,  using,  modifying and/or developing or reproducing the
software by the user in light of its specific status of free software,
that may mean  that it is complicated to manipulate,  and  that  also
therefore means  that it is reserved for developers  and  experienced
professionals having in-depth computer knowledge. Users are therefore
encouraged to load and test the software's suitability as regards their
requirements in conditions enabling the security of their systems and/or
data to be ensured and,  more generally, to use and operate it in the
same conditions as regards security.

The fact that you are presently reading this means that you have had
knowledge of the CeCILL license and that you accept its terms.

Module purpose



- EOSUtilityShutter
- EOSUtilityShutterController

@author: Jones Henry Subbiah
@author: Frédéric Mantegazza
@copyright: (C) 2009 Jones Henry Subbiah
@copyright: (C) 2007-2009 Frédéric Mantegazza
@license: CeCILL

__revision__ = "$Id: 2197 2009-11-23 18:19:30Z fma $"

import time
import subprocess

from PyQt4 import QtCore, QtGui

from papywizard.common.loggingServices import Logger
from papywizard.plugins.pluginsManager import PluginsManager
from papywizard.plugins.abstractShutterPlugin import AbstractShutterPlugin
from papywizard.plugins.shutterPluginController import ShutterPluginController
from papywizard.view.pluginFields import ComboBoxField, LineEditField, SpinBoxField, CheckBoxField, FileSelectorField

NAME = "EOS Utility 2"

DEFAULT_PROGRAM_PATH = "C:\\Program Files\\Papywizard\\EOSBracket.exe"
DEFAULT_EOS_UTILITY_VERSION = unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'new'))
DEFAULT_FOCUS_DIRECTION = unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'far'))
DEFAULT_FOCUS_STEP = unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'medium'))
                         '0++': '2',
                         '0-+': '3'}
EOS_UTILITY_VERSION_TABLE = {'old': unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'old')),
                             'new': unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'new')),
                             unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'old')): 'old',
                             unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'new')): 'new'}
FOCUS_DIRECTION_TABLE = {'far': unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'far')),
                         'near': unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'near')),
                         unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'far')): 'far',
                         unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'near')): 'near'}
FOCUS_STEP_MODE_TABLE = {'small': unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'small')),
                         'medium': unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'medium')),
                         'large': unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'large')),
                         unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'small')): 'small',
                         unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'medium')): 'medium',
                         unicode(QtGui.QApplication.translate("eosUtilityPlugins", 'large')): 'large'}

class EOSUtilityShutter(AbstractShutterPlugin):
    """ Plugin for the EOS Utility triggering program.
    def _init(self):

    def _getTimeValue(self):
        return -1

    def _getMirrorLockup(self):
        return False

    def _getBracketingNbPicts(self):
        return 1

    def _getBracketingIntent(self):
        return 'exposure'

    def _defineConfig(self):
        self._addConfigKey('_programPath', 'PROGRAM_PATH', default=DEFAULT_PROGRAM_PATH)
        self._addConfigKey('_eosUtilityVersion', 'EOS_UTILITY_VERSION', default=DEFAULT_EOS_UTILITY_VERSION)
        self._addConfigKey('_bracketingStops', 'BRACKETING_STOPS', default=DEFAULT_BRACKETING_STOPS)
        self._addConfigKey('_bracketingType', 'BRACKETING_TYPE', default=DEFAULT_BRACKETING_TYPE)
        self._addConfigKey('_bracketingNbPicts', 'BRACKETING_NB_PICTS', default=DEFAULT_BRACKETING_NB_PICTS)
        self._addConfigKey('_dryRun', 'DRY_RUN', default=DEFAULT_DRY_RUN)
        self._addConfigKey('_bulbEnable', 'BULB_ENABLE', default=DEFAULT_BULB_ENABLE)
        self._addConfigKey('_bulbBseExposure', 'BULB_BASE_EXPOSURE', default=DEFAULT_BULB_BASE_EXPOSURE)
        self._addConfigKey('_focusEnable', 'FOCUS_ENABLE', default=DEFAULT_FOCUS_ENABLE)
        self._addConfigKey('_focusDirection', 'FOCUS_DIRECTION', default=DEFAULT_FOCUS_DIRECTION)
        self._addConfigKey('_focusStep', 'FOCUS_STEP', default=DEFAULT_FOCUS_STEP)
        self._addConfigKey('_focusStepCount', 'FOCUS_STEP_COUNT', default=DEFAULT_FOCUS_STEP_COUNT)
        self._addConfigKey('_focusNbPicts', 'FOCUS_NB_PICTS', default=DEFAULT_FOCUS_NB_PICTS)

    def lockupMirror(self):
        Logger().warning("EOSUtilityShutter.lockupMirror(): Not possible with EOS Utility")
        return 0

    def shoot(self, bracketNumber):
        Logger().debug("EOSUtilityShutter.shoot(): bracketNumber=%d" % bracketNumber)
        Logger().debug("EOSUtilityShutter.shoot(): Program Path=%s" % self._config['PROGRAM_PATH'])
        Logger().debug("EOSUtilityShutter.shoot(): EOS Utility version=%s" % self._config['EOS_UTILITY_VERSION'])
        Logger().debug("EOSUtilityShutter.shoot(): Bracketing stops=%s" % self._config['BRACKETING_STOPS'])
        Logger().debug("EOSUtilityShutter.shoot(): Bracketing type=%s" % self._config['BRACKETING_TYPE'])
        Logger().debug("EOSUtilityShutter.shoot(): Bracketing nb pict=%d" % self._config['BRACKETING_NB_PICTS'])
        Logger().debug("EOSUtilityShutter.shoot(): Dry run=%s" % self._config['DRY_RUN'])
        Logger().debug("EOSUtilityShutter.shoot(): Bulb enable=%s" % self._config['BULB_ENABLE'])
        Logger().debug("EOSUtilityShutter.shoot(): Bulb base exposure %d s" % self._config['BULB_BASE_EXPOSURE'])
        Logger().debug("EOSUtilityShutter.shoot(): Focus enable=%s" % self._config['FOCUS_ENABLE'])
        Logger().debug("EOSUtilityShutter.shoot(): Focus direction=%s" % self._config['FOCUS_DIRECTION'])
        Logger().debug("EOSUtilityShutter.shoot(): Focus step=%s" % self._config['FOCUS_STEP'])
        Logger().debug("EOSUtilityShutter.shoot(): Focus step count=%d" % self._config['FOCUS_STEP_COUNT'])
        Logger().debug("EOSUtilityShutter.shoot(): Focus nb picts=%d" % self._config['FOCUS_NB_PICTS'])

        args = []
        if self._config['DRY_RUN']:
        if self._config['BULB_ENABLE']:
        if self._config['FOCUS_ENABLE']:
        Logger().debug("EOSUtilityShutter.shoot(): cmdLineArgs '%s'..." % ' '.join(args))

        # Launch external command
        p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

        # Wait end of execution
        stdout, stderr = p.communicate()
        if stderr:
            Logger().debug("EOSUtilityShutter.shoot(): stderr:\n%s" % stderr)
        Logger().debug("EOSUtilityShutter.shoot(): stdout:\n%s" % stdout)

        return p.returncode

class EOSUtilityShutterController(ShutterPluginController):
    def _defineGui(self):
        self._addWidget('Main', QtGui.QApplication.translate("eosUtilityPlugins", "Program path"),
                        FileSelectorField, (QtGui.QApplication.translate("TimelordShutterController", "Choose program path..."),
                                            QtGui.QApplication.translate("TimelordShutterController", "EXE files (*.exe);;All files (*)")),
        self._addWidget('Main', QtGui.QApplication.translate("eosUtilityPlugins", "EOS Utility version"),
                        ComboBoxField, (types,), 'EOS_UTILITY_VERSION')
        self._addWidget('Main', QtGui.QApplication.translate("eosUtilityPlugins", "Bracketing nb picts"),
                        SpinBoxField, (1, 99), 'BRACKETING_NB_PICTS')
        stops = ['1/3', '2/3', '1', '1 1/3', '1 2/3', '2', '2 1/3', '2 2/3','3',
                 '3 1/3', '3 2/3', '4', '4 1/3', '4 2/3', '5', '5 1/3', '5 2/3', '6']
        self._addWidget('Main', QtGui.QApplication.translate("eosUtilityPlugins", "Bracketing stops"),
                        ComboBoxField, (stops,), 'BRACKETING_STOPS')
        self._addWidget('Main', QtGui.QApplication.translate("eosUtilityPlugins", "Bracketing type"),
                        ComboBoxField, (BRACKETING_TYPE_INDEX.keys(),), 'BRACKETING_TYPE')
        self._addWidget('Main', QtGui.QApplication.translate("eosUtilityPlugins", "Dry run"),
                        CheckBoxField, (), 'DRY_RUN')
        self._addTab('Bulb', QtGui.QApplication.translate("eosUtilityPlugins", 'Bulb'))
        self._addWidget('Bulb', QtGui.QApplication.translate("eosUtilityPlugins", "Enable"),
                        CheckBoxField, (), 'BULB_ENABLE')
        self._addWidget('Bulb', QtGui.QApplication.translate("eosUtilityPlugins", "Base exposure"),
                        SpinBoxField, (1, 99, "", " s"), 'BULB_BASE_EXPOSURE')
        self._addTab('Focus', QtGui.QApplication.translate("eosUtilityPlugins", 'Focus'))
        self._addWidget('Focus',  QtGui.QApplication.translate("eosUtilityPlugins", "Enable"),
                        CheckBoxField, (), 'FOCUS_ENABLE')
        focusDir = [FOCUS_DIRECTION_TABLE['far'], FOCUS_DIRECTION_TABLE['near']]
        self._addWidget('Focus', QtGui.QApplication.translate("eosUtilityPlugins", "Direction"),
                        ComboBoxField, (focusDir,), 'FOCUS_DIRECTION')
        stepMode = [FOCUS_STEP_MODE_TABLE['small'], FOCUS_STEP_MODE_TABLE['medium'], FOCUS_STEP_MODE_TABLE['large']]
        self._addWidget('Focus',  QtGui.QApplication.translate("eosUtilityPlugins", "Step"),
                        ComboBoxField, (stepMode,), 'FOCUS_STEP')
        self._addWidget('Focus', QtGui.QApplication.translate("eosUtilityPlugins", "Step count"),
                        SpinBoxField, (1, 99), 'FOCUS_STEP_COUNT')
        self._addWidget('Focus', QtGui.QApplication.translate("eosUtilityPlugins", "Nb picts"),
                        SpinBoxField, (1, 99), 'FOCUS_NB_PICTS')

def register():
    """ Register plugins.
    PluginsManager().register(EOSUtilityShutter, EOSUtilityShutterController, capacity='shutter', name=NAME)

PostPosted: Mon Nov 23, 2009 10:24 pm
by tarnis
Has anyone tried this plugin with a 50D yet?

PostPosted: Tue Nov 24, 2009 4:21 am
by plagarto
fma38 wrote:Ok, I think I found and fixed the bug.

Thanks Frederic,

I just did a quick test and it seems the problem is solved, no more errors on PW, the camera is not shooting but I think the problem now is on the autokey script.
I will do some more tests later on and give you some feedback.

Offtopic: if I use the Merlin plugin and activate mirror lockup the PW will take 2 shots, is this normal (Canon 5D MarkII)

PostPosted: Tue Nov 24, 2009 10:30 am
by fma38
Yes, mirror lockup just triggers the shutter before teh shooting process, that's the way most cameras work, It think...

PostPosted: Sat Jan 09, 2010 3:35 am
by Dain Bramage
I had the same problem as plagarto but then i put the code in for the EOS plugin 2 ( that you posted above and i can confirm that the eos utility now works for the canon t1i !!!
Thanks a million for all your work this project it's really awesome!

PostPosted: Sat Apr 10, 2010 5:13 pm
by sjhenry

I am using this plugin with 50D now. The reason you get this error message "unable to find main window button for eos utility" is that the EOS utility pops up a preview window on the very first shot. What you need to do is to
1. connect the 50D
2. Once you are seeing the EOS Utility camera screen, press the shutter button on the screen.
3. The preview pop up window will come. Close that window.
4. Now the plugin will work. You have to close the window manually each time you start the EOS Utility. I could not find a way not to make that window pop up. It happens only with my 50D.


PS: I use the EOS Utility when I ran out of space in the memory card. I also use the Hahnel remote to trigger it directly from the mount.

PostPosted: Sun Apr 11, 2010 12:07 pm
by tarnis
Can try again, but pretty sure I have. The good news is I don't seem to have to tether to use the 50D, it doesn't skip pictures with the built in port like the 20D does. My merlin is a fickel beast.

PostPosted: Sun Apr 11, 2010 12:35 pm
by mediavets
tarnis wrote:The good news is I don't seem to have to tether to use the 50D, it doesn't skip pictures with the built in port like the 20D does. My merlin is a fickel beast.

I guess you tried adjusting the Pulse width high parameter?:

PostPosted: Sun Apr 11, 2010 12:56 pm
by tarnis
Yip...wondering if it's a camera issue or not. Managed to find work arounds for most of my issues at least.

PostPosted: Thu Apr 15, 2010 12:48 pm
by martinlbb
Hi everybody.

I have the same trouble with EOSBracket.exe: Unable to find the main window button for EOS utility.

EOS utility ( is working fine on is own (with a 5D Mark II), but EOSBraket.exe always give me the same error.

While trying to find a way, I notice that I can't 'tab' on shutter button on EOSUtility.

Is that linked to newest version of EOS Utility ( Does anyone got this error?

PS: I'm using Vista 64, and already tested "" without results.

PS2: I'm French, that's the reason why EOS Utility is in French :)

PostPosted: Tue Apr 20, 2010 3:15 am
by sjhenry
It is working fine with EOS Utility version on my netbook with Win XP. I have not tested it in 64-bit OS. I'll update once I test it.


PostPosted: Wed Apr 21, 2010 2:54 am
by sjhenry
I tested it in my Vista 64 desktop today with Papywizard and the EOS Utility It worked fine as well. Did you notice any pop up window when the shutter is fired? You have to close that preview window.

1. connect the 5D MII
2. Once you are seeing the EOS Utility camera screen, press the shutter button on the screen.
3. The preview pop up window will come. Close that window.
4. Now the plugin will work. You have to close the window manually each time you start the EOS Utility.


PostPosted: Sun Apr 25, 2010 9:33 pm
by Tipjip
I'm having a problem with the EosBracket script when using longer exposure times. I get the error message that EOS utility is "still busy". Well that's true, because the script waits for one second between shots which is a little short when the exposure time is three seconds. :)

The easy way for the codingly challenged is to make that timestretch longer. Thanks to extensively commented code that is quite easy:

Code: Select all
    ; Wait for a second
    Sleep, 1000

When I set the value to three seconds the script works fine with exposure times of three seconds, as would be expected.

So fine so good, but that makes me wait three seconds for each photo, even if exposure time is significantly shorter than one second. Is there a way to make the script check the exposure time and set the waiting times accordingly?



PostPosted: Mon Apr 26, 2010 4:37 am
by sjhenry
The current script does not even know what the exposure time is. It is simply assuming the base exposure is selected on the EOS Utility and changes it up and down. It also assumes the exposure step is in 1/3 steps.

But it is possible to change the script to know the absolute value of the exposure. This needs some more additional parameters like minimum exposure (1/4000 or 1/8000) and the maximum exposure (30 secs or 60 secs) before going to the bulb exposure and the exposure step 1/2 or 1/3 set up on the camera. Once it is known, the absolute value of the value like 1/320 secs can be passed to the script and the script calculates and sets the exposure correctly.In that case, the last wait time can be set to exposure time + 0.5 secs.

One more advantage to have these additional parameters is that the script can go from the regular exposure to the bulb mode if one of the plus/minus exposure falls in the bulb exposure side automatically. This is another short coming of the current script.


PostPosted: Mon May 10, 2010 1:48 pm
by mark_anderson_us
Castillonis wrote:sjhenry, thanks for posting the concise directions along with the screenshots. I appreciate it. I purchased a Merlin and I am reviewing different netbooks. I am glad that you mentioned the minimum screen resolution of 1024 x 768 for the Canon utility to install / or work. I have noticed that almost all of the netbooks have a screen resolution of 1024 x 600 and that some of the netbooks with 1024 x 768 or 800 have glossy screens. Which netbook are you using?

Hi Guys

i did this on my Samsung NC1q0. Shoudl work on ANY netbook

You can use scrollable 1024x768,

Open properties on desktop > settings tab > advanced > monitor tab> clear box "hide modes this monitor cannot display" > click intel tab > graphics properties > display settings > select 1024x768

You have to be logged in as admin

Works great

PostPosted: Mon May 10, 2010 2:17 pm
by mark_anderson_us
Hi Guys

I'll be trying this, sometime this week with my netbook; however, forgive my ignorance, but I think I'm missing something. If I don't want to use focus blending, besides saving directly to the computer, what's the benefit compared to just using papywizard with the Merlin head. (I know the tethering is simpler too.)

It seems to me the big problem is that no solution that exists today knows when the camera has finished the exposure and is ready to take the next shot. This means you have to try and figure out the longest exposure you're likely to have during the entire seqeunce (a pain at dusk) and then enter that as the time between shots with a safe error margin. So if I'm bracketing +1, 0, -1 and my -1 exposure is 3 secs, my total exposure should time should be 5.25 secs (assuming no delay for writing to disk, as most modern cameras can buffer 7-9 frames). For this example, I would probably enter about 10 secs as my time per shot (huge error margin, but when shooting several hundred frames, missing the last one or two is a killer). This would be wasting at least 4 secs per shot, so if I'm shooting 400 images that's 1600 secs and a lot of light change ast dusk/dawn.

What would it take for paywizard to be able to recognize that the camera is no longer busy and them move immediately instead of waiting for a pre-determined interval? Is this a limitiation of papywizard or the plug-in controlling the camera? Canon and BreezeSys both have SDK's so if someone could write a plug-in that communicates directly with one of these products would it solve the problem. (If it will, I may consider having a go at developing it.)