Thermocouple mV conversion library
Thermocouple_core_h.txt@1:5421fc992678, 2016-11-07 (annotated)
- Committer:
- adisuciu
- Date:
- Mon Nov 07 16:04:51 2016 +0000
- Revision:
- 1:5421fc992678
- Parent:
- 0:a878bf59a337
Updated include filename case
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
adisuciu | 0:a878bf59a337 | 1 | #include "mbed.h" |
adisuciu | 0:a878bf59a337 | 2 | #ifndef _THERMOCOUPLE_H_ |
adisuciu | 0:a878bf59a337 | 3 | #define _THERMOCOUPLE_H_ |
adisuciu | 0:a878bf59a337 | 4 | |
adisuciu | 0:a878bf59a337 | 5 | #define DEFINE_LOOKUP_TABLES |
adisuciu | 0:a878bf59a337 | 6 | #ifdef DEFINE_LOOKUP_TABLES |
adisuciu | 0:a878bf59a337 | 7 | #define TYPE_B_LUT |
adisuciu | 0:a878bf59a337 | 8 | #define TYPE_E_LUT |
adisuciu | 0:a878bf59a337 | 9 | #define TYPE_J_LUT |
adisuciu | 0:a878bf59a337 | 10 | #define TYPE_K_LUT |
adisuciu | 0:a878bf59a337 | 11 | #define TYPE_N_LUT |
adisuciu | 0:a878bf59a337 | 12 | #define TYPE_R_LUT |
adisuciu | 0:a878bf59a337 | 13 | #define TYPE_S_LUT |
adisuciu | 0:a878bf59a337 | 14 | #define TYPE_T_LUT |
adisuciu | 0:a878bf59a337 | 15 | #endif |
adisuciu | 0:a878bf59a337 | 16 | |
adisuciu | 0:a878bf59a337 | 17 | class Thermocouple |
adisuciu | 0:a878bf59a337 | 18 | { |
adisuciu | 0:a878bf59a337 | 19 | private: |
adisuciu | 0:a878bf59a337 | 20 | |
adisuciu | 0:a878bf59a337 | 21 | public: |
adisuciu | 0:a878bf59a337 | 22 | typedef struct |
adisuciu | 0:a878bf59a337 | 23 | { |
adisuciu | 0:a878bf59a337 | 24 | float min_voltage_range; |
adisuciu | 0:a878bf59a337 | 25 | float max_voltage_range; |
adisuciu | 0:a878bf59a337 | 26 | float coef[16]; |
adisuciu | 0:a878bf59a337 | 27 | float power[16]; |
adisuciu | 0:a878bf59a337 | 28 | int n; |
adisuciu | 0:a878bf59a337 | 29 | }thermocouple_poly_subrange; |
adisuciu | 0:a878bf59a337 | 30 | Thermocouple(); |
adisuciu | 0:a878bf59a337 | 31 | virtual ~Thermocouple(); |
adisuciu | 0:a878bf59a337 | 32 | static float convert(float voltage, const thermocouple_poly_subrange range[], const int n); |
adisuciu | 0:a878bf59a337 | 33 | static float lookup(const int32_t *lut, float voltage,uint16_t size,int16_t offset); |
adisuciu | 0:a878bf59a337 | 34 | virtual float convert(float voltage) = 0; |
adisuciu | 0:a878bf59a337 | 35 | virtual float convert_inv(float temp) = 0; |
adisuciu | 0:a878bf59a337 | 36 | virtual float lookup(float voltage) = 0; |
adisuciu | 0:a878bf59a337 | 37 | virtual float lookup_inv(float temp) = 0; |
adisuciu | 0:a878bf59a337 | 38 | |
adisuciu | 0:a878bf59a337 | 39 | }; |
adisuciu | 0:a878bf59a337 | 40 |