コード例 #1
0
 def _control_temp(self):
     [temp, self._hw_mgr_server
      ] = utils.get_hw_status('router_temp', self._hw_mgr_server,
                              self._hw_mgr_lock, self._log)
     if temp is None:
         self._log.error('Could not get router board temp from hw_mgr')
         return
     if temp > (self.setpoint + self._hysteresis):
         self._htr_desired_state = 0
     if temp < (self.setpoint - self._hysteresis):
         self._htr_desired_state = 1
     [htr_state, self._hw_mgr_server
      ] = utils.get_hw_status('htr_pwr', self._hw_mgr_server,
                              self._hw_mgr_lock, self._log)
     if htr_state is None:
         self._log.error('Could not get heater power status from hw_mgr')
         return
     if htr_state != self._htr_desired_state:
         if self._htr_desired_state == 1:
             self._hw_mgr_server = utils.set_power_state(
                 'htr', 'on', self._hw_mgr_server, self._hw_mgr_lock,
                 self._log)
         else:
             self._hw_mgr_server = utils.set_power_state(
                 'htr', 'off', self._hw_mgr_server, self._hw_mgr_lock,
                 self._log)
コード例 #2
0
 def _control_gps_power(self):
     [sync_age, self._hw_mgr_server
      ] = utils.get_hw_status('sync_age', self._hw_mgr_server,
                              self._hw_mgr_lock, self._log)
     if sync_age is None:
         self._log.error('Could not get sync_age from hw_mgr')
         return
     if sync_age < self._max_sync_age:
         # gps power should be off
         [status, self._hw_mgr_server
          ] = utils.get_hw_status('gps_pwr', self._hw_mgr_server,
                                  self._hw_mgr_lock, self._log)
         if (status is not None) and (status == 1):
             self._hw_mgr_server = utils.set_power_state(
                 'gps', 'off', self._hw_mgr_server, self._hw_mgr_lock,
                 self._log)
     if sync_age > self._max_sync_age:
         # gps power should be on
         [status, self._hw_mgr_server
          ] = utils.get_hw_status('gps_pwr', self._hw_mgr_server,
                                  self._hw_mgr_lock, self._log)
         if (status is not None) and (status == 0):
             self._hw_mgr_server = utils.set_power_state(
                 'gps', 'on', self._hw_mgr_server, self._hw_mgr_lock,
                 self._log)
コード例 #3
0
ファイル: ControlFGSCPower.py プロジェクト: VTMIST/field
 def _control_fgsc_power(self):
     """If not in commanded state, send command to hw_mgr"""
     #self._log.info('Entering ControlFGSCPower._control_fgsc_power')
     [fg_power_state, self._hw_mgr_server
      ] = utils.get_hw_status('fg_pwr', self._hw_mgr_server,
                              self._hw_mgr_lock, self._log)
     if fg_power_state is not None:
         #self._log.info('  fg_power_state is %d' % fg_power_state)
         if fg_power_state != self.fg_power_setting:
             if self.fg_power_setting == 1:
                 self._hw_mgr_server = utils.set_power_state(
                     'fg', 'on', self._hw_mgr_server, self._hw_mgr_lock,
                     self._log)
             else:
                 self._hw_mgr_server = utils.set_power_state(
                     'fg', 'off', self._hw_mgr_server, self._hw_mgr_lock,
                     self._log)
     [sc_power_state, self._hw_mgr_server
      ] = utils.get_hw_status('sc_pwr', self._hw_mgr_server,
                              self._hw_mgr_lock, self._log)
     if sc_power_state is not None:
         #self._log.info('  sc_power_state is %d' % sc_power_state)
         if sc_power_state != self.sc_power_setting:
             if self.sc_power_setting == 1:
                 self._hw_mgr_server = utils.set_power_state(
                     'sc', 'on', self._hw_mgr_server, self._hw_mgr_lock,
                     self._log)
             else:
                 self._hw_mgr_server = utils.set_power_state(
                     'sc', 'off', self._hw_mgr_server, self._hw_mgr_lock,
                     self._log)
コード例 #4
0
ファイル: ControlFGSCPower.py プロジェクト: VTMIST/field
 def stop(self):
     self._hw_mgr_server = utils.set_power_state('fg', 'off',
                                                 self._hw_mgr_server,
                                                 self._hw_mgr_lock,
                                                 self._log)
     self._hw_mgr_server = utils.set_power_state('sc', 'off',
                                                 self._hw_mgr_server,
                                                 self._hw_mgr_lock,
                                                 self._log)
コード例 #5
0
 def _turn_power_on_or_off(self, desired_power_state):
     """ Turn HF on or off if it is not in the desired_power_state.
         desired_power_state:
             0 = off
             1 = on
     """
     if self._power_state != desired_power_state:
         if desired_power_state == 1:
             self._hw_mgr_svr_proxy = utils.set_power_state('hf', 'on', self._hw_mgr_svr_proxy, self._hw_mgr_lock, self._log)
             self._log.info('Turned HF power on')
         else:
             self._hw_mgr_svr_proxy = utils.set_power_state('hf', 'off', self._hw_mgr_svr_proxy, self._hw_mgr_lock, self._log)
             self._log.info('Turned HF power off')
