def _run_mgr(log): """ Run the instrument manager until terminated """ global gv log.info('') log.info('****** Starting search coil instrument manager ******') try: xmlrpc_thread = BasicXMLRPCThread('localhost', sc_mgr_config.XMLRPC_port, log) except: exc_type, exc_value, exc_traceback = sys.exc_info() utils.log_exc_traceback(exc_type, exc_value, exc_traceback, log) sys.exit(1) try: gv.console = SockConsole('localhost', sc_mgr_config.console_port, log) except: exc_type, exc_value, exc_traceback = sys.exc_info() utils.log_exc_traceback(exc_type, exc_value, exc_traceback, log) sys.exit(1) try: data_thread = DataThread(gv.console, log) except: exc_type, exc_value, exc_traceback = sys.exc_info() utils.log_exc_traceback(exc_type, exc_value, exc_traceback, log) sys.exit(1) while True: try: utils.wait(0.5) if not gv.console.is_running(): log.error('Console thread died unexpectedly') break if not xmlrpc_thread.is_running(): log.error('XMLRPC server thread died unexpectedly') break if not data_thread.is_running(): log.error('Data thread died unexpectedly') break except KeyboardInterrupt: if sc_mgr_config.accept_sigint: log.info('Got SIGINT (shutting down)') break else: log.info('Got SIGINT (ignored)') except: # handle all unexpected application exceptions exc_type, exc_value, exc_traceback = sys.exc_info() utils.log_exc_traceback(exc_type, exc_value, exc_traceback, log) sys.exit(1) data_thread.stop() gv.console.stop() xmlrpc_thread.stop() utils.wait_for_child_threads() log.info('****** Exiting search coil instrument manager ******')
def __init__(self, host, port, console, dispatcher, log): BasicXMLRPCThread.__init__(self, host, port, log) self._console = console self._dispatcher = dispatcher self._log = log self._server.register_function(self.help) self._server.register_function(self.store_file) self._server.register_function(self.mount_usb_flash) self._server.register_function(self.unmount_usb_flash)
def __init__(self, host, port, console, log): BasicXMLRPCThread.__init__(self, host, port, log) self._log = log self._console = console self._exec_lock = utils.Lock(log) self._server.register_function(self.help) self._server.register_function(self.set_power) self._server.register_function(self.reset_overcurrent) self._server.register_function(self.status) self._server.register_function(self.get_status) self._server.register_function(self.get_full_status) self._server.register_function(self.refresh)
def __init__(self, host, port, console, controllers, log): BasicXMLRPCThread.__init__(self, host, port, log) self._log = log self._console = console self._control_temp = controllers.control_temp self._control_fgsc_power = controllers.control_fgsc_power self._control_hf_power = controllers.control_hf_power self._control_modem_power = controllers.control_modem_power self._control_cases_power = controllers.control_cases_power self._server.register_function(self.help) self._server.register_function(self.set_temp) self._server.register_function(self.fg) self._server.register_function(self.sc) self._server.register_function(self.hf) self._server.register_function(self.cases) self._server.register_function(self.irid)
def __init__(self, host, port, tx_data_thread, rx_data_thread, console, log): BasicXMLRPCThread.__init__(self, host, port, log) self._log = log self._tx_data_thread = tx_data_thread self._rx_data_thread = rx_data_thread self._console = console self._server.register_function(self.help) self._server.register_function(self.soft_reset) self._server.register_function(self.hard_reset) self._server.register_function(self.halt) self._server.register_function(self.upload_dsp_image) self._server.register_function(self.upload_dsp_config) self._server.register_function(self.upload_sbc_config) self._server.register_function(self.set_power_state) self._server.register_function(self.query_status) self._server.register_function(self.retrieve_file) self._server.register_function(self.transfer_file) self._server.register_function(self.execute_sys_cmd) self._server.register_function(self.get_data_production) self._server.register_function(self.clear_data_production) self._server.register_function(self.stop_rx_data) self._server.register_function(self.start_rx_data)
def __init__(self, host, port, data_thread, log): BasicXMLRPCThread.__init__(self, host, port, log) self._data_thread = data_thread self._log = log self._server.register_function(self.get_elec_temp) self._server.register_function(self.get_sensor_temp)
def __init__(self, host, port, log): BasicXMLRPCThread.__init__(self, host, port, log) self._server.register_function(self.get_iccid)
def __init__(self, host, port, xfer_rec, log): BasicXMLRPCThread.__init__(self, host, port, log) self._log = log self._xfer_rec = xfer_rec self._server.register_function(self.time_of_last_data_xfer)