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
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
def test_get_cycle_time(self): val = bars.get_cycle_time(bars.SYSTEM_PARAMETER_MENU) self.assertEqual(val, '20 Seconds')