#pragma once #include "HoymilesRadio.h" #include "inverters/InverterAbstract.h" #include "types.h" #include #include #include class HoymilesClass { public: void init(); void loop(); std::shared_ptr addInverter(const char* name, uint64_t serial); std::shared_ptr getInverterByPos(uint8_t pos); std::shared_ptr getInverterBySerial(uint64_t serial); std::shared_ptr getInverterByFragment(fragment_t* fragment); void removeInverterBySerial(uint64_t serial); size_t getNumInverters(); HoymilesRadio* getRadio(); uint32_t PollInterval(); void setPollInterval(uint32_t interval); private: std::vector> _inverters; std::unique_ptr _radio; uint32_t _pollInterval = 0; uint32_t _lastPoll = 0; }; extern HoymilesClass Hoymiles;