Sending data sequences to devices

From sigrok
Revision as of 14:04, 10 October 2014 by Bert (talk | contribs) (Created page with "We need a way to send a sequence of data from a libsigrok client to hardware. The following use cases are immediately apparent in already-supported hardware: * replaying logi...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

We need a way to send a sequence of data from a libsigrok client to hardware. The following use cases are immediately apparent in already-supported hardware:

  • replaying logic data on a logic analyzer, supported by several FX2-based logic analyzers
    • TODO: list of hardware that supports this
  • uploading waveforms to an arbitrary waveform generator
  • uploading a series of voltage/current sets to a PPS or DC load

Some observations on the structure of these sequences:

  • The length of the sequence could range from a few hundred data points (PPS) to several million (logic analyzer).
  • The data type in these sequences ranges from boolean (logic), basic analog value (AWG) to analog tuples (PPS).
    • High-precision analog isn't really relevant in this case: basic floating point values will do.
  • The data types in a sequence will be uniform throughout that sequence, so meta information on e.g the MQ for the sequence need only be passed once, not included in every data point.
  • Our existing MQ/unit system is by definition good enough to represent the meta data and data types, since it's the sort of thing you capture from one device and play back on another.
  • Similarly, GVariant should be good enough to encode the data.