VALUE frequencycounter_initialize(VALUE self, VALUE serial) { PhidgetInfo *info = device_info(self); CPhidgetFrequencyCounterHandle frequencycounter = 0; ensure(CPhidgetFrequencyCounter_create(&frequencycounter)); info->handle = (CPhidgetHandle)frequencycounter; return rb_call_super(1, &serial); }
void test() { const char *err; int result; CPhidgetFrequencyCounterHandle freq; //CPhidget_enableLogging(PHIDGET_LOG_VERBOSE, NULL); CPhidgetFrequencyCounter_create(&freq); CPhidget_set_OnAttach_Handler((CPhidgetHandle)freq, AttachHandler, NULL); CPhidget_set_OnDetach_Handler((CPhidgetHandle)freq, DetachHandler, NULL); CPhidget_set_OnError_Handler((CPhidgetHandle)freq, ErrorHandler, NULL); CPhidgetFrequencyCounter_set_OnCount_Handler(freq, Count, NULL); CPhidget_open((CPhidgetHandle)freq, -1); //Wait for 10 seconds, otherwise exit if(result = CPhidget_waitForAttachment((CPhidgetHandle)freq, 10000)) { CPhidget_getErrorDescription(result, &err); printf("Problem waiting for attachment: %s\n", err); return; } display_generic_properties((CPhidgetHandle)freq); //Wait for enter getchar(); printf("Closing...\n"); CPhidget_close((CPhidgetHandle)freq); CPhidget_delete((CPhidgetHandle)freq); return; }