Esempio n. 1
0
    def close(self):

        # Close
        if self.__cat != None:
            self.__cat.terminate()

        if self.__rotif != None:
            self.__rotif.terminate()
            self.__rotif.join()

        if self.__satif != None:
            self.__satif.terminate()
            self.__satif.join()

        if self.__rigif != None:
            self.__rigif.terminate()
            self.__rigif.join()

        # Save configuration
        persist.saveCfg(CONFIG_PATH, defs.config)

        # Final check as Python does not terminate unless all tasks are terminated
        # We do not clean up automatically as this is a bug that needs fixing.
        tasks = threading.enumerate()
        if len(tasks) > 1:
            print("Some tasks have not terminated! ,", tasks)
Esempio n. 2
0
 def quit(self):
     """ User hit quit """
     
     # Save the current settings
     persist.saveCfg(SETTINGS_PATH, self.__settings)
     persist.saveCfg(STATE_PATH, self.__state)
     # Close
     QtCore.QCoreApplication.instance().quit()
Esempio n. 3
0
File: gui.py Progetto: G3UKB/CamJam
 def quit(self):
     """ User hit quit """
     
     # Terminate the controller
     self.__controller.terminate()
     
     # Save the current settings
     self.__state[WINDOW] = [self.x(), self.y(), self.width(), self.height()]
     self.__state[CORRECTION] = self.__correction
     persist.saveCfg(STATE_PATH, self.__state)
     
     # Quit
     QCoreApplication.instance().quit()
Esempio n. 4
0
 def __configEvnt(self, event):
     """
     Run the configurator
     
     Arguments:
         event   -- ui event object
         
     """
     
     self.__settings, r = configurationdialog.ConfigurationDialog.getConfig(self.__cat, self.__settings, self.loopcombo.currentText())
     # If Ok save the new config and update internally
     if r:
         # Settings
         persist.saveCfg(SETTINGS_PATH, self.__settings)
         # Update the UI
         self.loopcombo.clear()
         if len(self.__settings[LOOP_SETTINGS]) > 0:
             for key in sorted(self.__settings[LOOP_SETTINGS].keys()):
                 self.loopcombo.addItem(str(key))
             if len(self.__settings[LOOP_SETTINGS][self.loopcombo.currentText()][I_SETPOINTS]) > 0:
                 for key in sorted(self.__settings[LOOP_SETTINGS][self.loopcombo.currentText()][I_SETPOINTS].keys()):
                     self.freqcombo.addItem(str(key))
                 self.offsetlabel.setText(str(self.__settings[LOOP_SETTINGS][self.loopcombo.currentText()][I_SETPOINTS][self.freqcombo.currentText()]))
         else:
             self.loopcombo.clear()
         # Update motor in idle time
         self.__doUpdate = True
         # Network settings
         self.__api.resetNetworkParams(self.__settings[ARDUINO_SETTINGS][NETWORK][IP], self.__settings[ARDUINO_SETTINGS][NETWORK][PORT])
         # Adjust state
         for loop in self.__settings[LOOP_SETTINGS]:
             if loop not in self.__state[LOOP_PARAMS]:
                 self.__state[LOOP_PARAMS][loop] = self.rpmsb.value()
         for loop in self.__state[LOOP_PARAMS]:
             if loop not in self.__settings[LOOP_SETTINGS]:
                  del self.__state[LOOP_PARAMS][loop]