mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
подсчет среднего ADC
This commit is contained in:
@@ -17,6 +17,7 @@ class AnalogAdc : public IoTItem {
|
|||||||
unsigned int _pin;
|
unsigned int _pin;
|
||||||
unsigned int _avgSteps, _avgCount;
|
unsigned int _avgSteps, _avgCount;
|
||||||
unsigned long _avgSumm;
|
unsigned long _avgSumm;
|
||||||
|
float adCresult;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//=======================================================================================================
|
//=======================================================================================================
|
||||||
@@ -45,6 +46,7 @@ class AnalogAdc : public IoTItem {
|
|||||||
// и выполнить за несколько тактов
|
// и выполнить за несколько тактов
|
||||||
void doByInterval() {
|
void doByInterval() {
|
||||||
if (_avgSteps <= 1) value.valD = IoTgpio.analogRead(_pin);
|
if (_avgSteps <= 1) value.valD = IoTgpio.analogRead(_pin);
|
||||||
|
value.valD = adCresult;///
|
||||||
regEvent(value.valD, "AnalogAdc"); //обязательный вызов хотяб один
|
regEvent(value.valD, "AnalogAdc"); //обязательный вызов хотяб один
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,7 +58,8 @@ class AnalogAdc : public IoTItem {
|
|||||||
void loop() {
|
void loop() {
|
||||||
if (_avgSteps > 1) {
|
if (_avgSteps > 1) {
|
||||||
if (_avgCount > _avgSteps) {
|
if (_avgCount > _avgSteps) {
|
||||||
value.valD = _avgSumm / _avgSteps;
|
// value.valD = _avgSumm / (_avgSteps + 1);
|
||||||
|
adCresult = _avgSumm / (_avgSteps + 1);
|
||||||
_avgSumm = 0;
|
_avgSumm = 0;
|
||||||
_avgCount = 0;
|
_avgCount = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user