From: HÃ¥vard Espeland Date: Tue, 18 Jan 2011 22:12:57 +0000 (+0100) Subject: Sigma: Update set_configuration to reflect API. X-Git-Tag: libsigrok-0.1.0~408 X-Git-Url: http://sigrok.org/gitweb/?a=commitdiff_plain;h=94ba4bd6897d87af2ca45acc0505139d04785d44;p=libsigrok.git Sigma: Update set_configuration to reflect API. --- diff --git a/hardware/asix-sigma/asix-sigma.c b/hardware/asix-sigma/asix-sigma.c index b549c22f..3828d55a 100644 --- a/hardware/asix-sigma/asix-sigma.c +++ b/hardware/asix-sigma/asix-sigma.c @@ -760,11 +760,17 @@ static int hw_set_configuration(int device_index, int capability, void *value) } else if (capability == HWCAP_PROBECONFIG) { ret = configure_probes(sdi, value); } else if (capability == HWCAP_LIMIT_MSEC) { - sigma->limit_msec = strtoull(value, NULL, 10); - ret = SIGROK_OK; + sigma->limit_msec = *(uint64_t*) value; + if (sigma->limit_msec > 0) + ret = SIGROK_OK; + else + ret = SIGROK_ERR; } else if (capability == HWCAP_CAPTURE_RATIO) { - sigma->capture_ratio = strtoull(value, NULL, 10); - ret = SIGROK_OK; + sigma->capture_ratio = *(uint64_t*) value; + if (sigma->capture_ratio < 0 || sigma->capture_ratio > 100) + ret = SIGROK_ERR; + else + ret = SIGROK_OK; } else { ret = SIGROK_ERR; } @@ -951,7 +957,7 @@ static int receive_data(int fd, int revents, void *user_data) const int chunks_per_read = 32; unsigned char buf[chunks_per_read * CHUNK_SIZE]; int bufsz, numchunks, i, newchunks; - uint32_t running_msec; + uint64_t running_msec; struct timeval tv; fd = fd; diff --git a/hardware/asix-sigma/asix-sigma.h b/hardware/asix-sigma/asix-sigma.h index c4f31e82..10152bf5 100644 --- a/hardware/asix-sigma/asix-sigma.h +++ b/hardware/asix-sigma/asix-sigma.h @@ -176,7 +176,7 @@ struct sigma_state { struct sigma { struct ftdi_context ftdic; uint64_t cur_samplerate; - uint32_t limit_msec; + uint64_t limit_msec; struct timeval start_tv; int cur_firmware; int num_probes;