Remove some unneeded double-spaces.

(also perform some other minor whitespace fixes while at it)
This commit is contained in:
Uwe Hermann 2016-08-29 17:48:18 +02:00
parent 2ecc745ccb
commit d9251a2c9f
85 changed files with 439 additions and 387 deletions

View File

@ -209,7 +209,7 @@ SR_PRIV int sr_brymen_bm25x_parse(const uint8_t *buf, float *floatval,
val = -val; val = -val;
*floatval = val; *floatval = val;
analog->encoding->digits = -exponent; analog->encoding->digits = -exponent;
analog->spec->spec_digits = -exponent; analog->spec->spec_digits = -exponent;
return SR_OK; return SR_OK;

View File

@ -384,7 +384,7 @@ SR_PRIV int sr_dtm0660_parse(const uint8_t *buf, float *floatval,
parse_flags(buf, info_local); parse_flags(buf, info_local);
handle_flags(analog, floatval, &exponent, info_local); handle_flags(analog, floatval, &exponent, info_local);
analog->encoding->digits = -exponent; analog->encoding->digits = -exponent;
analog->spec->spec_digits = -exponent; analog->spec->spec_digits = -exponent;
return SR_OK; return SR_OK;

View File

@ -364,7 +364,7 @@ SR_PRIV int sr_fs9721_parse(const uint8_t *buf, float *floatval,
parse_flags(buf, info_local); parse_flags(buf, info_local);
handle_flags(analog, floatval, &exponent, info_local); handle_flags(analog, floatval, &exponent, info_local);
analog->encoding->digits = -exponent; analog->encoding->digits = -exponent;
analog->spec->spec_digits = -exponent; analog->spec->spec_digits = -exponent;
return SR_OK; return SR_OK;

View File

@ -370,7 +370,7 @@ SR_PRIV int sr_fs9922_parse(const uint8_t *buf, float *floatval,
parse_flags(buf, info_local); parse_flags(buf, info_local);
handle_flags(analog, floatval, &exponent, info_local); handle_flags(analog, floatval, &exponent, info_local);
analog->encoding->digits = -exponent; analog->encoding->digits = -exponent;
analog->spec->spec_digits = -exponent; analog->spec->spec_digits = -exponent;
return SR_OK; return SR_OK;

View File

@ -153,17 +153,17 @@ static void parse_flags(const char *buf, struct metex14_info *info)
info->is_unitless = TRUE; info->is_unitless = TRUE;
/* Bytes 0-1: Measurement mode, except AC/DC */ /* Bytes 0-1: Measurement mode, except AC/DC */
info->is_resistance = !strncmp(buf, "OH", 2) || info->is_resistance = !strncmp(buf, "OH", 2) ||
(!strncmp(buf, " ", 2) && info->is_ohm); (!strncmp(buf, " ", 2) && info->is_ohm);
info->is_capacity = !strncmp(buf, "CA", 2) || info->is_capacity = !strncmp(buf, "CA", 2) ||
(!strncmp(buf, " ", 2) && info->is_farad); (!strncmp(buf, " ", 2) && info->is_farad);
info->is_temperature = !strncmp(buf, "TE", 2); info->is_temperature = !strncmp(buf, "TE", 2);
info->is_diode = !strncmp(buf, "DI", 2) || info->is_diode = !strncmp(buf, "DI", 2) ||
(!strncmp(buf, " ", 2) && info->is_volt && info->is_milli); (!strncmp(buf, " ", 2) && info->is_volt && info->is_milli);
info->is_frequency = !strncmp(buf, "FR", 2) || info->is_frequency = !strncmp(buf, "FR", 2) ||
(!strncmp(buf, " ", 2) && info->is_hertz); (!strncmp(buf, " ", 2) && info->is_hertz);
info->is_gain = !strncmp(buf, "DB", 2); info->is_gain = !strncmp(buf, "DB", 2);
info->is_hfe = !strncmp(buf, "HF", 2) || info->is_hfe = !strncmp(buf, "HF", 2) ||
(!strncmp(buf, " ", 2) && !info->is_volt && !info->is_ohm && (!strncmp(buf, " ", 2) && !info->is_volt && !info->is_ohm &&
!info->is_logic && !info->is_farad && !info->is_hertz); !info->is_logic && !info->is_farad && !info->is_hertz);
/* /*
@ -350,7 +350,7 @@ SR_PRIV int sr_metex14_parse(const uint8_t *buf, float *floatval,
parse_flags((const char *)buf, info_local); parse_flags((const char *)buf, info_local);
handle_flags(analog, floatval, &exponent, info_local); handle_flags(analog, floatval, &exponent, info_local);
analog->encoding->digits = -exponent; analog->encoding->digits = -exponent;
analog->spec->spec_digits = -exponent; analog->spec->spec_digits = -exponent;
return SR_OK; return SR_OK;

View File

@ -438,7 +438,7 @@ SR_PRIV int sr_rs9lcd_parse(const uint8_t *buf, float *floatval,
*floatval = rawval; *floatval = rawval;
analog->encoding->digits = -exponent; analog->encoding->digits = -exponent;
analog->spec->spec_digits = -exponent; analog->spec->spec_digits = -exponent;
return SR_OK; return SR_OK;

View File

@ -343,7 +343,7 @@ SR_PRIV int sr_ut71x_parse(const uint8_t *buf, float *floatval,
handle_flags(analog, floatval, info); handle_flags(analog, floatval, info);
analog->encoding->digits = -exponent; analog->encoding->digits = -exponent;
analog->spec->spec_digits = -exponent; analog->spec->spec_digits = -exponent;
return SR_OK; return SR_OK;

View File

@ -167,7 +167,7 @@ static int parse_range(uint8_t b, float *floatval, int *exponent,
static void parse_flags(const uint8_t *buf, struct vc870_info *info) static void parse_flags(const uint8_t *buf, struct vc870_info *info)
{ {
/* Bytes 0/1: Function / function select */ /* Bytes 0/1: Function / function select */
/* Note: Some of these mappings are fixed up later. */ /* Note: Some of these mappings are fixed up later. */
switch (buf[0]) { switch (buf[0]) {
case 0x30: /* DCV / ACV */ case 0x30: /* DCV / ACV */
@ -429,7 +429,7 @@ SR_PRIV int sr_vc870_parse(const uint8_t *buf, float *floatval,
handle_flags(analog, floatval, info_local); handle_flags(analog, floatval, info_local);
analog->encoding->digits = -exponent; analog->encoding->digits = -exponent;
analog->spec->spec_digits = -exponent; analog->spec->spec_digits = -exponent;
return SR_OK; return SR_OK;

View File

@ -27,7 +27,7 @@
* sr_driver_list is a special section contains pointers to all the hardware * sr_driver_list is a special section contains pointers to all the hardware
* drivers built into the library. The __start and __stop symbols are * drivers built into the library. The __start and __stop symbols are
* auto-generated by the linker (OSX needs a little help) and point to the start * auto-generated by the linker (OSX needs a little help) and point to the start
* and end of the section. They are used to iterate over the list of all * and end of the section. They are used to iterate over the list of all
* drivers. * drivers.
*/ */
#ifdef __APPLE__ #ifdef __APPLE__

View File

@ -22,7 +22,7 @@
#define LOG_PREFIX "agilent-dmm" #define LOG_PREFIX "agilent-dmm"
#define AGDMM_BUFSIZE 256 #define AGDMM_BUFSIZE 256
/* Always USB-serial, 1ms is plenty. */ /* Always USB-serial, 1ms is plenty. */
#define SERIAL_WRITE_TIMEOUT_MS 1 #define SERIAL_WRITE_TIMEOUT_MS 1

View File

@ -480,14 +480,14 @@ static int recv_conf_u124x_5x(const struct sr_dev_inst *sdi, GMatchInfo *match)
devc->mode_squarewave = 0; devc->mode_squarewave = 0;
rstr = g_match_info_fetch(match, 4); rstr = g_match_info_fetch(match, 4);
if (rstr && sr_atoi(rstr, &resolution) == SR_OK) { if (rstr && sr_atoi(rstr, &resolution) == SR_OK) {
devc->cur_digits = -resolution; devc->cur_digits = -resolution;
devc->cur_encoding = -resolution + 1; devc->cur_encoding = -resolution + 1;
} }
g_free(rstr); g_free(rstr);
mstr = g_match_info_fetch(match, 1); mstr = g_match_info_fetch(match, 1);
if (!strncmp(mstr, "VOLT", 4)) { if (!strncmp(mstr, "VOLT", 4)) {
devc->cur_mq = SR_MQ_VOLTAGE; devc->cur_mq = SR_MQ_VOLTAGE;
devc->cur_unit = SR_UNIT_VOLT; devc->cur_unit = SR_UNIT_VOLT;
@ -553,7 +553,7 @@ static int recv_conf_u124x_5x(const struct sr_dev_inst *sdi, GMatchInfo *match)
devc->cur_digits = 4; devc->cur_digits = 4;
devc->cur_encoding = 5; devc->cur_encoding = 5;
} else if (!strncmp(mstr, "T1", 2) || !strncmp(mstr, "T2", 2) || } else if (!strncmp(mstr, "T1", 2) || !strncmp(mstr, "T2", 2) ||
!strncmp(mstr, "TEMP", 2)) { !strncmp(mstr, "TEMP", 2)) {
devc->cur_mq = SR_MQ_TEMPERATURE; devc->cur_mq = SR_MQ_TEMPERATURE;
m2 = g_match_info_fetch(match, 2); m2 = g_match_info_fetch(match, 2);
if (!strcmp(m2, "FAR")) if (!strcmp(m2, "FAR"))

View File

@ -23,11 +23,11 @@
#include "protocol.h" #include "protocol.h"
typedef enum { typedef enum {
LIVE_DATA = 0x00, LIVE_DATA = 0x00,
LOG_METADATA = 0x11, LOG_METADATA = 0x11,
LOG_DATA = 0x14, LOG_DATA = 0x14,
LOG_START = 0x18, LOG_START = 0x18,
LOG_END = 0x19, LOG_END = 0x19,
} packet_type; } packet_type;
static gboolean appa_55ii_checksum(const uint8_t *buf) static gboolean appa_55ii_checksum(const uint8_t *buf)

View File

@ -27,9 +27,9 @@
#define LOG_PREFIX "appa-55ii" #define LOG_PREFIX "appa-55ii"
#define APPA_55II_NUM_CHANNELS 2 #define APPA_55II_NUM_CHANNELS 2
#define APPA_55II_BUF_SIZE (4 + 32 + 1) #define APPA_55II_BUF_SIZE (4 + 32 + 1)
#define DEFAULT_DATA_SOURCE DATA_SOURCE_LIVE #define DEFAULT_DATA_SOURCE DATA_SOURCE_LIVE
enum { enum {
DATA_SOURCE_LIVE, DATA_SOURCE_LIVE,
@ -40,7 +40,7 @@ enum {
struct dev_context { struct dev_context {
/* Acquisition settings */ /* Acquisition settings */
struct sr_sw_limits limits; struct sr_sw_limits limits;
gboolean data_source; /**< Whether to read live samples or memory */ gboolean data_source; /**< Whether to read live samples or memory */
/* Temporary state across callbacks */ /* Temporary state across callbacks */
uint8_t buf[APPA_55II_BUF_SIZE]; uint8_t buf[APPA_55II_BUF_SIZE];

View File

@ -153,11 +153,11 @@ static void brymen_bm86x_parse(unsigned char *buf, float *floatval,
buf[15] &= ~0x04; buf[15] &= ~0x04;
/* SI prefix */ /* SI prefix */
if (buf[14] & 0x40) { floatval[0] *= 1e-9; digits[0] += 9; } /* n */ if (buf[14] & 0x40) { floatval[0] *= 1e-9; digits[0] += 9; } /* n */
if (buf[15] & 0x08) { floatval[0] *= 1e-6; digits[0] += 6; } /* µ */ if (buf[15] & 0x08) { floatval[0] *= 1e-6; digits[0] += 6; } /* µ */
if (buf[15] & 0x04) { floatval[0] *= 1e-3; digits[0] += 3; } /* m */ if (buf[15] & 0x04) { floatval[0] *= 1e-3; digits[0] += 3; } /* m */
if (buf[15] & 0x40) { floatval[0] *= 1e3; digits[0] -= 3; } /* k */ if (buf[15] & 0x40) { floatval[0] *= 1e3; digits[0] -= 3; } /* k */
if (buf[15] & 0x20) { floatval[0] *= 1e6; digits[0] -= 6; } /* M */ if (buf[15] & 0x20) { floatval[0] *= 1e6; digits[0] -= 6; } /* M */
if (over_limit) floatval[0] = INFINITY; if (over_limit) floatval[0] = INFINITY;
@ -192,10 +192,10 @@ static void brymen_bm86x_parse(unsigned char *buf, float *floatval,
if (buf[9] & 0x20) analog[1].meaning->mqflags |= SR_MQFLAG_AC; if (buf[9] & 0x20) analog[1].meaning->mqflags |= SR_MQFLAG_AC;
/* SI prefix */ /* SI prefix */
if (buf[ 9] & 0x01) { floatval[1] *= 1e-6; digits[1] += 6; } /* µ */ if (buf[ 9] & 0x01) { floatval[1] *= 1e-6; digits[1] += 6; } /* µ */
if (buf[ 9] & 0x02) { floatval[1] *= 1e-3; digits[1] += 3; } /* m */ if (buf[ 9] & 0x02) { floatval[1] *= 1e-3; digits[1] += 3; } /* m */
if (buf[14] & 0x02) { floatval[1] *= 1e3; digits[1] -= 3; } /* k */ if (buf[14] & 0x02) { floatval[1] *= 1e3; digits[1] -= 3; } /* k */
if (buf[14] & 0x01) { floatval[1] *= 1e6; digits[1] -= 6; } /* M */ if (buf[14] & 0x01) { floatval[1] *= 1e6; digits[1] -= 6; } /* M */
analog[1].encoding->digits = digits[1]; analog[1].encoding->digits = digits[1];
analog[1].spec->spec_digits = digits[1]; analog[1].spec->spec_digits = digits[1];
@ -260,7 +260,7 @@ static int brymen_bm86x_send_command(const struct sr_dev_inst *sdi)
sr_dbg("Sending HID set report."); sr_dbg("Sending HID set report.");
ret = libusb_control_transfer(usb->devhdl, ret = libusb_control_transfer(usb->devhdl,
LIBUSB_REQUEST_TYPE_CLASS | LIBUSB_REQUEST_TYPE_CLASS |
LIBUSB_RECIPIENT_INTERFACE | LIBUSB_RECIPIENT_INTERFACE |
LIBUSB_ENDPOINT_OUT, LIBUSB_ENDPOINT_OUT,
9, /* bRequest: HID set_report */ 9, /* bRequest: HID set_report */

View File

@ -770,11 +770,11 @@ SR_PRIV int cem_dt_885x_meas_range_set(const struct sr_dev_inst *sdi,
devc = sdi->priv; devc = sdi->priv;
if (low == 30 && high == 130) if (low == 30 && high == 130)
token = TOKEN_MEAS_RANGE_30_130; token = TOKEN_MEAS_RANGE_30_130;
else if (low == 30 && high == 80) else if (low == 30 && high == 80)
token = TOKEN_MEAS_RANGE_30_80; token = TOKEN_MEAS_RANGE_30_80;
else if (low == 50 && high == 100) else if (low == 50 && high == 100)
token = TOKEN_MEAS_RANGE_50_100; token = TOKEN_MEAS_RANGE_50_100;
else if (low == 80 && high == 130) else if (low == 80 && high == 130)
token = TOKEN_MEAS_RANGE_80_130; token = TOKEN_MEAS_RANGE_80_130;
else else
return SR_ERR; return SR_ERR;

View File

@ -138,7 +138,7 @@ static void process_packet(const struct sr_dev_inst *sdi)
case 0x9: case 0x9:
/* Mean over a time period between 11 seconds and 24 hours. /* Mean over a time period between 11 seconds and 24 hours.
* Which is so silly that there's no point in expressing * Which is so silly that there's no point in expressing
* either this or the previous case. */ * either this or the previous case. */
analog.meaning->mqflags |= SR_MQFLAG_SPL_LAT \ analog.meaning->mqflags |= SR_MQFLAG_SPL_LAT \
| SR_MQFLAG_SPL_FREQ_WEIGHT_A \ | SR_MQFLAG_SPL_FREQ_WEIGHT_A \
| SR_MQFLAG_SPL_TIME_WEIGHT_F; | SR_MQFLAG_SPL_TIME_WEIGHT_F;

View File

@ -17,9 +17,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file /**
* <em>Conrad DIGI 35 CPU</em> power supply driver * @file
* @internal *
* <em>Conrad DIGI 35 CPU</em> power supply driver
*
* @internal
*/ */
#include <config.h> #include <config.h>

View File

@ -19,7 +19,9 @@
/** /**
* @file * @file
*
* <em>Conrad DIGI 35 CPU</em> power supply driver * <em>Conrad DIGI 35 CPU</em> power supply driver
*
* @internal * @internal
*/ */

View File

@ -30,16 +30,16 @@
#define LOG_PREFIX "demo" #define LOG_PREFIX "demo"
#define DEFAULT_NUM_LOGIC_CHANNELS 8 #define DEFAULT_NUM_LOGIC_CHANNELS 8
#define DEFAULT_NUM_ANALOG_CHANNELS 4 #define DEFAULT_NUM_ANALOG_CHANNELS 4
/* The size in bytes of chunks to send through the session bus. */ /* The size in bytes of chunks to send through the session bus. */
#define LOGIC_BUFSIZE 4096 #define LOGIC_BUFSIZE 4096
/* Size of the analog pattern space per channel. */ /* Size of the analog pattern space per channel. */
#define ANALOG_BUFSIZE 4096 #define ANALOG_BUFSIZE 4096
#define DEFAULT_ANALOG_AMPLITUDE 10 #define DEFAULT_ANALOG_AMPLITUDE 10
#define ANALOG_SAMPLES_PER_PERIOD 20 #define ANALOG_SAMPLES_PER_PERIOD 20
/* Logic patterns we can generate. */ /* Logic patterns we can generate. */
enum { enum {
@ -663,10 +663,8 @@ static void logic_generator(struct sr_dev_inst *sdi, uint64_t size)
} }
static void send_analog_packet(struct analog_gen *ag, static void send_analog_packet(struct analog_gen *ag,
struct sr_dev_inst *sdi, struct sr_dev_inst *sdi, uint64_t *analog_sent,
uint64_t *analog_sent, uint64_t analog_pos, uint64_t analog_todo)
uint64_t analog_pos,
uint64_t analog_todo)
{ {
struct sr_datafeed_packet packet; struct sr_datafeed_packet packet;
struct dev_context *devc; struct dev_context *devc;

View File

@ -22,7 +22,7 @@
#define LOG_PREFIX "fluke-dmm" #define LOG_PREFIX "fluke-dmm"
#define FLUKEDMM_BUFSIZE 256 #define FLUKEDMM_BUFSIZE 256
/* Always USB-serial, 1ms is plenty. */ /* Always USB-serial, 1ms is plenty. */
#define SERIAL_WRITE_TIMEOUT_MS 1 #define SERIAL_WRITE_TIMEOUT_MS 1

View File

@ -120,7 +120,7 @@ static void scan_device(struct ftdi_context *ftdic,
model = g_malloc(32); model = g_malloc(32);
serial_num = g_malloc(32); serial_num = g_malloc(32);
rv = ftdi_usb_get_strings(ftdic, dev, vendor, 32, rv = ftdi_usb_get_strings(ftdic, dev, vendor, 32,
model, 32, serial_num, 32); model, 32, serial_num, 32);
switch (rv) { switch (rv) {
case 0: case 0:
break; break;

View File

@ -403,7 +403,7 @@ SR_PRIV void mso_send_data_proc(struct sr_dev_inst *sdi,
/* Send the logic */ /* Send the logic */
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
devc->logic_buffer[i] = data[i * 2]; devc->logic_buffer[i] = data[i * 2];
/* Rescale to -10V - +10V from 0-255. */ /* Rescale to -10V - +10V from 0-255. */
devc->analog_buffer[i] = (data[i * 2 + 1] - 128.0f) / 12.8f; devc->analog_buffer[i] = (data[i * 2 + 1] - 128.0f) / 12.8f;
}; };

View File

@ -17,9 +17,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file /**
* Gossen Metrawatt Metrahit 1x/2x drivers * @file
* @internal *
* Gossen Metrawatt Metrahit 1x/2x drivers
*
* @internal
*/ */
#include <config.h> #include <config.h>
@ -40,7 +43,7 @@ static const uint32_t scanopts[] = {
/** Hardware capabilities for Metrahit 1x/2x devices in send mode. */ /** Hardware capabilities for Metrahit 1x/2x devices in send mode. */
static const uint32_t devopts_sm[] = { static const uint32_t devopts_sm[] = {
SR_CONF_MULTIMETER, SR_CONF_MULTIMETER,
SR_CONF_THERMOMETER, /**< All GMC 1x/2x multimeters seem to support this */ SR_CONF_THERMOMETER, /**< All GMC 1x/2x multimeters seem to support this */
SR_CONF_CONTINUOUS, SR_CONF_CONTINUOUS,
SR_CONF_LIMIT_SAMPLES | SR_CONF_GET | SR_CONF_SET, SR_CONF_LIMIT_SAMPLES | SR_CONF_GET | SR_CONF_SET,
SR_CONF_LIMIT_MSEC | SR_CONF_GET | SR_CONF_SET, SR_CONF_LIMIT_MSEC | SR_CONF_GET | SR_CONF_SET,
@ -49,7 +52,7 @@ static const uint32_t devopts_sm[] = {
/** Hardware capabilities for Metrahit 2x devices in bidirectional Mode. */ /** Hardware capabilities for Metrahit 2x devices in bidirectional Mode. */
static const uint32_t devopts_bd[] = { static const uint32_t devopts_bd[] = {
SR_CONF_MULTIMETER, SR_CONF_MULTIMETER,
SR_CONF_THERMOMETER, /**< All GMC 1x/2x multimeters seem to support this */ SR_CONF_THERMOMETER, /**< All GMC 1x/2x multimeters seem to support this */
SR_CONF_CONTINUOUS, SR_CONF_CONTINUOUS,
SR_CONF_LIMIT_SAMPLES | SR_CONF_GET | SR_CONF_SET, SR_CONF_LIMIT_SAMPLES | SR_CONF_GET | SR_CONF_SET,
SR_CONF_LIMIT_MSEC | SR_CONF_GET | SR_CONF_SET, SR_CONF_LIMIT_MSEC | SR_CONF_GET | SR_CONF_SET,
@ -118,7 +121,7 @@ static enum model scan_model_sm(struct sr_serial_dev_inst *serial)
for (cnt = 0; cnt < 4; cnt++) { for (cnt = 0; cnt < 4; cnt++) {
byte = read_byte(serial, timeout_us); byte = read_byte(serial, timeout_us);
if ((byte == -1) || if ((byte == -1) ||
((byte & MSGID_MASK) != MSGID_DATA)) ((byte & MSGID_MASK) != MSGID_DATA))
{ {
model = METRAHIT_NONE; model = METRAHIT_NONE;
bytecnt = 100; bytecnt = 100;

View File

@ -17,9 +17,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file /**
* Gossen Metrawatt Metrahit 1x/2x drivers * @file
* @internal *
* Gossen Metrawatt Metrahit 1x/2x drivers
*
* @internal
*/ */
#include <config.h> #include <config.h>
@ -783,7 +786,7 @@ static void process_msg_inf_10(struct sr_dev_inst *sdi)
devc->value += pow(10.0, cnt) * dgt; devc->value += pow(10.0, cnt) * dgt;
} }
sr_spew("process_msg_inf_10() value=%f scale=%d scalet=%d", sr_spew("process_msg_inf_10() value=%f scale=%d scalet=%d",
devc->value, devc->scale, devc->scale1000); devc->value, devc->scale, devc->scale1000);
if (devc->value != NAN) if (devc->value != NAN)
devc->value *= pow(10, devc->scale) * pow(1000.0, devc->scale1000); devc->value *= pow(10, devc->scale) * pow(1000.0, devc->scale1000);
@ -880,9 +883,11 @@ static void process_msg_inf_13(struct sr_dev_inst *sdi)
send_value(sdi); send_value(sdi);
} }
/** Dump contents of 14-byte message. /**
* @param buf Pointer to array of 14 data bytes. * Dump contents of 14-byte message.
* @param[in] raw Write only data bytes, no interpretation. *
* @param buf Pointer to array of 14 data bytes.
* @param[in] raw Write only data bytes, no interpretation.
*/ */
static void dump_msg14(guchar *buf, gboolean raw) static void dump_msg14(guchar *buf, gboolean raw)
{ {
@ -903,10 +908,11 @@ static void dump_msg14(guchar *buf, gboolean raw)
buf[12], buf[13]); buf[12], buf[13]);
} }
/** Calc checksum for 14 byte message type. /**
* Calc checksum for 14 byte message type.
* *
* @param[in] dta Pointer to array of 13 data bytes. * @param[in] dta Pointer to array of 13 data bytes.
* @return Checksum. * @return Checksum.
*/ */
static guchar calc_chksum_14(guchar *dta) static guchar calc_chksum_14(guchar *dta)
{ {
@ -924,7 +930,7 @@ static int chk_msg14(struct sr_dev_inst *sdi)
struct dev_context *devc; struct dev_context *devc;
int retc; int retc;
gboolean isreq; /* Message is request to multimeter (otherwise response) */ gboolean isreq; /* Message is request to multimeter (otherwise response) */
uint8_t addr; /* Adaptor address */ uint8_t addr; /* Adaptor address */
retc = SR_OK; retc = SR_OK;
@ -1024,7 +1030,7 @@ SR_PRIV int process_msg14(struct sr_dev_inst *sdi)
sr_spew("Measurement Function: %d ", (int)devc->buf[7]); sr_spew("Measurement Function: %d ", (int)devc->buf[7]);
decode_ctmv_2x(devc->buf[7], devc); decode_ctmv_2x(devc->buf[7], devc);
sr_spew("Range: 0x%x", devc->buf[8]); sr_spew("Range: 0x%x", devc->buf[8]);
decode_rs_2x_TR2(devc->buf[8] & 0x0f, devc); /* Docs wrong, uses conversion table TR_2! */ decode_rs_2x_TR2(devc->buf[8] & 0x0f, devc); /* Docs wrong, uses conversion table TR_2! */
devc->autorng = (devc->buf[8] & 0x20) == 0; devc->autorng = (devc->buf[8] & 0x20) == 0;
// TODO 9, 10: 29S special functions // TODO 9, 10: 29S special functions
devc->ubatt = 0.1 * (float)devc->buf[11]; devc->ubatt = 0.1 * (float)devc->buf[11];
@ -1035,7 +1041,7 @@ SR_PRIV int process_msg14(struct sr_dev_inst *sdi)
sr_spew("Internal version %d.%d", (int)devc->buf[5], (int)devc->buf[4]); sr_spew("Internal version %d.%d", (int)devc->buf[5], (int)devc->buf[4]);
sr_spew("Comm mode: 0x%x", (int)devc->buf[6]); sr_spew("Comm mode: 0x%x", (int)devc->buf[6]);
sr_spew("Block cnt%%64: %d", (int)devc->buf[7]); sr_spew("Block cnt%%64: %d", (int)devc->buf[7]);
sr_spew("drpCi: %d drpCh: %d", (int)devc->buf[8], (int)devc->buf[9]); sr_spew("drpCi: %d drpCh: %d", (int)devc->buf[8], (int)devc->buf[9]);
// Semantics undocumented. Possibly Metrahit 29S dropouts stuff? // Semantics undocumented. Possibly Metrahit 29S dropouts stuff?
break; break;
default: default:
@ -1248,13 +1254,15 @@ SR_PRIV int gmc_mh_2x_receive_data(int fd, int revents, void *cb_data)
return TRUE; return TRUE;
} }
/** Create 14 (42) byte command for Metrahit 2x multimeter in bidir mode. /**
* Create 14 (42) byte command for Metrahit 2x multimeter in bidir mode.
* *
* Actually creates 42 bytes due to the encoding method used. * Actually creates 42 bytes due to the encoding method used.
* @param[in] addr Device address (0=adapter, 1..15 multimeter; for byte 0). *
* @param[in] func Function code (byte 3). * @param[in] addr Device address (0=adapter, 1..15 multimeter; for byte 0).
* @param[in] params Further parameters (9 bytes) * @param[in] func Function code (byte 3).
* @param[out] buf Buffer to create msg in (42 bytes). * @param[in] params Further parameters (9 bytes)
* @param[out] buf Buffer to create msg in (42 bytes).
*/ */
static void create_cmd_14(guchar addr, guchar func, guchar *params, guchar *buf) static void create_cmd_14(guchar addr, guchar func, guchar *params, guchar *buf)
{ {
@ -1316,8 +1324,11 @@ int req_meas14(const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
} }
/** Request status from 2x multimeter (msg 3). /**
* @param[in] power_on Try to power on powered off multimeter by sending additional messages. * Request status from 2x multimeter (msg 3).
*
* @param[in] power_on Try to power on powered off multimeter by sending
* additional messages.
*/ */
int req_stat14(const struct sr_dev_inst *sdi, gboolean power_on) int req_stat14(const struct sr_dev_inst *sdi, gboolean power_on)
{ {
@ -1412,11 +1423,12 @@ SR_PRIV int gmc_decode_model_sm(uint8_t mcode)
} }
} }
/** Convert GMC model code in bidirectional mode to sigrok-internal one. /**
* Convert GMC model code in bidirectional mode to sigrok-internal one.
* *
* @param[in] mcode Model code. * @param[in] mcode Model code.
* *
* @return Model code. * @return Model code.
*/ */
SR_PRIV int gmc_decode_model_bd(uint8_t mcode) SR_PRIV int gmc_decode_model_bd(uint8_t mcode)
{ {
@ -1447,11 +1459,12 @@ SR_PRIV int gmc_decode_model_bd(uint8_t mcode)
} }
} }
/** Convert sigrok-internal model code to string. /**
* Convert sigrok-internal model code to string.
* *
* @param[in] mcode Model code. * @param[in] mcode Model code.
* *
* @return Model code string. * @return Model code string.
*/ */
SR_PRIV const char *gmc_model_str(enum model mcode) SR_PRIV const char *gmc_model_str(enum model mcode)
{ {

View File

@ -17,9 +17,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file /**
* Gossen Metrawatt Metrahit 1x/2x drivers * @file
* @internal *
* Gossen Metrawatt Metrahit 1x/2x drivers
*
* @internal
*/ */
#ifndef LIBSIGROK_HARDWARE_GMC_MH_1X_2X_PROTOCOL_H #ifndef LIBSIGROK_HARDWARE_GMC_MH_1X_2X_PROTOCOL_H
@ -42,7 +45,7 @@
#define MSGID_DTA 0x20 /**< Start of data message, displayed, averaged */ #define MSGID_DTA 0x20 /**< Start of data message, displayed, averaged */
#define MSGID_DATA 0x30 /**< Data byte in message */ #define MSGID_DATA 0x30 /**< Data byte in message */
#define MSGC_MASK 0x0f /**< Mask to get message byte contents in send mode */ #define MSGC_MASK 0x0f /**< Mask to get message byte contents in send mode */
#define MSGSRC_MASK 0xc0 /**< Mask to get bits related to message source */ #define MSGSRC_MASK 0xc0 /**< Mask to get bits related to message source */

View File

@ -66,8 +66,8 @@ static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi)
devc = g_malloc0(sizeof(struct dev_context)); devc = g_malloc0(sizeof(struct dev_context));
devc->frame_limit = 1; devc->frame_limit = 1;
devc->sample_rate = 0.; devc->sample_rate = 0.0;
devc->df_started = FALSE; devc->df_started = FALSE;
sdi->priv = devc; sdi->priv = devc;
sr_channel_new(sdi, 0, SR_CHANNEL_ANALOG, TRUE, "CH1"); sr_channel_new(sdi, 0, SR_CHANNEL_ANALOG, TRUE, "CH1");

View File

@ -284,7 +284,7 @@ static void scope_state_dump(const struct scope_config *config,
for (i = 0; i < config->analog_channels; i++) { for (i = 0; i < config->analog_channels; i++) {
tmp = sr_voltage_string((*config->vdivs)[state->analog_channels[i].vdiv][0], tmp = sr_voltage_string((*config->vdivs)[state->analog_channels[i].vdiv][0],
(*config->vdivs)[state->analog_channels[i].vdiv][1]); (*config->vdivs)[state->analog_channels[i].vdiv][1]);
sr_info("State of analog channel %d -> %s : %s (coupling) %s (vdiv) %2.2e (offset)", sr_info("State of analog channel %d -> %s : %s (coupling) %s (vdiv) %2.2e (offset)",
i + 1, state->analog_channels[i].state ? "On" : "Off", i + 1, state->analog_channels[i].state ? "On" : "Off",
(*config->coupling_options)[state->analog_channels[i].coupling], (*config->coupling_options)[state->analog_channels[i].coupling],
tmp, state->analog_channels[i].vertical_offset); tmp, state->analog_channels[i].vertical_offset);

View File

@ -307,7 +307,7 @@ static int dev_open(struct sr_dev_inst *sdi)
err = libusb_claim_interface(usb->devhdl, USB_INTERFACE); err = libusb_claim_interface(usb->devhdl, USB_INTERFACE);
if (err != 0) { if (err != 0) {
sr_err("Unable to claim interface: %s.", sr_err("Unable to claim interface: %s.",
libusb_error_name(err)); libusb_error_name(err));
return SR_ERR; return SR_ERR;
} }

View File

@ -31,7 +31,7 @@
#define MAX_RENUM_DELAY_MS 3000 #define MAX_RENUM_DELAY_MS 3000
#define DEFAULT_VOLTAGE 2 #define DEFAULT_VOLTAGE 2
#define DEFAULT_COUPLING COUPLING_DC #define DEFAULT_COUPLING COUPLING_DC
#define DEFAULT_SAMPLERATE SR_MHZ(8) #define DEFAULT_SAMPLERATE SR_MHZ(8)
#define NUM_CHANNELS 2 #define NUM_CHANNELS 2
@ -43,7 +43,7 @@
SR_KHZ(100), SR_KHZ(100),
#define SAMPLERATE_REGS \ #define SAMPLERATE_REGS \
48, 30, 24, 16, 8, 4, 1, 50, 20, 10, 48, 30, 24, 16, 8, 4, 1, 50, 20, 10,
#define VDIV_VALUES \ #define VDIV_VALUES \
{ 100, 1000 }, \ { 100, 1000 }, \

View File

@ -39,8 +39,8 @@
/* TODO tune this properly */ /* TODO tune this properly */
#define TICK 1 #define TICK 1
#define NUM_TIMEBASE 10 #define NUM_TIMEBASE 10
#define NUM_VDIV 8 #define NUM_VDIV 8
#define NUM_BUFFER_SIZES 2 #define NUM_BUFFER_SIZES 2
@ -389,7 +389,7 @@ static int dev_open(struct sr_dev_inst *sdi)
err = libusb_claim_interface(usb->devhdl, USB_INTERFACE); err = libusb_claim_interface(usb->devhdl, USB_INTERFACE);
if (err != 0) { if (err != 0) {
sr_err("Unable to claim interface: %s.", sr_err("Unable to claim interface: %s.",
libusb_error_name(err)); libusb_error_name(err));
return SR_ERR; return SR_ERR;
} }
@ -767,7 +767,7 @@ static void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer)
num_samples = transfer->actual_length / 2; num_samples = transfer->actual_length / 2;
sr_spew("Got %d-%d/%d samples in frame.", devc->samp_received + 1, sr_spew("Got %d-%d/%d samples in frame.", devc->samp_received + 1,
devc->samp_received + num_samples, devc->framesize); devc->samp_received + num_samples, devc->framesize);
/* /*
* The device always sends a full frame, but the beginning of the frame * The device always sends a full frame, but the beginning of the frame
@ -798,7 +798,7 @@ static void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer)
/* The rest of this chunk starts with the trigger point. */ /* The rest of this chunk starts with the trigger point. */
sr_dbg("Reached trigger point, %d samples buffered.", sr_dbg("Reached trigger point, %d samples buffered.",
devc->samp_buffered); devc->samp_buffered);
/* Avoid the corner case where the chunk ended at /* Avoid the corner case where the chunk ended at
* exactly the trigger point. */ * exactly the trigger point. */
@ -822,7 +822,7 @@ static void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer)
/* That was the last chunk in this frame. Send the buffered /* That was the last chunk in this frame. Send the buffered
* pre-trigger samples out now, in one big chunk. */ * pre-trigger samples out now, in one big chunk. */
sr_dbg("End of frame, sending %d pre-trigger buffered samples.", sr_dbg("End of frame, sending %d pre-trigger buffered samples.",
devc->samp_buffered); devc->samp_buffered);
send_chunk(sdi, devc->framebuf, devc->samp_buffered); send_chunk(sdi, devc->framebuf, devc->samp_buffered);
/* Mark the end of this frame. */ /* Mark the end of this frame. */

View File

@ -67,7 +67,7 @@ static const struct rear_card_info rear_card_parameters[] = {
}; };
static int send_mq_ac_dc(struct sr_scpi_dev_inst *scpi, const char *mode, static int send_mq_ac_dc(struct sr_scpi_dev_inst *scpi, const char *mode,
enum sr_mqflag flags) enum sr_mqflag flags)
{ {
const char *ac_flag, *dc_flag; const char *ac_flag, *dc_flag;

View File

@ -79,11 +79,11 @@
* trigger on (rising or falling) * trigger on (rising or falling)
* The next state is 0x0C * The next state is 0x0C
* 0x0C Same as state 0x0F but expects the calibration * 0x0C Same as state 0x0F but expects the calibration
* value for the first channel's position * value for the first channel's position
* (POS1 in the schematics) * (POS1 in the schematics)
* The next state is 0x0D * The next state is 0x0D
* 0x0D Same as state 0x0F but expects the calibration * 0x0D Same as state 0x0F but expects the calibration
* value for the second channel's position * value for the second channel's position
* (POS2 in the schematics) * (POS2 in the schematics)
* The next state is 0x0E * The next state is 0x0E
* 0x0E Same as state 0x0F but expects the trigger level * 0x0E Same as state 0x0F but expects the trigger level

View File

@ -184,7 +184,7 @@ static int dev_close(struct sr_dev_inst *sdi)
usb = sdi->conn; usb = sdi->conn;
if (!usb->devhdl) if (!usb->devhdl)
/* Nothing to do. */ /* Nothing to do. */
return SR_OK; return SR_OK;
/* This allows a frontend to configure the device without ever /* This allows a frontend to configure the device without ever

View File

@ -109,7 +109,7 @@ static int dev_close(struct sr_dev_inst *sdi)
usb = sdi->conn; usb = sdi->conn;
if (!usb->devhdl) if (!usb->devhdl)
/* Nothing to do. */ /* Nothing to do. */
return SR_OK; return SR_OK;
libusb_release_interface(usb->devhdl, LASCAR_INTERFACE); libusb_release_interface(usb->devhdl, LASCAR_INTERFACE);

View File

@ -19,10 +19,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
/** @file /**
* <em>Manson HCS-3xxx series</em> power supply driver * @file
* @internal *
*/ * <em>Manson HCS-3xxx series</em> power supply driver
*
* @internal
*/
#include <config.h> #include <config.h>
#include "protocol.h" #include "protocol.h"

View File

@ -19,10 +19,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
/** @file /**
* <em>Manson HCS-3xxx Series</em> power supply driver * @file
* @internal *
*/ * <em>Manson HCS-3xxx Series</em> power supply driver
*
* @internal
*/
#include <config.h> #include <config.h>
#include "protocol.h" #include "protocol.h"
@ -56,10 +59,12 @@ SR_PRIV int hcs_send_cmd(struct sr_serial_dev_inst *serial, const char *cmd, ...
/** /**
* Read data from interface into buffer blocking until @a lines number of \\r chars * Read data from interface into buffer blocking until @a lines number of \\r chars
* received. * received.
*
* @param serial Previously initialized serial port structure. * @param serial Previously initialized serial port structure.
* @param[in] lines Number of \\r-terminated lines to read (1-n). * @param[in] lines Number of \\r-terminated lines to read (1-n).
* @param buf Buffer for result. Contents is NUL-terminated on success. * @param buf Buffer for result. Contents is NUL-terminated on success.
* @param[in] buflen Buffer length (>0). * @param[in] buflen Buffer length (>0).
*
* @retval SR_OK Lines received and ending with "OK\r" (success). * @retval SR_OK Lines received and ending with "OK\r" (success).
* @retval SR_ERR Error. * @retval SR_ERR Error.
* @retval SR_ERR_ARG Invalid argument. * @retval SR_ERR_ARG Invalid argument.

View File

@ -19,10 +19,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
/** @file /**
* <em>Manson HCS-3xxx Series</em> power supply driver * @file
* @internal *
*/ * <em>Manson HCS-3xxx Series</em> power supply driver
*
* @internal
*/
#ifndef LIBSIGROK_HARDWARE_MANSON_HCS_3XXX_PROTOCOL_H #ifndef LIBSIGROK_HARDWARE_MANSON_HCS_3XXX_PROTOCOL_H
#define LIBSIGROK_HARDWARE_MANSON_HCS_3XXX_PROTOCOL_H #define LIBSIGROK_HARDWARE_MANSON_HCS_3XXX_PROTOCOL_H

View File

@ -53,9 +53,11 @@ static const uint32_t devopts_cg[] = {
SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE | SR_CONF_GET, SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE | SR_CONF_GET,
}; };
/* The IDs in this list are only guessed and needs to be verified /*
against some real hardware. If at least a few of them matches, * The IDs in this list are only guessed and needs to be verified
it will probably be safe to enable the others. */ * against some real hardware. If at least a few of them matches,
* it will probably be safe to enable the others.
*/
static const struct maynuo_m97_model supported_models[] = { static const struct maynuo_m97_model supported_models[] = {
// { 53, "M9711" , 30, 150, 150 }, // { 53, "M9711" , 30, 150, 150 },
// { 54, "M9712" , 30, 150, 300 }, // { 54, "M9712" , 30, 150, 300 },
@ -170,12 +172,12 @@ static int config_compare(gconstpointer a, gconstpointer b)
static GSList *scan(struct sr_dev_driver *di, GSList *options) static GSList *scan(struct sr_dev_driver *di, GSList *options)
{ {
struct sr_config default_serialcomm = { struct sr_config default_serialcomm = {
.key = SR_CONF_SERIALCOMM, .key = SR_CONF_SERIALCOMM,
.data = g_variant_new_string("9600/8n1"), .data = g_variant_new_string("9600/8n1"),
}; };
struct sr_config default_modbusaddr = { struct sr_config default_modbusaddr = {
.key = SR_CONF_MODBUSADDR, .key = SR_CONF_MODBUSADDR,
.data = g_variant_new_uint64(1), .data = g_variant_new_uint64(1),
}; };
GSList *opts = options, *devices; GSList *opts = options, *devices;
@ -224,8 +226,7 @@ static int dev_close(struct sr_dev_inst *sdi)
/* Wait for the last data that was requested from the device. */ /* Wait for the last data that was requested from the device. */
uint16_t registers[devc->expecting_registers]; uint16_t registers[devc->expecting_registers];
sr_modbus_read_holding_registers(modbus, -1, sr_modbus_read_holding_registers(modbus, -1,
devc->expecting_registers, devc->expecting_registers, registers);
registers);
} }
maynuo_m97_set_bit(modbus, PC1, 0); maynuo_m97_set_bit(modbus, PC1, 0);

View File

@ -95,8 +95,8 @@ SR_PRIV int maynuo_m97_get_model_version(struct sr_modbus_dev_inst *modbus,
uint16_t registers[2]; uint16_t registers[2];
int ret; int ret;
ret = sr_modbus_read_holding_registers(modbus, MODEL, 2, registers); ret = sr_modbus_read_holding_registers(modbus, MODEL, 2, registers);
*model = RB16(registers+0); *model = RB16(registers + 0);
*version = RB16(registers+1); *version = RB16(registers + 1);
return ret; return ret;
} }

View File

@ -18,9 +18,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file /**
* <em>Motech LPS-30x series</em> power supply driver * @file
* @internal *
* <em>Motech LPS-30x series</em> power supply driver
*
* @internal
*/ */
#include <config.h> #include <config.h>
@ -173,7 +176,7 @@ SR_PRIV int lps_cmd_ok(struct sr_serial_dev_inst *serial, const char *fmt, ...)
va_list args; va_list args;
char buf[LINELEN_MAX]; char buf[LINELEN_MAX];
char *bufptr; char *bufptr;
int buflen; int buflen;
/* Send command */ /* Send command */
va_start(args, fmt); va_start(args, fmt);
@ -194,8 +197,9 @@ SR_PRIV int lps_cmd_ok(struct sr_serial_dev_inst *serial, const char *fmt, ...)
return SR_ERR; return SR_ERR;
} }
/** Send command and read reply string. /**
* @param reply Pointer to buffer of size LINELEN_MAX. Will be NUL-terminated. * Send command and read reply string.
* @param reply Pointer to buffer of size LINELEN_MAX. Will be NUL-terminated.
*/ */
SR_PRIV int lps_cmd_reply(char *reply, struct sr_serial_dev_inst *serial, const char *fmt, ...) SR_PRIV int lps_cmd_reply(char *reply, struct sr_serial_dev_inst *serial, const char *fmt, ...)
{ {
@ -203,7 +207,7 @@ SR_PRIV int lps_cmd_reply(char *reply, struct sr_serial_dev_inst *serial, const
va_list args; va_list args;
char buf[LINELEN_MAX]; char buf[LINELEN_MAX];
char *bufptr; char *bufptr;
int buflen; int buflen;
reply[0] = '\0'; reply[0] = '\0';
@ -307,9 +311,11 @@ static gint64 calc_timeout_ms(gint64 start_us)
return result; return result;
} }
/** Read message into buf until "OK" received. /**
* @retval SR_OK Msg received; buf and buflen contain result, if any except OK. * Read message into buf until "OK" received.
* @retval SR_ERR Error, including timeout. *
* @retval SR_OK Msg received; buf and buflen contain result, if any except OK.
* @retval SR_ERR Error, including timeout.
*/ */
SR_PRIV int lps_read_reply(struct sr_serial_dev_inst *serial, char **buf, int *buflen) SR_PRIV int lps_read_reply(struct sr_serial_dev_inst *serial, char **buf, int *buflen)
{ {
@ -431,7 +437,7 @@ static GSList *do_scan(lps_modelid modelid, struct sr_dev_driver *drv, GSList *o
g_strstrip(buf); g_strstrip(buf);
verstr = buf + 4; verstr = buf + 4;
} }
else /* Bug in device FW 1.17: Querying version string fails while output is active. else /* Bug in device FW 1.17: Querying version string fails while output is active.
Therefore just print an error message, but do not exit with error. */ Therefore just print an error message, but do not exit with error. */
sr_err("Failed to query for hardware version: %s.", sr_err("Failed to query for hardware version: %s.",
sr_strerror(ret)); sr_strerror(ret));
@ -725,10 +731,10 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
if ((ch_idx == 0) || (ch_idx == 1)) /* CH1, CH2 */ if ((ch_idx == 0) || (ch_idx == 1)) /* CH1, CH2 */
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
devopts_ch12, ARRAY_SIZE(devopts_ch12), sizeof(uint32_t)); devopts_ch12, ARRAY_SIZE(devopts_ch12), sizeof(uint32_t));
else /* Must be CH3 */ else /* Must be CH3 */
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
devopts_ch3, ARRAY_SIZE(devopts_ch3), sizeof(uint32_t)); devopts_ch3, ARRAY_SIZE(devopts_ch3), sizeof(uint32_t));
break; break;
case SR_CONF_VOLTAGE_TARGET: case SR_CONF_VOLTAGE_TARGET:
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY); g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);

View File

@ -18,9 +18,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file /**
* <em>Motech LPS-30x series</em> power supply driver * @file
* @internal *
* <em>Motech LPS-30x series</em> power supply driver
*
* @internal
*/ */
#include <config.h> #include <config.h>

View File

@ -18,9 +18,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file /**
* <em>Motech LPS-30x series</em> power supply driver * @file
* @internal *
* <em>Motech LPS-30x series</em> power supply driver
*
* @internal
*/ */
#ifndef LIBSIGROK_HARDWARE_MOTECH_LPS_30X_PROTOCOL_H #ifndef LIBSIGROK_HARDWARE_MOTECH_LPS_30X_PROTOCOL_H

View File

@ -17,9 +17,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file /**
* Norma DM9x0/Siemens B102x DMMs driver. * @file
* @internal *
* Norma DM9x0/Siemens B102x DMMs driver.
*
* @internal
*/ */
#include <config.h> #include <config.h>
@ -350,13 +353,13 @@ static void nma_process_line(const struct sr_dev_inst *sdi)
/* 4: Flags. Evaluating this after setting value! */ /* 4: Flags. Evaluating this after setting value! */
flags = xgittoint(devc->buf[4]); flags = xgittoint(devc->buf[4]);
if (flags & 0x04) /* Invalid value */ if (flags & 0x04) /* Invalid value */
value = NAN; value = NAN;
else if (flags & 0x01) /* Overload */ else if (flags & 0x01) /* Overload */
value = INFINITY; value = INFINITY;
if (flags & 0x02) { /* Duplicate value, has been sent before. */ if (flags & 0x02) { /* Duplicate value, has been sent before. */
sr_spew("Duplicate value, dismissing!"); sr_spew("Duplicate value, dismissing!");
devc->buflen = 0; devc->buflen = 0;
return; return;
} }
sr_spew("range=%d/scale=%f/value=%f", range, sr_spew("range=%d/scale=%f/value=%f", range,

View File

@ -28,14 +28,17 @@
#include <libsigrok/libsigrok.h> #include <libsigrok/libsigrok.h>
#include "libsigrok-internal.h" #include "libsigrok-internal.h"
/** @file /**
* Norma DM9x0/Siemens B102x DMMs driver. * @file
* @internal *
* Norma DM9x0/Siemens B102x DMMs driver.
*
* @internal
*/ */
#define LOG_PREFIX "norma-dmm" #define LOG_PREFIX "norma-dmm"
#define NMADMM_BUFSIZE 256 #define NMADMM_BUFSIZE 256
#define NMADMM_TIMEOUT_MS 2000 /**< Request timeout. */ #define NMADMM_TIMEOUT_MS 2000 /**< Request timeout. */

View File

@ -221,7 +221,7 @@ static int rigol_ds_check_stop(const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
if (rigol_ds_config_set(sdi, ":WAV:SOUR CHAN%d", if (rigol_ds_config_set(sdi, ":WAV:SOUR CHAN%d",
ch->index + 1) != SR_OK) ch->index + 1) != SR_OK)
return SR_ERR; return SR_ERR;
/* Check that the number of samples will be accepted */ /* Check that the number of samples will be accepted */
if (rigol_ds_config_set(sdi, ":WAV:POIN %d", devc->analog_frame_size) != SR_OK) if (rigol_ds_config_set(sdi, ":WAV:POIN %d", devc->analog_frame_size) != SR_OK)
@ -432,7 +432,7 @@ SR_PRIV int rigol_ds_channel_start(const struct sr_dev_inst *sdi)
break; break;
case PROTOCOL_V3: case PROTOCOL_V3:
if (rigol_ds_config_set(sdi, ":WAV:SOUR CHAN%d", if (rigol_ds_config_set(sdi, ":WAV:SOUR CHAN%d",
ch->index + 1) != SR_OK) ch->index + 1) != SR_OK)
return SR_ERR; return SR_ERR;
if (devc->data_source != DATA_SOURCE_LIVE) { if (devc->data_source != DATA_SOURCE_LIVE) {
if (rigol_ds_config_set(sdi, ":WAV:RES") != SR_OK) if (rigol_ds_config_set(sdi, ":WAV:RES") != SR_OK)

View File

@ -195,7 +195,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
for (j = 0; j < ARRAY_SIZE(channel_names); j++) for (j = 0; j < ARRAY_SIZE(channel_names); j++)
sr_channel_new(sdi, j, SR_CHANNEL_LOGIC, TRUE, sr_channel_new(sdi, j, SR_CHANNEL_LOGIC, TRUE,
channel_names[j]); channel_names[j]);
devc = g_malloc0(sizeof(struct dev_context)); devc = g_malloc0(sizeof(struct dev_context));
devc->selected_voltage_range = VOLTAGE_RANGE_18_33_V; devc->selected_voltage_range = VOLTAGE_RANGE_18_33_V;

View File

@ -43,9 +43,8 @@ static const struct pps_channel_instance pci[] = {
}; };
static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi, static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi,
int (*get_hw_id)(struct sr_scpi_dev_inst *scpi, int (*get_hw_id)(struct sr_scpi_dev_inst *scpi,
struct sr_scpi_hw_info **scpi_response) struct sr_scpi_hw_info **scpi_response))
)
{ {
struct dev_context *devc; struct dev_context *devc;
struct sr_dev_inst *sdi; struct sr_dev_inst *sdi;

View File

@ -481,7 +481,7 @@ static int philips_pm2800_probe_channels(struct sr_dev_inst *sdi,
sr_dbg("output %d: %.0f - %.0fV, %.0f - %.0fA, %.0f - %.0fW", i + 1, sr_dbg("output %d: %.0f - %.0fV, %.0f - %.0fA, %.0f - %.0fW", i + 1,
spec->voltage[0], spec->voltage[1], spec->voltage[0], spec->voltage[1],
spec->current[0], spec->current[1], spec->current[0], spec->current[1],
spec->power[0] , spec->power[1]); spec->power[0], spec->power[1]);
(*channels)[i].name = (char *)philips_pm2800_names[i]; (*channels)[i].name = (char *)philips_pm2800_names[i];
memcpy(&((*channels)[i].voltage), spec, sizeof(float) * 15); memcpy(&((*channels)[i].voltage), spec, sizeof(float) * 15);
(*channel_groups)[i].name = (char *)philips_pm2800_names[i]; (*channel_groups)[i].name = (char *)philips_pm2800_names[i];

View File

@ -35,11 +35,15 @@ struct dmm_info {
uint32_t baudrate; uint32_t baudrate;
/** Packet size in bytes. */ /** Packet size in bytes. */
int packet_size; int packet_size;
/** Request timeout [ms] before request is considered lost and a new /**
* one is sent. Used only if device needs polling. */ * Request timeout [ms] before request is considered lost and a new
* one is sent. Used only if device needs polling.
*/
int64_t req_timeout_ms; int64_t req_timeout_ms;
/** Delay between reception of packet and next request. Some DMMs /**
* need this. Used only if device needs polling. */ * Delay between reception of packet and next request. Some DMMs
* need this. Used only if device needs polling.
*/
int64_t req_delay_ms; int64_t req_delay_ms;
/** Packet request function. */ /** Packet request function. */
int (*packet_request)(struct sr_serial_dev_inst *); int (*packet_request)(struct sr_serial_dev_inst *);
@ -64,8 +68,10 @@ struct dev_context {
int bufoffset; int bufoffset;
int buflen; int buflen;
/** The timestamp [µs] to send the next request. /**
* Used only if device needs polling. */ * The timestamp [µs] to send the next request.
* Used only if device needs polling.
*/
int64_t req_next_at; int64_t req_next_at;
}; };

View File

@ -121,7 +121,7 @@ static void read_response(struct acquisition_state *acq)
* alignment is guaranteed. * alignment is guaranteed.
*/ */
out_p = (uint32_t *)&acq->out_packet[acq->out_index * UNIT_SIZE]; out_p = (uint32_t *)&acq->out_packet[acq->out_index * UNIT_SIZE];
in_p = &acq->xfer_buf_in[acq->in_index]; in_p = &acq->xfer_buf_in[acq->in_index];
/* /*
* Transfer two samples at a time, taking care to swap the 16-bit * Transfer two samples at a time, taking care to swap the 16-bit
* halves of each input word but keeping the samples themselves in * halves of each input word but keeping the samples themselves in
@ -201,7 +201,7 @@ static int test_read_memory(const struct sr_dev_inst *sdi,
unsigned char reply[512]; unsigned char reply[512];
devc = sdi->priv; devc = sdi->priv;
usb = sdi->conn; usb = sdi->conn;
command[0] = LWLA_WORD(CMD_READ_MEM32); command[0] = LWLA_WORD(CMD_READ_MEM32);
command[1] = LWLA_WORD_0(start); command[1] = LWLA_WORD_0(start);
@ -317,7 +317,7 @@ static int setup_acquisition(const struct sr_dev_inst *sdi)
int ret; int ret;
devc = sdi->priv; devc = sdi->priv;
usb = sdi->conn; usb = sdi->conn;
ret = lwla_write_reg(usb, REG_CHAN_MASK, devc->channel_mask); ret = lwla_write_reg(usb, REG_CHAN_MASK, devc->channel_mask);
if (ret != SR_OK) if (ret != SR_OK)
@ -349,7 +349,7 @@ static int prepare_request(const struct sr_dev_inst *sdi)
unsigned int chunk_len, count; unsigned int chunk_len, count;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
acq->xfer_out->length = 0; acq->xfer_out->length = 0;
acq->reg_seq_pos = 0; acq->reg_seq_pos = 0;
@ -409,7 +409,7 @@ static int handle_response(const struct sr_dev_inst *sdi)
int expect_len; int expect_len;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
switch (devc->state) { switch (devc->state) {
case STATE_STATUS_REQUEST: case STATE_STATUS_REQUEST:

View File

@ -284,7 +284,7 @@ static int detect_short_transfer_quirk(const struct sr_dev_inst *sdi)
const int lreg_count = 10; const int lreg_count = 10;
devc = sdi->priv; devc = sdi->priv;
usb = sdi->conn; usb = sdi->conn;
command[0] = LWLA_WORD(CMD_READ_LREGS); command[0] = LWLA_WORD(CMD_READ_LREGS);
command[1] = LWLA_WORD(0); command[1] = LWLA_WORD(0);
@ -389,8 +389,8 @@ static int setup_acquisition(const struct sr_dev_inst *sdi)
int ret; int ret;
devc = sdi->priv; devc = sdi->priv;
usb = sdi->conn; usb = sdi->conn;
acq = devc->acquisition; acq = devc->acquisition;
ret = lwla_write_regs(usb, capture_init, ARRAY_SIZE(capture_init)); ret = lwla_write_regs(usb, capture_init, ARRAY_SIZE(capture_init));
if (ret != SR_OK) if (ret != SR_OK)
@ -414,7 +414,7 @@ static int setup_acquisition(const struct sr_dev_inst *sdi)
bulk_long_set(acq, LREG_DIV_COUNT, divider_count); bulk_long_set(acq, LREG_DIV_COUNT, divider_count);
bulk_long_set(acq, LREG_TRG_VALUE, devc->trigger_values); bulk_long_set(acq, LREG_TRG_VALUE, devc->trigger_values);
bulk_long_set(acq, LREG_TRG_TYPE, devc->trigger_edge_mask); bulk_long_set(acq, LREG_TRG_TYPE, devc->trigger_edge_mask);
trigger_mask = devc->trigger_mask; trigger_mask = devc->trigger_mask;
@ -517,7 +517,7 @@ static int handle_response(const struct sr_dev_inst *sdi)
int expect_len; int expect_len;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
switch (devc->state) { switch (devc->state) {
case STATE_STATUS_REQUEST: case STATE_STATUS_REQUEST:
@ -527,7 +527,7 @@ static int handle_response(const struct sr_dev_inst *sdi)
return SR_ERR; return SR_ERR;
} }
acq->mem_addr_fill = bulk_long_get(acq, LREG_MEM_FILL) & 0xFFFFFFFF; acq->mem_addr_fill = bulk_long_get(acq, LREG_MEM_FILL) & 0xFFFFFFFF;
acq->duration_now = bulk_long_get(acq, LREG_DURATION); acq->duration_now = bulk_long_get(acq, LREG_DURATION);
/* Shift left by one so the bit positions match the LWLA1016. */ /* Shift left by one so the bit positions match the LWLA1016. */
acq->status = (bulk_long_get(acq, LREG_STATUS) & 0x3F) << 1; acq->status = (bulk_long_get(acq, LREG_STATUS) & 0x3F) << 1;
/* /*

View File

@ -97,7 +97,7 @@ static int submit_request(const struct sr_dev_inst *sdi,
int ret; int ret;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
devc->state = state; devc->state = state;
@ -132,7 +132,7 @@ static void handle_status_response(const struct sr_dev_inst *sdi)
unsigned int old_status; unsigned int old_status;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
old_status = acq->status; old_status = acq->status;
if ((*devc->model->handle_response)(sdi) != SR_OK) { if ((*devc->model->handle_response)(sdi) != SR_OK) {
@ -168,7 +168,7 @@ static void handle_length_response(const struct sr_dev_inst *sdi)
struct acquisition_state *acq; struct acquisition_state *acq;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
if ((*devc->model->handle_response)(sdi) != SR_OK) { if ((*devc->model->handle_response)(sdi) != SR_OK) {
devc->transfer_error = TRUE; devc->transfer_error = TRUE;
@ -202,13 +202,13 @@ static void handle_read_response(const struct sr_dev_inst *sdi)
unsigned int end_addr; unsigned int end_addr;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
/* Prepare session packet. */ /* Prepare session packet. */
packet.type = SR_DF_LOGIC; packet.type = SR_DF_LOGIC;
packet.payload = &logic; packet.payload = &logic;
logic.unitsize = (devc->model->num_channels + 7) / 8; logic.unitsize = (devc->model->num_channels + 7) / 8;
logic.data = acq->out_packet; logic.data = acq->out_packet;
end_addr = MIN(acq->mem_addr_next, acq->mem_addr_stop); end_addr = MIN(acq->mem_addr_next, acq->mem_addr_stop);
acq->in_index = 0; acq->in_index = 0;
@ -258,7 +258,7 @@ static void clear_acquisition_state(const struct sr_dev_inst *sdi)
struct acquisition_state *acq; struct acquisition_state *acq;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
devc->acquisition = NULL; devc->acquisition = NULL;
@ -281,7 +281,7 @@ static int transfer_event(int fd, int revents, void *cb_data)
(void)fd; (void)fd;
sdi = cb_data; sdi = cb_data;
devc = sdi->priv; devc = sdi->priv;
drvc = sdi->driver->context; drvc = sdi->driver->context;
@ -289,7 +289,7 @@ static int transfer_event(int fd, int revents, void *cb_data)
return G_SOURCE_REMOVE; return G_SOURCE_REMOVE;
/* Handle pending USB events without blocking. */ /* Handle pending USB events without blocking. */
tv.tv_sec = 0; tv.tv_sec = 0;
tv.tv_usec = 0; tv.tv_usec = 0;
ret = libusb_handle_events_timeout_completed(drvc->sr_ctx->libusb_ctx, ret = libusb_handle_events_timeout_completed(drvc->sr_ctx->libusb_ctx,
&tv, NULL); &tv, NULL);
@ -329,9 +329,9 @@ static void LIBUSB_CALL transfer_out_completed(struct libusb_transfer *transfer)
struct dev_context *devc; struct dev_context *devc;
struct acquisition_state *acq; struct acquisition_state *acq;
sdi = transfer->user_data; sdi = transfer->user_data;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
if (transfer->status != LIBUSB_TRANSFER_COMPLETED) { if (transfer->status != LIBUSB_TRANSFER_COMPLETED) {
sr_err("Transfer to device failed (state %d): %s.", sr_err("Transfer to device failed (state %d): %s.",
@ -394,9 +394,9 @@ static void LIBUSB_CALL transfer_in_completed(struct libusb_transfer *transfer)
struct dev_context *devc; struct dev_context *devc;
struct acquisition_state *acq; struct acquisition_state *acq;
sdi = transfer->user_data; sdi = transfer->user_data;
devc = sdi->priv; devc = sdi->priv;
acq = devc->acquisition; acq = devc->acquisition;
if (transfer->status != LIBUSB_TRANSFER_COMPLETED) { if (transfer->status != LIBUSB_TRANSFER_COMPLETED) {
sr_err("Transfer from device failed (state %d): %s.", sr_err("Transfer from device failed (state %d): %s.",
@ -457,7 +457,7 @@ static int init_acquisition_state(const struct sr_dev_inst *sdi)
struct acquisition_state *acq; struct acquisition_state *acq;
devc = sdi->priv; devc = sdi->priv;
usb = sdi->conn; usb = sdi->conn;
if (devc->acquisition) { if (devc->acquisition) {
sr_err("Acquisition still in progress?"); sr_err("Acquisition still in progress?");

View File

@ -43,7 +43,7 @@ struct dev_context {
struct sr_sw_limits sw_limits; struct sr_sw_limits sw_limits;
/* Operational state */ /* Operational state */
enum optarif optarif; /**< The device mode (which measures are reported) */ enum optarif optarif; /**< The device mode (which measures are reported) */
/* Temporary state across callbacks */ /* Temporary state across callbacks */
uint8_t buf[TELEINFO_BUF_SIZE]; uint8_t buf[TELEINFO_BUF_SIZE];

View File

@ -174,7 +174,7 @@ static int dev_close(struct sr_dev_inst *sdi)
usb = sdi->conn; usb = sdi->conn;
if (!usb->devhdl) if (!usb->devhdl)
/* Nothing to do. */ /* Nothing to do. */
return SR_OK; return SR_OK;
libusb_release_interface(usb->devhdl, 0); libusb_release_interface(usb->devhdl, 0);

View File

@ -175,7 +175,7 @@ SR_PRIV int tondaj_sl_814_receive_data(int fd, int revents, void *cb_data)
} else if (devc->state == GET_PACKET) { } else if (devc->state == GET_PACKET) {
/* Read a packet from the device. */ /* Read a packet from the device. */
ret = serial_read_nonblocking(serial, devc->buf + devc->buflen, ret = serial_read_nonblocking(serial, devc->buf + devc->buflen,
4 - devc->buflen); 4 - devc->buflen);
if (ret < 0) { if (ret < 0) {
sr_err("Error reading packet: %d.", ret); sr_err("Error reading packet: %d.", ret);
return TRUE; return TRUE;

View File

@ -165,7 +165,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
std_session_send_df_header(sdi); std_session_send_df_header(sdi);
sr_session_source_add(sdi->session, -1, 0, 10 /* poll_timeout */, sr_session_source_add(sdi->session, -1, 0, 10 /* poll_timeout */,
uni_t_dmm_receive_data, (void *)sdi); uni_t_dmm_receive_data, (void *)sdi);
return SR_OK; return SR_OK;
} }
@ -181,7 +181,7 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi)
#define DMM(ID, CHIPSET, VENDOR, MODEL, BAUDRATE, PACKETSIZE, \ #define DMM(ID, CHIPSET, VENDOR, MODEL, BAUDRATE, PACKETSIZE, \
VALID, PARSE, DETAILS) \ VALID, PARSE, DETAILS) \
&((struct dmm_info) { \ &((struct dmm_info) { \
{ \ { \
.name = ID, \ .name = ID, \
.longname = VENDOR " " MODEL, \ .longname = VENDOR " " MODEL, \

View File

@ -134,7 +134,7 @@ static int dev_close(struct sr_dev_inst *sdi)
usb = sdi->conn; usb = sdi->conn;
if (!usb->devhdl) if (!usb->devhdl)
/* Nothing to do. */ /* Nothing to do. */
return SR_OK; return SR_OK;
libusb_release_interface(usb->devhdl, USB_INTERFACE); libusb_release_interface(usb->devhdl, USB_INTERFACE);

View File

@ -38,7 +38,7 @@
#define EP_OUT 2 #define EP_OUT 2
enum { enum {
DATA_SOURCE_LIVE, DATA_SOURCE_LIVE,
DATA_SOURCE_MEMORY, DATA_SOURCE_MEMORY,
}; };

View File

@ -31,6 +31,7 @@
#define VICTOR_VENDOR "Victor" #define VICTOR_VENDOR "Victor"
#define VICTOR_INTERFACE 0 #define VICTOR_INTERFACE 0
#define VICTOR_ENDPOINT (LIBUSB_ENDPOINT_IN | 1) #define VICTOR_ENDPOINT (LIBUSB_ENDPOINT_IN | 1)
static int dev_acquisition_stop(struct sr_dev_inst *sdi); static int dev_acquisition_stop(struct sr_dev_inst *sdi);
static const uint32_t drvopts[] = { static const uint32_t drvopts[] = {
@ -133,7 +134,7 @@ static int dev_close(struct sr_dev_inst *sdi)
usb = sdi->conn; usb = sdi->conn;
if (!usb->devhdl) if (!usb->devhdl)
/* Nothing to do. */ /* Nothing to do. */
return SR_OK; return SR_OK;
libusb_release_interface(usb->devhdl, VICTOR_INTERFACE); libusb_release_interface(usb->devhdl, VICTOR_INTERFACE);

View File

@ -207,8 +207,8 @@ static const struct scope_config scope_models[] = {
.num_ydivs = 8, .num_ydivs = 8,
}, },
{ {
.model_id = {"710110", "710120", "710130", NULL}, .model_id = {"710110", "710120", "710130", NULL},
.model_name = {"DLM2024", "DLM2034", "DLM2054", NULL}, .model_name = {"DLM2024", "DLM2034", "DLM2054", NULL},
.analog_channels = 4, .analog_channels = 4,
.digital_channels = 8, .digital_channels = 8,
.pods = 1, .pods = 1,
@ -224,9 +224,9 @@ static const struct scope_config scope_models[] = {
}, },
{ {
.model_id = {"701307", "701308", "701310", "701311", .model_id = {"701307", "701308", "701310", "701311",
"701312", "701313", NULL}, "701312", "701313", NULL},
.model_name = {"DL9040", "DL9040L", "DL9140", "DL9140L", .model_name = {"DL9040", "DL9040L", "DL9140", "DL9140L",
"DL9240", "DL9240L", NULL}, "DL9240", "DL9240L", NULL},
.analog_channels = 4, .analog_channels = 4,
.digital_channels = 0, .digital_channels = 0,
.pods = 0, .pods = 0,

View File

@ -420,7 +420,7 @@ SR_PRIV void analyzer_read_start(libusb_device_handle *devh)
} }
SR_PRIV int analyzer_read_data(libusb_device_handle *devh, void *buffer, SR_PRIV int analyzer_read_data(libusb_device_handle *devh, void *buffer,
unsigned int size) unsigned int size)
{ {
return gl_read_bulk(devh, buffer, size); return gl_read_bulk(devh, buffer, size);
} }
@ -555,7 +555,7 @@ SR_PRIV void analyzer_add_filter(int channel, int type)
} }
g_filter_status[i] |= g_filter_status[i] |=
1 << ((2 * channel) + (type == FILTER_LOW ? 1 : 0)); 1 << ((2 * channel) + (type == FILTER_LOW ? 1 : 0));
g_filter_enable = 1; g_filter_enable = 1;
} }

View File

@ -77,7 +77,7 @@
SR_PRIV void analyzer_set_freq(int freq, int scale); SR_PRIV void analyzer_set_freq(int freq, int scale);
SR_PRIV void analyzer_set_ramsize_trigger_address(unsigned int address); SR_PRIV void analyzer_set_ramsize_trigger_address(unsigned int address);
SR_PRIV void analyzer_set_triggerbar_address(unsigned int address); SR_PRIV void analyzer_set_triggerbar_address(unsigned int address);
SR_PRIV unsigned int analyzer_get_ramsize_trigger_address(void ); SR_PRIV unsigned int analyzer_get_ramsize_trigger_address(void );
SR_PRIV unsigned int analyzer_get_triggerbar_address(void); SR_PRIV unsigned int analyzer_get_triggerbar_address(void);
SR_PRIV void analyzer_set_compression(unsigned int type); SR_PRIV void analyzer_set_compression(unsigned int type);
SR_PRIV void analyzer_set_memory_size(unsigned int size); SR_PRIV void analyzer_set_memory_size(unsigned int size);
@ -99,7 +99,7 @@ SR_PRIV void analyzer_initialize(libusb_device_handle *devh);
SR_PRIV void analyzer_wait(libusb_device_handle *devh, int set, int unset); SR_PRIV void analyzer_wait(libusb_device_handle *devh, int set, int unset);
SR_PRIV void analyzer_read_start(libusb_device_handle *devh); SR_PRIV void analyzer_read_start(libusb_device_handle *devh);
SR_PRIV int analyzer_read_data(libusb_device_handle *devh, void *buffer, SR_PRIV int analyzer_read_data(libusb_device_handle *devh, void *buffer,
unsigned int size); unsigned int size);
SR_PRIV void analyzer_read_stop(libusb_device_handle *devh); SR_PRIV void analyzer_read_stop(libusb_device_handle *devh);
SR_PRIV void analyzer_start(libusb_device_handle *devh); SR_PRIV void analyzer_start(libusb_device_handle *devh);
SR_PRIV void analyzer_configure(libusb_device_handle *devh); SR_PRIV void analyzer_configure(libusb_device_handle *devh);

View File

@ -413,10 +413,10 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
if (!sdi) { if (!sdi) {
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
drvopts, ARRAY_SIZE(drvopts), sizeof(uint32_t)); drvopts, ARRAY_SIZE(drvopts), sizeof(uint32_t));
} else { } else {
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
devopts, ARRAY_SIZE(devopts), sizeof(uint32_t)); devopts, ARRAY_SIZE(devopts), sizeof(uint32_t));
} }
break; break;
case SR_CONF_SAMPLERATE: case SR_CONF_SAMPLERATE:

View File

@ -92,9 +92,10 @@ static int gl_read_data(libusb_device_handle *devh)
SR_PRIV int gl_read_bulk(libusb_device_handle *devh, void *buffer, SR_PRIV int gl_read_bulk(libusb_device_handle *devh, void *buffer,
unsigned int size) unsigned int size)
{ {
unsigned char packet[8] = unsigned char packet[8] = {
{ 0, 0, 0, 0, size & 0xff, (size & 0xff00) >> 8, 0, 0, 0, 0, size & 0xff, (size & 0xff00) >> 8,
(size & 0xff0000) >> 16, (size & 0xff000000) >> 24 }; (size & 0xff0000) >> 16, (size & 0xff000000) >> 24
};
int ret, transferred = 0; int ret, transferred = 0;
ret = libusb_control_transfer(devh, CTRL_OUT, 0x4, REQ_READBULK, ret = libusb_control_transfer(devh, CTRL_OUT, 0x4, REQ_READBULK,

View File

@ -553,9 +553,12 @@ SR_PRIV void sr_hw_cleanup_all(const struct sr_context *ctx)
} }
} }
/** Allocate struct sr_config. /**
* A floating reference can be passed in for data. * Allocate struct sr_config.
* @private *
* A floating reference can be passed in for data.
*
* @private
*/ */
SR_PRIV struct sr_config *sr_config_new(uint32_t key, GVariant *data) SR_PRIV struct sr_config *sr_config_new(uint32_t key, GVariant *data)
{ {
@ -568,8 +571,10 @@ SR_PRIV struct sr_config *sr_config_new(uint32_t key, GVariant *data)
return src; return src;
} }
/** Free struct sr_config. /**
* @private * Free struct sr_config.
*
* @private
*/ */
SR_PRIV void sr_config_free(struct sr_config *src) SR_PRIV void sr_config_free(struct sr_config *src)
{ {
@ -680,7 +685,7 @@ static int check_key(const struct sr_dev_driver *driver,
* Otherwise it must be NULL. If sdi is != NULL, sdi->priv must * Otherwise it must be NULL. If sdi is != NULL, sdi->priv must
* also be != NULL. * also be != NULL.
* @param[in] cg The channel group on the device for which to list the * @param[in] cg The channel group on the device for which to list the
* values, or NULL. * values, or NULL.
* @param[in] key The configuration key (SR_CONF_*). * @param[in] key The configuration key (SR_CONF_*).
* @param[in,out] data Pointer to a GVariant where the value will be stored. * @param[in,out] data Pointer to a GVariant where the value will be stored.
* Must not be NULL. The caller is given ownership of the GVariant * Must not be NULL. The caller is given ownership of the GVariant
@ -691,8 +696,8 @@ static int check_key(const struct sr_dev_driver *driver,
* @retval SR_OK Success. * @retval SR_OK Success.
* @retval SR_ERR Error. * @retval SR_ERR Error.
* @retval SR_ERR_ARG The driver doesn't know that key, but this is not to be * @retval SR_ERR_ARG The driver doesn't know that key, but this is not to be
* interpreted as an error by the caller; merely as an indication * interpreted as an error by the caller; merely as an indication
* that it's not applicable. * that it's not applicable.
* *
* @since 0.3.0 * @since 0.3.0
*/ */
@ -742,8 +747,8 @@ SR_API int sr_config_get(const struct sr_dev_driver *driver,
* @retval SR_OK Success. * @retval SR_OK Success.
* @retval SR_ERR Error. * @retval SR_ERR Error.
* @retval SR_ERR_ARG The driver doesn't know that key, but this is not to be * @retval SR_ERR_ARG The driver doesn't know that key, but this is not to be
* interpreted as an error by the caller; merely as an indication * interpreted as an error by the caller; merely as an indication
* that it's not applicable. * that it's not applicable.
* *
* @since 0.3.0 * @since 0.3.0
*/ */
@ -814,8 +819,8 @@ SR_API int sr_config_commit(const struct sr_dev_inst *sdi)
* @retval SR_OK Success. * @retval SR_OK Success.
* @retval SR_ERR Error. * @retval SR_ERR Error.
* @retval SR_ERR_ARG The driver doesn't know that key, but this is not to be * @retval SR_ERR_ARG The driver doesn't know that key, but this is not to be
* interpreted as an error by the caller; merely as an indication * interpreted as an error by the caller; merely as an indication
* that it's not applicable. * that it's not applicable.
* *
* @since 0.3.0 * @since 0.3.0
*/ */

View File

@ -29,9 +29,9 @@
#define LOG_PREFIX "input/binary" #define LOG_PREFIX "input/binary"
#define MAX_CHUNK_SIZE 4096 #define MAX_CHUNK_SIZE 4096
#define DEFAULT_NUM_CHANNELS 8 #define DEFAULT_NUM_CHANNELS 8
#define DEFAULT_SAMPLERATE 0 #define DEFAULT_SAMPLERATE 0
struct context { struct context {
gboolean started; gboolean started;

View File

@ -89,7 +89,7 @@ struct context {
/* Comment prefix character(s). */ /* Comment prefix character(s). */
GString *comment; GString *comment;
/* Termination character(s) used in current stream. */ /* Termination character(s) used in current stream. */
char *termination; char *termination;
/* Determines if sample data is stored in multiple columns. */ /* Determines if sample data is stored in multiple columns. */

View File

@ -31,9 +31,9 @@
#define LOG_PREFIX "input/raw_analog" #define LOG_PREFIX "input/raw_analog"
/* How many bytes at a time to process and send to the session bus. */ /* How many bytes at a time to process and send to the session bus. */
#define CHUNK_SIZE 4096 #define CHUNK_SIZE 4096
#define DEFAULT_NUM_CHANNELS 1 #define DEFAULT_NUM_CHANNELS 1
#define DEFAULT_SAMPLERATE 0 #define DEFAULT_SAMPLERATE 0
struct context { struct context {
gboolean started; gboolean started;

View File

@ -50,7 +50,7 @@
#define MAX_POD_COUNT 12 #define MAX_POD_COUNT 12
#define HEADER_SIZE 80 #define HEADER_SIZE 80
#define TIMESTAMP_RESOLUTION ((double)0.000000000078125) /* 0.078125 ns */ #define TIMESTAMP_RESOLUTION ((double)0.000000000078125) /* 0.078125 ns */
/* /*
* The resolution equals a sampling freq of 12.8 GHz. That's a bit high * The resolution equals a sampling freq of 12.8 GHz. That's a bit high
@ -79,7 +79,7 @@ enum {
enum { enum {
AD_COMPR_NONE = 0, /* File created with /NOCOMPRESS */ AD_COMPR_NONE = 0, /* File created with /NOCOMPRESS */
AD_COMPR_QCOMP = 6 /* File created with /COMPRESS or /QUICKCOMPRESS */ AD_COMPR_QCOMP = 6, /* File created with /COMPRESS or /QUICKCOMPRESS */
}; };
struct context { struct context {
@ -253,8 +253,8 @@ static int process_header(GString *buf, struct context *inc)
inc->device = device_id; inc->device = device_id;
inc->trigger_timestamp = RL64(buf->str + 32); inc->trigger_timestamp = RL64(buf->str + 32);
inc->compression = R8(buf->str + 48); /* Maps to the enum. */ inc->compression = R8(buf->str + 48); /* Maps to the enum. */
inc->record_mode = R8(buf->str + 55); /* Maps to the enum. */ inc->record_mode = R8(buf->str + 55); /* Maps to the enum. */
inc->record_size = record_size; inc->record_size = record_size;
inc->record_count = RL32(buf->str + 60); inc->record_count = RL32(buf->str + 60);
inc->last_record = RL32S(buf->str + 64); inc->last_record = RL32S(buf->str + 64);

View File

@ -93,7 +93,7 @@ struct vcd_channel {
/* /*
* Reads a single VCD section from input file and parses it to name/contents. * Reads a single VCD section from input file and parses it to name/contents.
* e.g. $timescale 1ps $end => "timescale" "1ps" * e.g. $timescale 1ps $end => "timescale" "1ps"
*/ */
static gboolean parse_section(GString *buf, gchar **name, gchar **contents) static gboolean parse_section(GString *buf, gchar **name, gchar **contents)
{ {

View File

@ -31,7 +31,7 @@
#define LOG_PREFIX "input/wav" #define LOG_PREFIX "input/wav"
/* How many bytes at a time to process and send to the session bus. */ /* How many bytes at a time to process and send to the session bus. */
#define CHUNK_SIZE 4096 #define CHUNK_SIZE 4096
/* Minimum size of header + 1 8-bit mono PCM sample. */ /* Minimum size of header + 1 8-bit mono PCM sample. */
#define MIN_DATA_CHUNK_OFFSET 45 #define MIN_DATA_CHUNK_OFFSET 45

View File

@ -490,21 +490,21 @@ static void parse_measurement(const uint8_t *pkt, float *floatval,
int unit; int unit;
int exponent; int exponent;
} units[] = { } units[] = {
{ SR_UNIT_UNITLESS, 0 }, /* no unit */ { SR_UNIT_UNITLESS, 0 }, /* no unit */
{ SR_UNIT_OHM, 0 }, /* Ohm */ { SR_UNIT_OHM, 0 }, /* Ohm */
{ SR_UNIT_OHM, 3 }, /* kOhm */ { SR_UNIT_OHM, 3 }, /* kOhm */
{ SR_UNIT_OHM, 6 }, /* MOhm */ { SR_UNIT_OHM, 6 }, /* MOhm */
{ -1, 0 }, /* ??? */ { -1, 0 }, /* ??? */
{ SR_UNIT_HENRY, -6 }, /* uH */ { SR_UNIT_HENRY, -6 }, /* uH */
{ SR_UNIT_HENRY, -3 }, /* mH */ { SR_UNIT_HENRY, -3 }, /* mH */
{ SR_UNIT_HENRY, 0 }, /* H */ { SR_UNIT_HENRY, 0 }, /* H */
{ SR_UNIT_HENRY, 3 }, /* kH */ { SR_UNIT_HENRY, 3 }, /* kH */
{ SR_UNIT_FARAD, -12 }, /* pF */ { SR_UNIT_FARAD, -12 }, /* pF */
{ SR_UNIT_FARAD, -9 }, /* nF */ { SR_UNIT_FARAD, -9 }, /* nF */
{ SR_UNIT_FARAD, -6 }, /* uF */ { SR_UNIT_FARAD, -6 }, /* uF */
{ SR_UNIT_FARAD, -3 }, /* mF */ { SR_UNIT_FARAD, -3 }, /* mF */
{ SR_UNIT_PERCENTAGE, 0 }, /* % */ { SR_UNIT_PERCENTAGE, 0 }, /* % */
{ SR_UNIT_DEGREE, 0 }, /* degree */ { SR_UNIT_DEGREE, 0 }, /* degree */
}; };
const uint8_t *buf; const uint8_t *buf;
int digits, exponent; int digits, exponent;

View File

@ -17,9 +17,11 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file /**
* @internal * @file
*/ *
* @internal
*/
#ifndef LIBSIGROK_LIBSIGROK_INTERNAL_H #ifndef LIBSIGROK_LIBSIGROK_INTERNAL_H
#define LIBSIGROK_LIBSIGROK_INTERNAL_H #define LIBSIGROK_LIBSIGROK_INTERNAL_H
@ -428,9 +430,9 @@ struct sr_input_module {
* @retval SR_OK This module knows the format. * @retval SR_OK This module knows the format.
* @retval SR_ERR_NA There wasn't enough data for this module to * @retval SR_ERR_NA There wasn't enough data for this module to
* positively identify the format. * positively identify the format.
* @retval SR_ERR_DATA This module knows the format, but cannot handle it. * @retval SR_ERR_DATA This module knows the format, but cannot handle
* This means the stream is either corrupt, or indicates a feature * it. This means the stream is either corrupt, or indicates a
* that the module does not support. * feature that the module does not support.
* @retval SR_ERR This module does not know the format. * @retval SR_ERR This module does not know the format.
*/ */
int (*format_match) (GHashTable *metadata); int (*format_match) (GHashTable *metadata);
@ -468,16 +470,16 @@ struct sr_input_module {
*/ */
int (*end) (struct sr_input *in); int (*end) (struct sr_input *in);
/** /**
* Reset the input module's input handling structures. * Reset the input module's input handling structures.
* *
* Causes the input module to reset its internal state so that we can * Causes the input module to reset its internal state so that we can
* re-send the input data from the beginning without having to * re-send the input data from the beginning without having to
* re-create the entire input module. * re-create the entire input module.
* *
* @retval SR_OK Success. * @retval SR_OK Success.
* @retval other Negative error code. * @retval other Negative error code.
*/ */
int (*reset) (struct sr_input *in); int (*reset) (struct sr_input *in);
/** /**
@ -495,7 +497,7 @@ struct sr_input_module {
/** Output module instance. */ /** Output module instance. */
struct sr_output { struct sr_output {
/** A pointer to this output's module. */ /** A pointer to this output's module. */
const struct sr_output_module *module; const struct sr_output_module *module;
/** /**
@ -612,7 +614,7 @@ struct sr_output_module {
/** Transform module instance. */ /** Transform module instance. */
struct sr_transform { struct sr_transform {
/** A pointer to this transform's module. */ /** A pointer to this transform's module. */
const struct sr_transform_module *module; const struct sr_transform_module *module;
/** /**

View File

@ -29,7 +29,7 @@ SR_PRIV extern const struct sr_modbus_dev_inst modbus_serial_rtu_dev;
static const struct sr_modbus_dev_inst *modbus_devs[] = { static const struct sr_modbus_dev_inst *modbus_devs[] = {
#ifdef HAVE_LIBSERIALPORT #ifdef HAVE_LIBSERIALPORT
&modbus_serial_rtu_dev, /* Must be last as it matches any resource. */ &modbus_serial_rtu_dev, /* Must be last as it matches any resource. */
#endif #endif
}; };

View File

@ -182,7 +182,7 @@ static int receive(const struct sr_output *o, const struct sr_datafeed_packet *p
/* Flush line buffers. */ /* Flush line buffers. */
g_string_append_len(*out, ctx->lines[j]->str, ctx->lines[j]->len); g_string_append_len(*out, ctx->lines[j]->str, ctx->lines[j]->len);
g_string_append_c(*out, '\n'); g_string_append_c(*out, '\n');
if (j == ctx->num_enabled_channels - 1 && ctx->trigger > -1) { if (j == ctx->num_enabled_channels - 1 && ctx->trigger > -1) {
offset = ctx->trigger + ctx->trigger / 8; offset = ctx->trigger + ctx->trigger / 8;
g_string_append_printf(*out, "T:%*s^ %d\n", offset, "", ctx->trigger); g_string_append_printf(*out, "T:%*s^ %d\n", offset, "", ctx->trigger);
ctx->trigger = -1; ctx->trigger = -1;

View File

@ -167,7 +167,7 @@ static int receive(const struct sr_output *o, const struct sr_datafeed_packet *p
/* Flush line buffers. */ /* Flush line buffers. */
g_string_append_len(*out, ctx->lines[j]->str, ctx->lines[j]->len); g_string_append_len(*out, ctx->lines[j]->str, ctx->lines[j]->len);
g_string_append_c(*out, '\n'); g_string_append_c(*out, '\n');
if (j == ctx->num_enabled_channels - 1 && ctx->trigger > -1) { if (j == ctx->num_enabled_channels - 1 && ctx->trigger > -1) {
offset = ctx->trigger + ctx->trigger / 8; offset = ctx->trigger + ctx->trigger / 8;
g_string_append_printf(*out, "T:%*s^ %d\n", offset, "", ctx->trigger); g_string_append_printf(*out, "T:%*s^ %d\n", offset, "", ctx->trigger);
ctx->trigger = -1; ctx->trigger = -1;

View File

@ -339,7 +339,7 @@ static int zip_append_analog(const struct sr_output *o,
if (outc->analog_index_map[index] == channel->index) if (outc->analog_index_map[index] == channel->index)
break; break;
if (outc->analog_index_map[index] == -1) if (outc->analog_index_map[index] == -1)
return SR_ERR_ARG; /* Channel index was not in the list */ return SR_ERR_ARG; /* Channel index was not in the list */
index += outc->first_analog_index; index += outc->first_analog_index;

View File

@ -224,15 +224,15 @@ SR_API int sr_resource_set_hooks(struct sr_context *ctx,
return SR_ERR_ARG; return SR_ERR_ARG;
} }
if (open_cb && close_cb && read_cb) { if (open_cb && close_cb && read_cb) {
ctx->resource_open_cb = open_cb; ctx->resource_open_cb = open_cb;
ctx->resource_close_cb = close_cb; ctx->resource_close_cb = close_cb;
ctx->resource_read_cb = read_cb; ctx->resource_read_cb = read_cb;
ctx->resource_cb_data = cb_data; ctx->resource_cb_data = cb_data;
} else if (!open_cb && !close_cb && !read_cb) { } else if (!open_cb && !close_cb && !read_cb) {
ctx->resource_open_cb = &resource_open_default; ctx->resource_open_cb = &resource_open_default;
ctx->resource_close_cb = &resource_close_default; ctx->resource_close_cb = &resource_close_default;
ctx->resource_read_cb = &resource_read_default; ctx->resource_read_cb = &resource_read_default;
ctx->resource_cb_data = ctx; ctx->resource_cb_data = ctx;
} else { } else {
sr_err("%s: inconsistent callback pointers.", __func__); sr_err("%s: inconsistent callback pointers.", __func__);
return SR_ERR_ARG; return SR_ERR_ARG;
@ -332,7 +332,7 @@ SR_PRIV gssize sr_resource_read(struct sr_context *ctx,
* @param max_size Size limit. Error out if the resource is larger than this. * @param max_size Size limit. Error out if the resource is larger than this.
* *
* @return A buffer containing the resource data, or NULL on failure. Must * @return A buffer containing the resource data, or NULL on failure. Must
* be freed by the caller using g_free(). * be freed by the caller using g_free().
* *
* @private * @private
*/ */

View File

@ -90,7 +90,7 @@ static const struct sr_scpi_dev_inst *scpi_devs[] = {
&scpi_libgpib_dev, &scpi_libgpib_dev,
#endif #endif
#ifdef HAVE_LIBSERIALPORT #ifdef HAVE_LIBSERIALPORT
&scpi_serial_dev, /* must be last as it matches any resource */ &scpi_serial_dev, /* Must be last as it matches any resource. */
#endif #endif
}; };
@ -446,7 +446,7 @@ SR_PRIV int sr_scpi_get_data(struct sr_scpi_dev_inst *scpi,
sr_err("Incompletely read SCPI response."); sr_err("Incompletely read SCPI response.");
return SR_ERR; return SR_ERR;
} else if (len > 0) { } else if (len > 0) {
laststart = g_get_monotonic_time(); laststart = g_get_monotonic_time();
} }
offset += len; offset += len;
g_string_set_size(response, offset); g_string_set_size(response, offset);

View File

@ -66,8 +66,8 @@ static int scpi_tcp_dev_inst_new(void *priv, struct drv_context *drvc,
} }
tcp->address = g_strdup(params[1]); tcp->address = g_strdup(params[1]);
tcp->port = g_strdup(params[2]); tcp->port = g_strdup(params[2]);
tcp->socket = -1; tcp->socket = -1;
return SR_OK; return SR_OK;
} }

View File

@ -48,8 +48,8 @@ struct scpi_usbtmc_libusb {
}; };
/* Some USBTMC-specific enums, as defined in the USBTMC standard. */ /* Some USBTMC-specific enums, as defined in the USBTMC standard. */
#define SUBCLASS_USBTMC 0x03 #define SUBCLASS_USBTMC 0x03
#define USBTMC_USB488 0x01 #define USBTMC_USB488 0x01
enum { enum {
/* USBTMC control requests */ /* USBTMC control requests */
@ -85,16 +85,16 @@ enum {
#define USB488_DEV_CAP_SCPI 0x08 #define USB488_DEV_CAP_SCPI 0x08
/* Bulk messages constants */ /* Bulk messages constants */
#define USBTMC_BULK_HEADER_SIZE 12 #define USBTMC_BULK_HEADER_SIZE 12
/* Bulk MsgID values */ /* Bulk MsgID values */
#define DEV_DEP_MSG_OUT 1 #define DEV_DEP_MSG_OUT 1
#define REQUEST_DEV_DEP_MSG_IN 2 #define REQUEST_DEV_DEP_MSG_IN 2
#define DEV_DEP_MSG_IN 2 #define DEV_DEP_MSG_IN 2
/* bmTransferAttributes */ /* bmTransferAttributes */
#define EOM 0x01 #define EOM 0x01
#define TERM_CHAR_ENABLED 0x02 #define TERM_CHAR_ENABLED 0x02
struct usbtmc_blacklist { struct usbtmc_blacklist {
uint16_t vid; uint16_t vid;
@ -103,10 +103,10 @@ struct usbtmc_blacklist {
/* Devices that publish RL1 support, but don't support it. */ /* Devices that publish RL1 support, but don't support it. */
static struct usbtmc_blacklist blacklist_remote[] = { static struct usbtmc_blacklist blacklist_remote[] = {
{ 0x1ab1, 0x0588 }, /* Rigol DS1000 series */ { 0x1ab1, 0x0588 }, /* Rigol DS1000 series */
{ 0x1ab1, 0x04b0 }, /* Rigol DS2000 series */ { 0x1ab1, 0x04b0 }, /* Rigol DS2000 series */
{ 0x0957, 0x0588 }, /* Agilent DSO1000 series (rebadged Rigol DS1000) */ { 0x0957, 0x0588 }, /* Agilent DSO1000 series (rebadged Rigol DS1000) */
{ 0x0b21, 0xffff }, /* All Yokogawa devices */ { 0x0b21, 0xffff }, /* All Yokogawa devices */
ALL_ZERO ALL_ZERO
}; };
@ -218,14 +218,9 @@ static int scpi_usbtmc_remote(struct scpi_usbtmc_libusb *uscpi)
return SR_OK; return SR_OK;
sr_dbg("Locking out local control."); sr_dbg("Locking out local control.");
ret = libusb_control_transfer(usb->devhdl, ret = libusb_control_transfer(usb->devhdl, LIBUSB_ENDPOINT_IN |
LIBUSB_ENDPOINT_IN | LIBUSB_REQUEST_TYPE_CLASS | LIBUSB_RECIPIENT_INTERFACE,
LIBUSB_REQUEST_TYPE_CLASS | REN_CONTROL, 1, uscpi->interface, &status, 1, TRANSFER_TIMEOUT);
LIBUSB_RECIPIENT_INTERFACE,
REN_CONTROL, 1,
uscpi->interface,
&status, 1,
TRANSFER_TIMEOUT);
if (ret < 0 || status != USBTMC_STATUS_SUCCESS) { if (ret < 0 || status != USBTMC_STATUS_SUCCESS) {
if (ret < 0) if (ret < 0)
sr_dbg("Failed to enter REN state: %s.", libusb_error_name(ret)); sr_dbg("Failed to enter REN state: %s.", libusb_error_name(ret));
@ -234,14 +229,10 @@ static int scpi_usbtmc_remote(struct scpi_usbtmc_libusb *uscpi)
return SR_ERR; return SR_ERR;
} }
ret = libusb_control_transfer(usb->devhdl, ret = libusb_control_transfer(usb->devhdl, LIBUSB_ENDPOINT_IN |
LIBUSB_ENDPOINT_IN | LIBUSB_REQUEST_TYPE_CLASS | LIBUSB_RECIPIENT_INTERFACE,
LIBUSB_REQUEST_TYPE_CLASS | LOCAL_LOCKOUT, 0, uscpi->interface, &status, 1,
LIBUSB_RECIPIENT_INTERFACE, TRANSFER_TIMEOUT);
LOCAL_LOCKOUT, 0,
uscpi->interface,
&status, 1,
TRANSFER_TIMEOUT);
if (ret < 0 || status != USBTMC_STATUS_SUCCESS) { if (ret < 0 || status != USBTMC_STATUS_SUCCESS) {
if (ret < 0) if (ret < 0)
sr_dbg("Failed to enter local lockout state: %s.", sr_dbg("Failed to enter local lockout state: %s.",
@ -272,14 +263,9 @@ static void scpi_usbtmc_local(struct scpi_usbtmc_libusb *uscpi)
return; return;
sr_dbg("Returning local control."); sr_dbg("Returning local control.");
ret = libusb_control_transfer(usb->devhdl, ret = libusb_control_transfer(usb->devhdl, LIBUSB_ENDPOINT_IN |
LIBUSB_ENDPOINT_IN | LIBUSB_REQUEST_TYPE_CLASS | LIBUSB_RECIPIENT_INTERFACE,
LIBUSB_REQUEST_TYPE_CLASS | GO_TO_LOCAL, 0, uscpi->interface, &status, 1, TRANSFER_TIMEOUT);
LIBUSB_RECIPIENT_INTERFACE,
GO_TO_LOCAL, 0,
uscpi->interface,
&status, 1,
TRANSFER_TIMEOUT);
if (ret < 0 || status != USBTMC_STATUS_SUCCESS) { if (ret < 0 || status != USBTMC_STATUS_SUCCESS) {
if (ret < 0) if (ret < 0)
sr_dbg("Failed to clear local lockout state: %s.", sr_dbg("Failed to clear local lockout state: %s.",
@ -323,7 +309,7 @@ static int scpi_usbtmc_libusb_open(struct sr_scpi_dev_inst *scpi)
for (intfidx = 0; intfidx < confdes->bNumInterfaces; intfidx++) { for (intfidx = 0; intfidx < confdes->bNumInterfaces; intfidx++) {
intfdes = confdes->interface[intfidx].altsetting; intfdes = confdes->interface[intfidx].altsetting;
if (intfdes->bInterfaceClass != LIBUSB_CLASS_APPLICATION || if (intfdes->bInterfaceClass != LIBUSB_CLASS_APPLICATION ||
intfdes->bInterfaceSubClass != SUBCLASS_USBTMC || intfdes->bInterfaceSubClass != SUBCLASS_USBTMC ||
intfdes->bInterfaceProtocol != USBTMC_USB488) intfdes->bInterfaceProtocol != USBTMC_USB488)
continue; continue;
uscpi->interface = intfdes->bInterfaceNumber; uscpi->interface = intfdes->bInterfaceNumber;
@ -385,29 +371,25 @@ static int scpi_usbtmc_libusb_open(struct sr_scpi_dev_inst *scpi)
} }
/* Get capabilities. */ /* Get capabilities. */
ret = libusb_control_transfer(usb->devhdl, ret = libusb_control_transfer(usb->devhdl, LIBUSB_ENDPOINT_IN |
LIBUSB_ENDPOINT_IN | LIBUSB_REQUEST_TYPE_CLASS | LIBUSB_RECIPIENT_INTERFACE,
LIBUSB_REQUEST_TYPE_CLASS | GET_CAPABILITIES, 0, uscpi->interface, capabilities,
LIBUSB_RECIPIENT_INTERFACE, sizeof(capabilities), TRANSFER_TIMEOUT);
GET_CAPABILITIES, 0,
uscpi->interface,
capabilities, sizeof(capabilities),
TRANSFER_TIMEOUT);
if (ret == sizeof(capabilities)) { if (ret == sizeof(capabilities)) {
uscpi->usbtmc_int_cap = capabilities[ 4]; uscpi->usbtmc_int_cap = capabilities[ 4];
uscpi->usbtmc_dev_cap = capabilities[ 5]; uscpi->usbtmc_dev_cap = capabilities[ 5];
uscpi->usb488_dev_cap = capabilities[15]; uscpi->usb488_dev_cap = capabilities[15];
} }
sr_dbg("Device capabilities: %s%s%s%s%s, %s, %s", sr_dbg("Device capabilities: %s%s%s%s%s, %s, %s",
uscpi->usb488_dev_cap & USB488_DEV_CAP_SCPI ? "SCPI, " : "", uscpi->usb488_dev_cap & USB488_DEV_CAP_SCPI ? "SCPI, " : "",
uscpi->usbtmc_dev_cap & USBTMC_DEV_CAP_TERMCHAR ? "TermChar, ": "", uscpi->usbtmc_dev_cap & USBTMC_DEV_CAP_TERMCHAR ? "TermChar, ": "",
uscpi->usbtmc_int_cap & USBTMC_INT_CAP_LISTEN_ONLY? "L3, " : uscpi->usbtmc_int_cap & USBTMC_INT_CAP_LISTEN_ONLY ? "L3, " :
uscpi->usbtmc_int_cap & USBTMC_INT_CAP_TALK_ONLY ? "" : "L4, ", uscpi->usbtmc_int_cap & USBTMC_INT_CAP_TALK_ONLY ? "" : "L4, ",
uscpi->usbtmc_int_cap & USBTMC_INT_CAP_TALK_ONLY ? "T5, " : uscpi->usbtmc_int_cap & USBTMC_INT_CAP_TALK_ONLY ? "T5, " :
uscpi->usbtmc_int_cap & USBTMC_INT_CAP_LISTEN_ONLY? "" : "T6, ", uscpi->usbtmc_int_cap & USBTMC_INT_CAP_LISTEN_ONLY ? "" : "T6, ",
uscpi->usb488_dev_cap & USB488_DEV_CAP_SR1 ? "SR1" : "SR0", uscpi->usb488_dev_cap & USB488_DEV_CAP_SR1 ? "SR1" : "SR0",
uscpi->usb488_dev_cap & USB488_DEV_CAP_RL1 ? "RL1" : "RL0", uscpi->usb488_dev_cap & USB488_DEV_CAP_RL1 ? "RL1" : "RL0",
uscpi->usb488_dev_cap & USB488_DEV_CAP_DT1 ? "DT1" : "DT0"); uscpi->usb488_dev_cap & USB488_DEV_CAP_DT1 ? "DT1" : "DT0");
scpi_usbtmc_remote(uscpi); scpi_usbtmc_remote(uscpi);
@ -436,14 +418,14 @@ static void usbtmc_bulk_out_header_write(void *header, uint8_t MsgID,
uint8_t bmTransferAttributes, uint8_t bmTransferAttributes,
char TermChar) char TermChar)
{ {
W8(header+ 0, MsgID); W8(header + 0, MsgID);
W8(header+ 1, bTag); W8(header + 1, bTag);
W8(header+ 2, ~bTag); W8(header + 2, ~bTag);
W8(header+ 3, 0); W8(header + 3, 0);
WL32(header+ 4, TransferSize); WL32(header + 4, TransferSize);
W8(header+ 8, bmTransferAttributes); W8(header + 8, bmTransferAttributes);
W8(header+ 9, TermChar); W8(header + 9, TermChar);
WL16(header+10, 0); WL16(header + 10, 0);
} }
static int usbtmc_bulk_in_header_read(void *header, uint8_t MsgID, static int usbtmc_bulk_in_header_read(void *header, uint8_t MsgID,
@ -451,14 +433,15 @@ static int usbtmc_bulk_in_header_read(void *header, uint8_t MsgID,
int32_t *TransferSize, int32_t *TransferSize,
uint8_t *bmTransferAttributes) uint8_t *bmTransferAttributes)
{ {
if (R8(header+0) != MsgID || if (R8(header + 0) != MsgID ||
R8(header+1) != bTag || R8(header + 1) != bTag ||
R8(header+2) != (unsigned char)~bTag) R8(header + 2) != (unsigned char)~bTag)
return SR_ERR; return SR_ERR;
if (TransferSize) if (TransferSize)
*TransferSize = RL32(header+4); *TransferSize = RL32(header + 4);
if (bmTransferAttributes) if (bmTransferAttributes)
*bmTransferAttributes = R8(header+8); *bmTransferAttributes = R8(header + 8);
return SR_OK; return SR_OK;
} }
@ -469,23 +452,23 @@ static int scpi_usbtmc_bulkout(struct scpi_usbtmc_libusb *uscpi,
struct sr_usb_dev_inst *usb = uscpi->usb; struct sr_usb_dev_inst *usb = uscpi->usb;
int padded_size, ret, transferred; int padded_size, ret, transferred;
if (data && size+USBTMC_BULK_HEADER_SIZE+3 > (int)sizeof(uscpi->buffer)) { if (data && (size + USBTMC_BULK_HEADER_SIZE + 3) > (int)sizeof(uscpi->buffer)) {
sr_err("USBTMC bulk out transfer is too big."); sr_err("USBTMC bulk out transfer is too big.");
return SR_ERR; return SR_ERR;
} }
uscpi->bTag++; uscpi->bTag++;
uscpi->bTag += !uscpi->bTag; /* bTag == 0 is invalid so avoid it. */ uscpi->bTag += !uscpi->bTag; /* bTag == 0 is invalid so avoid it. */
usbtmc_bulk_out_header_write(uscpi->buffer, msg_id, uscpi->bTag, usbtmc_bulk_out_header_write(uscpi->buffer, msg_id, uscpi->bTag,
size, transfer_attributes, 0); size, transfer_attributes, 0);
if (data) if (data)
memcpy(uscpi->buffer+USBTMC_BULK_HEADER_SIZE, data, size); memcpy(uscpi->buffer + USBTMC_BULK_HEADER_SIZE, data, size);
else else
size = 0; size = 0;
size += USBTMC_BULK_HEADER_SIZE; size += USBTMC_BULK_HEADER_SIZE;
padded_size = (size + 3) & ~0x3; padded_size = (size + 3) & ~0x3;
memset(uscpi->buffer+size, 0, padded_size - size); memset(uscpi->buffer + size, 0, padded_size - size);
ret = libusb_bulk_transfer(usb->devhdl, uscpi->bulk_out_ep, ret = libusb_bulk_transfer(usb->devhdl, uscpi->bulk_out_ep,
uscpi->buffer, padded_size, &transferred, uscpi->buffer, padded_size, &transferred,

View File

@ -55,7 +55,7 @@
* *
* @param serial Previously initialized serial port structure. * @param serial Previously initialized serial port structure.
* @param[in] flags Flags to use when opening the serial port. Possible flags * @param[in] flags Flags to use when opening the serial port. Possible flags
* include SERIAL_RDWR, SERIAL_RDONLY. * include SERIAL_RDWR, SERIAL_RDONLY.
* *
* If the serial structure contains a serialcomm string, it will be * If the serial structure contains a serialcomm string, it will be
* passed to serial_set_paramstr() after the port is opened. * passed to serial_set_paramstr() after the port is opened.
@ -360,8 +360,8 @@ static int _serial_read(struct sr_serial_dev_inst *serial, void *buf,
* @param[in] timeout_ms Timeout in ms, or 0 for no timeout. * @param[in] timeout_ms Timeout in ms, or 0 for no timeout.
* *
* @retval SR_ERR_ARG Invalid argument. * @retval SR_ERR_ARG Invalid argument.
* @retval SR_ERR Other error. * @retval SR_ERR Other error.
* @retval other The number of bytes read. If this is less than the number * @retval other The number of bytes read. If this is less than the number
* requested, the timeout was reached. * requested, the timeout was reached.
* *
* @private * @private
@ -381,8 +381,8 @@ SR_PRIV int serial_read_blocking(struct sr_serial_dev_inst *serial, void *buf,
* @param[in] count The number of bytes to read. * @param[in] count The number of bytes to read.
* *
* @retval SR_ERR_ARG Invalid argument. * @retval SR_ERR_ARG Invalid argument.
* @retval SR_ERR Other error. * @retval SR_ERR Other error.
* @retval other The number of bytes read. * @retval other The number of bytes read.
* *
* @private * @private
*/ */
@ -401,7 +401,7 @@ SR_PRIV int serial_read_nonblocking(struct sr_serial_dev_inst *serial, void *buf
* @param[in] parity The parity setting to use (0 = none, 1 = even, 2 = odd). * @param[in] parity The parity setting to use (0 = none, 1 = even, 2 = odd).
* @param[in] stopbits The number of stop bits to use (1 or 2). * @param[in] stopbits The number of stop bits to use (1 or 2).
* @param[in] flowcontrol The flow control settings to use (0 = none, * @param[in] flowcontrol The flow control settings to use (0 = none,
* 1 = RTS/CTS, 2 = XON/XOFF). * 1 = RTS/CTS, 2 = XON/XOFF).
* @param[in] rts Status of RTS line (0 or 1; required by some interfaces). * @param[in] rts Status of RTS line (0 or 1; required by some interfaces).
* @param[in] dtr Status of DTR line (0 or 1; required by some interfaces). * @param[in] dtr Status of DTR line (0 or 1; required by some interfaces).
* *
@ -477,7 +477,7 @@ SR_PRIV int serial_set_params(struct sr_serial_dev_inst *serial, int baudrate,
* @param serial Previously initialized serial port structure. * @param serial Previously initialized serial port structure.
* @param[in] paramstr A serial communication parameters string of the form * @param[in] paramstr A serial communication parameters string of the form
* "<baudrate>/<bits><parity><stopbits>{/<option>}".\n * "<baudrate>/<bits><parity><stopbits>{/<option>}".\n
* Examples: "9600/8n1", "600/7o2/dtr=1/rts=0" or "460800/8n1/flow=2".\n * Examples: "9600/8n1", "600/7o2/dtr=1/rts=0" or "460800/8n1/flow=2".\n
* \<baudrate\>=integer Baud rate.\n * \<baudrate\>=integer Baud rate.\n
* \<bits\>=5|6|7|8 Number of data bits.\n * \<bits\>=5|6|7|8 Number of data bits.\n
* \<parity\>=n|e|o None, even, odd.\n * \<parity\>=n|e|o None, even, odd.\n
@ -666,10 +666,10 @@ SR_PRIV int serial_readline(struct sr_serial_dev_inst *serial, char **buf,
* @param[in] packet_size Size, in bytes, of a valid packet. * @param[in] packet_size Size, in bytes, of a valid packet.
* @param is_valid Callback that assesses whether the packet is valid or not. * @param is_valid Callback that assesses whether the packet is valid or not.
* @param[in] timeout_ms The timeout after which, if no packet is detected, to * @param[in] timeout_ms The timeout after which, if no packet is detected, to
* abort scanning. * abort scanning.
* @param[in] baudrate The baudrate of the serial port. This parameter is not * @param[in] baudrate The baudrate of the serial port. This parameter is not
* critical, but it helps fine tune the serial port polling * critical, but it helps fine tune the serial port polling
* delay. * delay.
* *
* @retval SR_OK Valid packet was found within the given timeout. * @retval SR_OK Valid packet was found within the given timeout.
* @retval SR_ERR Failure. * @retval SR_ERR Failure.

View File

@ -18,10 +18,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
/** @file /**
* Standard API helper functions. * @file
* @internal *
*/ * Standard API helper functions.
*
* @internal
*/
#include <config.h> #include <config.h>
#include <glib.h> #include <glib.h>

View File

@ -126,7 +126,7 @@ SR_PRIV void sr_sw_limits_acquisition_start(struct sr_sw_limits *limits)
* *
* @param limits software limits instance * @param limits software limits instance
* @returns TRUE if any of the software limits has been reached and the driver * @returns TRUE if any of the software limits has been reached and the driver
* should stop data acquisition, otherwise FALSE. * should stop data acquisition, otherwise FALSE.
*/ */
SR_PRIV gboolean sr_sw_limits_check(struct sr_sw_limits *limits) SR_PRIV gboolean sr_sw_limits_check(struct sr_sw_limits *limits)
{ {

View File

@ -24,7 +24,7 @@
/* * @cond PRIVATE */ /* * @cond PRIVATE */
#define LOG_PREFIX "trigger" #define LOG_PREFIX "trigger"
/* * @endcond */ /* * @endcond */
/** /**
* @file * @file
* *