sr: SR_DF_ANALOG type, and meta types for analog+logic
This commit is contained in:
parent
7e41e319d9
commit
ee7489d234
12
session.c
12
session.c
|
@ -400,6 +400,7 @@ SR_API int sr_session_stop(void)
|
|||
static void datafeed_dump(struct sr_datafeed_packet *packet)
|
||||
{
|
||||
struct sr_datafeed_logic *logic;
|
||||
struct sr_datafeed_analog *analog;
|
||||
|
||||
switch (packet->type) {
|
||||
case SR_DF_HEADER:
|
||||
|
@ -408,11 +409,22 @@ static void datafeed_dump(struct sr_datafeed_packet *packet)
|
|||
case SR_DF_TRIGGER:
|
||||
sr_dbg("bus: received SR_DF_TRIGGER");
|
||||
break;
|
||||
case SR_DF_META_LOGIC:
|
||||
sr_dbg("bus: received SR_DF_META_LOGIC");
|
||||
break;
|
||||
case SR_DF_LOGIC:
|
||||
logic = packet->payload;
|
||||
/* TODO: Check for logic != NULL. */
|
||||
sr_dbg("bus: received SR_DF_LOGIC %" PRIu64 " bytes", logic->length);
|
||||
break;
|
||||
case SR_DF_META_ANALOG:
|
||||
sr_dbg("bus: received SR_DF_META_LOGIC");
|
||||
break;
|
||||
case SR_DF_ANALOG:
|
||||
analog = packet->payload;
|
||||
/* TODO: Check for analog != NULL. */
|
||||
sr_dbg("bus: received SR_DF_ANALOG %d samples", analog->num_samples);
|
||||
break;
|
||||
case SR_DF_END:
|
||||
sr_dbg("bus: received SR_DF_END");
|
||||
break;
|
||||
|
|
25
sigrok.h.in
25
sigrok.h.in
|
@ -150,7 +150,9 @@ enum {
|
|||
SR_DF_END,
|
||||
SR_DF_TRIGGER,
|
||||
SR_DF_LOGIC,
|
||||
SR_DF_PD,
|
||||
SR_DF_META_LOGIC,
|
||||
SR_DF_ANALOG,
|
||||
SR_DF_META_ANALOG,
|
||||
};
|
||||
|
||||
struct sr_datafeed_packet {
|
||||
|
@ -161,8 +163,11 @@ struct sr_datafeed_packet {
|
|||
struct sr_datafeed_header {
|
||||
int feed_version;
|
||||
struct timeval starttime;
|
||||
};
|
||||
|
||||
struct sr_datafeed_meta_logic {
|
||||
int num_probes;
|
||||
uint64_t samplerate;
|
||||
int num_logic_probes;
|
||||
};
|
||||
|
||||
struct sr_datafeed_logic {
|
||||
|
@ -171,6 +176,15 @@ struct sr_datafeed_logic {
|
|||
void *data;
|
||||
};
|
||||
|
||||
struct sr_datafeed_meta_analog {
|
||||
int num_probes;
|
||||
};
|
||||
|
||||
struct sr_datafeed_analog {
|
||||
int num_samples;
|
||||
float *data;
|
||||
};
|
||||
|
||||
struct sr_input {
|
||||
struct sr_input_format *format;
|
||||
char *param;
|
||||
|
@ -249,7 +263,8 @@ enum {
|
|||
/** The device can act as logic analyzer. */
|
||||
SR_HWCAP_LOGIC_ANALYZER,
|
||||
|
||||
/* TODO: SR_HWCAP_SCOPE, SW_HWCAP_PATTERN_GENERATOR, etc.? */
|
||||
/** The device can act as an oscilloscope. */
|
||||
SR_HWCAP_OSCILLOSCOPE,
|
||||
|
||||
/*--- Device types --------------------------------------------------*/
|
||||
|
||||
|
@ -275,6 +290,9 @@ enum {
|
|||
/** The device supports Run Length Encoding. */
|
||||
SR_HWCAP_RLE,
|
||||
|
||||
/** The device supports setting trigger slope. */
|
||||
SR_HWCAP_TRIGGERSLOPE,
|
||||
|
||||
/*--- Special stuff -------------------------------------------------*/
|
||||
|
||||
/* TODO: Better description. */
|
||||
|
@ -310,7 +328,6 @@ enum {
|
|||
*/
|
||||
SR_HWCAP_CONTINUOUS,
|
||||
|
||||
/* TODO: SR_HWCAP_JUST_SAMPLE or similar. */
|
||||
};
|
||||
|
||||
struct sr_hwcap_option {
|
||||
|
|
Loading…
Reference in New Issue