#include "examples.h"
int32_t CAEN_MCA_EXAMPLES_GetParameterValue(
CAEN_MCA_HANDLE handle,
const char *codename,
double *value) {
double pvalue;
fprintf(stderr, "%s(): failed. Error: '%"PRIi32"'.\n", __func__, ret);
}
else {
if (value != NULL)
*value = pvalue;
fprintf(stdout, "Get: %s = %f\n", codename, pvalue);
}
return ret;
}
int32_t CAEN_MCA_EXAMPLES_SetParameterValue(
CAEN_MCA_HANDLE handle,
const char *codename,
double value) {
double pvalue = value;
fprintf(stderr, "%s(): failed. Error: '%"PRIi32"'.\n", __func__, ret);
}
else {
fprintf(stdout, "Set: %s = %f\n", codename, value);
}
CAEN_MCA_EXAMPLES_GetParameterValue(handle, codename, NULL);
return ret;
}
int32_t CAEN_MCA_EXAMPLES_GetParameterValueList(
CAEN_MCA_HANDLE handle,
const char *codename,
char *value,
size_t valuelen) {
fprintf(stderr, "%s(): failed. Error: '%"PRIi32"'.\n", __func__, ret);
}
else {
if (value != NULL) {
value[0] = '\0';
strncat(value, pvalue, valuelen - 1);
}
fprintf(stdout, "Get: %s = %s\n", codename, pvalue);
}
free(pvalue);
return ret;
}
int32_t CAEN_MCA_EXAMPLES_SetParameterValueList(
CAEN_MCA_HANDLE handle,
const char *codename,
const char *value) {
const char *pvalue = value;
fprintf(stderr, "%s(): failed. Error: '%"PRIi32"'.\n", __func__, ret);
}
else {
fprintf(stdout, "Set: %s = %s\n", codename, value);
}
CAEN_MCA_EXAMPLES_GetParameterValue(handle, codename, NULL);
return ret;
}
uint32_t infobits;
int32_t uom_power;
double min, max, incr;
uint32_t nallowed_values;
if (allowed_value_codenames != NULL) allowed_value_codenames[i] = calloc(
PARAMINFO_NAME_MAXLEN,
sizeof(
char));
}
parameter,
parameter_name,
parameter_codename,
&infobits,
uom_name,
uom_codename,
&uom_power,
&type,
&min,
&max,
&incr,
&nallowed_values,
allowed_values,
allowed_value_codenames,
allowed_value_names
);
fprintf(stderr, "%s(): failed. Error: '%"PRIi32"'.\n", __func__, ret);
}
else {
fprintf(stdout, "Parameter: %s (%s)\n", parameter_codename, parameter_name);
switch (type) {
fprintf(stdout, "\tMin: %f max: %f incr: %f\n", min, max, incr);
break;
for (uint32_t i = 0; i < nallowed_values; i++)
fprintf(stdout, "\tAllowed value: %s [%s] (%f)\n", allowed_value_codenames[i], allowed_value_names[i], allowed_values[i]);
break;
default:
fprintf(stderr, "\tUnknown parameter type.\n");
}
fprintf(stdout, "\tUnit of measurement: %s (power: %"PRIi32")\n", uom_name, uom_power);
}
if (allowed_value_names != NULL) free(allowed_value_names[i]);
if (allowed_value_codenames != NULL) free(allowed_value_codenames[i]);
}
free(allowed_value_names);
free(allowed_value_codenames);
free(allowed_values);
free(uom_codename);
free(uom_name);
free(parameter_codename);
free(parameter_name);
return ret;
}
int32_t CAEN_MCA_EXAMPLES_GetParameterCollectionInfo(
CAEN_MCA_HANDLE parent_handle) {
uint32_t collection_length = 0;
collection,
&collection_length,
collection_handles
);
fprintf(stderr, "%s(): failed. Error: '%"PRIi32"'.\n", __func__, ret);
}
else {
fprintf(stdout, "Number of parameters found: %"PRIu32"\n", collection_length);
for (uint32_t i = 0; i < collection_length; i++) {
int32_t type;
int32_t index;
collection_handles[i],
&type,
&index,
name
);
fprintf(stderr, "%s(): failed. Error: '%"PRIi32"'.\n", __func__, ret);
}
else {
fprintf(stdout, "%"PRIu32": %s (type: %"PRIi32", index: %"PRIi32")\n", i, name, type, index);
}
free(name);
}
}
for (uint32_t i = 0; i < collection_length; i++)
ret |= CAEN_MCA_EXAMPLES_GetParameterInfo(collection_handles[i]);
free(collection_handles);
return ret;
}