*/
#include <libusb.h>
-
#include "command.h"
#include "sigrok.h"
#include "sigrok-internal.h"
int command_start_acquisition(libusb_device_handle *devhdl,
- uint64_t samplerate)
+ uint64_t samplerate)
{
struct cmd_start_acquisition cmd;
- int delay = 0;
+ int delay = 0, ret;
- /* Compute the sample rate */
- if((SR_MHZ(48) % samplerate) == 0)
- {
+ /* Compute the sample rate. */
+ if((SR_MHZ(48) % samplerate) == 0) {
cmd.flags = CMD_START_FLAGS_CLK_48MHZ;
delay = SR_MHZ(48) / samplerate - 1;
} else if((SR_MHZ(30) % samplerate) == 0) {
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) {
- sr_err("fx2lafw: Unable to sample at %dHz",
- samplerate);
+ sr_err("fx2lafw: Unable to sample at %dHz", samplerate);
return SR_ERR;
}
cmd.sample_delay = delay;
- /* Send the control message */
- const int res = libusb_control_transfer(devhdl,
- LIBUSB_REQUEST_TYPE_VENDOR |
- LIBUSB_ENDPOINT_OUT, CMD_START, 0x0000,
- 0x0000, (unsigned char*)&cmd,
- sizeof(cmd), 100);
- if (res < 0) {
- sr_err("fx2lafw: Unable to send start command: %d",
- res);
+ /* Send the control message. */
+ ret = libusb_control_transfer(devhdl, LIBUSB_REQUEST_TYPE_VENDOR |
+ LIBUSB_ENDPOINT_OUT, CMD_START, 0x0000, 0x0000,
+ (unsigned char *)&cmd, sizeof(cmd), 100);
+ if (ret < 0) {
+ sr_err("fx2lafw: Unable to send start command: %d", ret);
return SR_ERR;
}
*/
/* Protocol commands */
-#define CMD_GET_FW_VERSION 0xb0
-#define CMD_START 0xb1
+#define CMD_GET_FW_VERSION 0xb0
+#define CMD_START 0xb1
#define CMD_START_FLAGS_CLK_SRC_POS 6
#pragma pack(push, 1)
-struct cmd_start_acquisition
-{
+struct cmd_start_acquisition {
uint8_t flags;
uint8_t sample_delay;
};
#pragma pack(pop)
int command_start_acquisition(libusb_device_handle *devhdl,
- uint64_t samplerate);
+ uint64_t samplerate);
}
/* Skip if the device was not found */
- if(!fx2lafw_prof)
+ if (!fx2lafw_prof)
continue;
sdi = sr_dev_inst_new(devcnt, SR_ST_INITIALIZING,
fx2lafw_prof->vendor, fx2lafw_prof->model,
fx2lafw_prof->model_version);
- if(!sdi)
+ if (!sdi)
return 0;
ctx = fx2lafw_device_new();
struct context *ctx;
int ret = SR_OK;
- for(l = dev_insts; l; l = l->next) {
+ for (l = dev_insts; l; l = l->next) {
if (!(sdi = l->data)) {
/* Log error, but continue cleaning up the rest. */
sr_err("fx2lafw: %s: sdi was NULL, continuing", __func__);
g_slist_free(dev_insts);
dev_insts = NULL;
- if(usb_context)
+ if (usb_context)
libusb_exit(usb_context);
usb_context = NULL;
{
struct sr_dev_inst *sdi;
- /* unused parameter */
+ /* Avoid compiler warnings. */
(void)cb_data;
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index)))