X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fdemo%2Fdemo.c;h=1328c4cfc586869d18b5d9db46bfcd76afbfbdfc;hb=e73ffd4238c6d1be58d3fcdcf7f100200f033856;hp=1619be24c9e2d927910379c9ccf9948c5b21f6af;hpb=efdecf4c0553ce00ea2a6365212f5fe305496fed;p=libsigrok.git diff --git a/hardware/demo/demo.c b/hardware/demo/demo.c index 1619be24..1328c4cf 100644 --- a/hardware/demo/demo.c +++ b/hardware/demo/demo.c @@ -212,7 +212,7 @@ static int hw_dev_open(struct sr_dev_inst *sdi) { (void)sdi; - /* Nothing needed so far. */ + sdi->status = SR_ST_ACTIVE; return SR_OK; } @@ -221,7 +221,7 @@ static int hw_dev_close(struct sr_dev_inst *sdi) { (void)sdi; - /* Nothing needed so far. */ + sdi->status = SR_ST_INACTIVE; return SR_OK; } @@ -299,6 +299,9 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi) struct dev_context *const devc = sdi->priv; + if (sdi->status != SR_ST_ACTIVE) + return SR_ERR_DEV_CLOSED; + if (id == SR_CONF_SAMPLERATE) { devc->cur_samplerate = g_variant_get_uint64(data); sr_dbg("%s: setting samplerate to %" PRIu64, __func__, @@ -460,6 +463,9 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, { struct dev_context *const devc = sdi->priv; + if (sdi->status != SR_ST_ACTIVE) + return SR_ERR_DEV_CLOSED; + devc->cb_data = cb_data; devc->samples_counter = 0;