yokogawa-dlm: Minor cosmetics, consistency fixes, typos.

This commit is contained in:
Uwe Hermann 2015-06-23 00:39:59 +02:00
parent 49f49cb55e
commit a93086528e
4 changed files with 60 additions and 54 deletions

View File

@ -189,10 +189,10 @@ static int cleanup(const struct sr_dev_driver *di)
* Check which category a given channel group belongs to. * Check which category a given channel group belongs to.
* *
* @param devc Our internal device context. * @param devc Our internal device context.
* @param cg The channel group to check. * @param cg The channel group to check.
* *
* @retval CG_NONE cg is NULL * @retval CG_NONE cg is NULL
* @retval CG_ANALOG cg is an analog group * @retval CG_ANALOG cg is an analog group
* @retval CG_DIGITAL cg is a digital group * @retval CG_DIGITAL cg is a digital group
* @retval CG_INVALID cg is something else * @retval CG_INVALID cg is something else
*/ */
@ -207,11 +207,11 @@ static int check_channel_group(struct dev_context *devc,
if (!cg) if (!cg)
return CG_NONE; return CG_NONE;
for (i = 0; i < model->analog_channels; ++i) for (i = 0; i < model->analog_channels; i++)
if (cg == devc->analog_groups[i]) if (cg == devc->analog_groups[i])
return CG_ANALOG; return CG_ANALOG;
for (i = 0; i < model->pods; ++i) for (i = 0; i < model->pods; i++)
if (cg == devc->digital_groups[i]) if (cg == devc->digital_groups[i])
return CG_DIGITAL; return CG_DIGITAL;
@ -269,7 +269,7 @@ static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *s
} else if (cg_type != CG_ANALOG) } else if (cg_type != CG_ANALOG)
break; break;
for (i = 0; i < model->analog_channels; ++i) { for (i = 0; i < model->analog_channels; i++) {
if (cg != devc->analog_groups[i]) if (cg != devc->analog_groups[i])
continue; continue;
*data = g_variant_new("(tt)", *data = g_variant_new("(tt)",
@ -299,7 +299,7 @@ static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *s
} else if (cg_type != CG_ANALOG) } else if (cg_type != CG_ANALOG)
break; break;
for (i = 0; i < model->analog_channels; ++i) { for (i = 0; i < model->analog_channels; i++) {
if (cg != devc->analog_groups[i]) if (cg != devc->analog_groups[i])
continue; continue;
*data = g_variant_new_string((*model->coupling_options)[state->analog_states[i].coupling]); *data = g_variant_new_string((*model->coupling_options)[state->analog_states[i].coupling]);
@ -391,7 +391,7 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd
if (p != dlm_vdivs[i][0] || if (p != dlm_vdivs[i][0] ||
q != dlm_vdivs[i][1]) q != dlm_vdivs[i][1])
continue; continue;
for (j = 1; j <= model->analog_channels; ++j) { for (j = 1; j <= model->analog_channels; j++) {
if (cg != devc->analog_groups[j - 1]) if (cg != devc->analog_groups[j - 1])
continue; continue;
state->analog_states[j - 1].vdiv = i; state->analog_states[j - 1].vdiv = i;
@ -462,7 +462,7 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd
for (i = 0; (*model->coupling_options)[i]; i++) { for (i = 0; (*model->coupling_options)[i]; i++) {
if (strcmp(tmp, (*model->coupling_options)[i]) != 0) if (strcmp(tmp, (*model->coupling_options)[i]) != 0)
continue; continue;
for (j = 1; j <= model->analog_channels; ++j) { for (j = 1; j <= model->analog_channels; j++) {
if (cg != devc->analog_groups[j - 1]) if (cg != devc->analog_groups[j - 1])
continue; continue;
state->analog_states[j-1].coupling = i; state->analog_states[j-1].coupling = i;
@ -494,7 +494,7 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd
static int config_channel_set(const struct sr_dev_inst *sdi, static int config_channel_set(const struct sr_dev_inst *sdi,
struct sr_channel *ch, unsigned int changes) struct sr_channel *ch, unsigned int changes)
{ {
/* Curretly we only handle SR_CHANNEL_SET_ENABLED. */ /* Currently we only handle SR_CHANNEL_SET_ENABLED. */
if (changes != SR_CHANNEL_SET_ENABLED) if (changes != SR_CHANNEL_SET_ENABLED)
return SR_ERR_NA; return SR_ERR_NA;
@ -528,8 +528,10 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
devc = sdi->priv; devc = sdi->priv;
model = devc->model_config; model = devc->model_config;
/* If cg is NULL, only the SR_CONF_DEVICE_OPTIONS that are not /*
* specific to a probe group must be returned. */ * If cg is NULL, only the SR_CONF_DEVICE_OPTIONS that are not
* specific to a probe group must be returned.
*/
if (!cg) { if (!cg) {
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:

View File

@ -18,7 +18,9 @@
* 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 /**
* @file
*
* <em>Yokogawa DL/DLM series</em> oscilloscope driver * <em>Yokogawa DL/DLM series</em> oscilloscope driver
* @internal * @internal
*/ */
@ -60,7 +62,7 @@ static const char *dlm_4ch_trigger_sources[] = {
NULL, NULL,
}; };
/* Note: Values must correlate to the trigger_slopes values */ /* Note: Values must correlate to the trigger_slopes values. */
const char *dlm_trigger_slopes[3] = { const char *dlm_trigger_slopes[3] = {
"r", "r",
"f", "f",
@ -136,7 +138,7 @@ static const char *scope_analog_channel_names[] = {
"1", "1",
"2", "2",
"3", "3",
"4" "4",
}; };
static const char *scope_digital_channel_names_8[] = { static const char *scope_digital_channel_names_8[] = {
@ -147,7 +149,7 @@ static const char *scope_digital_channel_names_8[] = {
"D4", "D4",
"D5", "D5",
"D6", "D6",
"D7" "D7",
}; };
static const char *scope_digital_channel_names_32[] = { static const char *scope_digital_channel_names_32[] = {
@ -282,21 +284,21 @@ static void scope_state_dump(const struct scope_config *config,
unsigned int i; unsigned int i;
char *tmp; char *tmp;
for (i = 0; i < config->analog_channels; ++i) { for (i = 0; i < config->analog_channels; i++) {
tmp = sr_voltage_string(dlm_vdivs[state->analog_states[i].vdiv][0], tmp = sr_voltage_string(dlm_vdivs[state->analog_states[i].vdiv][0],
dlm_vdivs[state->analog_states[i].vdiv][1]); dlm_vdivs[state->analog_states[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_states[i].state ? "On" : "Off", i + 1, state->analog_states[i].state ? "On" : "Off",
(*config->coupling_options)[state->analog_states[i].coupling], (*config->coupling_options)[state->analog_states[i].coupling],
tmp, state->analog_states[i].vertical_offset); tmp, state->analog_states[i].vertical_offset);
} }
for (i = 0; i < config->digital_channels; ++i) { for (i = 0; i < config->digital_channels; i++) {
sr_info("State of digital channel %d -> %s", i, sr_info("State of digital channel %d -> %s", i,
state->digital_states[i] ? "On" : "Off"); state->digital_states[i] ? "On" : "Off");
} }
for (i = 0; i < config->pods; ++i) { for (i = 0; i < config->pods; i++) {
sr_info("State of digital POD %d -> %s", i, sr_info("State of digital POD %d -> %s", i,
state->pod_states[i] ? "On" : "Off"); state->pod_states[i] ? "On" : "Off");
} }
@ -336,7 +338,7 @@ static int array_option_get(char *value, const char *(*array)[],
*result = -1; *result = -1;
for (i = 0; (*array)[i]; ++i) for (i = 0; (*array)[i]; i++)
if (!g_strcmp0(value, (*array)[i])) { if (!g_strcmp0(value, (*array)[i])) {
*result = i; *result = i;
break; break;
@ -388,7 +390,8 @@ static int array_float_get(gchar *value, const uint64_t array[][2],
/* Transform e.g. 10^-03 to 1000 as the array stores the inverse. */ /* Transform e.g. 10^-03 to 1000 as the array stores the inverse. */
f = pow(10, abs(i)); f = pow(10, abs(i));
/* Adjust the significand/factor pair to make sure /*
* Adjust the significand/factor pair to make sure
* that f is a multiple of 1000. * that f is a multiple of 1000.
*/ */
while ((int)fmod(log10(f), 3) > 0) { s *= 10; f *= 10; } while ((int)fmod(log10(f), 3) > 0) { s *= 10; f *= 10; }
@ -428,7 +431,7 @@ static int analog_channel_state_get(const struct sr_dev_inst *sdi,
scpi = sdi->conn; scpi = sdi->conn;
for (i = 0; i < config->analog_channels; ++i) { for (i = 0; i < config->analog_channels; i++) {
if (dlm_analog_chan_state_get(scpi, i + 1, if (dlm_analog_chan_state_get(scpi, i + 1,
&state->analog_states[i].state) != SR_OK) &state->analog_states[i].state) != SR_OK)
@ -503,14 +506,13 @@ static int digital_channel_state_get(const struct sr_dev_inst *sdi,
scpi = sdi->conn; scpi = sdi->conn;
if (!config->digital_channels) if (!config->digital_channels) {
{ sr_warn("Tried obtaining digital channel states on a " \
sr_warn("Tried obtaining digital channel states on a " \ "model without digital inputs.");
"model without digital inputs."); return SR_OK;
return SR_OK; }
}
for (i = 0; i < config->digital_channels; ++i) { for (i = 0; i < config->digital_channels; i++) {
if (dlm_digital_chan_state_get(scpi, i + 1, if (dlm_digital_chan_state_get(scpi, i + 1,
&state->digital_states[i]) != SR_OK) { &state->digital_states[i]) != SR_OK) {
return SR_ERR; return SR_ERR;
@ -525,13 +527,12 @@ static int digital_channel_state_get(const struct sr_dev_inst *sdi,
} }
} }
if (!config->pods) if (!config->pods) {
{
sr_warn("Tried obtaining pod states on a model without pods."); sr_warn("Tried obtaining pod states on a model without pods.");
return SR_OK; return SR_OK;
} }
for (i = 0; i < config->pods; ++i) { for (i = 0; i < config->pods; i++) {
if (dlm_digital_pod_state_get(scpi, i + 'A', if (dlm_digital_pod_state_get(scpi, i + 'A',
&state->pod_states[i]) != SR_OK) &state->pod_states[i]) != SR_OK)
return SR_ERR; return SR_ERR;
@ -540,9 +541,6 @@ static int digital_channel_state_get(const struct sr_dev_inst *sdi,
return SR_OK; return SR_OK;
} }
/**
*
*/
SR_PRIV int dlm_channel_state_set(const struct sr_dev_inst *sdi, SR_PRIV int dlm_channel_state_set(const struct sr_dev_inst *sdi,
const int ch_index, gboolean ch_state) const int ch_index, gboolean ch_state)
{ {
@ -592,22 +590,23 @@ SR_PRIV int dlm_channel_state_set(const struct sr_dev_inst *sdi,
break; break;
} }
ch->enabled = ch_state; ch->enabled = ch_state;
state->digital_states[i] = ch_state; state->digital_states[i] = ch_state;
chan_found = TRUE; chan_found = TRUE;
/* The corresponding pod has to be enabled also. */ /* The corresponding pod has to be enabled also. */
pod_enabled[i / 8] |= ch->enabled; pod_enabled[i / 8] |= ch->enabled;
} else } else {
/* Also check all other channels. Maybe we can disable a pod. */ /* Also check all other channels. Maybe we can disable a pod. */
pod_enabled[i / 8] |= ch->enabled; pod_enabled[i / 8] |= ch->enabled;
}
break; break;
default: default:
result = SR_ERR_NA; result = SR_ERR_NA;
} }
} }
for (i = 0; i < model->pods; ++i) { for (i = 0; i < model->pods; i++) {
if (state->pod_states[i] == pod_enabled[i]) if (state->pod_states[i] == pod_enabled[i])
continue; continue;
@ -644,7 +643,8 @@ SR_PRIV int dlm_sample_rate_query(const struct sr_dev_inst *sdi)
devc = sdi->priv; devc = sdi->priv;
state = devc->model_state; state = devc->model_state;
/* No need to find an active channel to query the sample rate: /*
* No need to find an active channel to query the sample rate:
* querying any channel will do, so we use channel 1 all the time. * querying any channel will do, so we use channel 1 all the time.
*/ */
if (dlm_analog_chan_srate_get(sdi->conn, 1, &tmp_float) != SR_OK) if (dlm_analog_chan_srate_get(sdi->conn, 1, &tmp_float) != SR_OK)
@ -837,7 +837,7 @@ SR_PRIV int dlm_device_init(struct sr_dev_inst *sdi, int model_index)
} }
/* Add digital channel groups. */ /* Add digital channel groups. */
for (i = 0; i < scope_models[model_index].pods; ++i) { for (i = 0; i < scope_models[model_index].pods; i++) {
g_snprintf(tmp, sizeof(tmp), "POD%d", i); g_snprintf(tmp, sizeof(tmp), "POD%d", i);
devc->digital_groups[i] = g_malloc0(sizeof(struct sr_channel_group)); devc->digital_groups[i] = g_malloc0(sizeof(struct sr_channel_group));
@ -964,10 +964,11 @@ static int dlm_analog_samples_send(GArray *data,
return SR_ERR; return SR_ERR;
} }
range = ch_state->waveform_range; range = ch_state->waveform_range;
offset = ch_state->waveform_offset; offset = ch_state->waveform_offset;
/* Convert byte sample to voltage according to /*
* Convert byte sample to voltage according to
* page 269 of the Communication Interface User's Manual. * page 269 of the Communication Interface User's Manual.
*/ */
float_data = g_array_new(FALSE, FALSE, sizeof(float)); float_data = g_array_new(FALSE, FALSE, sizeof(float));
@ -1043,7 +1044,7 @@ static int dlm_digital_samples_send(GArray *data,
* @param cb_data Callback data, in this case our device instance. * @param cb_data Callback data, in this case our device instance.
* *
* @return TRUE in case of success or a recoverable error, * @return TRUE in case of success or a recoverable error,
* FALSE when a fatal error was encountered. * FALSE when a fatal error was encountered.
*/ */
SR_PRIV int dlm_data_receive(int fd, int revents, void *cb_data) SR_PRIV int dlm_data_receive(int fd, int revents, void *cb_data)
{ {
@ -1139,7 +1140,8 @@ SR_PRIV int dlm_data_receive(int fd, int revents, void *cb_data)
g_array_free(data, TRUE); g_array_free(data, TRUE);
data = NULL; data = NULL;
/* Signal the end of this frame if this was the last enabled channel /*
* Signal the end of this frame if this was the last enabled channel
* and set the next enabled channel. Then, request its data. * and set the next enabled channel. Then, request its data.
*/ */
if (!devc->current_channel->next) { if (!devc->current_channel->next) {
@ -1147,7 +1149,8 @@ SR_PRIV int dlm_data_receive(int fd, int revents, void *cb_data)
sr_session_send(sdi, &packet); sr_session_send(sdi, &packet);
devc->current_channel = devc->enabled_channels; devc->current_channel = devc->enabled_channels;
/* As of now we only support importing the current acquisition /*
* As of now we only support importing the current acquisition
* data so we're going to stop at this point. * data so we're going to stop at this point.
*/ */
sdi->driver->dev_acquisition_stop(sdi, cb_data); sdi->driver->dev_acquisition_stop(sdi, cb_data);

View File

@ -41,7 +41,7 @@
#define DLM_DIVISION_FOR_WORD_FORMAT 3200 #define DLM_DIVISION_FOR_WORD_FORMAT 3200
#define DLM_DIVISION_FOR_BYTE_FORMAT 12.5 #define DLM_DIVISION_FOR_BYTE_FORMAT 12.5
#define DLM_DIG_CHAN_INDEX_OFFS (32) #define DLM_DIG_CHAN_INDEX_OFFS 32
enum trigger_slopes { enum trigger_slopes {
SLOPE_POSITIVE, SLOPE_POSITIVE,

View File

@ -192,7 +192,7 @@ int dlm_analog_chan_wrange_get(struct sr_scpi_dev_inst *scpi, int channel,
int result; int result;
g_snprintf(cmd, sizeof(cmd), ":WAVEFORM:TRACE %d", channel); g_snprintf(cmd, sizeof(cmd), ":WAVEFORM:TRACE %d", channel);
result = sr_scpi_send(scpi, cmd); result = sr_scpi_send(scpi, cmd);
result &= sr_scpi_get_float(scpi, ":WAVEFORM:RANGE?", response); result &= sr_scpi_get_float(scpi, ":WAVEFORM:RANGE?", response);
return result; return result;
} }
@ -204,7 +204,7 @@ int dlm_analog_chan_woffs_get(struct sr_scpi_dev_inst *scpi, int channel,
int result; int result;
g_snprintf(cmd, sizeof(cmd), ":WAVEFORM:TRACE %d", channel); g_snprintf(cmd, sizeof(cmd), ":WAVEFORM:TRACE %d", channel);
result = sr_scpi_send(scpi, cmd); result = sr_scpi_send(scpi, cmd);
result &= sr_scpi_get_float(scpi, ":WAVEFORM:OFFSET?", response); result &= sr_scpi_get_float(scpi, ":WAVEFORM:OFFSET?", response);
return result; return result;
} }
@ -294,7 +294,8 @@ int dlm_chunks_per_acq_get(struct sr_scpi_dev_inst *scpi, int *response)
{ {
int result, acq_len; int result, acq_len;
/* Data retrieval queries such as :WAVEFORM:SEND? will only return /*
* Data retrieval queries such as :WAVEFORM:SEND? will only return
* up to 12500 samples at a time. If the oscilloscope operates in a * up to 12500 samples at a time. If the oscilloscope operates in a
* mode where more than 12500 samples fit on screen (i.e. in one * mode where more than 12500 samples fit on screen (i.e. in one
* acquisition), data needs to be retrieved multiple times. * acquisition), data needs to be retrieved multiple times.