SR_CONF_CONTINUOUS,
SR_CONF_LIMIT_SAMPLES | SR_CONF_GET | SR_CONF_SET,
SR_CONF_LIMIT_MSEC | SR_CONF_GET | SR_CONF_SET,
+ SR_CONF_LIMIT_FRAMES | SR_CONF_GET | SR_CONF_SET,
SR_CONF_SAMPLERATE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_AVERAGING | SR_CONF_GET | SR_CONF_SET,
SR_CONF_AVG_SAMPLES | SR_CONF_GET | SR_CONF_SET,
case SR_CONF_LIMIT_MSEC:
*data = g_variant_new_uint64(devc->limit_msec);
break;
+ case SR_CONF_LIMIT_FRAMES:
+ *data = g_variant_new_uint64(devc->limit_frames);
+ break;
case SR_CONF_AVERAGING:
*data = g_variant_new_boolean(devc->avg);
break;
devc->limit_msec = g_variant_get_uint64(data);
devc->limit_samples = 0;
break;
+ case SR_CONF_LIMIT_FRAMES:
+ devc->limit_frames = g_variant_get_uint64(data);
+ break;
case SR_CONF_AVERAGING:
devc->avg = g_variant_get_boolean(data);
sr_dbg("%s averaging", devc->avg ? "Enabling" : "Disabling");
std_session_send_df_header(sdi);
- if (SAMPLES_PER_FRAME > 0)
+ if (devc->limit_frames > 0)
std_session_send_frame_begin(sdi);
/* We use this timestamp to decide how many more samples to send. */
static int dev_acquisition_stop(struct sr_dev_inst *sdi)
{
+ struct dev_context *devc;
+
sr_session_source_remove(sdi->session, -1);
- if (SAMPLES_PER_FRAME > 0)
+ devc = sdi->priv;
+ if (devc->limit_frames > 0)
std_session_send_frame_end(sdi);
std_session_send_df_end(sdi);