sr: fx2lafw: Cosmetics.
This commit is contained in:
parent
94c26b08fd
commit
f4a9e5c0aa
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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)))
|
||||||
|
|
Loading…
Reference in New Issue