#pragma once #include 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); };