remove Streaming and Metro
This commit is contained in:
@ -2,7 +2,6 @@
|
|||||||
#include "thermometer.h"
|
#include "thermometer.h"
|
||||||
#include "fatal.h"
|
#include "fatal.h"
|
||||||
#include "AD7190.h"
|
#include "AD7190.h"
|
||||||
#include "Streaming.h"
|
|
||||||
#include "Config.h"
|
#include "Config.h"
|
||||||
|
|
||||||
#include "Resources.h"
|
#include "Resources.h"
|
||||||
@ -62,7 +61,7 @@ String ThermValues::exec(String params) {
|
|||||||
m_stream->print(getResource(ALPHA_2_SPACES_KEY)); m_stream->print(m_thermometer->getAlpha()); m_stream->println();
|
m_stream->print(getResource(ALPHA_2_SPACES_KEY)); m_stream->print(m_thermometer->getAlpha()); m_stream->println();
|
||||||
|
|
||||||
for (unsigned int i = 0; i < NUM_OF_CHANNELS; i++) {
|
for (unsigned int i = 0; i < NUM_OF_CHANNELS; i++) {
|
||||||
m_stream->print(getResource(INDEX_KEY)); m_stream->print(i); m_stream->print(", ");
|
m_stream->print(getResource(INDEX_KEY)); m_stream->print(i); m_stream->print(getResource(COMMA_SPACE_KEY));
|
||||||
m_stream->print(getResource(CAL_KEY)); m_stream->print(m_thermometer->getCalibrateFactor(i), 6); m_stream->print(getResource(COMMA_SPACE_KEY));
|
m_stream->print(getResource(CAL_KEY)); m_stream->print(m_thermometer->getCalibrateFactor(i), 6); m_stream->print(getResource(COMMA_SPACE_KEY));
|
||||||
m_stream->print(getResource(T_KEY)); m_stream->print(m_thermometer->m_temperature[i]); m_stream->print(getResource(COMMA_SPACE_KEY));
|
m_stream->print(getResource(T_KEY)); m_stream->print(m_thermometer->m_temperature[i]); m_stream->print(getResource(COMMA_SPACE_KEY));
|
||||||
m_stream->print(getResource(TS_KEY)); m_stream->print(m_thermometer->m_smoothedTemperature[i]);
|
m_stream->print(getResource(TS_KEY)); m_stream->print(m_thermometer->m_smoothedTemperature[i]);
|
||||||
@ -92,12 +91,12 @@ String ThermCalibrate::exec(String params) {
|
|||||||
} else if (params.startsWith("disable")) {
|
} else if (params.startsWith("disable")) {
|
||||||
m_enabled = false;
|
m_enabled = false;
|
||||||
} else if (params.startsWith("help")) {
|
} else if (params.startsWith("help")) {
|
||||||
*m_stream << getResource(CALI_HELP_1_KEY) << endl;
|
m_stream->println(getResource(CALI_HELP_1_KEY));
|
||||||
*m_stream << getResource(CALI_HELP_2_KEY) << endl;
|
m_stream->println(getResource(CALI_HELP_2_KEY));
|
||||||
*m_stream << getResource(CALI_HELP_3_KEY) << endl;
|
m_stream->println(getResource(CALI_HELP_3_KEY));
|
||||||
*m_stream << getResource(CALI_HELP_4_KEY) << endl;
|
m_stream->println(getResource(CALI_HELP_4_KEY));
|
||||||
*m_stream << getResource(CALI_HELP_5_KEY) << endl;
|
m_stream->println(getResource(CALI_HELP_5_KEY));
|
||||||
*m_stream << getResource(CALI_HELP_6_KEY) << endl;
|
m_stream->println(getResource(CALI_HELP_6_KEY));
|
||||||
} else if (params.startsWith("start ") && (space != -1) && m_enabled) {
|
} else if (params.startsWith("start ") && (space != -1) && m_enabled) {
|
||||||
m_channel = atoi(pb1);
|
m_channel = atoi(pb1);
|
||||||
if ((m_channel + 1) > NUM_OF_CHANNELS) {
|
if ((m_channel + 1) > NUM_OF_CHANNELS) {
|
||||||
@ -110,15 +109,15 @@ String ThermCalibrate::exec(String params) {
|
|||||||
} else if (params.startsWith("r ") && (space != -1)) {
|
} else if (params.startsWith("r ") && (space != -1)) {
|
||||||
m_r_cal = atof(pb1);
|
m_r_cal = atof(pb1);
|
||||||
} else if (params.equalsIgnoreCase("show")) {
|
} else if (params.equalsIgnoreCase("show")) {
|
||||||
*m_stream << getResource(CALI_SHOW_1_KEY) << m_enabled << endl;
|
m_stream->print(getResource(CALI_SHOW_1_KEY)); m_stream->print(m_enabled); m_stream->println();
|
||||||
*m_stream << getResource(CALI_SHOW_2_KEY) << m_r_cal << endl;
|
m_stream->print(getResource(CALI_SHOW_2_KEY)); m_stream->print(m_r_cal); m_stream->println();
|
||||||
} else {
|
} else {
|
||||||
res = "subcommand not found";
|
res = "subcommand not found";
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
Thermometer::Thermometer() : m_period(DEFAULT_PERIOD), m_periodMillis(DEFAULT_PERIOD),
|
Thermometer::Thermometer() : m_periodMillis(DEFAULT_PERIOD),
|
||||||
m_debug(DEBUG), m_info(INFO),
|
m_debug(DEBUG), m_info(INFO),
|
||||||
thermConfig(this), thermValues(this), thermCalibrate(this),
|
thermConfig(this), thermValues(this), thermCalibrate(this),
|
||||||
m_timeOutFailureCnt(0), m_cylceCnt(0), m_alpha(1.0),
|
m_timeOutFailureCnt(0), m_cylceCnt(0), m_alpha(1.0),
|
||||||
@ -134,7 +133,6 @@ Thermometer::Thermometer() : m_period(DEFAULT_PERIOD), m_periodMillis(DEFAULT_PE
|
|||||||
void Thermometer::setPeriodMeasure(unsigned long p) {
|
void Thermometer::setPeriodMeasure(unsigned long p) {
|
||||||
Config::setULong(Config::THERMOMETER_PERIOD, p);
|
Config::setULong(Config::THERMOMETER_PERIOD, p);
|
||||||
m_periodMillis = p;
|
m_periodMillis = p;
|
||||||
m_period = Metro(p);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long Thermometer::getPeriodMeasure() {
|
unsigned long Thermometer::getPeriodMeasure() {
|
||||||
@ -256,7 +254,7 @@ void Thermometer::begin(CmdServer *cmdServer) {
|
|||||||
|
|
||||||
|
|
||||||
if (! Config::isInitialized()) {
|
if (! Config::isInitialized()) {
|
||||||
Serial << getResource(THERMOMETER_BEGIN_1_KEY) << endl;
|
Serial.println(getResource(THERMOMETER_BEGIN_1_KEY));
|
||||||
Config::setFloat(Config::THERMOMETER_ALPHA, 1.0);
|
Config::setFloat(Config::THERMOMETER_ALPHA, 1.0);
|
||||||
Config::setULong(Config::THERMOMETER_PERIOD, 1000);
|
Config::setULong(Config::THERMOMETER_PERIOD, 1000);
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
@ -293,6 +291,9 @@ void Thermometer::exec() {
|
|||||||
float r;
|
float r;
|
||||||
static unsigned int channelCnt;
|
static unsigned int channelCnt;
|
||||||
|
|
||||||
|
static unsigned long lastMillis = 0;
|
||||||
|
unsigned long currentMillis;
|
||||||
|
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -344,7 +345,7 @@ void Thermometer::exec() {
|
|||||||
m_timeOutFailureCnt++;
|
m_timeOutFailureCnt++;
|
||||||
|
|
||||||
if (getDebug() || getInfo()) {
|
if (getDebug() || getInfo()) {
|
||||||
Serial << getResource(STATE_9_DEBUG_1) << m_timeOutFailureCnt << endl;
|
Serial.print(getResource(STATE_9_DEBUG_1)); Serial.print(m_timeOutFailureCnt); Serial.println();
|
||||||
}
|
}
|
||||||
|
|
||||||
state = 0;
|
state = 0;
|
||||||
@ -356,13 +357,13 @@ void Thermometer::exec() {
|
|||||||
SPI_Disable(AD7190_SLAVE_ID);
|
SPI_Disable(AD7190_SLAVE_ID);
|
||||||
|
|
||||||
if (m_calibrationMode || thermCalibrate.m_start_calibration) {
|
if (m_calibrationMode || thermCalibrate.m_start_calibration) {
|
||||||
Serial << getResource(CALIBRATION_MODE_HINT_KEY) << endl;
|
Serial.println(getResource(CALIBRATION_MODE_HINT_KEY));
|
||||||
state = 20;
|
state = 20;
|
||||||
} else {
|
} else {
|
||||||
for (unsigned int i = 0; i < NUM_OF_CHANNELS; i++) {
|
for (unsigned int i = 0; i < NUM_OF_CHANNELS; i++) {
|
||||||
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print("i="); Serial.print(i); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print("i="); Serial.print(i); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
||||||
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print("m_n="); Serial.print(m_n[i]); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print("m_n="); Serial.print(m_n[i]); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
||||||
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print(""); Serial.print((m_n[i] - ((i == 3) ? 0 : m_n[i + 1]))); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print((m_n[i] - ((i == 3) ? 0 : m_n[i + 1]))); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
||||||
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print("calibrateFactor="); Serial.print(getCalibrateFactor(i), 6); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print("calibrateFactor="); Serial.print(getCalibrateFactor(i), 6); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
||||||
float r = (((float)(m_n[i] - ((i == 3) ? 0 : m_n[i + 1]))) / ((float)N_MAX)) * R_REF * getCalibrateFactor(i);
|
float r = (((float)(m_n[i] - ((i == 3) ? 0 : m_n[i + 1]))) / ((float)N_MAX)) * R_REF * getCalibrateFactor(i);
|
||||||
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print("r="); Serial.print(r); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
if (COMPILE_TIME_DEBUG && getDebug()) { Serial.print("r="); Serial.print(r); Serial.print(getResource(COMMA_SPACE_KEY)); }
|
||||||
@ -382,8 +383,11 @@ void Thermometer::exec() {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 11:
|
case 11:
|
||||||
if (m_period.check() == 1)
|
currentMillis = millis();
|
||||||
|
if (currentMillis >= (lastMillis + getPeriodMeasure())) {
|
||||||
|
lastMillis = currentMillis;
|
||||||
state = 0;
|
state = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 20:
|
case 20:
|
||||||
@ -392,22 +396,22 @@ void Thermometer::exec() {
|
|||||||
// do the calibration stuff
|
// do the calibration stuff
|
||||||
for (unsigned int i = 0; i < NUM_OF_CHANNELS; i++) {
|
for (unsigned int i = 0; i < NUM_OF_CHANNELS; i++) {
|
||||||
float r = (((float)(m_n[i] - ((i == 3) ? 0 : m_n[i + 1]))) / ((float)N_MAX)) * R_REF;
|
float r = (((float)(m_n[i] - ((i == 3) ? 0 : m_n[i + 1]))) / ((float)N_MAX)) * R_REF;
|
||||||
Serial << "t=" << thermCalibrate.m_turn << ", c=" << i << ", r=" << _FLOAT(r, 6) << ", n=" << m_n[i] << endl;
|
Serial.print("t="); Serial.print(thermCalibrate.m_turn); Serial.print(", c="); Serial.print(i);
|
||||||
|
Serial.print(", r="); Serial.print(r, 6); Serial.print(", n="); Serial.print(m_n[i]);
|
||||||
if (i == thermCalibrate.m_channel) {
|
if (i == thermCalibrate.m_channel) {
|
||||||
thermCalibrate.m_r_sum += r;
|
thermCalibrate.m_r_sum += r;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
(thermCalibrate.m_turn)++;
|
(thermCalibrate.m_turn)++;
|
||||||
float r_avg = thermCalibrate.m_r_sum / thermCalibrate.m_turn;
|
float r_avg = thermCalibrate.m_r_sum / thermCalibrate.m_turn;
|
||||||
Serial << getResource(STATE_20_MSG_1_KEY) << thermCalibrate.m_channel << ": " << _FLOAT(r_avg, 6) << endl;
|
Serial.print(getResource(STATE_20_MSG_1_KEY)); Serial.print(thermCalibrate.m_channel); Serial.print(getResource(COLON_SPACE_KEY)); Serial.print(r_avg, 6);
|
||||||
float calFact = thermCalibrate.m_r_cal / r_avg;
|
float calFact = thermCalibrate.m_r_cal / r_avg;
|
||||||
Serial << getResource(STATE_20_MSG_2_KEY) << _FLOAT(calFact, 6) << endl;
|
Serial.print(getResource(STATE_20_MSG_2_KEY)); Serial.print(calFact, 6); Serial.println();
|
||||||
} else {
|
} else {
|
||||||
thermCalibrate.m_preserved_alpha = m_alpha;
|
thermCalibrate.m_preserved_alpha = m_alpha;
|
||||||
m_alpha = 1;
|
m_alpha = 1;
|
||||||
thermCalibrate.m_preserved_period = m_periodMillis;
|
thermCalibrate.m_preserved_period = m_periodMillis;
|
||||||
m_periodMillis = 500;
|
m_periodMillis = 500;
|
||||||
m_period = Metro(m_periodMillis);
|
|
||||||
thermCalibrate.m_r_sum = 0.0;
|
thermCalibrate.m_r_sum = 0.0;
|
||||||
thermCalibrate.m_turn = 0;
|
thermCalibrate.m_turn = 0;
|
||||||
m_calibrationMode = true;
|
m_calibrationMode = true;
|
||||||
@ -417,11 +421,11 @@ void Thermometer::exec() {
|
|||||||
m_calibrationMode = false;
|
m_calibrationMode = false;
|
||||||
m_alpha = thermCalibrate.m_preserved_alpha;
|
m_alpha = thermCalibrate.m_preserved_alpha;
|
||||||
m_periodMillis = thermCalibrate.m_preserved_period;
|
m_periodMillis = thermCalibrate.m_preserved_period;
|
||||||
m_period = Metro(m_periodMillis);
|
Serial.println(getResource(STATE_20_MSG_3_KEY));
|
||||||
Serial << getResource(STATE_20_MSG_3_KEY) << endl;
|
|
||||||
float r_avg = thermCalibrate.m_r_sum / thermCalibrate.m_turn;
|
float r_avg = thermCalibrate.m_r_sum / thermCalibrate.m_turn;
|
||||||
float calFact = thermCalibrate.m_r_cal / r_avg;
|
float calFact = thermCalibrate.m_r_cal / r_avg;
|
||||||
Serial << getResource(STATE_20_MSG_4_KEY) << thermCalibrate.m_channel << getResource(COLON_SPACE_KEY) << _FLOAT(calFact, 6) << endl;
|
Serial.print(getResource(STATE_20_MSG_4_KEY)); Serial.print(thermCalibrate.m_channel);
|
||||||
|
Serial.print(getResource(COLON_SPACE_KEY)); Serial.print(calFact, 6); Serial.println();
|
||||||
setCalibrateFactor(thermCalibrate.m_channel, calFact);
|
setCalibrateFactor(thermCalibrate.m_channel, calFact);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
#ifndef THERMOMETER_H_
|
#ifndef THERMOMETER_H_
|
||||||
#define THERMOMETER_H_
|
#define THERMOMETER_H_
|
||||||
|
|
||||||
#include <Metro.h>
|
|
||||||
#include "cmd.h"
|
#include "cmd.h"
|
||||||
#include "Resources.h"
|
#include "Resources.h"
|
||||||
|
|
||||||
@ -75,7 +74,6 @@ public:
|
|||||||
friend class ThermValues;
|
friend class ThermValues;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Metro m_period;
|
|
||||||
unsigned long m_periodMillis;
|
unsigned long m_periodMillis;
|
||||||
ThermConfig thermConfig;
|
ThermConfig thermConfig;
|
||||||
ThermValues thermValues;
|
ThermValues thermValues;
|
||||||
|
Reference in New Issue
Block a user