scpi-pps: Change some floats to doubles.
This makes the code more consistent with the rest of the code-base and also allows std_gvar_min_max_step_array() to work here. Without this change: src/hardware/scpi-pps/api.c: In function ‘config_list’: src/hardware/scpi-pps/api.c:570:40: warning: passing argument 1 of ‘std_gvar_min_max_step_array’ from incompatible pointer type [-Wincompatible-pointer-types] *data = std_gvar_min_max_step_array(ch_spec->voltage); ^~~~~~~ In file included from src/scpi.h:30:0, from src/hardware/scpi-pps/api.c:23: src/libsigrok-internal.h:964:19: note: expected ‘const double *’ but argument is of type ‘const float *’ SR_PRIV GVariant *std_gvar_min_max_step_array(const double a[3]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ src/hardware/scpi-pps/api.c:573:40: warning: passing argument 1 of ‘std_gvar_min_max_step_array’ from incompatible pointer type [-Wincompatible-pointer-types] *data = std_gvar_min_max_step_array(ch_spec->frequency); ^~~~~~~ In file included from src/scpi.h:30:0, from src/hardware/scpi-pps/api.c:23: src/libsigrok-internal.h:964:19: note: expected ‘const double *’ but argument is of type ‘const float *’ SR_PRIV GVariant *std_gvar_min_max_step_array(const double a[3]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ src/hardware/scpi-pps/api.c:576:40: warning: passing argument 1 of ‘std_gvar_min_max_step_array’ from incompatible pointer type [-Wincompatible-pointer-types] *data = std_gvar_min_max_step_array(ch_spec->current); ^~~~~~~ In file included from src/scpi.h:30:0, from src/hardware/scpi-pps/api.c:23: src/libsigrok-internal.h:964:19: note: expected ‘const double *’ but argument is of type ‘const float *’ SR_PRIV GVariant *std_gvar_min_max_step_array(const double a[3]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~
This commit is contained in:
parent
54d471f498
commit
bcee129962
|
@ -622,7 +622,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
|
|||
static int dev_acquisition_stop(struct sr_dev_inst *sdi)
|
||||
{
|
||||
struct sr_scpi_dev_inst *scpi;
|
||||
float f;
|
||||
double d;
|
||||
|
||||
scpi = sdi->conn;
|
||||
|
||||
|
@ -631,7 +631,7 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi)
|
|||
* to avoid leaving the device in a state where it's not expecting
|
||||
* commands.
|
||||
*/
|
||||
sr_scpi_get_float(scpi, NULL, &f);
|
||||
sr_scpi_get_double(scpi, NULL, &d);
|
||||
sr_scpi_source_remove(sdi->session, scpi);
|
||||
|
||||
std_session_send_df_end(sdi);
|
||||
|
|
|
@ -204,9 +204,9 @@ static int chroma_62000p_probe_channels(struct sr_dev_inst *sdi,
|
|||
channel = g_malloc0(sizeof(struct channel_spec));
|
||||
channel->name = "1";
|
||||
channel->voltage[0] = channel->current[0] = channel->power[0] = 0.0;
|
||||
channel->voltage[1] = (float)volts;
|
||||
channel->current[1] = (float)amps;
|
||||
channel->power[1] = (float)watts;
|
||||
channel->voltage[1] = volts;
|
||||
channel->current[1] = amps;
|
||||
channel->power[1] = watts;
|
||||
channel->voltage[2] = channel->current[2] = 0.01;
|
||||
channel->voltage[3] = channel->voltage[4] = 3;
|
||||
channel->current[3] = channel->current[4] = 4;
|
||||
|
@ -393,9 +393,9 @@ enum philips_pm2800_modules {
|
|||
|
||||
static const struct philips_pm2800_module_spec {
|
||||
/* Min, max, programming resolution. */
|
||||
float voltage[5];
|
||||
float current[5];
|
||||
float power[5];
|
||||
double voltage[5];
|
||||
double current[5];
|
||||
double power[5];
|
||||
} philips_pm2800_module_specs[] = {
|
||||
/* Autoranging modules. */
|
||||
[PM2800_MOD_30V_10A] = { { 0, 30, 0.0075, 2, 4 }, { 0, 10, 0.0025, 2, 4 }, { 0, 60 } },
|
||||
|
@ -481,7 +481,7 @@ static int philips_pm2800_probe_channels(struct sr_dev_inst *sdi,
|
|||
spec->current[0], spec->current[1],
|
||||
spec->power[0], spec->power[1]);
|
||||
(*channels)[i].name = (char *)philips_pm2800_names[i];
|
||||
memcpy(&((*channels)[i].voltage), spec, sizeof(float) * 15);
|
||||
memcpy(&((*channels)[i].voltage), spec, sizeof(double) * 15);
|
||||
(*channel_groups)[i].name = (char *)philips_pm2800_names[i];
|
||||
(*channel_groups)[i].channel_index_mask = 1 << i;
|
||||
(*channel_groups)[i].features = PPS_OTP | PPS_OVP | PPS_OCP;
|
||||
|
|
|
@ -67,7 +67,7 @@ SR_PRIV int scpi_pps_receive_data(int fd, int revents, void *cb_data)
|
|||
struct sr_scpi_dev_inst *scpi;
|
||||
struct pps_channel *pch;
|
||||
const struct channel_spec *ch_spec;
|
||||
float f;
|
||||
double d;
|
||||
int cmd;
|
||||
|
||||
(void)fd;
|
||||
|
@ -82,7 +82,7 @@ SR_PRIV int scpi_pps_receive_data(int fd, int revents, void *cb_data)
|
|||
scpi = sdi->conn;
|
||||
|
||||
/* Retrieve requested value for this state. */
|
||||
if (sr_scpi_get_float(scpi, NULL, &f) == SR_OK) {
|
||||
if (sr_scpi_get_double(scpi, NULL, &d) == SR_OK) {
|
||||
pch = devc->cur_channel->priv;
|
||||
ch_spec = &devc->device->channels[pch->hw_output_idx];
|
||||
packet.type = SR_DF_ANALOG;
|
||||
|
@ -106,7 +106,7 @@ SR_PRIV int scpi_pps_receive_data(int fd, int revents, void *cb_data)
|
|||
analog.spec->spec_digits = ch_spec->power[3];
|
||||
}
|
||||
analog.meaning->mqflags = SR_MQFLAG_DC;
|
||||
analog.data = &f;
|
||||
analog.data = &d;
|
||||
sr_session_send(sdi, &packet);
|
||||
g_slist_free(analog.meaning->channels);
|
||||
}
|
||||
|
|
|
@ -101,10 +101,10 @@ struct scpi_pps {
|
|||
struct channel_spec {
|
||||
const char *name;
|
||||
/* Min, max, programming resolution, spec digits, encoding digits. */
|
||||
float voltage[5];
|
||||
float current[5];
|
||||
float power[5];
|
||||
float frequency[5];
|
||||
double voltage[5];
|
||||
double current[5];
|
||||
double power[5];
|
||||
double frequency[5];
|
||||
};
|
||||
|
||||
struct channel_group_spec {
|
||||
|
|
Loading…
Reference in New Issue