// Autogenerated C header file for DC Voltage Measurement
#ifndef _JACDAC_SPEC_DC_VOLTAGE_MEASUREMENT_H
#define _JACDAC_SPEC_DC_VOLTAGE_MEASUREMENT_H 1

#define JD_SERVICE_CLASS_DC_VOLTAGE_MEASUREMENT  0x1633ac19

// enum VoltageMeasurementType (uint8_t)
#define JD_DC_VOLTAGE_MEASUREMENT_VOLTAGE_MEASUREMENT_TYPE_ABSOLUTE 0x0
#define JD_DC_VOLTAGE_MEASUREMENT_VOLTAGE_MEASUREMENT_TYPE_DIFFERENTIAL 0x1

/**
 * Constant VoltageMeasurementType (uint8_t). The type of measurement that is taking place. Absolute results are measured with respect to ground, whereas differential results are measured against another signal that is not ground.
 */
#define JD_DC_VOLTAGE_MEASUREMENT_REG_MEASUREMENT_TYPE 0x181

/**
 * Constant string (bytes). A string containing the net name that is being measured e.g. `POWER_DUT` or a reference e.g. `DIFF_DEV1_DEV2`. These constants can be used to identify a measurement from client code.
 */
#define JD_DC_VOLTAGE_MEASUREMENT_REG_MEASUREMENT_NAME 0x182

/**
 * Read-only V f64 (uint64_t). The voltage measurement.
 */
#define JD_DC_VOLTAGE_MEASUREMENT_REG_MEASUREMENT JD_REG_READING

/**
 * Read-only V f64 (uint64_t). Absolute error on the reading value.
 */
#define JD_DC_VOLTAGE_MEASUREMENT_REG_MEASUREMENT_ERROR JD_REG_READING_ERROR

/**
 * Constant V f64 (uint64_t). Minimum measurable current
 */
#define JD_DC_VOLTAGE_MEASUREMENT_REG_MIN_MEASUREMENT JD_REG_MIN_READING

/**
 * Constant V f64 (uint64_t). Maximum measurable current
 */
#define JD_DC_VOLTAGE_MEASUREMENT_REG_MAX_MEASUREMENT JD_REG_MAX_READING

#endif
