X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fopenbench-logic-sniffer%2Fols.c;h=5d62d90192f2274a56204b76ae1aa5aa94d216bb;hb=9031ce63f3cee037ffc3e565cf324cafe38522f5;hp=9579222b60453d61b869859437ac212aa3b89c7d;hpb=c09f0b578c0e9c03590cb814f66004bb3f6815ff;p=libsigrok.git diff --git a/hardware/openbench-logic-sniffer/ols.c b/hardware/openbench-logic-sniffer/ols.c index 9579222b..5d62d901 100644 --- a/hardware/openbench-logic-sniffer/ols.c +++ b/hardware/openbench-logic-sniffer/ols.c @@ -507,7 +507,7 @@ static int hw_dev_close(int dev_index) if (!(sdi = sr_dev_inst_get(dev_insts, dev_index))) { sr_err("ols: %s: sdi was NULL", __func__); - return SR_ERR; /* TODO: SR_ERR_ARG? */ + return SR_ERR_BUG; } ctx = sdi->priv; @@ -691,7 +691,7 @@ static int hw_dev_config_set(int dev_index, int hwcap, void *value) return ret; } -static int receive_data(int fd, int revents, void *session_data) +static int receive_data(int fd, int revents, void *cb_data) { struct sr_datafeed_packet packet; struct sr_datafeed_logic logic; @@ -722,7 +722,7 @@ static int receive_data(int fd, int revents, void *session_data) * finished. We'll double that to 30ms to be sure... */ sr_source_remove(fd); - sr_source_add(fd, G_IO_IN, 30, receive_data, session_data); + sr_source_add(fd, G_IO_IN, 30, receive_data, cb_data); ctx->raw_sample_buf = g_try_malloc(ctx->limit_samples * 4); if (!ctx->raw_sample_buf) { sr_err("ols: %s: ctx->raw_sample_buf malloc failed", @@ -834,12 +834,12 @@ static int receive_data(int fd, int revents, void *session_data) logic.unitsize = 4; logic.data = ctx->raw_sample_buf + (ctx->limit_samples - ctx->num_samples) * 4; - sr_session_bus(session_data, &packet); + sr_session_send(cb_data, &packet); } /* send the trigger */ packet.type = SR_DF_TRIGGER; - sr_session_bus(session_data, &packet); + sr_session_send(cb_data, &packet); /* send post-trigger samples */ packet.type = SR_DF_LOGIC; @@ -848,7 +848,7 @@ static int receive_data(int fd, int revents, void *session_data) logic.unitsize = 4; logic.data = ctx->raw_sample_buf + ctx->trigger_at * 4 + (ctx->limit_samples - ctx->num_samples) * 4; - sr_session_bus(session_data, &packet); + sr_session_send(cb_data, &packet); } else { /* no trigger was used */ packet.type = SR_DF_LOGIC; @@ -857,20 +857,20 @@ static int receive_data(int fd, int revents, void *session_data) logic.unitsize = 4; logic.data = ctx->raw_sample_buf + (ctx->limit_samples - ctx->num_samples) * 4; - sr_session_bus(session_data, &packet); + sr_session_send(cb_data, &packet); } g_free(ctx->raw_sample_buf); serial_flush(fd); serial_close(fd); packet.type = SR_DF_END; - sr_session_bus(session_data, &packet); + sr_session_send(cb_data, &packet); } return TRUE; } -static int hw_dev_acquisition_start(int dev_index, gpointer session_data) +static int hw_dev_acquisition_start(int dev_index, void *cb_data) { struct sr_datafeed_packet *packet; struct sr_datafeed_header *header; @@ -995,7 +995,7 @@ static int hw_dev_acquisition_start(int dev_index, gpointer session_data) return SR_ERR; sr_source_add(ctx->serial->fd, G_IO_IN, -1, receive_data, - session_data); + cb_data); if (!(packet = g_try_malloc(sizeof(struct sr_datafeed_packet)))) { sr_err("ols: %s: packet malloc failed", __func__); @@ -1015,7 +1015,7 @@ static int hw_dev_acquisition_start(int dev_index, gpointer session_data) gettimeofday(&header->starttime, NULL); header->samplerate = ctx->cur_samplerate; header->num_logic_probes = NUM_PROBES; - sr_session_bus(session_data, packet); + sr_session_send(cb_data, packet); g_free(header); g_free(packet); @@ -1023,7 +1023,8 @@ static int hw_dev_acquisition_start(int dev_index, gpointer session_data) return SR_OK; } -static int hw_dev_acquisition_stop(int dev_index, gpointer session_dev_id) +/* TODO: This stops acquisition on ALL devices, ignoring dev_index. */ +static int hw_dev_acquisition_stop(int dev_index, void *cb_data) { struct sr_datafeed_packet packet; @@ -1031,7 +1032,7 @@ static int hw_dev_acquisition_stop(int dev_index, gpointer session_dev_id) (void)dev_index; packet.type = SR_DF_END; - sr_session_bus(session_dev_id, &packet); + sr_session_send(cb_data, &packet); return SR_OK; }