class OCDriver: INCHE = 25.4 def __init__(self, oc_driver_config=DEFAULT_CONFIG): """ CONNECTION_STRING baud_rat Drop_vol # in nL, use to calculate volume in Methods xlevel ylevel inche # mm/inche dpi # resolution of the Hp cartdrige (datasheet), dpi=number/inch # distance of one nozzle to the next one round(inche/dpi,3) visu_roi """ self.communication = Communication( oc_driver_config['connection_string'], oc_driver_config['baud_rate']) self.communication.setup_log_file(oc_driver_config['log_file_path']) self.config = oc_driver_config self.config['reso'] = round(self.INCHE / self.config['dpi'], 3) def get_sample_application_driver(self): return SampleApplicationDriver(communication=self.communication, \ calibration_x=self.config.get('calibration_x'), \ calibration_y=self.config.get('calibration_y')) def get_development_driver(self): return DevelopmentDriver(communication=self.communication, \ calibration_x=self.config.get('calibration_x'), \ calibration_y=self.config.get('calibration_y')) def get_fine_control_driver(self): return FineControlDriver(communication=self.communication, \ calibration_x=self.config.get('calibration_x'), \ calibration_y=self.config.get('calibration_y')) def get_documentation_driver(self): return DocumentationDriver(self.communication) def connect(self, connection_string=None): if isinstance(connection_string, basestring): self.communication.connection_string = connection_string print(connection_string) self.communication.connect() def is_connected(self): return self.communication.printcore.online def disconnect(self): self.communication.disconnect() def pause(self): self.communication.pause() def stop(self): self.communication.stop() def resume(self): self.communication.resume() def send_from_file(self, file_path): self.communication.send_from_file(path=file_path)