コード例 #6
0
ファイル: ControlFGSCPower.py プロジェクト: VTMIST/field
 def __init__(self, log):
     self._log = log
     self.fg_power_setting = 1
     self.sc_power_setting = 1
     self._hw_mgr_server = None
     self._hw_mgr_lock = utils.Lock(self._log)
     self._hw_mgr_server = utils.set_power_state('fg', 'on',
                                                 self._hw_mgr_server,
                                                 self._hw_mgr_lock,
                                                 self._log)
     self._hw_mgr_server = utils.set_power_state('sc', 'on',
                                                 self._hw_mgr_server,
                                                 self._hw_mgr_lock,
                                                 self._log)
コード例 #7
0
ファイル: ControlCASESPower.py プロジェクト: VTMIST/field
 def run(self):
     if self._power_down_pending:
         self._power_down_pending = False
         self._hw_mgr_svr_proxy = utils.set_power_state(
             'cases', 'off', self._hw_mgr_svr_proxy, self._hw_mgr_lock,
             self._log)
         self._log.info('Turned CASES power off')
         return
     self._control_power()
コード例 #8
0
 def __init__(self, log):
     self.master_power_enable = 0    # 0 = off, 1 = on    
     self._log = log
     self._hw_mgr_svr_proxy = None
     self._temp_valid = False
     self._over_temp = False
     self._under_temp = False
     self._power_state = None
     self._thermostat_switch_on = True
     self._temp = 0
     self._hf_sched_state = 1
     self._hf_stop_time = None
     self._hw_mgr_lock = utils.Lock(self._log)
     self._hw_mgr_svr_proxy = utils.set_power_state('hf', 'off', self._hw_mgr_svr_proxy, self._hw_mgr_lock, self._log)
     # True if master_power_enable has sole control of power. Used only for testing.
     self._manual_power_override = False
コード例 #9
0
ファイル: ControlCASESPower.py プロジェクト: VTMIST/field
 def _turn_power_on_or_off(self, desired_power_state):
     """ Turn CASES on or off if it is not in the desired_power_state.
         desired_power_state:
             0 = off
             1 = on
     """
     if self._power_state != desired_power_state:
         if desired_power_state == 1:
             self._hw_mgr_svr_proxy = utils.set_power_state(
                 'cases', 'on', self._hw_mgr_svr_proxy, self._hw_mgr_lock,
                 self._log)
             self._log.info('Turned CASES power on')
         else:
             self._send_halt_cmd()
             # Allow halt cmd to take effect.
             # Power down the next time run() is called.
             self._power_down_pending = True
コード例 #10
0
ファイル: ControlCASESPower.py プロジェクト: VTMIST/field
 def __init__(self, log):
     self.master_power_enable = 0  # 0 = off, 1 = on
     self.mode = "normal"  # "normal", "storm" or "update"
     self._log = log
     self._hw_mgr_svr_proxy = None
     self._temp_valid = False
     self._over_temp = False
     self._under_temp = False
     self._power_state = None
     self._thermostat_switch_on = True
     self._temp = 0
     self._hit_data_limit = False
     self._cases_sched_state = 1
     self._cases_stop_time = None
     self._cases_data_limit = None
     self._hw_mgr_lock = utils.Lock(self._log)
     self._hw_mgr_svr_proxy = utils.set_power_state('cases', 'off',
                                                    self._hw_mgr_svr_proxy,
                                                    self._hw_mgr_lock,
                                                    self._log)
     self._power_down_pending = False
コード例 #11
0
 def stop(self):
     utils.set_power_state('gps', 'off', self._hw_mgr_server,
                           self._hw_mgr_lock, self._log)
コード例 #12
0
ファイル: ControlCASESPower.py プロジェクト: VTMIST/field
 def stop(self):
     self._send_halt_cmd()
     utils.wait(10)
     utils.set_power_state('cases', 'off', self._hw_mgr_svr_proxy,
                           self._hw_mgr_lock, self._log)
コード例 #13
0
ファイル: ControlModemPower.py プロジェクト: VTMIST/field
 def _power_down_modem(self):
     self._hw_mgr_server = utils.set_power_state('irid', 'off',
                                                 self._hw_mgr_server,
                                                 self._hw_mgr_lock,
                                                 self._log)
     self._log.info('ControlModemPower: Iridium modem power turned off')
コード例 #14
0
ファイル: ControlModemPower.py プロジェクト: VTMIST/field
 def _power_up_modem(self):
     if not self._kill_power:
         self._hw_mgr_server = utils.set_power_state(
             'irid', 'on', self._hw_mgr_server, self._hw_mgr_lock,
             self._log)
         self._log.info('ControlModemPower: Iridium modem power turned on')
コード例 #15
0
 def stop(self):
     utils.set_power_state('hf', 'off', self._hw_mgr_svr_proxy, self._hw_mgr_lock, self._log)