def start_test(self, results): """ Grab stage - starts grabber thread and puts data to results queue +clean up dirty buffer pipeline read source data -> chop by samplerate w/ ratio -> make pandas DataFrame -> drain DataFrame to queue `results` """ logger.info('volta start test') self.grabber_q = results # clean up dirty buffer for _ in range(self.sample_rate): self.data_source.readline() logger.info('reader init?') self.reader = BoxPlainTextReader(self.data_source, self.sample_rate) logger.info('reader init!') self.pipeline = Drain( TimeChopper(self.reader, self.sample_rate, self.chop_ratio), self.my_metrics['currents']) logger.info('Starting grab thread...') self.pipeline.start() logger.debug('Waiting grabber thread finish...')
def start_test(self, results): """ Grab stage - starts grabber thread and puts data to results queue + handshake w/ device, get samplerate pipeline read source data -> chop by samplerate w/ ratio -> make pandas DataFrame -> drain DataFrame to queue `results` Args: results: object answers to put() and get() methods """ self.grabber_q = results # handshake while self.data_source.readline() != "VOLTAHELLO\n": pass volta_spec = json.loads(self.data_source.readline()) self.sample_rate = volta_spec["sps"] logger.info('Sample rate handshake success: %s', self.sample_rate) while self.data_source.readline() != "DATASTART\n": pass self.reader = BoxBinaryReader(self.data_source, self.sample_rate, self.slope, self.offset) self.pipeline = Drain( TimeChopper(self.reader, self.sample_rate, self.chop_ratio), self.grabber_q) logger.info('Starting grab thread...') self.pipeline.start() logger.debug('Waiting grabber thread finish...')
def start_test(self, results): """ Grab stage - starts grabber thread and puts data to results queue + handshake w/ device, get samplerate pipeline read source data -> chop by samplerate w/ ratio -> make pandas DataFrame -> drain DataFrame to queue `results` Args: results: object answers to put() and get() methods """ self.grabber_q = results self.reader = BoxBinaryReader(self.data_source, self.sample_rate, self.slope, self.offset, self.power_voltage, self.precision) self.pipeline = Drain( TimeChopper(self.reader, self.sample_rate, self.chop_ratio), self.my_metrics['current']) logger.info('Starting grab thread...') self.pipeline.start() logger.debug('Waiting grabber thread finish...')