Exemple #1
0
    def _start_guider(self, nWarn=0, **kwargs):
        guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science'])
        guiderTester.updateModel('tcc', TestHelper.tccState['tracking'])
        self.gState.cartridge = self.actorState.models['guider'].keyVarDict[
            'cartridgeLoaded'][0]

        masterThread.start_guider(self.cmd, self.gState, self.actorState,
                                  self.actorState.queues, **kwargs)

        msg = self.queues[guiderActor.MASTER].get(False)
        self.assertEqual(msg.type, guiderActor.Msg.STATUS)
        self.assertFalse(msg.finish)

        self.assertEqual(self.gState.cmd, self.cmd)

        startFrame = self.actorState.models['gcamera'].keyVarDict['nextSeqno'][
            0] + 1
        self.assertEqual(self.gState.startFrame, startFrame)

        msg = self.queues[guiderActor.GCAMERA].get(False)
        self.assertEqual(msg.type, guiderActor.Msg.EXPOSE)
        self.assertEqual(msg.camera, kwargs.get('camera', 'gcamera'))
        self.assertEqual(msg.expTime, kwargs.get('expTime', 5))
        self.assertEqual(msg.stack, kwargs.get('stack', 1))
        self._check_cmd(0, 1, nWarn, 0, False)
Exemple #2
0
 def test_start_guider_not_ok_to_guide(self):
     guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science'])
     guiderTester.updateModel('tcc', TestHelper.tccState['stopped'])
     self.gState.cartridge = self.actorState.models['guider'].keyVarDict[
         'cartridgeLoaded'][0]
     masterThread.start_guider(self.cmd, self.gState, self.actorState,
                               self.actorState.queues)
     self.assertTrue(self.queues[guiderActor.GCAMERA].empty())
     self.assertTrue(self.queues[guiderActor.MASTER].empty())
     self.assertIsNone(self.gState.cmd)
     self._check_cmd(0, 0, 1, 0, True, True)
Exemple #3
0
 def test_tcc_motion_bypassed(self):
     guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science'])
     guiderTester.updateModel('tcc', TestHelper.tccState['halted'])
     self.actorState.models['sop'].keyVarDict['bypassedNames'].set(['axes'])
     self._guidingIsOK(True, 1)
Exemple #4
0
 def test_tcc_halted(self):
     guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science'])
     guiderTester.updateModel('tcc', TestHelper.tccState['halted'])
     self._guidingIsOK(False, 1)
Exemple #5
0
 def test_arclamps_on_bypassed(self):
     guiderTester.updateModel('mcp', TestHelper.mcpState['arcs'])
     guiderTester.updateModel('tcc', TestHelper.tccState['tracking'])
     self.actorState.models['sop'].keyVarDict['bypassedNames'].set(
         ['ffs', 'lamp_hgcd', 'lamp_ne'])
     self._guidingIsOK(True, 1)
Exemple #6
0
 def test_arclamps_on(self):
     guiderTester.updateModel('mcp', TestHelper.mcpState['arcs'])
     guiderTester.updateModel('tcc', TestHelper.tccState['tracking'])
     self._guidingIsOK(False, 1)
Exemple #7
0
 def test_ffs_closed_bypassed(self):
     guiderTester.updateModel('mcp', TestHelper.mcpState['all_off'])
     guiderTester.updateModel('tcc', TestHelper.tccState['tracking'])
     self.actorState.models['sop'].keyVarDict['bypassedNames'].set(['ffs'])
     self._guidingIsOK(True, 1)
Exemple #8
0
 def test_ffs_closed(self):
     guiderTester.updateModel('mcp', TestHelper.mcpState['all_off'])
     guiderTester.updateModel('tcc', TestHelper.tccState['tracking'])
     self._guidingIsOK(False, 1)
Exemple #9
0
 def test_boss_science(self):
     guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science'])
     guiderTester.updateModel('tcc', TestHelper.tccState['tracking'])
     self._guidingIsOK(True)