flatudp: vector rows as channels or as a waveform, a re-openable source, probes for both
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
a523bc2bd9
commit
e3bc1f72f3
10 files changed
+446
-100
No files matched your search
@@ -7,7 +7,9 @@ One datagram is one cycle: the signals concatenated in declaration order, no pad
|
||||
chosen byte order. Packet i carries, for the signal of index k (from 0) and its element e,
|
||||
the value (i * (k + 1) + e) % 100, so consecutive datagrams are predictable.
|
||||
|
||||
--signals name:type[count],... default Trigger:uint8,Ia:float32,Cnt:uint64,Wave:int16[4]
|
||||
--signals name:type[count][w],... default Trigger:uint8,Ia:float32,Cnt:uint64,Wave:int16[4]
|
||||
(the datagram is the same with or without the app's trailing w, which only says
|
||||
how the app shows a vector: one channel per element, or one waveform channel)
|
||||
--rate cycles per second
|
||||
--big-endian pack big endian (default little)
|
||||
--gap S,D send nothing from S to S+D seconds after the start (a sender that stops)
|
||||
@@ -32,7 +34,7 @@ def parse_signals(text):
|
||||
count = 1
|
||||
if "[" in ty:
|
||||
ty, _, n = ty.partition("[")
|
||||
count = int(n.rstrip("]"))
|
||||
count = int(n.strip().rstrip("w").rstrip().rstrip("]")) # a trailing w (waveform) is the app's
|
||||
out.append((name.strip(), CODES[ty.strip()], count))
|
||||
return out
|
||||
|
||||
|
||||
Reference in new issue
Block a user