X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=src%2Fhardware%2Flascar-el-usb%2Fprotocol.c;h=cc40bbfab7e98dd9aad4b2b59c2c444b15249e94;hp=eac2b18a001218c2135493d73e351942a0efdd55;hb=55462b8ba9f48931de9b9a7bfbc182a1d113b3b5;hpb=4f840ce965b1c30c5ab75afecc56193cbaf5c1b3 diff --git a/src/hardware/lascar-el-usb/protocol.c b/src/hardware/lascar-el-usb/protocol.c index eac2b18a..cc40bbfa 100644 --- a/src/hardware/lascar-el-usb/protocol.c +++ b/src/hardware/lascar-el-usb/protocol.c @@ -54,7 +54,6 @@ static const struct elusb_profile profiles[] = { { 0, NULL, 0 } }; - static libusb_device_handle *lascar_open(struct libusb_device *dev) { libusb_device_handle *dev_hdl; @@ -67,7 +66,7 @@ static libusb_device_handle *lascar_open(struct libusb_device *dev) } /* Some of these fail, but it needs doing -- some sort of mode - * setup for the SILabs F32x. */ + * setup for the SiLabs F32x. */ libusb_control_transfer(dev_hdl, LIBUSB_REQUEST_TYPE_VENDOR, 0x00, 0xffff, 0x00, NULL, 0, 50); libusb_control_transfer(dev_hdl, LIBUSB_REQUEST_TYPE_VENDOR, @@ -78,7 +77,7 @@ static libusb_device_handle *lascar_open(struct libusb_device *dev) return dev_hdl; } -static void mark_xfer(struct libusb_transfer *xfer) +static void LIBUSB_CALL mark_xfer(struct libusb_transfer *xfer) { xfer->user_data = GINT_TO_POINTER(1); @@ -112,7 +111,7 @@ SR_PRIV int lascar_get_config(libusb_device_handle *dev_hdl, /* Keep a read request waiting in the wings, ready to pounce * the moment the device sends something. */ libusb_fill_bulk_transfer(xfer_in, dev_hdl, LASCAR_EP_IN, - buf, 256, mark_xfer, 0, 10000); + buf, 256, mark_xfer, 0, BULK_XFER_TIMEOUT); if (libusb_submit_transfer(xfer_in) != 0) goto cleanup; @@ -133,7 +132,7 @@ SR_PRIV int lascar_get_config(libusb_device_handle *dev_hdl, start = 0; break; } - g_usleep(5000); + g_usleep(SLEEP_US_LONG); libusb_handle_events_timeout(drvc->sr_ctx->libusb_ctx, &tv); } if (!start) { @@ -166,7 +165,7 @@ SR_PRIV int lascar_get_config(libusb_device_handle *dev_hdl, start = 0; break; } - g_usleep(5000); + g_usleep(SLEEP_US_LONG); libusb_handle_events_timeout(drvc->sr_ctx->libusb_ctx, &tv); } if (!start) { @@ -190,9 +189,9 @@ cleanup: libusb_cancel_transfer(xfer_out); start = g_get_monotonic_time(); while (!xfer_in->user_data || !xfer_out->user_data) { - if (g_get_monotonic_time() - start > 10000) + if (g_get_monotonic_time() - start > EVENTS_TIMEOUT) break; - g_usleep(1000); + g_usleep(SLEEP_US_SHORT); libusb_handle_events_timeout(drvc->sr_ctx->libusb_ctx, &tv); } } @@ -229,7 +228,7 @@ static int lascar_save_config(libusb_device_handle *dev_hdl, /* Keep a read request waiting in the wings, ready to pounce * the moment the device sends something. */ libusb_fill_bulk_transfer(xfer_in, dev_hdl, LASCAR_EP_IN, - buf, 256, mark_xfer, 0, 10000); + buf, 256, mark_xfer, 0, BULK_XFER_TIMEOUT); if (libusb_submit_transfer(xfer_in) != 0) { ret = SR_ERR; goto cleanup; @@ -248,7 +247,7 @@ static int lascar_save_config(libusb_device_handle *dev_hdl, tv.tv_sec = 0; tv.tv_usec = 0; while (!xfer_out->user_data) { - g_usleep(5000); + g_usleep(SLEEP_US_LONG); libusb_handle_events_timeout(drvc->sr_ctx->libusb_ctx, &tv); } @@ -259,7 +258,7 @@ static int lascar_save_config(libusb_device_handle *dev_hdl, goto cleanup; } while (!xfer_in->user_data || !xfer_out->user_data) { - g_usleep(5000); + g_usleep(SLEEP_US_LONG); libusb_handle_events_timeout(drvc->sr_ctx->libusb_ctx, &tv); } @@ -276,9 +275,9 @@ cleanup: libusb_cancel_transfer(xfer_out); start = g_get_monotonic_time(); while (!xfer_in->user_data || !xfer_out->user_data) { - if (g_get_monotonic_time() - start > 10000) + if (g_get_monotonic_time() - start > EVENTS_TIMEOUT) break; - g_usleep(1000); + g_usleep(SLEEP_US_SHORT); libusb_handle_events_timeout(drvc->sr_ctx->libusb_ctx, &tv); } } @@ -411,9 +410,9 @@ static void lascar_el_usb_dispatch(struct sr_dev_inst *sdi, unsigned char *buf, if (!(rh = g_try_malloc(sizeof(float) * samples))) break; for (i = 0, j = 0; i < samples; i++) { - /* Both Celcius and Fahrenheit stored at base -40. */ + /* Both Celsius and Fahrenheit stored at base -40. */ if (devc->temp_unit == 0) - /* Celcius is stored in half-degree increments. */ + /* Celsius is stored in half-degree increments. */ temp[j] = buf[i * 2] / 2 - 40; else temp[j] = buf[i * 2] - 40; @@ -463,7 +462,7 @@ static void lascar_el_usb_dispatch(struct sr_dev_inst *sdi, unsigned char *buf, break; for (i = 0; i < samples; i++) { s = (buf[i * 2] << 8) | buf[i * 2 + 1]; - analog.data[i] = (s * devc->co_high + devc->co_low) / 1000000; + analog.data[i] = (s * devc->co_high + devc->co_low) / (1000 * 1000); if (analog.data[i] < 0.0) analog.data[i] = 0.0; } @@ -504,7 +503,7 @@ SR_PRIV int lascar_el_usb_handle_events(int fd, int revents, void *cb_data) return TRUE; } -SR_PRIV void lascar_el_usb_receive_transfer(struct libusb_transfer *transfer) +SR_PRIV void LIBUSB_CALL lascar_el_usb_receive_transfer(struct libusb_transfer *transfer) { struct dev_context *devc; struct sr_dev_inst *sdi;