#ifndef DTU_H #define DTU_H #include #include #include #include "microinverter.h" struct _modbus; typedef _modbus modbus_t; class Dtu { private: std::shared_ptr modbus_context; std::mutex modbus_context_mutex; std::vector microinverters; void populateMicroinverters(); std::pair getMicroinverterBySerialNumber(long serialNumber); public: Dtu(const char *ip_address, int port); void updateMicroinverters(); void printMicroinverters(); ~Dtu(); }; #endif