X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fhwdriver.c;h=6f467edb17278f09ca26981404f0af6085a7f4bf;hb=d2f7c417fdd96a13d8fd86350d2fc13db16f626c;hp=deff5a7b2a9b703203ccf011256647d68e25f8ea;hpb=f200d59ee21a42998752c4319d4ff48e129c95c5;p=libsigrok.git diff --git a/src/hwdriver.c b/src/hwdriver.c index deff5a7b..6f467edb 100644 --- a/src/hwdriver.c +++ b/src/hwdriver.c @@ -592,6 +592,25 @@ SR_PRIV void sr_config_free(struct sr_config *src) } +/** @private */ +SR_PRIV int sr_dev_acquisition_stop(struct sr_dev_inst *sdi) +{ + if (!sdi || !sdi->driver) { + sr_err("%s: Invalid arguments.", __func__); + return SR_ERR_ARG; + } + + if (sdi->status != SR_ST_ACTIVE) { + sr_err("%s: Device instance not active, can't stop.", + sdi->driver->name); + return SR_ERR_DEV_CLOSED; + } + + sr_dbg("%s: Stopping acquisition.", sdi->driver->name); + + return sdi->driver->dev_acquisition_stop(sdi); +} + static void log_key(const struct sr_dev_inst *sdi, const struct sr_channel_group *cg, uint32_t key, int op, GVariant *data) {