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();
}
Example #3
0
PhidgetManager::PhidgetManager()
	: _manHandle(0)
{
	CPhidgetManager_create(&_manHandle);
	CPhidgetManager_open((CPhidgetManagerHandle) _manHandle);

	sleep(2);
}
Example #4
0
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; 
}
Example #6
0
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;

}