33 #include <libphidget22/phidget22.h>
41 bool is_hub_port_device,
int channel,
42 std::function<
void(
int,
int)> input_handler)
43 : channel_(channel), input_handler_(input_handler)
45 PhidgetReturnCode ret = PhidgetDigitalInput_create(&
di_handle_);
46 if (ret != EPHIDGET_OK)
49 "Failed to create DigitalInput handle for channel " +
50 std::to_string(channel),
55 serial_number, hub_port, is_hub_port_device,
58 ret = PhidgetDigitalInput_setOnStateChangeHandler(
di_handle_,
60 if (ret != EPHIDGET_OK)
63 "Failed to set change handler for DigitalInput channel " +
64 std::to_string(channel),
71 PhidgetHandle handle =
reinterpret_cast<PhidgetHandle
>(
di_handle_);
78 PhidgetReturnCode ret = PhidgetDigitalInput_getState(
di_handle_, &state);
79 if (ret != EPHIDGET_OK)
93 PhidgetDigitalInputHandle ,
void *ctx,
int state)