mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
skip frequ-measurement in standalone build
This commit is contained in:
@@ -23,6 +23,7 @@ namespace emsesp {
|
|||||||
|
|
||||||
uuid::log::Logger AnalogSensor::logger_{F_(analogsensor), uuid::log::Facility::DAEMON};
|
uuid::log::Logger AnalogSensor::logger_{F_(analogsensor), uuid::log::Facility::DAEMON};
|
||||||
|
|
||||||
|
#ifndef EMSESP_STANDALONE
|
||||||
portMUX_TYPE mux = portMUX_INITIALIZER_UNLOCKED;
|
portMUX_TYPE mux = portMUX_INITIALIZER_UNLOCKED;
|
||||||
unsigned long AnalogSensor::edge[] = {0, 0, 0};
|
unsigned long AnalogSensor::edge[] = {0, 0, 0};
|
||||||
unsigned long AnalogSensor::edgecnt[] = {0, 0, 0};
|
unsigned long AnalogSensor::edgecnt[] = {0, 0, 0};
|
||||||
@@ -45,6 +46,7 @@ void IRAM_ATTR AnalogSensor::freqIrq2() {
|
|||||||
edge[2] = micros();
|
edge[2] = micros();
|
||||||
portEXIT_CRITICAL_ISR(&mux);
|
portEXIT_CRITICAL_ISR(&mux);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void AnalogSensor::start(const bool factory_settings) {
|
void AnalogSensor::start(const bool factory_settings) {
|
||||||
// if (factory_settings && EMSESP::nvs_.getString("boot").equals("E32V2_2") && EMSESP::nvs_.getString("hwrevision").equals("3.0")) {
|
// if (factory_settings && EMSESP::nvs_.getString("boot").equals("E32V2_2") && EMSESP::nvs_.getString("hwrevision").equals("3.0")) {
|
||||||
@@ -228,6 +230,7 @@ void AnalogSensor::reload(bool get_nvs) {
|
|||||||
sensor.set_offset(0);
|
sensor.set_offset(0);
|
||||||
sensor.set_value(0);
|
sensor.set_value(0);
|
||||||
publish_sensor(sensor);
|
publish_sensor(sensor);
|
||||||
|
#ifndef EMSESP_STANDALONE
|
||||||
} else if (sensor.type() >= AnalogType::FREQ_0 && sensor.type() <= AnalogType::FREQ_2) {
|
} else if (sensor.type() >= AnalogType::FREQ_0 && sensor.type() <= AnalogType::FREQ_2) {
|
||||||
LOG_DEBUG("Frequency on GPIO %02d", sensor.gpio());
|
LOG_DEBUG("Frequency on GPIO %02d", sensor.gpio());
|
||||||
pinMode(sensor.gpio(), INPUT_PULLUP);
|
pinMode(sensor.gpio(), INPUT_PULLUP);
|
||||||
@@ -238,6 +241,7 @@ void AnalogSensor::reload(bool get_nvs) {
|
|||||||
attachInterrupt(sensor.gpio(), index == 0 ? freqIrq0 : index == 1 ? freqIrq1 : freqIrq2, FALLING);
|
attachInterrupt(sensor.gpio(), index == 0 ? freqIrq0 : index == 1 ? freqIrq1 : freqIrq2, FALLING);
|
||||||
lastedge[index] = edge[index] = micros();
|
lastedge[index] = edge[index] = micros();
|
||||||
edgecnt[index] = 0;
|
edgecnt[index] = 0;
|
||||||
|
#endif
|
||||||
} else if (sensor.type() == AnalogType::DIGITAL_IN) {
|
} else if (sensor.type() == AnalogType::DIGITAL_IN) {
|
||||||
LOG_DEBUG("Digital Read on GPIO %02d", sensor.gpio());
|
LOG_DEBUG("Digital Read on GPIO %02d", sensor.gpio());
|
||||||
pinMode(sensor.gpio(), INPUT_PULLUP);
|
pinMode(sensor.gpio(), INPUT_PULLUP);
|
||||||
@@ -369,6 +373,7 @@ void AnalogSensor::measure() {
|
|||||||
changed_ = true;
|
changed_ = true;
|
||||||
publish_sensor(sensor);
|
publish_sensor(sensor);
|
||||||
}
|
}
|
||||||
|
#ifndef EMSESP_STANDALONE
|
||||||
} else if (sensor.type() >= AnalogType::FREQ_0 && sensor.type() <= AnalogType::FREQ_2) {
|
} else if (sensor.type() >= AnalogType::FREQ_0 && sensor.type() <= AnalogType::FREQ_2) {
|
||||||
auto index = sensor.type() - AnalogType::FREQ_0;
|
auto index = sensor.type() - AnalogType::FREQ_0;
|
||||||
auto oldval = sensor.value();
|
auto oldval = sensor.value();
|
||||||
@@ -386,6 +391,7 @@ void AnalogSensor::measure() {
|
|||||||
changed_ = true;
|
changed_ = true;
|
||||||
publish_sensor(sensor);
|
publish_sensor(sensor);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,12 +195,14 @@ class AnalogSensor {
|
|||||||
uint32_t sensorfails_ = 0;
|
uint32_t sensorfails_ = 0;
|
||||||
uint32_t sensorreads_ = 0;
|
uint32_t sensorreads_ = 0;
|
||||||
|
|
||||||
|
#ifndef EMSESP_STANDALONE
|
||||||
static void IRAM_ATTR freqIrq0();
|
static void IRAM_ATTR freqIrq0();
|
||||||
static void IRAM_ATTR freqIrq1();
|
static void IRAM_ATTR freqIrq1();
|
||||||
static void IRAM_ATTR freqIrq2();
|
static void IRAM_ATTR freqIrq2();
|
||||||
static unsigned long edge[3];
|
static unsigned long edge[3];
|
||||||
static unsigned long edgecnt[3];
|
static unsigned long edgecnt[3];
|
||||||
unsigned long lastedge[3] = {0, 0, 0};
|
unsigned long lastedge[3] = {0, 0, 0};
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace emsesp
|
} // namespace emsesp
|
||||||
|
|||||||
@@ -518,7 +518,7 @@ std::string calculate(const std::string & expr) {
|
|||||||
#ifndef EMSESP_STANDALONE
|
#ifndef EMSESP_STANDALONE
|
||||||
stack.push_back(to_string(rhd * esp_random() / UINT32_MAX));
|
stack.push_back(to_string(rhd * esp_random() / UINT32_MAX));
|
||||||
#else
|
#else
|
||||||
stack.push_back(to_string(rhd * random()));
|
stack.push_back(to_string(rhd * rand() / RAND_MAX));
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user