int manager_simple() { //Declare an Manager handle CPhidgetManagerHandle man = 0; CPhidget_enableLogging(PHIDGET_LOG_VERBOSE, NULL); //create the Manager object CPhidgetManager_create(&man); //Set the handlers to be run when the device is plugged in or opened from software, unplugged or closed from software, or generates an error. CPhidgetManager_set_OnAttach_Handler(man, AttachHandler, man); CPhidgetManager_set_OnDetach_Handler(man, DetachHandler, man); CPhidgetManager_set_OnError_Handler(man, ErrorHandler, NULL); //open the Manager for device connections CPhidgetManager_open(man); //end simulation printf("Press any key to end\n"); getchar(); //since user input has been read, this is a signal to terminate the program so we will close the phidget and delete the object we created printf("Closing...\n"); CPhidgetManager_close(man); CPhidgetManager_delete(man); //all done, exit return 0; }
PhidgetManager::PhidgetManager() : m_manager(NULL), m_phidget_list(NULL) { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init(&m_phidget_mutex, &attr); pthread_mutexattr_destroy(&attr); Lock(); CPhidgetManager_create(&m_manager); CPhidgetManager_set_OnAttach_Handler(m_manager, ::OnAttachManager, this); CPhidgetManager_open(m_manager); OnAttach(NULL); //Special case to create a tab for the Manager tab int handle_count; CPhidgetHandle* handle_array; if (EPHIDGET_OK == CPhidgetManager_getAttachedDevices(m_manager, &handle_array, &handle_count)) { int i; for (i=0; i<handle_count; i++) { OnAttach(handle_array[i]); } CPhidgetManager_freeAttachedDevicesArray(handle_array); } Unlock(); }
PhidgetManager::PhidgetManager() : _manHandle(0) { CPhidgetManager_create(&_manHandle); CPhidgetManager_open((CPhidgetManagerHandle) _manHandle); sleep(2); }
int main() { Compass testCompass; InterfaceKit ifKit; LCD lcd; Motor motor; Spatial spatial; CPhidgetManagerHandle device = 0; LocalErrorCatcher( CPhidgetManager_create(&device)); LocalErrorCatcher( CPhidgetManager_set_OnAttach_Handler((CPhidgetManagerHandle) device, AttachHandler, NULL)); LocalErrorCatcher( CPhidgetManager_set_OnDetach_Handler((CPhidgetManagerHandle ) device, DetachHandler, NULL)); LocalErrorCatcher( CPhidgetManager_set_OnError_Handler((CPhidgetManagerHandle) device, LibraryErrorHandler, NULL)); printf("Starting Phidget Playground...\n"); // Most opening and closing would be via a cast to // (CPhidgetHandle), however, this manager has its // own handle struct to cast to. LocalErrorCatcher( CPhidgetManager_open((CPhidgetManagerHandle) device)); std::stringstream ss; lcd.clear(); for(int i=0;i<1000;i++){ testCompass.refresh(); ss << std::fixed << std::setprecision(1) << "Heading: " << testCompass.getHeading(); lcd.setText(ss.str(), 0); ss.str(std::string()); ss << std::fixed << std::setprecision(2) << spatial.getAcceleration(AXIS_X) << " " << spatial.getAcceleration(AXIS_Y) << " " << spatial.getAcceleration(AXIS_Z); lcd.setText(ss.str(), 1); ss.str(std::string()); usleep(100000); } printf("Press Enter to end...\n"); getchar(); LocalErrorCatcher( CPhidgetManager_close((CPhidgetManagerHandle) device)); LocalErrorCatcher( CPhidgetManager_delete((CPhidgetManagerHandle) device)); return 0; }
JNIEXPORT jlong JNICALL Java_com_phidgets_Manager_create(JNIEnv *env, jobject obj) { int error; CPhidgetManagerHandle phidm; if ((error = CPhidgetManager_create(&phidm))) PH_THROW(error); return (jlong)(uintptr_t)phidm; }
int main() { CPhidgetManagerHandle phidm; //CPhidget_enableLogging(PHIDGET_LOG_VERBOSE, NULL); CPhidgetManager_create(&phidm); CPhidgetManager_set_OnAttach_Handler(phidm, gotAttach, NULL); CPhidgetManager_set_OnDetach_Handler(phidm, gotDetach, NULL); CPhidgetManager_open(phidm); //CPhidgetManager_openRemote(phidm, NULL, NULL); signal (SIGTERM, sighandler); signal (SIGINT, sighandler); while(!exitMan) sleep(5); printf ("Removing resources.\n"); CPhidgetManager_close(phidm); CPhidgetManager_delete(phidm); return 0; }
int PhidgetsDeviceManager::initDevices() { int res = LocalErrorCatcher(CPhidgetManager_create(&manager)); if(res != 0) return res; res = LocalErrorCatcher( CPhidgetManager_set_OnAttach_Handler((CPhidgetManagerHandle) manager, AttachHandler, this)); if(res != 0) return res; res = LocalErrorCatcher( CPhidgetManager_set_OnDetach_Handler((CPhidgetManagerHandle ) manager, DetachHandler, this)); if(res != 0) return res; res = LocalErrorCatcher( CPhidgetManager_set_OnError_Handler((CPhidgetManagerHandle) manager, LibraryErrorHandler, this)); if(res != 0) return res; // Most opening and closing would be via a cast to // (CPhidgetHandle), however, this manager has its // own handle struct to cast to. res= LocalErrorCatcher( CPhidgetManager_open((CPhidgetManagerHandle) manager)); return res; }