35 #include <libphidget22/phidget22.h>
43 bool is_hub_port_device,
int channel,
44 std::function<
void(
int,
double)> input_handler)
45 : channel_(channel), input_handler_(input_handler)
47 PhidgetReturnCode ret = PhidgetVoltageInput_create(&
ai_handle_);
48 if (ret != EPHIDGET_OK)
51 "Failed to create AnalogInput handle for channel " +
52 std::to_string(channel),
57 serial_number, hub_port, is_hub_port_device,
60 ret = PhidgetVoltageInput_setOnVoltageChangeHandler(
62 if (ret != EPHIDGET_OK)
65 "Failed to set change handler for AnalogInput channel " +
66 std::to_string(channel),
73 PhidgetHandle handle =
reinterpret_cast<PhidgetHandle
>(
ai_handle_);
80 PhidgetReturnCode ret =
81 PhidgetVoltageInput_getSensorValue(
ai_handle_, &sensor_value);
82 if (ret != EPHIDGET_OK)
92 PhidgetReturnCode ret =
93 PhidgetVoltageInput_setDataInterval(
ai_handle_, data_interval_ms);
94 if (ret != EPHIDGET_OK)
106 PhidgetVoltageInputHandle ,
void *ctx,
double sensorValue)
108 ((
AnalogInput *)ctx)->voltageChangeHandler(sensorValue);