Product Photo 360

Bugs

Nikon camera error: The camera takes the first image then the shooting process stops with an error message.

Affected version: productphoto360.py - 1.0

Reason: The program gphoto2 (which controls the camera) does not wait for the camera's reply after sending the --capture-image command. This error occurs only with some Nikon cameras. Some camera models produce this error only if the shutter speed is long (e.g. 2 sec.).

Solution:

  1. After the line 260 add the following line in the source file (productphoto360.py):
    time.sleep(2)
    (Make sure to start the line in the same column as the line above.)
  2. Comment the lines 262-282. To comment a line, add # to the beginning of the line.

This part of the modified source file will look like the following:

259time.sleep(2)
260os.system("gphoto2 --capture-image > logfile.tmp")
261time.sleep(2)
262#logfile = open("logfile.tmp").read()
263#if "--debug" in logfile or not " " in logfile:
264#abort = "1"
265#end_iter = self.textbuffer.get_end_iter()
266#self.textbuffer.insert(end_iter, "*** Camera Error! ***" + '\n')
267#self.textbuffer.insert_at_cursor("Possible reasons:" + '\n')
268#self.textbuffer.insert_at_cursor("" -Camera mounted,"" + '\n')
269#self.textbuffer.insert_at_cursor("" -Camera not supported,"" + '\n')
270#self.textbuffer.insert_at_cursor("" -Camera turned off (check the auto turn-off in camera settings),"" + '\n')
271#self.textbuffer.insert_at_cursor("" -Camera not plugged,"" + '\n')
272#self.textbuffer.insert_at_cursor("" -Camera memory card is full,"" + '\n')
273#self.textbuffer.insert_at_cursor("" -Focus not found (only on auto focus mode)."" + '\n')
274#self.textbuffer.insert_at_cursor("Check the camera settings and try again. If error still occours run the following \ncommand in terminal:" + '\n')
275#self.textbuffer.insert_at_cursor( " $ gphoto2 --capture-image" + '\n')
276#self.textbuffer.insert_at_cursor('\n')
277#else:
278#end_iter = self.textbuffer.get_end_iter()
279#self.textbuffer.insert(end_iter, logfile)
280#
281#end_iter = self.textbuffer.get_end_iter()
282#self.textbuffer.insert(end_iter, "Stepping..." + '\n')
283steps_count = 1

This way the program will not test if the camera sends any error messages. After sending the --capture-image command the computer waits 2 sec. If using longer shutter speed change "2" to higher number in the line 261. After starting the shooting process make sure the camera and the turntable work together correctly.

Because the program gphoto2 do not get any feedback from the camera with these Nikon models, the preview function may not work.

Reported at: 09 July 2017

In the Positioning frame if the No. of steps is negative the stepper motor performs 2 steps lesser.

Affected version: productphoto360.py - 1.0

Solution: In the source file (productphoto360.py) cut line 103 (''no_of_steps = no_of_steps + 1'') and paste before line 112 (''self.button5.set_sensitive(False)''). This part of the fixed source file will look like the following:

93if self.button_radio.get_active() == False:
94rotate_direction = "clockwise..."
95end_iter = self.textbuffer.get_end_iter()
96self.textbuffer.insert(end_iter, rotate_direction + '\n')
97fw_or_bw = "2"
98else:
99rotate_direction = "anticlockwise..."
100end_iter = self.textbuffer.get_end_iter()
101self.textbuffer.insert(end_iter, rotate_direction + '\n')
102fw_or_bw = "1"
103count = 1
104abort = "0"
105if no_of_steps < 0 and fw_or_bw == "2":
106fw_or_bw = "1"
107no_of_steps = no_of_steps * -1
108if no_of_steps < 0 and fw_or_bw == "1":
109fw_or_bw = "2"
110no_of_steps = no_of_steps * -1
111no_of_steps = no_of_steps + 1
112self.button5.set_sensitive(False)
113self.refreshLog()
114time.sleep(1)

Reported at: 17 June 2017

Back / Vissza


© 2024 All rights reserved