Esempio n. 1
0
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 ******')
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)
Esempio n. 5
0
 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)
Esempio n. 6
0
 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)
Esempio n. 7
0
 def __init__(self, host, port, log):
     BasicXMLRPCThread.__init__(self, host, port, log)
     self._server.register_function(self.get_iccid)
Esempio n. 8
0
 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)