def run(cmd_queue, filehandle, sampling_frequency, calibration): r = DataRecorder(filehandle, sampling_frequency, calibration) b = StreamBuffer(int(sampling_frequency), [], sampling_frequency) b.calibration_set(calibration.current_offset, calibration.current_gain, calibration.voltage_offset, calibration.voltage_gain) while True: cmd, args = cmd_queue.get() if cmd == 'stream_notify': raw_data, voltage_range = args b.voltage_range = voltage_range b.insert_raw(raw_data) b.process() r.stream_notify(b) elif cmd == 'close': r.close() break
def _export_jls(self, data): cfg = self._cfg sampling_frequency = data.sample_frequency stream_buffer = StreamBuffer(sampling_frequency * 2, [], sampling_frequency=sampling_frequency) stream_buffer.calibration_set(data.calibration.current_offset, data.calibration.current_gain, data.calibration.voltage_offset, data.calibration.voltage_gain) stream_buffer.voltage_range = data.cmdp['Plugins/#state/voltage_range'] data_recorder = DataRecorder(cfg['filename'], calibration=data.calibration.data, sampling_frequency=sampling_frequency) data_recorder.stream_notify(stream_buffer) try: for block in data: log.info('export_jls iteration') stream_buffer.insert_raw(block['signals']['raw']['value']) stream_buffer.process() data_recorder.stream_notify(stream_buffer) finally: data_recorder.close()
def test_voltage_range(self): b = StreamBuffer(0.2, [], 1000.0) self.assertEqual(0, b.voltage_range) b.voltage_range = 1 self.assertEqual(1, b.voltage_range)