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:
This part of the modified source file will look like the following:
259 | time.sleep(2) |
260 | os.system("gphoto2 --capture-image > logfile.tmp") |
261 | time.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') |
283 | steps_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:
93 | if self.button_radio.get_active() == False: |
94 | rotate_direction = "clockwise..." |
95 | end_iter = self.textbuffer.get_end_iter() |
96 | self.textbuffer.insert(end_iter, rotate_direction + '\n') |
97 | fw_or_bw = "2" |
98 | else: |
99 | rotate_direction = "anticlockwise..." |
100 | end_iter = self.textbuffer.get_end_iter() |
101 | self.textbuffer.insert(end_iter, rotate_direction + '\n') |
102 | fw_or_bw = "1" |
103 | count = 1 |
104 | abort = "0" |
105 | if no_of_steps < 0 and fw_or_bw == "2": |
106 | fw_or_bw = "1" |
107 | no_of_steps = no_of_steps * -1 |
108 | if no_of_steps < 0 and fw_or_bw == "1": |
109 | fw_or_bw = "2" |
110 | no_of_steps = no_of_steps * -1 |
111 | no_of_steps = no_of_steps + 1 |
112 | self.button5.set_sensitive(False) |
113 | self.refreshLog() |
114 | time.sleep(1) |
Reported at: 17 June 2017
© 2024 All rights reserved