def generate_real_stream(port, n_messages=None, interval=0.01): from bsread.sender import Sender generator = Sender(port=port) for channel in simulated_channels: generator.add_channel(**channel) generator.generate_stream(n_messages=n_messages, interval=interval)
def createStream(): s = TestData() generator = Sender() for par in pars: generator.add_channel(par, partial(s.getPar, parameter=par)) generator.generate_stream()
# image.append(line) image.append([1.0, 2.0, 3.0, 4.0]) return image if __name__ == "__main__": generator = Sender() generator.add_channel('ABC', lambda x: x, metadata={'type': 'int32'}) generator.add_channel('ABC_BIG', lambda x: struct.pack('>i', x), metadata={ 'type': 'int32', 'encoding': 'big' }) generator.add_channel('ABCD', lambda x: x * 10.0) generator.add_channel('ABCDF', lambda x: x * 100.0) generator.add_channel('XYZ', lambda x: x * 200.0) generator.add_channel('XYZW', lambda x: 'hello', metadata={'type': 'string'}) generator.add_channel('WWW', lambda x: [1.0, 2.0, 3.0, 4.0], metadata={ 'type': 'float64', 'shape': [4] }) generator.add_channel('WAVE', waveform, metadata={'shape': [30]}) generator.add_channel('IMAGE', image, metadata={'shape': [4, 2]}) generator.generate_stream()
def main(): parser = argparse.ArgumentParser() device_name = os.getenv("DEVICE_NAME", "test_device") parser.add_argument('--device_name', type=str, default=device_name, help='Simulated device name') source_file = os.getenv("SOURCE_FILE", "sources.json") parser.add_argument('--source_file', type=str, default=source_file, help='Simulation sources file') port = os.getenv("PORT", 9999) parser.add_argument('--port', type=int, default=port, help='Simulation sources file') args = parser.parse_args() device_name = args.device_name source_file = args.source_file port = args.port _logger.info("Starting generator for device %s on port %s." % (device_name, port)) with open(source_file, 'r') as input_file: sources = json.load(input_file) if device_name not in sources: raise ValueError("device_name=%s not found in sources file." % device_name) try: channels_metadata = sources[device_name] sender = Sender(port=port) for channel in channels_metadata: _logger.info("Adding channel %s with type %s and shape %s.." % (channel["name"], channel["type"], channel["shape"])) sender.add_channel(name=channel["name"], function=get_generator_function( channel["type"], channel["shape"]), metadata={ "type": channel["type"], "shape": channel["shape"] }) sender.generate_stream() except KeyboardInterrupt: _logger.info('Generator %s interupted (SIGINT)', device_name) except Exception as e: _logger.exception('Generator %s stopped', device_name)