sr: SR_DF_ANALOG type, and meta types for analog+logic

This commit is contained in:
Bert Vermeulen 2012-04-22 18:11:31 +02:00
parent 7e41e319d9
commit ee7489d234
2 changed files with 33 additions and 4 deletions

View File

@ -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;

View File

@ -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 {