projet3_temperature/lib/MeasureUnit/MeasureUnit.h

36 lines
1.2 KiB
C++

#ifndef MEASUREUNIT_H
#define MEASUREUNIT_H
#include "AdcSetting.h"
#include "ThermistorSetting.h"
#define DEBUG
class MeasureUnit
{
public:
enum ERROR {OK = 0, MALLOC_ERR = 1};
MeasureUnit(uint8_t *analogInput, uint16_t thermistorCount, uint64_t precResistor, ThermistorSetting thermistorSetting, AdcSetting adcSetting);
~MeasureUnit();
void setGlobalTempOffset(double offset);
double getGlobalTempOffset();
double *getTemperatures();
ERROR getError(){return _error;}
protected:
private:
double _globalOffset; //Correspond à l'offset global nécessaire afin d'avoir une température qui corresponde à la réalité
double *_temperatures; //Tableau contenant toutes les températures
double *_rOffsetMap; //Tableau qui contient les offsets individuels pour chaque thermistance
double *_resistanceMap; //Tableau qui contient les resistances associées aux thermistances (pour debug seulement)
uint8_t *_analogInput; //Pointeur qui garde l'adresse du tableau contenant le nom des entrées analogiques
uint16_t _thermistorCount;
uint64_t _precResistor;
ERROR _error;
AdcSetting _adcSetting;
ThermistorSetting _thermistorSetting;
};
#endif //MEASUREUNIT_H