Use std_session_send_df_frame_begin()/_end() where possible.

This commit is contained in:
Uwe Hermann 2020-04-08 23:49:38 +02:00
parent 7f7702b81b
commit 4c5f70063a
17 changed files with 47 additions and 112 deletions

View File

@ -338,9 +338,7 @@ static void handle_packet(const struct sr_dev_inst *sdi)
g_strfreev(tokens); g_strfreev(tokens);
/* Begin frame. */ /* Begin frame. */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
packet.payload = NULL;
sr_session_send(sdi, &packet);
sr_analog_init(&analog, &encoding, &meaning, &spec, 4); sr_analog_init(&analog, &encoding, &meaning, &spec, 4);
@ -373,9 +371,7 @@ static void handle_packet(const struct sr_dev_inst *sdi)
g_slist_free(l); g_slist_free(l);
/* End frame. */ /* End frame. */
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
packet.payload = NULL;
sr_session_send(sdi, &packet);
sr_sw_limits_update_samples_read(&devc->limits, 1); sr_sw_limits_update_samples_read(&devc->limits, 1);
} }

View File

@ -703,7 +703,7 @@ SR_PRIV void bl_acme_close_channel(struct sr_channel *ch)
SR_PRIV int bl_acme_receive_data(int fd, int revents, void *cb_data) SR_PRIV int bl_acme_receive_data(int fd, int revents, void *cb_data)
{ {
uint64_t nrexpiration; uint64_t nrexpiration;
struct sr_datafeed_packet packet, framep; struct sr_datafeed_packet packet;
struct sr_datafeed_analog analog; struct sr_datafeed_analog analog;
struct sr_analog_encoding encoding; struct sr_analog_encoding encoding;
struct sr_analog_meaning meaning; struct sr_analog_meaning meaning;
@ -759,8 +759,7 @@ SR_PRIV int bl_acme_receive_data(int fd, int revents, void *cb_data)
* accuracy. * accuracy.
*/ */
for (i = 0; i < nrexpiration; i++) { for (i = 0; i < nrexpiration; i++) {
framep.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &framep);
/* /*
* Due to different units used in each channel we're sending * Due to different units used in each channel we're sending
@ -788,8 +787,7 @@ SR_PRIV int bl_acme_receive_data(int fd, int revents, void *cb_data)
sr_session_send(sdi, &packet); sr_session_send(sdi, &packet);
} }
framep.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &framep);
} }
sr_sw_limits_update_samples_read(&devc->limits, 1); sr_sw_limits_update_samples_read(&devc->limits, 1);

View File

@ -189,17 +189,13 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi)
{ {
struct sr_scpi_dev_inst *scpi; struct sr_scpi_dev_inst *scpi;
struct dev_context *devc; struct dev_context *devc;
struct sr_datafeed_packet packet;
scpi = sdi->conn; scpi = sdi->conn;
devc = sdi->priv; devc = sdi->priv;
if (devc->df_started) { if (devc->df_started) {
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
std_session_send_df_end(sdi); std_session_send_df_end(sdi);
devc->df_started = FALSE; devc->df_started = FALSE;
} }

View File

@ -141,11 +141,8 @@ SR_PRIV int gwinstek_gds_800_receive_data(int fd, int revents, void *cb_data)
} else { } else {
/* Start acquiring next frame. */ /* Start acquiring next frame. */
if (devc->df_started) { if (devc->df_started) {
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet); std_session_send_df_frame_begin(sdi);
packet.type = SR_DF_FRAME_BEGIN;
sr_session_send(sdi, &packet);
} }
devc->cur_acq_frame++; devc->cur_acq_frame++;
@ -202,10 +199,7 @@ SR_PRIV int gwinstek_gds_800_receive_data(int fd, int revents, void *cb_data)
if (!devc->df_started) { if (!devc->df_started) {
std_session_send_df_header(sdi); std_session_send_df_header(sdi);
std_session_send_df_frame_begin(sdi);
packet.type = SR_DF_FRAME_BEGIN;
sr_session_send(sdi, &packet);
devc->df_started = TRUE; devc->df_started = TRUE;
} }
break; break;
@ -271,11 +265,8 @@ SR_PRIV int gwinstek_gds_800_receive_data(int fd, int revents, void *cb_data)
} else { } else {
/* Start acquiring next frame. */ /* Start acquiring next frame. */
if (devc->df_started) { if (devc->df_started) {
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet); std_session_send_df_frame_begin(sdi);
packet.type = SR_DF_FRAME_BEGIN;
sr_session_send(sdi, &packet);
} }
devc->cur_acq_frame++; devc->cur_acq_frame++;
devc->state = START_ACQUISITION; devc->state = START_ACQUISITION;

View File

@ -1402,10 +1402,8 @@ SR_PRIV int hmo_receive_data(int fd, int revents, void *cb_data)
* Send "frame begin" packet upon reception of data for the * Send "frame begin" packet upon reception of data for the
* first enabled channel. * first enabled channel.
*/ */
if (devc->current_channel == devc->enabled_channels) { if (devc->current_channel == devc->enabled_channels)
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
}
/* /*
* Pass on the received data of the channel(s). * Pass on the received data of the channel(s).
@ -1526,8 +1524,7 @@ SR_PRIV int hmo_receive_data(int fd, int revents, void *cb_data)
*/ */
hmo_cleanup_logic_data(devc); hmo_cleanup_logic_data(devc);
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
/* /*
* End of frame was reached. Stop acquisition after the specified * End of frame was reached. Stop acquisition after the specified

View File

@ -704,7 +704,6 @@ static void send_chunk(struct sr_dev_inst *sdi, unsigned char *buf,
*/ */
static void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer) static void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer)
{ {
struct sr_datafeed_packet packet;
struct sr_dev_inst *sdi; struct sr_dev_inst *sdi;
struct dev_context *devc; struct dev_context *devc;
int num_samples, pre; int num_samples, pre;
@ -782,8 +781,7 @@ static void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer)
devc->framebuf = NULL; devc->framebuf = NULL;
/* Mark the end of this frame. */ /* Mark the end of this frame. */
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
if (devc->limit_frames && ++devc->num_frames >= devc->limit_frames) { if (devc->limit_frames && ++devc->num_frames >= devc->limit_frames) {
/* Terminate session */ /* Terminate session */
@ -797,7 +795,6 @@ static void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer)
static int handle_event(int fd, int revents, void *cb_data) static int handle_event(int fd, int revents, void *cb_data)
{ {
const struct sr_dev_inst *sdi; const struct sr_dev_inst *sdi;
struct sr_datafeed_packet packet;
struct timeval tv; struct timeval tv;
struct sr_dev_driver *di; struct sr_dev_driver *di;
struct dev_context *devc; struct dev_context *devc;
@ -889,8 +886,7 @@ static int handle_event(int fd, int revents, void *cb_data)
devc->dev_state = FETCH_DATA; devc->dev_state = FETCH_DATA;
/* Tell the frontend a new frame is on the way. */ /* Tell the frontend a new frame is on the way. */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
break; break;
case CAPTURE_READY_9BIT: case CAPTURE_READY_9BIT:
/* TODO */ /* TODO */

View File

@ -415,7 +415,6 @@ static int read_subframe(const struct sr_dev_inst *sdi, uint8_t *buf)
SR_PRIV int hung_chang_dso_2100_poll(int fd, int revents, void *cb_data) SR_PRIV int hung_chang_dso_2100_poll(int fd, int revents, void *cb_data)
{ {
struct sr_datafeed_packet packet = { .type = SR_DF_FRAME_BEGIN };
struct sr_dev_inst *sdi; struct sr_dev_inst *sdi;
struct dev_context *devc; struct dev_context *devc;
uint8_t state, buf[1000]; uint8_t state, buf[1000];
@ -443,7 +442,7 @@ SR_PRIV int hung_chang_dso_2100_poll(int fd, int revents, void *cb_data)
return FALSE; return FALSE;
} }
sr_session_send(sdi, &packet); std_session_send_df_frame_begin(sdi);
if (devc->channel) { if (devc->channel) {
while (read_subframe(sdi, buf)) { while (read_subframe(sdi, buf)) {
@ -456,8 +455,7 @@ SR_PRIV int hung_chang_dso_2100_poll(int fd, int revents, void *cb_data)
} }
} }
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
if (++devc->frame >= devc->frame_limit) if (++devc->frame >= devc->frame_limit)
sr_dev_acquisition_stop(sdi); sr_dev_acquisition_stop(sdi);

View File

@ -679,10 +679,8 @@ SR_PRIV int lecroy_xstream_receive_data(int fd, int revents, void *cb_data)
* Send "frame begin" packet upon reception of data for the * Send "frame begin" packet upon reception of data for the
* first enabled channel. * first enabled channel.
*/ */
if (devc->current_channel == devc->enabled_channels) { if (devc->current_channel == devc->enabled_channels)
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
}
meaning.channels = g_slist_append(NULL, ch); meaning.channels = g_slist_append(NULL, ch);
packet.payload = &analog; packet.payload = &analog;
@ -706,8 +704,7 @@ SR_PRIV int lecroy_xstream_receive_data(int fd, int revents, void *cb_data)
return TRUE; return TRUE;
} }
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
/* /*
* End of frame was reached. Stop acquisition after the specified * End of frame was reached. Stop acquisition after the specified

View File

@ -166,7 +166,6 @@ SR_PRIV int maynuo_m97_receive_data(int fd, int revents, void *cb_data)
struct sr_dev_inst *sdi; struct sr_dev_inst *sdi;
struct dev_context *devc; struct dev_context *devc;
struct sr_modbus_dev_inst *modbus; struct sr_modbus_dev_inst *modbus;
struct sr_datafeed_packet packet;
uint16_t registers[4]; uint16_t registers[4];
(void)fd; (void)fd;
@ -180,8 +179,7 @@ SR_PRIV int maynuo_m97_receive_data(int fd, int revents, void *cb_data)
devc->expecting_registers = 0; devc->expecting_registers = 0;
if (sr_modbus_read_holding_registers(modbus, -1, 4, registers) == SR_OK) { if (sr_modbus_read_holding_registers(modbus, -1, 4, registers) == SR_OK) {
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
maynuo_m97_session_send_value(sdi, sdi->channels->data, maynuo_m97_session_send_value(sdi, sdi->channels->data,
RBFL(registers + 0), RBFL(registers + 0),
@ -190,8 +188,7 @@ SR_PRIV int maynuo_m97_receive_data(int fd, int revents, void *cb_data)
RBFL(registers + 2), RBFL(registers + 2),
SR_MQ_CURRENT, SR_UNIT_AMPERE, 4); SR_MQ_CURRENT, SR_UNIT_AMPERE, 4);
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
sr_sw_limits_update_samples_read(&devc->limits, 1); sr_sw_limits_update_samples_read(&devc->limits, 1);
} }

View File

@ -120,7 +120,6 @@ SR_PRIV int rdtech_dps_receive_data(int fd, int revents, void *cb_data)
struct sr_dev_inst *sdi; struct sr_dev_inst *sdi;
struct dev_context *devc; struct dev_context *devc;
struct sr_modbus_dev_inst *modbus; struct sr_modbus_dev_inst *modbus;
struct sr_datafeed_packet packet;
uint16_t registers[8]; uint16_t registers[8];
int ret; int ret;
@ -143,8 +142,7 @@ SR_PRIV int rdtech_dps_receive_data(int fd, int revents, void *cb_data)
if (ret == SR_OK) { if (ret == SR_OK) {
/* Send channel values */ /* Send channel values */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
send_value(sdi, sdi->channels->data, send_value(sdi, sdi->channels->data,
RB16(registers + 0) / devc->voltage_multiplier, RB16(registers + 0) / devc->voltage_multiplier,
@ -158,8 +156,7 @@ SR_PRIV int rdtech_dps_receive_data(int fd, int revents, void *cb_data)
RB16(registers + 2) / 100.0f, RB16(registers + 2) / 100.0f,
SR_MQ_POWER, 0, SR_UNIT_WATT, 2); SR_MQ_POWER, 0, SR_UNIT_WATT, 2);
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
/* Check for state changes */ /* Check for state changes */
if (devc->actual_ovp_state != (RB16(registers + 5) == STATE_OVP)) { if (devc->actual_ovp_state != (RB16(registers + 5) == STATE_OVP)) {

View File

@ -878,7 +878,6 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
struct sr_scpi_dev_inst *scpi; struct sr_scpi_dev_inst *scpi;
struct dev_context *devc; struct dev_context *devc;
struct sr_channel *ch; struct sr_channel *ch;
struct sr_datafeed_packet packet;
gboolean some_digital; gboolean some_digital;
GSList *l; GSList *l;
char *cmd; char *cmd;
@ -994,8 +993,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
return SR_ERR; return SR_ERR;
/* Start of first frame. */ /* Start of first frame. */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
return SR_OK; return SR_OK;
} }

View File

@ -666,8 +666,7 @@ SR_PRIV int rigol_ds_receive(int fd, int revents, void *cb_data)
return TRUE; return TRUE;
if (len == -1) { if (len == -1) {
sr_err("Error while reading block header, aborting capture."); sr_err("Error while reading block header, aborting capture.");
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
sr_dev_acquisition_stop(sdi); sr_dev_acquisition_stop(sdi);
return TRUE; return TRUE;
} }
@ -699,8 +698,7 @@ SR_PRIV int rigol_ds_receive(int fd, int revents, void *cb_data)
if (len == -1) { if (len == -1) {
sr_err("Error while reading block data, aborting capture."); sr_err("Error while reading block data, aborting capture.");
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
sr_dev_acquisition_stop(sdi); sr_dev_acquisition_stop(sdi);
return TRUE; return TRUE;
} }
@ -761,8 +759,7 @@ SR_PRIV int rigol_ds_receive(int fd, int revents, void *cb_data)
/* End acquisition when data for all channels is acquired. */ /* End acquisition when data for all channels is acquired. */
if (!sr_scpi_read_complete(scpi) && !devc->channel_entry->next) { if (!sr_scpi_read_complete(scpi) && !devc->channel_entry->next) {
sr_err("Read should have been completed"); sr_err("Read should have been completed");
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
sr_dev_acquisition_stop(sdi); sr_dev_acquisition_stop(sdi);
return TRUE; return TRUE;
} }
@ -796,8 +793,7 @@ SR_PRIV int rigol_ds_receive(int fd, int revents, void *cb_data)
rigol_ds_channel_start(sdi); rigol_ds_channel_start(sdi);
} else { } else {
/* Done with this frame. */ /* Done with this frame. */
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
if (++devc->num_frames == devc->limit_frames) { if (++devc->num_frames == devc->limit_frames) {
/* Last frame, stop capture. */ /* Last frame, stop capture. */
@ -809,8 +805,7 @@ SR_PRIV int rigol_ds_receive(int fd, int revents, void *cb_data)
rigol_ds_capture_start(sdi); rigol_ds_capture_start(sdi);
/* Start of next frame. */ /* Start of next frame. */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
} }
} }

