cphidgetfrequencycounter.h
Go to the documentation of this file.
00001 #ifndef __CPHIDGETFREQUENCYCOUNTER
00002 #define __CPHIDGETFREQUENCYCOUNTER
00003 #include "cphidget.h"
00004 
00015 typedef enum {
00016         PHIDGET_FREQUENCYCOUNTER_FILTERTYPE_ZERO_CROSSING = 1,  
00017         PHIDGET_FREQUENCYCOUNTER_FILTERTYPE_LOGIC_LEVEL,                
00018         PHIDGET_FREQUENCYCOUNTER_FILTERTYPE_UNKNOWN                             
00019 }  CPhidgetFrequencyCounter_FilterType;
00020 
00021 DPHANDLE(FrequencyCounter)
00022 CHDRSTANDARD(FrequencyCounter)
00023 
00029 CHDRGET(FrequencyCounter,FrequencyInputCount,int *count)
00036 CHDRGETINDEX(FrequencyCounter,Frequency,double *frequency)
00043 CHDRGETINDEX(FrequencyCounter,TotalTime,__int64 *time)
00050 CHDRGETINDEX(FrequencyCounter,TotalCount,__int64 *count)
00057 CHDRSETINDEX(FrequencyCounter,Timeout,int timeout)
00064 CHDRGETINDEX(FrequencyCounter,Timeout,int *timeout)
00071 CHDRSETINDEX(FrequencyCounter,Enabled,int enabledState)
00078 CHDRGETINDEX(FrequencyCounter,Enabled,int *enabledState)
00085 CHDRSETINDEX(FrequencyCounter,Filter,CPhidgetFrequencyCounter_FilterType filter)
00092 CHDRGETINDEX(FrequencyCounter,Filter,CPhidgetFrequencyCounter_FilterType *filter)
00098 PHIDGET21_API int CCONV CPhidgetFrequencyCounter_reset(CPhidgetFrequencyCounterHandle phid, int index);
00105 CHDREVENTINDEX(FrequencyCounter,Count,int time,int counts)
00106 
00107 #ifndef EXTERNALPROTO
00108 CHDRGETINDEX(FrequencyCounter,TotalTime32,int *time)
00109 CHDRGETINDEX(FrequencyCounter,TotalCount32,int *count)
00110 #define FREQCOUNTER_MAXINPUTS 2
00111 
00112 #define FREQCOUNTER_TICKS_PER_SEC       100000
00113 #define FREQCOUNTER_MICROSECONDS_PER_TICK       (1000000 / FREQCOUNTER_TICKS_PER_SEC)
00114 
00115 //OUT packet flags
00116 #define FREQCOUNTER_FLAG_CH1_LOGIC 0x01
00117 #define FREQCOUNTER_FLAG_CH0_LOGIC 0x02
00118 #define FREQCOUNTER_FLAG_CH1_ENABLE 0x04
00119 #define FREQCOUNTER_FLAG_CH0_ENABLE 0x08
00120 
00121 struct _CPhidgetFrequencyCounter {
00122         CPhidget phid;
00123 
00124         int (CCONV *fptrCount)(CPhidgetFrequencyCounterHandle, void *, int, int, int);
00125         void *fptrCountptr;
00126 
00127         int timeout[FREQCOUNTER_MAXINPUTS]; //microseconds
00128         CPhidgetFrequencyCounter_FilterType filter[FREQCOUNTER_MAXINPUTS];
00129         unsigned char enabled[FREQCOUNTER_MAXINPUTS];
00130 
00131         CPhidgetFrequencyCounter_FilterType filterEcho[FREQCOUNTER_MAXINPUTS];
00132         unsigned char enabledEcho[FREQCOUNTER_MAXINPUTS];
00133 
00134         double frequency[FREQCOUNTER_MAXINPUTS]; //Hz
00135         int totalTicksSinceLastCount[FREQCOUNTER_MAXINPUTS]; //ticks
00136 
00137         __int64 totalCount[FREQCOUNTER_MAXINPUTS];
00138         __int64 totalTime[FREQCOUNTER_MAXINPUTS]; //microseconds
00139 
00140         int flip[FREQCOUNTER_MAXINPUTS];
00141         int lastPacketCount;
00142         
00143         CThread_mutex_t resetlock; /* protects reset */
00144 
00145         int countsGood[FREQCOUNTER_MAXINPUTS]; //for webservice
00146 
00147         unsigned char outputPacket[MAX_OUT_PACKET_SIZE];
00148         unsigned int outputPacketLen;
00149 } typedef CPhidgetFrequencyCounterInfo;
00150 #endif
00151 
00154 #endif


pedal_monitor
Author(s): Pedro Mendes
autogenerated on Fri Jun 6 2014 18:37:20