Thermocouple mV conversion library
Thermocouple_core_h.txt
- Committer:
- adisuciu
- Date:
- 2016-11-07
- Revision:
- 1:5421fc992678
- Parent:
- 0:a878bf59a337
File content as of revision 1:5421fc992678:
#include "mbed.h"
#ifndef _THERMOCOUPLE_H_
#define _THERMOCOUPLE_H_
#define DEFINE_LOOKUP_TABLES
#ifdef DEFINE_LOOKUP_TABLES
#define TYPE_B_LUT
#define TYPE_E_LUT
#define TYPE_J_LUT
#define TYPE_K_LUT
#define TYPE_N_LUT
#define TYPE_R_LUT
#define TYPE_S_LUT
#define TYPE_T_LUT
#endif
class Thermocouple
{
private:
public:
typedef struct
{
float min_voltage_range;
float max_voltage_range;
float coef[16];
float power[16];
int n;
}thermocouple_poly_subrange;
Thermocouple();
virtual ~Thermocouple();
static float convert(float voltage, const thermocouple_poly_subrange range[], const int n);
static float lookup(const int32_t *lut, float voltage,uint16_t size,int16_t offset);
virtual float convert(float voltage) = 0;
virtual float convert_inv(float temp) = 0;
virtual float lookup(float voltage) = 0;
virtual float lookup_inv(float temp) = 0;
};