View File

@ -31,7 +31,6 @@ static void send_frame_start(struct sr_dev_inst *sdi)
struct lcr_parse_info *info; struct lcr_parse_info *info;
uint64_t freq; uint64_t freq;
const char *model; const char *model;
struct sr_datafeed_packet packet;
devc = sdi->priv; devc = sdi->priv;
info = &devc->parse_info; info = &devc->parse_info;
@ -51,8 +50,7 @@ static void send_frame_start(struct sr_dev_inst *sdi)
} }
/* Data is about to get sent. Start a new frame. */ /* Data is about to get sent. Start a new frame. */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
} }
static int handle_packet(struct sr_dev_inst *sdi, const uint8_t *pkt) static int handle_packet(struct sr_dev_inst *sdi, const uint8_t *pkt)

View File

@ -799,7 +799,6 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
struct sr_scpi_dev_inst *scpi; struct sr_scpi_dev_inst *scpi;
struct dev_context *devc; struct dev_context *devc;
struct sr_channel *ch; struct sr_channel *ch;
struct sr_datafeed_packet packet;
gboolean some_digital; gboolean some_digital;
GSList *l, *d; GSList *l, *d;
@ -900,8 +899,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
return SR_ERR; return SR_ERR;
/* Start of first frame. */ /* Start of first frame. */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
return SR_OK; return SR_OK;
} }

