#include #include "modbus.h" #include "microinverter.h" #include "port.h" struct _modbus; typedef _modbus modbus_t; Microinverter::Microinverter(std::shared_ptr modbus_context, std::mutex *modbus_context_mutex, long serialNumber) { this->modbus_context = modbus_context; this->modbus_context_mutex = modbus_context_mutex; this->serialNumber = serialNumber; } void Microinverter::updatePorts() { std::vector updateThreads; for(Port port : this->ports){ updateThreads.push_back(std::thread(&Port::updateParameters, port)); // port.updateParameters(); } std::vector::iterator updateThreadsIterator = updateThreads.begin(); while(updateThreadsIterator != updateThreads.end()) { updateThreadsIterator->join(); updateThreadsIterator++; } }