int main(int argc, const char * argv[]) { string errmsg; string target; YVoltage *sensor; YVoltage *sensorAC; YVoltage *sensorDC; YModule *m; if (argc < 2) { usage(); } target = (string) argv[1]; YAPI::DisableExceptions(); // Setup the API to use local USB devices if (YAPI::RegisterHub("usb", errmsg) != YAPI_SUCCESS) { cerr << "RegisterHub error: " << errmsg << endl; return 1; } if (target == "any") { // retreive any voltage sensor (can be AC or DC) sensor = YVoltage::FirstVoltage(); if (sensor == NULL) { cerr << "No module connected (Check cable)" << endl; exit(1); } } else { sensor = YVoltage::FindVoltage(target + ".voltage1"); } // we need to retreive both DC and AC voltage from the device. if (sensor->isOnline()) { m = sensor->get_module(); sensorDC = YVoltage::FindVoltage(m->get_serialNumber() + ".voltage1"); sensorAC = YVoltage::FindVoltage(m->get_serialNumber() + ".voltage2"); } else { cerr << "No module connected (Check cable)" << endl; exit(1); } while(1) { if (!sensorDC->isOnline()) { cout << "Module disconnected" << endl; break; } cout << "Voltage, DC : " << sensorDC->get_currentValue() << " v"; cout << " AC : " << sensorAC->get_currentValue() << " v"; cout << " (press Ctrl-C to exit)" << endl; YAPI::Sleep(1000, errmsg); }; yFreeAPI(); return 0; }