View File

@ -539,8 +539,7 @@ SR_PRIV int siglent_sds_receive(int fd, int revents, void *cb_data)
return TRUE; return TRUE;
if (len == -1) { if (len == -1) {
sr_err("Read error, aborting capture."); sr_err("Read error, aborting capture.");
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
sdi->driver->dev_acquisition_stop(sdi); sdi->driver->dev_acquisition_stop(sdi);
return TRUE; return TRUE;
} }
@ -549,8 +548,7 @@ SR_PRIV int siglent_sds_receive(int fd, int revents, void *cb_data)
if (len == -1) { if (len == -1) {
sr_err("Read error, aborting capture."); sr_err("Read error, aborting capture.");
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
sdi->driver->dev_acquisition_stop(sdi); sdi->driver->dev_acquisition_stop(sdi);
return TRUE; return TRUE;
} }
@ -567,8 +565,7 @@ SR_PRIV int siglent_sds_receive(int fd, int revents, void *cb_data)
len = sr_scpi_read_data(scpi, (char *)devc->buffer, devc->num_samples-devc->num_block_bytes); len = sr_scpi_read_data(scpi, (char *)devc->buffer, devc->num_samples-devc->num_block_bytes);
if (len == -1) { if (len == -1) {
sr_err("Read error, aborting capture."); sr_err("Read error, aborting capture.");
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
sdi->driver->dev_acquisition_stop(sdi); sdi->driver->dev_acquisition_stop(sdi);
return TRUE; return TRUE;
} }
@ -615,8 +612,7 @@ SR_PRIV int siglent_sds_receive(int fd, int revents, void *cb_data)
read_complete = TRUE; read_complete = TRUE;
if (!sr_scpi_read_complete(scpi)) { if (!sr_scpi_read_complete(scpi)) {
sr_err("Read should have been completed."); sr_err("Read should have been completed.");
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
sdi->driver->dev_acquisition_stop(sdi); sdi->driver->dev_acquisition_stop(sdi);
return TRUE; return TRUE;
} }
@ -633,8 +629,7 @@ SR_PRIV int siglent_sds_receive(int fd, int revents, void *cb_data)
siglent_sds_channel_start(sdi); siglent_sds_channel_start(sdi);
} else { } else {
/* Done with this frame. */ /* Done with this frame. */
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
if (++devc->num_frames == devc->limit_frames) { if (++devc->num_frames == devc->limit_frames) {
/* Last frame, stop capture. */ /* Last frame, stop capture. */
sdi->driver->dev_acquisition_stop(sdi); sdi->driver->dev_acquisition_stop(sdi);
@ -644,8 +639,7 @@ SR_PRIV int siglent_sds_receive(int fd, int revents, void *cb_data)
siglent_sds_capture_start(sdi); siglent_sds_capture_start(sdi);
/* Start of next frame. */ /* Start of next frame. */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
} }
} }
} }
@ -658,8 +652,7 @@ SR_PRIV int siglent_sds_receive(int fd, int revents, void *cb_data)
packet.type = SR_DF_LOGIC; packet.type = SR_DF_LOGIC;
packet.payload = &logic; packet.payload = &logic;
sr_session_send(sdi, &packet); sr_session_send(sdi, &packet);
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
sdi->driver->dev_acquisition_stop(sdi); sdi->driver->dev_acquisition_stop(sdi);
if (++devc->num_frames == devc->limit_frames) { if (++devc->num_frames == devc->limit_frames) {
@ -671,14 +664,12 @@ SR_PRIV int siglent_sds_receive(int fd, int revents, void *cb_data)
siglent_sds_capture_start(sdi); siglent_sds_capture_start(sdi);
/* Start of next frame. */ /* Start of next frame. */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
} }
} }
// sr_session_send(sdi, &packet); // sr_session_send(sdi, &packet);
// packet.type = SR_DF_FRAME_END; // std_session_send_df_frame_end(sdi);
// sr_session_send(sdi, &packet);
// sdi->driver->dev_acquisition_stop(sdi); // sdi->driver->dev_acquisition_stop(sdi);
return TRUE; return TRUE;

