def set_fan_on(self): self.lock.set_acquire() try: SbigDriver.start_fan() except Exception as e: self.console.raise_text("Error off/on the Fan.\n{}".format(e)) finally: self.lock.set_release() self.fanField.setText(self.fan_status())
def run(self): try: tempo = datetime.utcnow().strftime('%Y%m%d_%H%M%S') data = tempo[0:4] + "_" + tempo[4:6] + tempo[6:8] data_log = datetime.utcnow().strftime('[%Y-%m-%d @ %H:%M:%S UTC]') from src.business.configuration.configSystem import ConfigSystem log_folder = ConfigSystem() if str(log_folder.get_log_path()) == "None": if log_folder(): name_log_folder = str(log_folder.get_log_path()) else: name_log_folder = 'Log_folder' os.mkdir(name_log_folder) else: name_log_folder = str(log_folder.get_log_path()) from src.business.configuration.configProject import ConfigProject ci = ConfigProject() name_observatory = str(ci.get_site_settings()) name_observatory = SbigDriver.get_observatory(name_observatory) if int(tempo[9:11]) > 12: name_log = name_log_folder + "/LOG_" + name_observatory + "_" + data + '.txt' log = open(str(name_log), 'a') log.write(str(data_log) + " - " + str(self.text) + "\n") log.close() else: tempo = datetime.utcnow().strftime('%Y%m%d_%H%M%S') ano = tempo[0:4] mes = tempo[4:6] dia = tempo[6:8] abs_julian_day = SbigDriver.jd_to_date( SbigDriver.date_to_jd(ano, mes, int(dia)) - 1) if 0 < abs_julian_day[2] < 10: name_log = name_log_folder + "/LOG_" + name_observatory + "_" + str( abs_julian_day[0]) + "_" + str( abs_julian_day[1]) + "0" + str( abs_julian_day[2]) + '.txt' log = open(str(name_log), 'a') log.write(str(data_log) + " - " + str(self.text) + "\n") log.close() else: name_log = name_log_folder + "/LOG_" + name_observatory + "_" + str( abs_julian_day[0]) + "_" + str( abs_julian_day[1]) + str( abs_julian_day[2]) + '.txt' log = open(str(name_log), 'a') log.write(str(data_log) + " - " + str(self.text) + "\n") log.close() except Exception as e: print(e)
def s_fan(self): self.lock.set_acquire() try: if SbigDriver.is_fanning(): SbigDriver.stop_fan() self.fanField.setText('Fan Off') else: SbigDriver.start_fan() self.fanField.setText('Fan On') except Exception as e: self.console.raise_text("Error off/on the Fan.\n{}".format(e)) finally: self.lock.set_release() self.fanField.setText(self.fan_status())
def check_fan(self): if SbigDriver.is_fanning(): self.console.raise_text("Fan: ON", 2) time.sleep(1) else: self.console.raise_text("Fan: OFF", 2) time.sleep(1)
def run(self): self.set_etime_pre_binning() self.lock.set_acquire() try: self.info = SbigDriver.photoshoot(self.etime * 100, self.pre, self.b) self.init_image() except Exception as e: print(e) finally: self.lock.set_release()
def run(self): self.set_etime_pre_binning() self.lock.set_acquire() try: self.info = SbigDriver.photoshoot(self.etime, self.pre, self.b, self.dark_photo, self.get_level1,\ self.get_level2) self.init_image() except Exception as e: print(e) finally: self.lock.set_release()
def create_image_open(self): self.roda_filtros.open_shutter() self.set_config_take_image() self.lock.set_acquire() my_list = get_wish_filters_settings() # list of schedule try: if self.count_aux < len(my_list): if self.one_photo: index_of_dic = self.selected_filter else: index_of_dic = str(my_list[self.count_aux]) self.valores_principais_wish_filter(index_of_dic) self.count_aux += 1 else: self.count_aux = 0 if self.one_photo: index_of_dic = self.selected_filter else: index_of_dic = str(my_list[self.count_aux]) self.valores_principais_wish_filter(index_of_dic) self.count_aux += 1 except Exception as e: print("Try filter ini -> {}".format(e)) project_infos = get_project_settings() name_observatory = project_infos[2][1] self.path, self.tempo = set_path() self.new_image_name = str( self.prefix) + "_" + str(name_observatory) + "_" + str(self.tempo) new_image_name = self.path + str(self.new_image_name) try: self.info_matrix = SbigDriver.photoshoot(self.exposure_time, self.binning, 0) except Exception as e: print("self.info_matrix = SbigDriver.photoshoot ERROR -> " + str(e)) self.for_headers_dic['Open or close shutter'] = "OPEN" self.save_image_format(new_image_name) self.for_headers_dic = {} self.one_photo = False self.init_image() self.lock.set_release()
def log_ephem_infos(self): elevations = make_elevations_info() headers_camera = get_camera_settings() temp = SbigDriver.get_temperature()[3] set_temp = headers_camera[0] ephem_infos_1 = "Sun Elevation: " + str(elevations[2]) + "; Moon Elevation: " + str(elevations[1]) +\ "; Moon Phase: " + str(elevations[0]) self.console.save_log(ephem_infos_1) time.sleep(1) ephem_infos_2 = "Camera Temperature: " + "{0:.2f}".format(temp) + "; Set Temperature: " +\ set_temp + "; Status Temp. Filtro: 25ºC" self.console.save_log(ephem_infos_2)
def take_dark(self): ''' manda instrução para o SbigDriver para tirar uma foto dark ''' try: self.set_etime_pre_binning() self.lock.set_acquire() self.info = SbigDriver.photoshoot(self.etime, self.pre, self.b, 1, self.get_level1, self.get_level2) self.init_image() except Exception as e: print(e) finally: time.sleep(1) self.lock.set_release()
def run(self): self.set_etime_pre_binning() self.lock.set_acquire() try: self.info = SbigDriver.photoshoot( self.etime, self.pre, self.b, self.dark_photo, self.get_level1, self.get_level2, self.get_axis_xi, self.get_axis_xf, self.get_axis_yi, self.get_axis_yf, self.get_ignore_crop, self.get_image_tif, self.get_image_fit) self.init_image() except Exception as e: print(e) finally: self.lock.set_release()
def create_image_close(self): self.roda_filtros.close_shutter() my_list = get_wish_filters_settings() # list of schedule my_list = set(my_list) my_list = sorted(my_list) count_aux = 0 while count_aux < len(my_list): self.set_config_take_image() self.lock.set_acquire() if self.one_photo: index_of_dic = self.selected_filter count_aux = 100 else: index_of_dic = str(my_list[count_aux]) self.valores_principais_wish_filter(index_of_dic) project_infos = get_project_settings() name_observatory = project_infos[2][1] self.path, self.tempo = set_path() self.new_image_name = "DARK-" + str( self.prefix) + "_" + str(name_observatory) + "_" + str( self.tempo) new_image_name = self.path + str(self.new_image_name) try: self.info_matrix = SbigDriver.photoshoot( self.exposure_time, self.binning, 1) except Exception as e: print("self.info_matrix = SbigDriver.photoshoot ERROR -> " + str(e)) self.for_headers_dic['Open or close shutter'] = "CLOSED" self.save_image_format(new_image_name) self.for_headers_dic = {} count_aux += 1 self.init_image() self.lock.set_release() self.one_photo = False
def fan_status(self): # Acquiring the Lock self.lock.set_acquire() status = True try: # Doing requisition to Driver status = SbigDriver.is_fanning() except Exception as e: self.console.raise_text("Error acquiring the status of Fan.\n{}".format(e)) # Release the Lock self.lock.set_release() return "ON" if status else "OFF"
def save_image_format(self, new_image_name): if not os.path.isdir(self.path): os.makedirs(self.path) if self.one_photo: print(self.path) self.for_headers_dic['Start Time'] = self.tempo try: self.temperatura = SbigDriver.get_temperature() self.temperatura = "{0:.2f}".format(float(self.temperatura[3])) # self.temperatura = "25" self.for_headers_dic['Temperature'] = self.temperatura except Exception as e: print("Exception self.temperatura -> {}".format(e)) self.for_headers_dic['Temperature'] = "???" if self.get_image_png: try: save_png(self.info_matrix, new_image_name, self.for_headers_dic) except Exception as e: print("Exception save_png() -> {}".format(e)) if self.get_image_tif: try: save_tif(self.info_matrix, new_image_name) if self.one_photo: print(new_image_name) except Exception as e: print("Exception save_tif() -> {}".format(e)) if self.get_image_fit: try: save_fit(self.info_matrix, new_image_name, self.for_headers_dic) except Exception as e: print("Exception save_fit() -> {}".format(e)) if not self.get_image_fit and not self.get_image_tif and not self.get_image_fit: try: save_png(self.info_matrix, new_image_name, self.for_headers_dic) except Exception as e: print("Exception save_png() -> {}".format(e))
def take_dark(self): ''' Manda instrução para o SbigDriver para tirar uma foto dark(shooter fechado)\ com os valores na info[] ''' try: self.set_etime_pre_binning() self.lock.set_acquire() self.info = SbigDriver.photoshoot( self.etime, self.pre, self.b, 1, self.get_level1, self.get_level2, self.get_axis_xi, self.get_axis_xf, self.get_axis_yi, self.get_axis_yf, self.get_ignore_crop, self.get_image_tif, self.get_image_fit) self.init_image() except Exception as e: print(e) finally: time.sleep(1) self.lock.set_release()
def set_headers(for_headers_dic): headers_camera = get_camera_settings() headers_project = get_project_settings() elevations = make_elevations_info() for_headers_dic['Start Time'] = Image_Path.set_path()[1] for_headers_dic['Binning'] = headers_camera[3] for_headers_dic['Set Temperature'] = headers_camera[0] for_headers_dic['Temperature'] = SbigDriver.get_temperature()[2] for_headers_dic['Imager ID'] = headers_project[2][2] for_headers_dic['Exposure'] = headers_camera[2] for_headers_dic['Filter Label'] = headers_camera[1] for_headers_dic['Filter Wavelength'] = get_filters_settings()[1] for_headers_dic['Latitude'] = headers_project[0][0] for_headers_dic['Longitude'] = headers_project[0][1] for_headers_dic['Moon Elevation'] = str(elevations[1]) for_headers_dic['Moon Phase'] = str(elevations[0]) for_headers_dic['Observatory'] = headers_project[2][1] for_headers_dic['Sun Elevation'] = str(elevations[2]) return for_headers_dic
def check_connection(): return SbigDriver.getlinkstatus()
def reconnect(): return SbigDriver.open_driver(), SbigDriver.open_deviceusb( ), SbigDriver.establishinglink()