Files
IoTManager/include/items/SensorAnalogClass.h

36 lines
1.0 KiB
C
Raw Normal View History

2020-09-02 22:34:49 +03:00
#pragma once
#include <Arduino.h>
2020-09-17 22:49:55 +03:00
2020-09-02 22:34:49 +03:00
#include "Class/LineParsing.h"
#include "Global.h"
2020-09-17 22:49:55 +03:00
#include "items/SensorConvertingClass.h"
2020-09-02 22:34:49 +03:00
2020-09-03 01:12:43 +03:00
class SensorAnalogClass : public SensorConvertingClass {
2020-09-02 22:34:49 +03:00
public:
2020-09-03 01:12:43 +03:00
SensorAnalogClass() : SensorConvertingClass(){};
2020-09-02 22:34:49 +03:00
2020-09-17 22:49:55 +03:00
void SensorAnalogInit() {
jsonWriteStr(configOptionJson, _key + "_pin", _pin);
jsonWriteStr(configOptionJson, _key + "_map", _map);
jsonWriteStr(configOptionJson, _key + "_с", _c);
}
2020-09-02 22:34:49 +03:00
int SensorAnalogRead(String key, String pin) {
int value;
#ifdef ESP32
2020-10-18 00:07:57 +03:00
int pinInt = pin.toInt();
2020-09-02 22:34:49 +03:00
value = analogRead(pinInt);
#endif
#ifdef ESP8266
value = analogRead(A0);
#endif
value = this->mapping(key, value);
float valueFl = this->correction(key, value);
eventGen(key, "");
jsonWriteStr(configLiveJson, key, String(valueFl));
2020-10-18 00:07:57 +03:00
publishStatus(key, String(valueFl));
2020-10-20 22:55:45 +03:00
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
2020-09-02 22:34:49 +03:00
return value;
}
};
2020-09-03 02:07:12 +03:00
extern SensorAnalogClass mySensorAnalog;