def main(): logging.basicConfig(format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING) callback_obj = gp.check_result(gp.use_python_logging()) camera = gp.check_result(gp.gp_camera_new()) gp.check_result(gp.gp_camera_init(camera)) text = gp.check_result(gp.gp_camera_get_summary(camera)) print('Summary') print('=======') print(text.text) print('Abilities') print('=========') abilities = gp.check_result(gp.gp_camera_get_abilities(camera)) print('model:', abilities.model) print('status:', abilities.status) print('port:', abilities.port) print('speed:', abilities.speed) print('operations:', abilities.operations) print('file_operations:', abilities.file_operations) print('folder_operations:', abilities.folder_operations) print('usb_vendor:', abilities.usb_vendor) print('usb_product:', abilities.usb_product) print('usb_class:', abilities.usb_class) print('usb_subclass:', abilities.usb_subclass) print('usb_protocol:', abilities.usb_protocol) print('library:', abilities.library) print('id:', abilities.id) print('device_type:', abilities.device_type) gp.check_result(gp.gp_camera_exit(camera)) return 0
def info(): context = gp_context_new() error, camera = gp_camera_new() error = gp_camera_init(camera, context) error, text = gp_camera_get_summary(camera, context) error = gp_camera_exit(camera, context) return text.text
def initCamera(): global camera global context print("Init camera") # SLR Setup # GPhoto init / testing context = gp.gp_context_new() error, camera = gp.gp_camera_new() error = gp.gp_camera_init(camera, context) error, text = gp.gp_camera_get_summary(camera, context) #print('Summary') #print('=======') #print(text.text) # required configuration will depend on camera type! print('Checking camera config') config = gp.check_result(gp.gp_camera_get_config(camera)) OK, image_format = gp.gp_widget_get_child_by_name(config, 'imageformat') if OK >= gp.GP_OK: value = gp.check_result(gp.gp_widget_get_value(image_format)) if 'raw' in value.lower(): print('Cannot preview raw images') # find the capture size class config item OK, capture_size_class = gp.gp_widget_get_child_by_name( config, 'capturesizeclass') if OK >= gp.GP_OK: value = gp.check_result(gp.gp_widget_get_choice(capture_size_class, 2)) gp.check_result(gp.gp_widget_set_value(capture_size_class, value)) gp.check_result(gp.gp_camera_set_config(camera, config))
def statusHelper(self): with CameraControl.lock: global camera if (camera is not None): error, text = gp.gp_camera_get_summary(camera, context) #print(text.text) self.emit("camera_status", json.dumps(text.text))
def main(): logging.basicConfig( format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING) callback_obj = gp.check_result(gp.use_python_logging()) camera = gp.check_result(gp.gp_camera_new()) gp.check_result(gp.gp_camera_init(camera)) text = gp.check_result(gp.gp_camera_get_summary(camera)) print('Summary') print('=======') print(text.text) print('Abilities') print('=========') abilities = gp.check_result(gp.gp_camera_get_abilities(camera)) print('model:', abilities.model) print('status:', abilities.status) print('port:', abilities.port) print('speed:', abilities.speed) print('operations:', abilities.operations) print('file_operations:', abilities.file_operations) print('folder_operations:', abilities.folder_operations) print('usb_vendor:', abilities.usb_vendor) print('usb_product:', abilities.usb_product) print('usb_class:', abilities.usb_class) print('usb_subclass:', abilities.usb_subclass) print('usb_protocol:', abilities.usb_protocol) print('library:', abilities.library) print('id:', abilities.id) print('device_type:', abilities.device_type) gp.check_result(gp.gp_camera_exit(camera)) return 0
def __init__(self, resolution=(320, 240), framerate=32, **kwargs): print("Init camera") # SLR Setup self.shotRequested = False # GPhoto init / testing self.context = gp.gp_context_new() self.error, self.camera = gp.gp_camera_new() self.error = gp.gp_camera_init(self.camera, self.context) self.error, self.text = gp.gp_camera_get_summary( self.camera, self.context) # required configuration will depend on camera type! print('Checking camera config') self.config = gp.check_result(gp.gp_camera_get_config(self.camera)) OK, image_format = gp.gp_widget_get_child_by_name( self.config, 'imageformat') if OK >= gp.GP_OK: value = gp.check_result(gp.gp_widget_get_value(image_format)) if 'raw' in value.lower(): print('Cannot preview raw images') # find the capture size class config item OK, capture_size_class = gp.gp_widget_get_child_by_name( self.config, 'capturesizeclass') if OK >= gp.GP_OK: value = gp.check_result( gp.gp_widget_get_choice(capture_size_class, 2)) gp.check_result(gp.gp_widget_set_value(capture_size_class, value)) gp.check_result(gp.gp_camera_set_config(self.camera, config)) self.frame = None self.shot = None self.stopped = False
def test_camera(): global camera, context, config, camera_config_name, camera_config print("Testing Camera") logging.basicConfig(format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING) gp.check_result(gp.use_python_logging()) context = gp.gp_context_new() camera_list = [] for name, addr in context.camera_autodetect(): camera_list.append((name, addr)) if not camera_list: print('No camera detected') return 1 camera_list.sort(key=lambda x: x[0]) name, addr = camera_list[0] camera = gp.Camera() #camera = gp.check_result(gp.gp_camera_new()) gp.check_result(gp.gp_camera_init(camera, context)) config = gp.check_result(gp.gp_camera_get_config(camera, context)) text = gp.check_result(gp.gp_camera_get_summary(camera, context)) print('Summary') print('=======') print(text.text) print('Abilities') print('=========') abilities = gp.check_result(gp.gp_camera_get_abilities(camera)) print('model:', abilities.model) print('status:', abilities.status) print('port:', abilities.port) print('speed:', abilities.speed) print('operations:', abilities.operations) print('file_operations:', abilities.file_operations) print('folder_operations:', abilities.folder_operations) print('usb_vendor:', abilities.usb_vendor) print('usb_product:', abilities.usb_product) print('usb_class:', abilities.usb_class) print('usb_subclass:', abilities.usb_subclass) print('usb_protocol:', abilities.usb_protocol) print('library:', abilities.library) print('id:', abilities.id) print('device_type:', abilities.device_type) child_count = gp.check_result(gp.gp_widget_count_children(config)) if child_count < 1: return tabs = None for n in range(child_count): child = gp.check_result(gp.gp_widget_get_child(config, n)) camera_config.append(getConfig(child)) label = gp.check_result(gp.gp_widget_get_label(child)) camera_config_name.append(label) print('!!!!!!! CONFIG ', child, label) name = gp.check_result(gp.gp_widget_get_name(child)) gp.check_result(gp.gp_camera_exit(camera, context)) return 0
def setup(): """ Attempt to attach to a gphoto device and grab the camera and context. Return the results. """ logging.basicConfig(format="%(levelname)s: %(name)s: %(message)s", level=logging.WARNING) gp.check_result(gp.use_python_logging()) context = gp.gp_context_new() camera = gp.check_result(gp.gp_camera_new()) gp.check_result(gp.gp_camera_init(camera, context)) text = gp.check_result(gp.gp_camera_get_summary(camera, context)) print text.text return camera, context
def main(): logging.basicConfig(format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING) gp.check_result(gp.use_python_logging()) context = gp.gp_context_new() camera = gp.check_result(gp.gp_camera_new()) gp.check_result(gp.gp_camera_init(camera, context)) text = gp.check_result(gp.gp_camera_get_summary(camera, context)) print('Summary') print('=======') print(text.text) gp.check_result(gp.gp_camera_exit(camera, context)) return 0
def init_camera(**kwd_args): context = gp.gp_context_new() error, camera = gp.gp_camera_new() error = gp.gp_camera_init(camera, context) if DEBUG: error, summary = gp.gp_camera_get_summary(camera, context) print('Summary', file=sys.stderr) print('=======', file=sys.stderr) print(summary.text, file=sys.stderr) return camera
def setup(): """ Attempt to attach to a gphoto device and grab the camera and context. Return the results. """ logging.basicConfig(format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING) gp.check_result(gp.use_python_logging()) context = gp.gp_context_new() camera = gp.check_result(gp.gp_camera_new()) gp.check_result(gp.gp_camera_init(camera, context)) text = gp.check_result(gp.gp_camera_get_summary(camera, context)) print text.text return camera, context
def main(): logging.basicConfig( format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING) gp.check_result(gp.use_python_logging()) context = gp.gp_context_new() camera = gp.check_result(gp.gp_camera_new()) gp.check_result(gp.gp_camera_init(camera, context)) text = gp.check_result(gp.gp_camera_get_summary(camera, context)) print('Summary') print('=======') print(text.text) gp.check_result(gp.gp_camera_exit(camera, context)) return 0
def get_summary(self): """ Get gphoto2 summary :return: json_data """ text = gp.check_result( gp.gp_camera_get_summary(self.camera, self.context)) content = str(text) search_text = { 'manufacturer': 'Manufacturer: (.+)?', 'model': 'Model: (.+)?', 'version': 'Version: (.+)?', 'serial_number': 'Serial Number: (.+)?', 'free_space_sd_card': 'Free Space.+:(.+)?', 'current_focal_length': 'Focal Length.+? value:(.+)?\(', 'focus_mode': 'Focus Metering Mode.+? value:(.+)?\(', 'exposure_time': 'Exposure Time.+? value:(.+)?\(', 'exposure_program_mode': 'Exposure Program Mode.+? value:(.+)?\(', 'jpeg_compression_settings': 'Compression Setting.+? value:(.+)?\(', 'white_balance': 'White Balance.+? value:(.+)?\(', 'f_number': 'F-Number.+? value: f/(.+)?\(', 'exposure_metering_mode': 'Exposure Metering Mode.+? value:(.+)?\(', 'flash_mode': 'Flash Mode.+? value:(.+)?\(', 'exposure_compensation': 'Exposure Bias Compensation.+? value: ([-+]?\d+\.\d+)?.+?\(', 'still_capture_mode': 'Still Capture Mode.+? value:(.+)?\(', 'auto_iso': 'Auto ISO.+? value:(.+)?\(', 'iso': 'Exposure Index.+? value: ISO(.+)?\(', 'long_exposure_noise_reduction': 'Long Exposure Noise Reduction.+? value:(.+)?\(', 'autofocus_mode': 'Autofocus Mode.+? value:(.+)?\(', 'af_assist_lamp': 'AF Assist Lamp.+? value:(.+)?\(', 'iso_auto_high_limit': 'ISO Auto High Limit.+? value:(.+)?\(' } search_result = {} for tag in search_text: search_result[tag] = '' try: search_result[tag] = re.search(search_text[tag], content).group(1).strip() except Exception as e: logger.debug('exception: {}'.format(e)) pass return [search_result]
def init(): context = gp.gp_context_new() error, file = gp.gp_file_new() error, camera = gp.gp_camera_new() error = gp.gp_camera_init(camera, context) error, text = gp.gp_camera_get_summary(camera, context) gp.gp_camera_capture(camera, 0, context) print('Summary') print('=======') print(text.text) print(gp.gp_result_as_string(error)) print("start") return camera, context
def __init_camera(self): error, self.__camera = gp.gp_camera_new() self.__context = gp.gp_context_new() error = gp.gp_camera_init(self.__camera, self.__context) error, text = gp.gp_camera_get_summary(self.__camera, self.__context) #print('Summary') #('=======') #print(text.text) self.__config = gp.check_result(gp.gp_camera_get_config(self.__camera, self.__context)) self.__config_dict = OrderedDict() self.__walk_config(self.__config,self.__config_dict) self.print_settings() self.__watcher = QtCore.QFileSystemWatcher([self.__cfg_file_path], self) self.__watcher.fileChanged.connect(self.load_settings) self.load_settings(self.__cfg_file_path)
def connect(self): self.context = gp.gp_context_new() print self.context self.camera = gp.check_result(gp.gp_camera_new()) print self.camera gp.check_result(gp.gp_camera_init(self.camera, self.context)) text = gp.check_result(gp.gp_camera_get_summary(self.camera, self.context)) print('Summary') print('=======') print(text.text) print('Abilities') print('=========') abilities = gp.check_result(gp.gp_camera_get_abilities(self.camera)) print('model:', abilities.model) print('status:', abilities.status) print('port:', abilities.port) print('speed:', abilities.speed) print('operations:', abilities.operations) print('file_operations:', abilities.file_operations) print('folder_operations:', abilities.folder_operations) print('usb_vendor:', abilities.usb_vendor) print('usb_product:', abilities.usb_product) print('usb_class:', abilities.usb_class) print('usb_subclass:', abilities.usb_subclass) print('usb_protocol:', abilities.usb_protocol) print('library:', abilities.library) print('id:', abilities.id) print('device_type:', abilities.device_type) print "--------------" print abilities rospy.set_param('AROM_camera/%s/model' %(self.name), abilities.model) rospy.set_param('AROM_camera/%s/config' %(self.name), {'name': self.arg['name'], 'civil_name': self.arg['civil_name'], 'driver': self.arg['driver'], 'model': abilities.model, '#main':{ '@capture': {'type': 'button', 'msg_name': 'capture'}, '@Shutter_speed': {'type': 'select', 'msg_name': 'shutter_speed', 'value': {'0': "1/4000", '1': "1/1000", '2': "1/800"}}, '@ISO': {'type': 'select', 'msg_name': 'gain', 'value': {'0': "AUTO", '1': "100", '2': "200"}}, '@ISO': {'type': 'select', 'msg_name': 'gain', 'value': {'0': "AUTO", '1': "100", '2': "200"}} } } )
def get_summary(self): """ Get gphoto2 summary :return: json_data """ text = gp.check_result(gp.gp_camera_get_summary(self.camera, self.context)) content = str(text) search_text = { 'manufacturer': 'Manufacturer: (.+)?', 'model': 'Model: (.+)?', 'version': 'Version: (.+)?', 'serial_number': 'Serial Number: (.+)?', 'free_space_sd_card': 'Free Space.+:(.+)?', 'current_focal_length': 'Focal Length.+? value:(.+)?\(', 'focus_mode': 'Focus Metering Mode.+? value:(.+)?\(', 'exposure_time': 'Exposure Time.+? value:(.+)?\(', 'exposure_program_mode': 'Exposure Program Mode.+? value:(.+)?\(', 'jpeg_compression_settings': 'Compression Setting.+? value:(.+)?\(', 'white_balance': 'White Balance.+? value:(.+)?\(', 'f_number': 'F-Number.+? value: f/(.+)?\(', 'exposure_metering_mode': 'Exposure Metering Mode.+? value:(.+)?\(', 'flash_mode': 'Flash Mode.+? value:(.+)?\(', 'exposure_compensation': 'Exposure Bias Compensation.+? value: ([-+]?\d+\.\d+)?.+?\(', 'still_capture_mode': 'Still Capture Mode.+? value:(.+)?\(', 'auto_iso': 'Auto ISO.+? value:(.+)?\(', 'iso': 'Exposure Index.+? value: ISO(.+)?\(', 'long_exposure_noise_reduction': 'Long Exposure Noise Reduction.+? value:(.+)?\(', 'autofocus_mode': 'Autofocus Mode.+? value:(.+)?\(', 'af_assist_lamp': 'AF Assist Lamp.+? value:(.+)?\(', 'iso_auto_high_limit': 'ISO Auto High Limit.+? value:(.+)?\(' } search_result = {} for tag in search_text: search_result[tag] = '' try: search_result[tag] = re.search(search_text[tag], content).group(1).strip() except Exception as e: logger.debug('exception: {}'.format(e)) pass return [search_result]
def __init__(self,name='',pylog=True, summary=False): if pylog: gp.use_python_logging(mapping={ gp.GP_LOG_ERROR : logging.INFO, gp.GP_LOG_DEBUG : logging.DEBUG, gp.GP_LOG_VERBOSE : logging.DEBUG - 3, gp.GP_LOG_DATA : logging.DEBUG - 6}) self.context = gp.gp_context_new() error, self.camera = gp.gp_camera_new() if error != 0: print('init scanner: cannot allocate ressources!') self.error = error return self.connect() error, text = gp.gp_camera_get_summary(self.camera, self.context) if error != 0: print('init scanner: cannot get camera summary!') self.error = error return self.text = text.text if summary: print('init summary:') print(text.text) print('') error = self.get_config() if error !=0: print('init scanner: cannot get camera config!') self.error = error return else: self.error = 0 self.get_exposure_bias() self.get_exposure_time() self.get_iso() self.deconnect()
def connect(self): gp.gp_camera_exit(self.camera, self.context) logger.debug("Trying to connect to the camera...") for ic in range(1000): logger.debug(" Attempt %i/10" % (ic+1)) time.sleep(0.2) error = gp.gp_camera_init(self.camera, self.context) if error == gp.GP_OK: # operation completed successfully so exit loop self.camera_description = str(gp.check_result(gp.gp_camera_get_summary(self.camera, self.context))) logger.debug("Camera connected") return True # no self.camera, try again in 2 seconds gp.gp_camera_exit(self.camera, self.context) # raise gp.GPhoto2Error(error) logger.debug("Failed to connect camera") time.sleep(0.5) return False
def waitForCamera(context): showText(AREA_PREVIEW,"Warte auf Kamera ") pygame.display.flip() camera = gp.check_result(gp.gp_camera_new()) err=gp.gp_camera_init(camera, context) if (err < gp.GP_OK): if err != gp.GP_ERROR_MODEL_NOT_FOUND: # some other error we can't handle here raise gp.GPhoto2Error(err) return # required configuration will depend on camera type! print('Checking camera config') # get configuration tree config = gp.check_result(gp.gp_camera_get_config(camera, context)) # find the image format config item OK, image_format = gp.gp_widget_get_child_by_name(config, 'imageformat') if OK >= gp.GP_OK: # get current setting value = gp.check_result(gp.gp_widget_get_value(image_format)) # make sure it's not raw if 'raw' in value.lower(): raise gp.GPhoto2Error('Cannot preview raw images') # find the capture size class config item # need to set this on my Canon 350d to get preview to work at all OK, capture_size_class = gp.gp_widget_get_child_by_name( config, 'capturesizeclass') if OK >= gp.GP_OK: # set value value = gp.check_result(gp.gp_widget_get_choice(capture_size_class, 2)) gp.check_result(gp.gp_widget_set_value(capture_size_class, value)) # set config gp.check_result(gp.gp_camera_set_config(camera, config, context)) OK,txt=gp.gp_camera_get_summary(camera,context) infod=txToDict(txt.text) showText(AREA_PREVIEW,infod.get('Model')) info.camera=infod.get('Model') pygame.display.flip() return camera
def waitForCamera(context): showText(AREA_PREVIEW, "Warte auf Kamera ") pygame.display.flip() camera = gp.check_result(gp.gp_camera_new()) err = gp.gp_camera_init(camera, context) if (err < gp.GP_OK): if err != gp.GP_ERROR_MODEL_NOT_FOUND: # some other error we can't handle here raise gp.GPhoto2Error(err) return # required configuration will depend on camera type! print('Checking camera config') # get configuration tree config = gp.check_result(gp.gp_camera_get_config(camera, context)) # find the image format config item OK, image_format = gp.gp_widget_get_child_by_name(config, 'imageformat') if OK >= gp.GP_OK: # get current setting value = gp.check_result(gp.gp_widget_get_value(image_format)) # make sure it's not raw if 'raw' in value.lower(): raise gp.GPhoto2Error('Cannot preview raw images') # find the capture size class config item # need to set this on my Canon 350d to get preview to work at all OK, capture_size_class = gp.gp_widget_get_child_by_name( config, 'capturesizeclass') if OK >= gp.GP_OK: # set value value = gp.check_result(gp.gp_widget_get_choice(capture_size_class, 2)) gp.check_result(gp.gp_widget_set_value(capture_size_class, value)) # set config gp.check_result(gp.gp_camera_set_config(camera, config, context)) OK, txt = gp.gp_camera_get_summary(camera, context) infod = txToDict(txt.text) showText(AREA_PREVIEW, infod.get('Model')) info.camera = infod.get('Model') pygame.display.flip() return camera
import gphoto2 as gp context = gp.gp_context_new() error, camera = gp.gp_camera_new() error = gp.gp_camera_init(camera, context) error, text = gp.gp_camera_get_summary(camera, context) print('Summary') print('=======') print(text.text) error = gp.gp_camera_exit(camera, context)
def __init__(self): gp.check_result(gp.use_python_logging()) camera = gp.check_result(gp.gp_camera_new()) gp.check_result(gp.gp_camera_init(camera)) L.info(gp.check_result(gp.gp_camera_get_summary(camera))) self.camera = camera