34 lines
999 B
C++
34 lines
999 B
C++
/*
|
|
* TipThermoModel.h
|
|
*
|
|
* Created on: 7 Oct 2019
|
|
* Author: ralim
|
|
*/
|
|
|
|
#ifndef SRC_TIPTHERMOMODEL_H_
|
|
#define SRC_TIPTHERMOMODEL_H_
|
|
#include "BSP.h"
|
|
#include "stdint.h"
|
|
class TipThermoModel {
|
|
public:
|
|
// These are the main two functions
|
|
static uint32_t getTipInC(bool sampleNow = false);
|
|
static uint32_t getTipInF(bool sampleNow = false);
|
|
|
|
// Calculates the maximum temperature can can be read by the ADC range
|
|
static uint32_t getTipMaxInC();
|
|
|
|
static uint32_t convertTipRawADCToDegC(uint16_t rawADC);
|
|
static uint32_t convertTipRawADCToDegF(uint16_t rawADC);
|
|
// Returns the uV of the tip reading before the op-amp compensating for pullups
|
|
static uint32_t convertTipRawADCTouV(uint16_t rawADC, bool skipCalOffset = false);
|
|
static uint32_t convertCtoF(uint32_t degC);
|
|
static uint32_t convertFtoC(uint32_t degF);
|
|
|
|
private:
|
|
static uint32_t convertuVToDegC(uint32_t tipuVDelta);
|
|
static uint32_t convertuVToDegF(uint32_t tipuVDelta);
|
|
};
|
|
|
|
#endif /* SRC_TIPTHERMOMODEL_H_ */
|