#include "cpld.hpp" namespace phosphor::software::cpld { sdbusplus::async::task CPLDDevice::updateDevice(const uint8_t* image, size_t image_size) { if (cpldInterface == nullptr) { lg2::error("CPLD interface is not initialized"); co_return false; } else { setUpdateProgress(1); if (!(co_await cpldInterface->updateFirmware( false, image, image_size, [this](int percent) -> bool { return this->setUpdateProgress(percent); }))) { lg2::error("Failed to update CPLD firmware"); co_return false; } setUpdateProgress(100); lg2::info("Successfully updated CPLD"); co_return true; } } sdbusplus::async::task CPLDDevice::getVersion(std::string& version) { if (cpldInterface == nullptr) { lg2::error("CPLD interface is not initialized"); co_return false; } else { if (!(co_await cpldInterface->getVersion(version))) { lg2::error("Failed to get CPLD version"); co_return false; } lg2::info("CPLD version: {VERSION}", "VERSION", version); co_return true; } } } // namespace phosphor::software::cpld