iot-firmware/src/espmega_iot_emon.hpp

19 lines
584 B
C++

#pragma once
#include <ESPMegaPRO.h>
class ESPMega_CT {
public:
ESPMega_CT(uint8_t analog_pin,float(*adc_to_watts)(uint16_t adc_value), uint32_t fram_address);
void begin();
void loop();
float get_power();
long double get_energy();
void reset_energy();
private:
uint8_t analog_pin;
uint32_t fram_address;
unsigned long last_conversion_timestamp;
float power;
long double energy;
float (*adc_to_watts)(uint16_t adc_value);
float adc_to_watts_builtin(uint16_t adc_value);
};