$search
00001 // InterfacekitTest.cpp : Defines the entry point for the console application. 00002 // 00003 00004 00005 #include <stdio.h> 00006 #include <string.h> 00007 #include <unistd.h> 00008 #include <phidget21.h> 00009 int wert[100]; 00010 int i; 00011 00012 void display_generic_properties(CPhidgetHandle phid) 00013 { 00014 int sernum, version; 00015 const char *deviceptr, *label; 00016 CPhidget_getDeviceType(phid, &deviceptr); 00017 CPhidget_getSerialNumber(phid, &sernum); 00018 CPhidget_getDeviceVersion(phid, &version); 00019 CPhidget_getDeviceLabel(phid, &label); 00020 00021 printf("%s\n", deviceptr); 00022 printf("Version: %8d SerialNumber: %10d\n", version, sernum); 00023 printf("Label: %s\n", label); 00024 return; 00025 } 00026 00027 00028 int IFK_SensorChangeHandler(CPhidgetInterfaceKitHandle IFK, void *userptr, int Index, int Value) 00029 { 00030 00031 //printf("Sensor %d is %d\n", Index, Value); 00032 if (i <10) 00033 { 00034 CPhidgetInterfaceKit_getSensorValue(IFK,0, &wert[0+(10*i)]); 00035 //printf("Sensor0 manually is %d\n", wert[0]); 00036 CPhidgetInterfaceKit_getSensorValue(IFK,1, &wert[1+(10*i)]); 00037 //printf("Sensor0 manually is %d\n", wert[0]); 00038 CPhidgetInterfaceKit_getSensorValue(IFK,2, &wert[2+(10*i)]); 00039 //printf("Sensor0 manually is %d\n", wert[0]); 00040 CPhidgetInterfaceKit_getSensorValue(IFK,3, &wert[3+(10*i)]); 00041 //printf("Sensor0 manually is %d\n", wert[0]); 00042 } 00043 00044 else 00045 { 00046 00047 //CPhidgetInterfaceKit_getSensorValue(IFK,1, &wert[1]); 00048 //printf("Sensor1 manually is %d\n", wert[1]); 00049 //CPhidgetInterfaceKit_getSensorValue(IFK,2, &wert[2]); 00050 //printf("Sensor2 manually is %d\n", wert[2]); 00051 //CPhidgetInterfaceKit_getSensorValue(IFK,3, &wert[3]); 00052 //printf("Sensor0123 manually are %d %d %d %d ; \n", wert[0],wert[1],wert[2],wert[3]); 00053 wert[94] = ((wert[0] + wert[10]+wert[20]+wert[30]+wert[40]+wert[50]+wert[60]+wert[70]+wert[80]+wert[90]) / 10); 00054 wert[95] = ((wert[1] + wert[11]+wert[21]+wert[31]+wert[41]+wert[51]+wert[61]+wert[71]+wert[81]+wert[91]) / 10); 00055 wert[96] = ((wert[2] + wert[12]+wert[22]+wert[32]+wert[42]+wert[52]+wert[62]+wert[72]+wert[82]+wert[92]) / 10); 00056 wert[97] = ((wert[3] + wert[13]+wert[23]+wert[33]+wert[43]+wert[53]+wert[63]+wert[73]+wert[83]+wert[93]) / 10); 00057 00058 if ((wert[94] < 120) && (wert[95] <300) && (wert[96] < 110) && (wert[97] < 120)) 00059 { 00060 printf("Sensor0123 manually are %d %d %d %d ; \n", wert[94],wert[95],wert[96],wert[97]); 00061 printf("tablet empty\n"); 00062 } 00063 else 00064 { 00065 printf("Sensor0123 manually are %d %d %d %d ; \n", wert[94],wert[95],wert[96],wert[97]); 00066 printf("tablet NOT empty!\n"); 00067 } 00068 00069 for( i = 0; i < 100; i++) 00070 wert[i]=0; 00071 i =0; 00072 } 00073 i++; 00074 printf("i is %d \n",i); 00075 return 0; 00076 } 00077 00078 00079 int IFK_AttachHandler(CPhidgetHandle IFK, void *userptr) 00080 { 00081 //CPhidgetInterfaceKit_setSensorChangeTrigger((CPhidgetInterfaceKitHandle)IFK, 0, 0); 00082 printf("Attach handler ran!\n"); 00083 return 0; 00084 } 00085 00086 int test_interfacekit() 00087 { 00088 int numInputs, numOutputs, numSensors; 00089 int err; 00090 00091 CPhidgetInterfaceKitHandle IFK = 0; 00092 CPhidget_enableLogging(PHIDGET_LOG_VERBOSE, NULL); 00093 CPhidgetInterfaceKit_create(&IFK); 00094 CPhidgetInterfaceKit_set_OnSensorChange_Handler(IFK, IFK_SensorChangeHandler, NULL); 00095 CPhidget_set_OnAttach_Handler((CPhidgetHandle)IFK, IFK_AttachHandler, NULL); 00096 //opening phidget 00097 CPhidget_open((CPhidgetHandle)IFK, -1); 00098 00099 //wait 5 seconds for attachment 00100 if((err = CPhidget_waitForAttachment((CPhidgetHandle)IFK, 0)) != EPHIDGET_OK ) 00101 { 00102 const char *errStr; 00103 CPhidget_getErrorDescription(err, &errStr); 00104 printf("Error waiting for attachment: (%d): %s\n",err,errStr); 00105 goto exit; 00106 } 00107 00108 display_generic_properties((CPhidgetHandle)IFK); 00109 CPhidgetInterfaceKit_getOutputCount((CPhidgetInterfaceKitHandle)IFK, &numOutputs); 00110 CPhidgetInterfaceKit_getInputCount((CPhidgetInterfaceKitHandle)IFK, &numInputs); 00111 CPhidgetInterfaceKit_getSensorCount((CPhidgetInterfaceKitHandle)IFK, &numSensors); 00112 CPhidgetInterfaceKit_setOutputState((CPhidgetInterfaceKitHandle)IFK, 0, 1); 00113 00114 printf("Sensors:%d Inputs:%d Outputs:%d\n", numSensors, numInputs, numOutputs); 00115 00116 00117 //err = CPhidget_setDeviceLabel((CPhidgetHandle)IFK, "test"); 00118 00119 00120 while(1) 00121 { 00122 sleep(1); 00123 } 00124 00125 while(1) 00126 { 00127 CPhidgetInterfaceKit_setOutputState(IFK, 7, 1); 00128 CPhidgetInterfaceKit_setOutputState(IFK, 7, 0); 00129 } 00130 00131 00132 00133 CPhidgetInterfaceKit_setOutputState(IFK, 0, 1); 00134 sleep(1); 00135 CPhidgetInterfaceKit_setOutputState(IFK, 0, 0); 00136 sleep(1); 00137 CPhidgetInterfaceKit_setOutputState(IFK, 0, 1); 00138 sleep(1); 00139 CPhidgetInterfaceKit_setOutputState(IFK, 0, 0); 00140 00141 sleep(5); 00142 00143 exit: 00144 CPhidget_close((CPhidgetHandle)IFK); 00145 CPhidget_delete((CPhidgetHandle)IFK); 00146 00147 return 0; 00148 } 00149 00150 int main(int argc, char* argv[]) 00151 { 00152 test_interfacekit(); 00153 return 0; 00154 } 00155