store config in eeprom
This commit is contained in:
@ -3,6 +3,7 @@
|
||||
#include "fatal.h"
|
||||
#include "AD7190.h"
|
||||
#include "Streaming.h"
|
||||
#include "Config.h"
|
||||
|
||||
|
||||
|
||||
@ -118,18 +119,33 @@ Thermometer::Thermometer() : m_period(DEFAULT_PERIOD), m_periodMillis(DEFAULT_PE
|
||||
|
||||
|
||||
void Thermometer::setPeriodMeasure(unsigned long p) {
|
||||
Config::setULong(Config::THERMOMETER_PERIOD, p);
|
||||
m_periodMillis = p;
|
||||
m_period = Metro(p);
|
||||
}
|
||||
|
||||
unsigned long Thermometer::getPeriodMeasure() {
|
||||
return m_periodMillis;
|
||||
}
|
||||
|
||||
void Thermometer::setAlpha(float a) {
|
||||
Config::setFloat(Config::THERMOMETER_ALPHA, a);
|
||||
m_alpha = a;
|
||||
}
|
||||
|
||||
float Thermometer::getAlpha() {
|
||||
return m_alpha;
|
||||
}
|
||||
|
||||
|
||||
void Thermometer::setCalibrateFactor(unsigned int i, float c) {
|
||||
Config::setFloat(Config::THERMOMETER_CAL[i], c);
|
||||
m_calibrateFactor[i] = c;
|
||||
}
|
||||
|
||||
float Thermometer::getCalibrateFactor(unsigned int i) {
|
||||
return m_calibrateFactor[i];
|
||||
}
|
||||
|
||||
|
||||
float pt1000(float r) {
|
||||
@ -205,10 +221,28 @@ void Thermometer::begin(CmdServer *cmdServer) {
|
||||
AD7190_Calibrate(AD7190_MODE_CAL_INT_ZERO, AD7190_CH_AIN1P_AINCOM);
|
||||
AD7190_Calibrate(AD7190_MODE_CAL_INT_FULL, AD7190_CH_AIN1P_AINCOM);
|
||||
|
||||
setCalibrateFactor(0, 1.002999);
|
||||
setCalibrateFactor(1, 1.001804);
|
||||
setCalibrateFactor(2, 1.000794);
|
||||
setCalibrateFactor(3, 1.001071);
|
||||
|
||||
if (! Config::isInitialized()) {
|
||||
Serial << "Initializing EEPROM" << endl;
|
||||
Config::setFloat(Config::THERMOMETER_ALPHA, 1.0);
|
||||
Config::setULong(Config::THERMOMETER_PERIOD, 1000);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
Config::setFloat(Config::THERMOMETER_CAL[i], 1.0);
|
||||
}
|
||||
Config::setMagic();
|
||||
}
|
||||
|
||||
setAlpha(Config::getFloat(Config::THERMOMETER_ALPHA));
|
||||
setPeriodMeasure(Config::getULong(Config::THERMOMETER_PERIOD));
|
||||
for (int i = 0; i < 4; i++) {
|
||||
setCalibrateFactor(i, Config::getFloat(Config::THERMOMETER_CAL[i]));
|
||||
}
|
||||
|
||||
|
||||
//setCalibrateFactor(0, 1.002999);
|
||||
//setCalibrateFactor(1, 1.001804);
|
||||
//setCalibrateFactor(2, 1.000794);
|
||||
//setCalibrateFactor(3, 1.001071);
|
||||
|
||||
// prepare
|
||||
prepareAdc();
|
||||
|
Reference in New Issue
Block a user