digits[1] = decode_digit(data[11]);
digits[2] = decode_digit(data[10]);
digits[3] = decode_digit(data[9]);
+
if (digits[0] == 0x0f && digits[1] == 0x00 && digits[2] == 0x0a &&
digits[3] == 0x0f)
/* The "over limit" (OL) display comes through like this */
} else {
analog.mq = SR_MQ_RESISTANCE;
analog.unit = SR_UNIT_OHM;
+ if (ivalue < 0)
+ fvalue = INFINITY;
}
break;
case 0x08:
break;
case 0x10:
analog.mq = SR_MQ_FREQUENCY;
- analog.mq = SR_UNIT_HERTZ;
+ analog.unit = SR_UNIT_HERTZ;
break;
case 0x20:
analog.mq = SR_MQ_CAPACITANCE;
if (sdi->status == SR_ST_INACTIVE) {
/* First time through. */
- if (libusb_kernel_driver_active(devc->usb->devhdl, 0) == 1)
- libusb_detach_kernel_driver(devc->usb->devhdl, 0);
+ if (libusb_kernel_driver_active(devc->usb->devhdl, 0) == 1) {
+ if (libusb_detach_kernel_driver(devc->usb->devhdl, 0) < 0) {
+ sr_err("genericdmm/victor-70c: failed to detach kernel driver");
+ return SR_ERR;
+ }
+ }
if (libusb_claim_interface(devc->usb->devhdl, 0)) {
sr_err("genericdmm/victor-70c: failed to claim interface 0");