Beispiel #1
0
static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
{
	struct sr_datafeed_packet packet;
	struct sr_scpi_dev_inst *scpi;
	float f;

	(void)cb_data;

	if (sdi->status != SR_ST_ACTIVE)
		return SR_ERR_DEV_CLOSED;

	scpi = sdi->conn;

	/*
	 * A requested value is certainly on the way. Retrieve it now,
	 * to avoid leaving the device in a state where it's not expecting
	 * commands.
	 */
	sr_scpi_get_float(scpi, NULL, &f);
	sr_scpi_source_remove(sdi->session, scpi);

	packet.type = SR_DF_END;
	sr_session_send(sdi, &packet);

	return SR_OK;
}
Beispiel #2
0
static int dev_acquisition_stop(struct sr_dev_inst *sdi)
{
	struct sr_scpi_dev_inst *scpi;
	struct dev_context *devc;
	struct sr_datafeed_packet packet;

	scpi = sdi->conn;
	devc = sdi->priv;

	if (sdi->status != SR_ST_ACTIVE) {
		sr_err("Device inactive, can't stop acquisition.");
		return SR_ERR;
	}

	if (devc->df_started) {
		packet.type = SR_DF_FRAME_END;
		sr_session_send(sdi, &packet);

		std_session_send_df_end(sdi);

		devc->df_started = FALSE;
	}

	sr_scpi_source_remove(sdi->session, scpi);

	return SR_OK;
}
Beispiel #3
0
static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
{
    struct dev_context *devc;
    struct sr_scpi_dev_inst *scpi;
    struct sr_datafeed_packet packet;

    (void)cb_data;

    devc = sdi->priv;

    if (sdi->status != SR_ST_ACTIVE) {
        sr_err("Device inactive, can't stop acquisition.");
        return SR_ERR;
    }

    /* End of last frame. */
    packet.type = SR_DF_END;
    sr_session_send(sdi, &packet);

    g_slist_free(devc->enabled_channels);
    devc->enabled_channels = NULL;
    scpi = sdi->conn;
    sr_scpi_source_remove(sdi->session, scpi);

    return SR_OK;
}
Beispiel #4
0
static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
{
	struct dev_context *devc;
	struct sr_scpi_dev_inst *scpi;
	struct sr_datafeed_packet packet;

	(void)cb_data;

	packet.type = SR_DF_END;
	packet.payload = NULL;
	sr_session_send(sdi, &packet);

	if (sdi->status != SR_ST_ACTIVE)
		return SR_ERR_DEV_CLOSED;

	devc = sdi->priv;

	devc->num_frames = 0;
	g_slist_free(devc->enabled_channels);
	devc->enabled_channels = NULL;
	scpi = sdi->conn;
	sr_scpi_source_remove(sdi->session, scpi);

	return SR_OK;
}
Beispiel #5
0
static int dev_acquisition_stop(struct sr_dev_inst *sdi)
{
	struct dev_context *devc;

	std_session_send_df_end(sdi);

	devc = sdi->priv;

	devc->num_frames = 0;
	g_slist_free(devc->enabled_channels);
	devc->enabled_channels = NULL;

	sr_scpi_source_remove(sdi->session, sdi->conn);

	return SR_OK;
}
Beispiel #6
0
static int dev_acquisition_stop(struct sr_dev_inst *sdi)
{
	struct dev_context *devc;
	struct sr_scpi_dev_inst *scpi;

	devc = sdi->priv;

	if (sdi->status != SR_ST_ACTIVE) {
		sr_err("Device inactive, can't stop acquisition.");
		return SR_ERR;
	}

	std_session_send_df_end(sdi);

	g_slist_free(devc->enabled_channels);
	devc->enabled_channels = NULL;
	scpi = sdi->conn;
	sr_scpi_source_remove(sdi->session, scpi);

	return SR_OK;
}