X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fdemo%2Fdemo.c;h=15a4c60d3f9aac4838d81a395d9bd75ef1dac905;hb=700d6b64d578ce10e57f6a2289e37a5564eccf1c;hp=6042cfd98fca6bb029e414fcd76e14a984996ed4;hpb=9dfacd870618806defe64a0cbe1ccd330e11cb3d;p=libsigrok.git diff --git a/src/hardware/demo/demo.c b/src/hardware/demo/demo.c index 6042cfd9..15a4c60d 100644 --- a/src/hardware/demo/demo.c +++ b/src/hardware/demo/demo.c @@ -38,7 +38,7 @@ /* Size of the analog pattern space per channel. */ #define ANALOG_BUFSIZE 4096 -#define DEFAULT_ANALOG_AMPLITUDE 25 +#define DEFAULT_ANALOG_AMPLITUDE 10 #define ANALOG_SAMPLES_PER_PERIOD 20 /* Logic patterns we can generate. */ @@ -177,7 +177,7 @@ static const uint8_t pattern_sigrok[] = { SR_PRIV struct sr_dev_driver demo_driver_info; -static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data); +static int dev_acquisition_stop(struct sr_dev_inst *sdi); static int init(struct sr_dev_driver *di, struct sr_context *sr_ctx) { @@ -389,7 +389,7 @@ static void clear_helper(void *priv) g_free(devc); } -static int cleanup(const struct sr_dev_driver *di) +static int dev_clear(const struct sr_dev_driver *di) { return std_dev_clear(di, clear_helper); } @@ -757,7 +757,7 @@ static int prepare_data(int fd, int revents, void *cb_data) if (devc->cur_samplerate <= 0 || devc->logic_unitsize <= 0 || (devc->num_logic_channels <= 0 && devc->num_analog_channels <= 0)) { - dev_acquisition_stop(sdi, sdi); + dev_acquisition_stop(sdi); return G_SOURCE_CONTINUE; } @@ -841,20 +841,18 @@ static int prepare_data(int fd, int revents, void *cb_data) } } sr_dbg("Requested number of samples reached."); - dev_acquisition_stop(sdi, sdi); + dev_acquisition_stop(sdi); } return G_SOURCE_CONTINUE; } -static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) +static int dev_acquisition_start(const struct sr_dev_inst *sdi) { struct dev_context *devc; GHashTableIter iter; void *value; - (void)cb_data; - if (sdi->status != SR_ST_ACTIVE) return SR_ERR_DEV_CLOSED; @@ -868,7 +866,6 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) sr_session_source_add(sdi->session, -1, 0, 100, prepare_data, (struct sr_dev_inst *)sdi); - /* Send header packet to the session bus. */ std_session_send_df_header(sdi, LOG_PREFIX); /* We use this timestamp to decide how many more samples to send. */ @@ -878,19 +875,11 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) return SR_OK; } -static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data) +static int dev_acquisition_stop(struct sr_dev_inst *sdi) { - struct sr_datafeed_packet packet; - - (void)cb_data; - sr_dbg("Stopping acquisition."); - sr_session_source_remove(sdi->session, -1); - - /* Send last packet. */ - packet.type = SR_DF_END; - sr_session_send(sdi, &packet); + std_session_send_df_end(sdi, LOG_PREFIX); return SR_OK; } @@ -900,10 +889,10 @@ SR_PRIV struct sr_dev_driver demo_driver_info = { .longname = "Demo driver and pattern generator", .api_version = 1, .init = init, - .cleanup = cleanup, + .cleanup = std_cleanup, .scan = scan, .dev_list = dev_list, - .dev_clear = NULL, + .dev_clear = dev_clear, .config_get = config_get, .config_set = config_set, .config_list = config_list,