X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=device.c;h=fb8d60b28a5c3ad6dd20123a15120ba3c9bbdc28;hb=46c7a4daa772df5853e62f384b123bf1f3d96753;hp=99e9c378977fbca73d1674e53fafc443149ecb0f;hpb=8ec95d22822ed5ebf4b6aeaff654608ad0225073;p=libsigrok.git diff --git a/device.c b/device.c index 99e9c378..fb8d60b2 100644 --- a/device.c +++ b/device.c @@ -19,8 +19,8 @@ #include #include -#include "sigrok.h" -#include "sigrok-internal.h" +#include "libsigrok.h" +#include "libsigrok-internal.h" static GSList *devs = NULL; @@ -283,7 +283,7 @@ SR_API int sr_dev_probe_name_set(struct sr_dev *dev, int probenum, * @return SR_OK upon success, SR_ERR_ARG upon invalid arguments. * If something other than SR_OK is returned, 'dev' is unchanged. */ -SR_API int sr_dev_trigger_clear(struct sr_dev *dev) +SR_API int sr_dev_trigger_remove_all(struct sr_dev *dev) { struct sr_probe *p; unsigned int pnum; /* TODO: uint16_t? */ @@ -311,7 +311,10 @@ SR_API int sr_dev_trigger_clear(struct sr_dev *dev) } /** - * Add a trigger to the specified device. + * Add a trigger to the specified device (and the specified probe). + * + * If the specified probe of this device already has a trigger, it will + * be silently replaced. * * TODO: Better description. * TODO: Describe valid format of the 'trigger' string. @@ -350,6 +353,8 @@ SR_API int sr_dev_trigger_set(struct sr_dev *dev, int probenum, g_free(p->trigger); p->trigger = g_strdup(trigger); + sr_dbg("dev: %s: Setting '%s' trigger for probe %d.", __func__, + p->trigger, probenum); return SR_OK; } @@ -370,7 +375,8 @@ SR_API int sr_dev_trigger_set(struct sr_dev *dev, int probenum, */ SR_API gboolean sr_dev_has_hwcap(const struct sr_dev *dev, int hwcap) { - int *hwcaps, i; + const int *hwcaps; + int i; sr_spew("dev: %s: requesting hwcap %d", __func__, hwcap); @@ -391,7 +397,8 @@ SR_API gboolean sr_dev_has_hwcap(const struct sr_dev *dev, int hwcap) /* TODO: Sanity check on 'hwcap'. */ - if (!(hwcaps = dev->driver->hwcap_get_all())) { + if (dev->driver->info_get(SR_DI_HWCAPS, + (const void **)&hwcaps, NULL) != SR_OK) { sr_err("dev: %s: dev has no capabilities", __func__); return FALSE; }