Batcher Protocol SplitterV1
SplitterV1 accepts one Batcher v1 super-frame and emits one Rogue stream
frame per contained record.
Protocol reference: https://confluence.slac.stanford.edu/x/th1SDg
Behavior summary
Input is parsed with
CoreV1.Each parsed
Datarecord becomes one output frame.Output frame metadata is mapped as:
channel<- record destinationfirstUser<- record first-user bytelastUser<- record last-user byte
Use this when you want normal per-record frame handling downstream.
Python example
import rogue.protocols.batcher
import rogue.interfaces.stream
src = MyBatcherV1Source()
split = rogue.protocols.batcher.SplitterV1()
filt = rogue.interfaces.stream.Filter(True, 1) # Keep destination/channel 1
dst = MyRecordSink()
src >> split >> filt >> dst