#!/usr/bin/env python3 """ Generate a multi-signal binary test file for MARTe2 FileReader. Format (per signal descriptor): - 2B TypeDescriptor.all (uint16 LE) - 32B signal name (null-padded) - 4B numElements (uint32 LE) Header: [4B numSigs] [signal desc...] [raw float32 data rows] Three signals with different sizes to verify no data scrambling: Signal_100: 100 float32 values per row Signal_1K: 1000 float32 values per row Signal_5K: 5000 float32 values per row """ import struct import os OUTPUT = "/tmp/udpstreamer_test_input.bin" NUM_ROWS = 100 TYPE_FLOAT32 = 2056 # MARTe2 TypeDescriptor.all for Float32Bit SIGNALS = [ ("Signal_100", 100, lambda r, c: float(r * 1000 + c) / 100.0), ("Signal_1K", 1000, lambda r, c: float(r * 500 + c) / 50.0), ("Signal_5K", 5000, lambda r, c: float(r * 200 + c) / 20.0), ] def generate(): with open(OUTPUT, "wb") as f: # Header: numSigs f.write(struct.pack("