This only allows a backend to produce a single data key in the Descriptor and Event. We decided (with @danielballan) to explode tables to be multiple fields, as this would make them look like arrays. This means that instead of a single panda-seq1-table entry in the descriptor with dtype=object, we would want an entry for every column (like panda-seq1-table-repeats, panda-seq1-table-time1, etc.) with dtype=array.
At the moment, we have this interface for
Signal.read
andSignal.describe
: https://github.com/bluesky/ophyd/blob/7612b2c9de9d5bc16cf28eea79ba5c12553f3cc2/ophyd/v2/core.py#L661-L669This only allows a backend to produce a single data key in the Descriptor and Event. We decided (with @danielballan) to explode tables to be multiple fields, as this would make them look like arrays. This means that instead of a single
panda-seq1-table
entry in the descriptor withdtype=object
, we would want an entry for every column (likepanda-seq1-table-repeats
,panda-seq1-table-time1
, etc.) withdtype=array
.To do this,
SignalBackend.get_descriptor
andSignal.get_reading
will need to change from: https://github.com/bluesky/ophyd/blob/7612b2c9de9d5bc16cf28eea79ba5c12553f3cc2/ophyd/v2/core.py#L377-L383To something like:
And all the backends (and the SignalCache) change to produce these dictionaries instead of single values