Batcher Protocol InverterV1
InverterV1 transforms a Batcher v1 frame in place and forwards a single
output frame.
Protocol reference: https://confluence.slac.stanford.edu/x/th1SDg
Behavior summary
Input is parsed with
CoreV1.Tail/header data is shifted in place across records.
Final payload is reduced by one tail-width segment.
Exactly one output frame is emitted for each input frame.
This is not batching or unbatching; it is a one-frame in-place reformat.
Use this when downstream expects the transformed layout rather than
split-per-record output. Use SplitterV1 for true unbatching.
Python example
import rogue.protocols.batcher
src = MyBatcherV1Source()
inv = rogue.protocols.batcher.InverterV1()
dst = MyTransformedFrameSink()
src >> inv >> dst