Ejemplo n.º 1
0
    def get(self, params, *args, **kwargs):

        # TODO it only handles [(BarsChannel.INSTRUMENT,
        # BarsParameter.TIME_BETWEEN_BURSTS)]

        if log.isEnabledFor(logging.DEBUG):
            log.debug("params=%s args=%s kwargs=%s" %
                      (str(params), str(args), str(kwargs)))

        self._assert_state(DriverState.AUTOSAMPLE)

        assert isinstance(params, list)
        cp = (BarsChannel.INSTRUMENT, BarsParameter.TIME_BETWEEN_BURSTS)
        assert params == [cp]

        log.debug("breaking data streaming to enter main menu")
        self.bars_client.enter_main_menu()

        log.debug("select 2 to get system parameter menu")
        self.bars_client.send('2')
        self.bars_client.expect_generic_prompt()

        buffer = self.bars_client.get_last_buffer()
        log.debug("BUFFER='%s'" % repr(buffer))
        string = bars.get_cycle_time(buffer)
        log.debug("VALUE='%s'" % string)
        seconds = bars.get_cycle_time_seconds(string)
        if seconds is None:
            raise InstrumentProtocolException(
                    msg="Unexpected: string could not be matched: %s" % string)

        log.debug("send 3 to return to main menu")
        self.bars_client.send('3')
        self.bars_client.expect_generic_prompt()

        buffer = self.bars_client.get_last_buffer()
        log.debug("BUFFER='%s'" % repr(buffer))

        log.debug("resume data streaming")
        self.bars_client.send('1')

        result = {cp: seconds}
        return result
Ejemplo n.º 2
0
    def set(self, params, *args, **kwargs):
        """
        """
        if log.isEnabledFor(logging.DEBUG):
            log.debug("params=%s args=%s kwargs=%s" %
                      (str(params), str(args), str(kwargs)))

        self._assert_state(DriverState.AUTOSAMPLE)

        assert isinstance(params, dict)
        assert len(params) == 1
        cp = (BarsChannel.INSTRUMENT, BarsParameter.TIME_BETWEEN_BURSTS)
        assert cp in params
        seconds = params.get(cp)
        assert isinstance(seconds, int)
        assert seconds >= 15

        log.debug("break data streaming to enter main menu")
        self.bars_client.enter_main_menu()

        log.debug("select 2 to get system parameter menu")
        self.bars_client.send('2')
        self.bars_client.expect_generic_prompt()

        buffer = self.bars_client.get_last_buffer()
        log.debug("BUFFER='%s'" % repr(buffer))
        string = bars.get_cycle_time(buffer)
        log.debug("VALUE='%s'" % string)

        log.debug("send 1 to change cycle time")
        self.bars_client.send('1')
        self.bars_client.expect_generic_prompt()

        if seconds <= 59:
            log.debug("send 0 to change cycle time in seconds")
            self.bars_client.send('0')
            self.bars_client.expect_generic_prompt()
            log.debug("send seconds=%d" % seconds)
            self.bars_client.send(str(seconds))
        else:
            log.debug("send 1 to change cycle time in minutes")
            self.bars_client.send('1')
            self.bars_client.expect_generic_prompt()
            minutes = seconds / 60
            log.debug("send minutes=%d" % minutes)
            self.bars_client.send(str(minutes))

        self.bars_client.expect_generic_prompt()

        log.debug("send 3 to return to main menu")
        self.bars_client.send('3')
        self.bars_client.expect_generic_prompt()

        buffer = self.bars_client.get_last_buffer()
        log.debug("BUFFER='%s'" % repr(buffer))

        log.debug("resume data streaming")
        self.bars_client.send('1')

        result = {cp: InstErrorCode.OK}
        return result
Ejemplo n.º 3
0
 def test_get_cycle_time(self):
     val = bars.get_cycle_time(bars.SYSTEM_PARAMETER_MENU)
     self.assertEqual(val, '20 Seconds')