sr: fx2lafw: Cosmetics.

This commit is contained in:
Uwe Hermann 2012-03-25 15:20:55 +02:00
parent 94c26b08fd
commit f4a9e5c0aa
3 changed files with 21 additions and 28 deletions

View File

@ -18,20 +18,18 @@
*/ */
#include <libusb.h> #include <libusb.h>
#include "command.h" #include "command.h"
#include "sigrok.h" #include "sigrok.h"
#include "sigrok-internal.h" #include "sigrok-internal.h"
int command_start_acquisition(libusb_device_handle *devhdl, int command_start_acquisition(libusb_device_handle *devhdl,
uint64_t samplerate) uint64_t samplerate)
{ {
struct cmd_start_acquisition cmd; struct cmd_start_acquisition cmd;
int delay = 0; int delay = 0, ret;
/* Compute the sample rate */ /* Compute the sample rate. */
if((SR_MHZ(48) % samplerate) == 0) if((SR_MHZ(48) % samplerate) == 0) {
{
cmd.flags = CMD_START_FLAGS_CLK_48MHZ; cmd.flags = CMD_START_FLAGS_CLK_48MHZ;
delay = SR_MHZ(48) / samplerate - 1; delay = SR_MHZ(48) / samplerate - 1;
} else if((SR_MHZ(30) % samplerate) == 0) { } else if((SR_MHZ(30) % samplerate) == 0) {
@ -39,24 +37,20 @@ int command_start_acquisition(libusb_device_handle *devhdl,
delay = SR_MHZ(30) / samplerate - 1; delay = SR_MHZ(30) / samplerate - 1;
} }
/* Note that sample_delay=0 is treated as sample_delay=256 */ /* Note: sample_delay=0 is treated as sample_delay=256. */
if (delay <= 0 || delay > 256) { if (delay <= 0 || delay > 256) {
sr_err("fx2lafw: Unable to sample at %dHz", sr_err("fx2lafw: Unable to sample at %dHz", samplerate);
samplerate);
return SR_ERR; return SR_ERR;
} }
cmd.sample_delay = delay; cmd.sample_delay = delay;
/* Send the control message */ /* Send the control message. */
const int res = libusb_control_transfer(devhdl, ret = libusb_control_transfer(devhdl, LIBUSB_REQUEST_TYPE_VENDOR |
LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_ENDPOINT_OUT, CMD_START, 0x0000, 0x0000,
LIBUSB_ENDPOINT_OUT, CMD_START, 0x0000, (unsigned char *)&cmd, sizeof(cmd), 100);
0x0000, (unsigned char*)&cmd, if (ret < 0) {
sizeof(cmd), 100); sr_err("fx2lafw: Unable to send start command: %d", ret);
if (res < 0) {
sr_err("fx2lafw: Unable to send start command: %d",
res);
return SR_ERR; return SR_ERR;
} }

View File

@ -18,8 +18,8 @@
*/ */
/* Protocol commands */ /* Protocol commands */
#define CMD_GET_FW_VERSION 0xb0 #define CMD_GET_FW_VERSION 0xb0
#define CMD_START 0xb1 #define CMD_START 0xb1
#define CMD_START_FLAGS_CLK_SRC_POS 6 #define CMD_START_FLAGS_CLK_SRC_POS 6
@ -28,8 +28,7 @@
#pragma pack(push, 1) #pragma pack(push, 1)
struct cmd_start_acquisition struct cmd_start_acquisition {
{
uint8_t flags; uint8_t flags;
uint8_t sample_delay; uint8_t sample_delay;
}; };
@ -37,4 +36,4 @@ struct cmd_start_acquisition
#pragma pack(pop) #pragma pack(pop)
int command_start_acquisition(libusb_device_handle *devhdl, int command_start_acquisition(libusb_device_handle *devhdl,
uint64_t samplerate); uint64_t samplerate);

View File

@ -343,13 +343,13 @@ static int hw_init(const char *deviceinfo)
} }
/* Skip if the device was not found */ /* Skip if the device was not found */
if(!fx2lafw_prof) if (!fx2lafw_prof)
continue; continue;
sdi = sr_dev_inst_new(devcnt, SR_ST_INITIALIZING, sdi = sr_dev_inst_new(devcnt, SR_ST_INITIALIZING,
fx2lafw_prof->vendor, fx2lafw_prof->model, fx2lafw_prof->vendor, fx2lafw_prof->model,
fx2lafw_prof->model_version); fx2lafw_prof->model_version);
if(!sdi) if (!sdi)
return 0; return 0;
ctx = fx2lafw_device_new(); ctx = fx2lafw_device_new();
@ -460,7 +460,7 @@ static int hw_cleanup(void)
struct context *ctx; struct context *ctx;
int ret = SR_OK; int ret = SR_OK;
for(l = dev_insts; l; l = l->next) { for (l = dev_insts; l; l = l->next) {
if (!(sdi = l->data)) { if (!(sdi = l->data)) {
/* Log error, but continue cleaning up the rest. */ /* Log error, but continue cleaning up the rest. */
sr_err("fx2lafw: %s: sdi was NULL, continuing", __func__); sr_err("fx2lafw: %s: sdi was NULL, continuing", __func__);
@ -482,7 +482,7 @@ static int hw_cleanup(void)
g_slist_free(dev_insts); g_slist_free(dev_insts);
dev_insts = NULL; dev_insts = NULL;
if(usb_context) if (usb_context)
libusb_exit(usb_context); libusb_exit(usb_context);
usb_context = NULL; usb_context = NULL;
@ -810,7 +810,7 @@ static int hw_dev_acquisition_stop(int dev_index, void *cb_data)
{ {
struct sr_dev_inst *sdi; struct sr_dev_inst *sdi;
/* unused parameter */ /* Avoid compiler warnings. */
(void)cb_data; (void)cb_data;
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index))) if (!(sdi = sr_dev_inst_get(dev_insts, dev_index)))