View File

@ -1018,7 +1018,6 @@ SR_PRIV int dlm_data_receive(int fd, int revents, void *cb_data)
struct scope_state *model_state; struct scope_state *model_state;
struct dev_context *devc; struct dev_context *devc;
struct sr_channel *ch; struct sr_channel *ch;
struct sr_datafeed_packet packet;
int chunk_len, num_bytes; int chunk_len, num_bytes;
static GArray *data = NULL; static GArray *data = NULL;
@ -1065,10 +1064,8 @@ SR_PRIV int dlm_data_receive(int fd, int revents, void *cb_data)
devc->data_pending = FALSE; devc->data_pending = FALSE;
/* Signal the beginning of a new frame if this is the first channel. */ /* Signal the beginning of a new frame if this is the first channel. */
if (devc->current_channel == devc->enabled_channels) { if (devc->current_channel == devc->enabled_channels)
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
sr_session_send(sdi, &packet);
}
if (dlm_block_data_header_process(data, &num_bytes) != SR_OK) { if (dlm_block_data_header_process(data, &num_bytes) != SR_OK) {
sr_err("Encountered malformed block data header."); sr_err("Encountered malformed block data header.");
@ -1111,8 +1108,7 @@ SR_PRIV int dlm_data_receive(int fd, int revents, void *cb_data)
* and set the next enabled channel. Then, request its data. * and set the next enabled channel. Then, request its data.
*/ */
if (!devc->current_channel->next) { if (!devc->current_channel->next) {
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
sr_session_send(sdi, &packet);
devc->current_channel = devc->enabled_channels; devc->current_channel = devc->enabled_channels;
/* /*

View File

@ -224,9 +224,7 @@ SR_PRIV int ebd_receive_data(int fd, int revents, void *cb_data)
sr_dbg("Current limit %f", current_limit); sr_dbg("Current limit %f", current_limit);
/* Begin frame. */ /* Begin frame. */
packet.type = SR_DF_FRAME_BEGIN; std_session_send_df_frame_begin(sdi);
packet.payload = NULL;
sr_session_send(sdi, &packet);
sr_analog_init(&analog, &encoding, &meaning, &spec, 4); sr_analog_init(&analog, &encoding, &meaning, &spec, 4);
@ -257,9 +255,7 @@ SR_PRIV int ebd_receive_data(int fd, int revents, void *cb_data)
g_slist_free(l); g_slist_free(l);
/* End frame. */ /* End frame. */
packet.type = SR_DF_FRAME_END; std_session_send_df_frame_end(sdi);
packet.payload = NULL;
sr_session_send(sdi, &packet);
sr_sw_limits_update_samples_read(&devc->limits, 1); sr_sw_limits_update_samples_read(&devc->limits, 1);
if (sr_sw_limits_check(&devc->limits)) if (sr_sw_limits_check(&devc->limits))