00001 #ifndef __CPHIDGETTEMPERATURESENSOR
00002 #define __CPHIDGETTEMPERATURESENSOR
00003 #include "cphidget.h"
00004
00013 DPHANDLE(TemperatureSensor)
00014 CHDRSTANDARD(TemperatureSensor)
00015
00019 typedef enum {
00020 PHIDGET_TEMPERATURE_SENSOR_K_TYPE = 1,
00021 PHIDGET_TEMPERATURE_SENSOR_J_TYPE,
00022 PHIDGET_TEMPERATURE_SENSOR_E_TYPE,
00023 PHIDGET_TEMPERATURE_SENSOR_T_TYPE
00024 } CPhidgetTemperatureSensor_ThermocoupleType;
00025
00031 CHDRGET(TemperatureSensor,TemperatureInputCount,int *count)
00038 CHDRGETINDEX(TemperatureSensor,Temperature,double *temperature)
00045 CHDRGETINDEX(TemperatureSensor,TemperatureMax,double *max)
00052 CHDRGETINDEX(TemperatureSensor,TemperatureMin,double *min)
00059 CHDREVENTINDEX(TemperatureSensor,TemperatureChange,double temperature)
00066 CHDRGETINDEX(TemperatureSensor,TemperatureChangeTrigger,double *trigger)
00073 CHDRSETINDEX(TemperatureSensor,TemperatureChangeTrigger,double trigger)
00074
00075
00081 CHDRGETINDEX(TemperatureSensor,Potential,double *potential)
00088 CHDRGETINDEX(TemperatureSensor,PotentialMax,double *max)
00095 CHDRGETINDEX(TemperatureSensor,PotentialMin,double *min)
00096
00097
00102 CHDRGET(TemperatureSensor,AmbientTemperature,double *ambient)
00108 CHDRGET(TemperatureSensor,AmbientTemperatureMax,double *max)
00114 CHDRGET(TemperatureSensor,AmbientTemperatureMin,double *min)
00115
00116
00122 CHDRGETINDEX(TemperatureSensor, ThermocoupleType, CPhidgetTemperatureSensor_ThermocoupleType *type)
00129 CHDRSETINDEX(TemperatureSensor, ThermocoupleType, CPhidgetTemperatureSensor_ThermocoupleType type)
00130
00131 #ifndef REMOVE_DEPRECATED
00132 DEP_CHDRGET("Deprecated - use CPhidgetTemepratureSensor_getTemperatureInputCount",TemperatureSensor,NumTemperatureInputs,int *)
00133 #endif
00134
00135 #ifndef EXTERNALPROTO
00136 #define TEMPSENSOR_MAXSENSORS 8
00137
00138 #define GAIN 85.0
00139 #define OFFSET_200 -6.5
00140 #define OFFSET_300 ((200.0/237.0)*5.0)
00141
00142 #define PHIDID_TEMPERATURESENSOR_4_GAIN ((80 / 2.2) + 5)
00143
00144 #define PHIDID_TEMPERATURESENSOR_4_OFFSET (4.096 / 6.36)
00145
00146 struct _CPhidgetTemperatureSensor {
00147 CPhidget phid;
00148
00149 int (CCONV *fptrTemperatureChange)(CPhidgetTemperatureSensorHandle, void *, int, double);
00150 void *fptrTemperatureChangeptr;
00151
00152 double AmbientTemperature;
00153 double Temperature[TEMPSENSOR_MAXSENSORS];
00154 double Potential[TEMPSENSOR_MAXSENSORS];
00155
00156 double lastTrigger[TEMPSENSOR_MAXSENSORS];
00157
00158 double TempChangeTrigger[TEMPSENSOR_MAXSENSORS];
00159 CPhidgetTemperatureSensor_ThermocoupleType ThermocoupleType[TEMPSENSOR_MAXSENSORS];
00160
00161 double ambientTemperatureMax, ambientTemperatureMin;
00162 double temperatureMax[TEMPSENSOR_MAXSENSORS], temperatureMin[TEMPSENSOR_MAXSENSORS];
00163 double potentialMax, potentialMin;
00164
00165 unsigned char AmbientTemperatureError, TemperatureError[TEMPSENSOR_MAXSENSORS], PotentialError[TEMPSENSOR_MAXSENSORS];
00166
00167 } typedef CPhidgetTemperatureSensorInfo;
00168 #endif
00169
00172 #endif