static const int32_t hwcaps[] = {
SR_CONF_LOGIC_ANALYZER,
SR_CONF_SAMPLERATE,
+ SR_CONF_TRIGGER_TYPE,
SR_CONF_LIMIT_MSEC, /* TODO: Not yet implemented. */
SR_CONF_LIMIT_SAMPLES, /* TODO: Not yet implemented. */
};
for (i = 0; i < ARRAY_SIZE(vid_pid); i++) {
ret = ftdi_usb_open_desc(ftdic, vid_pid[i].vid,
vid_pid[i].pid, vid_pid[i].iproduct, NULL);
+ /* Show errors other than "device not found". */
+ if (ret < 0 && ret != -3)
+ sr_dbg("Error finding/opening device (%d): %s.",
+ ret, ftdi_get_error_string(ftdic));
if (ret < 0)
- continue; /* No device found. */
+ continue; /* No device found, or not usable. */
sr_dbg("Found %s device (%04x:%04x).",
vid_pid[i].iproduct, vid_pid[i].vid, vid_pid[i].pid);
*data = g_variant_builder_end(&gvb);
break;
case SR_CONF_LIMIT_SAMPLES:
+ if (!sdi || !sdi->priv || !(devc = sdi->priv) || !devc->prof)
+ return SR_ERR_BUG;
grange[0] = g_variant_new_uint64(0);
- grange[1] = g_variant_new_uint64(MAX_NUM_SAMPLES);
+ if (devc->prof->model == CHRONOVU_LA8)
+ grange[1] = g_variant_new_uint64(MAX_NUM_SAMPLES);
+ else
+ grange[1] = g_variant_new_uint64(MAX_NUM_SAMPLES / 2);
*data = g_variant_new_tuple(grange, 2);
break;
case SR_CONF_TRIGGER_TYPE: