]> sigrok.org Git - libsigrok.git/blobdiff - hardware/hantek-dso/api.c
sr: analog: Add MQ and UNIT enums.
[libsigrok.git] / hardware / hantek-dso / api.c
index 1091ea9008c6956ae816239f2f102d588b733be3..c9310336173bd6e625352355cf4a374ab939b7f5 100644 (file)
@@ -573,7 +573,8 @@ static void receive_transfer(struct libusb_transfer *transfer)
        packet.payload = &analog;
        /* TODO: support for 5xxx series 9-bit samples */
        analog.num_samples = transfer->actual_length / 2;
-       analog.unit = SR_UNIT_VOLTAGE;
+       analog.mq = SR_MQ_VOLTAGE;
+       analog.unit = SR_UNIT_VOLT;
        analog.data = g_try_malloc(analog.num_samples * sizeof(float) * num_probes);
        data_offset = 0;
        for (i = 0; i < analog.num_samples; i++) {
@@ -628,7 +629,8 @@ static int handle_event(int fd, int revents, void *cb_data)
        struct sr_datafeed_packet packet;
        struct timeval tv;
        struct context *ctx;
-       int capturestate;
+       uint32_t trigger_offset;
+       uint8_t capturestate;
 
        /* Avoid compiler warnings. */
        (void)fd;
@@ -654,12 +656,11 @@ static int handle_event(int fd, int revents, void *cb_data)
        if (ctx->dev_state != CAPTURE)
                return TRUE;
 
-       if ((capturestate = dso_get_capturestate(ctx)) == CAPTURE_UNKNOWN) {
-               /* Generated by the function, not the hardware. */
+       if ((dso_get_capturestate(ctx, &capturestate, &trigger_offset)) != SR_OK)
                return TRUE;
-       }
 
        sr_dbg("hantek-dso: capturestate %d", capturestate);
+       sr_dbg("hantek-dso: trigger offset 0x%.6x", trigger_offset);
        switch (capturestate) {
        case CAPTURE_EMPTY:
                if (++ctx->capture_empty_count >= MAX_CAPTURE_EMPTY) {