blob: 1f8a46756b3e43df68f15d22d871ebacbd84b4e0 [file] [log] [blame]
#pragma once
#include <sdbusplus/asio/object_server.hpp>
#include <memory>
#include <string>
class PwmSensor
{
public:
PwmSensor(const std::string& name, const std::string& sysPath,
std::shared_ptr<sdbusplus::asio::connection>& conn,
sdbusplus::asio::object_server& objectServer,
const std::string& sensorConfiguration,
const std::string& sensorType);
~PwmSensor();
private:
std::string sysPath;
sdbusplus::asio::object_server& objectServer;
std::string name;
std::shared_ptr<sdbusplus::asio::dbus_interface> sensorInterface;
std::shared_ptr<sdbusplus::asio::dbus_interface> controlInterface;
std::shared_ptr<sdbusplus::asio::dbus_interface> association;
double pwmMax;
void setValue(uint32_t value);
uint32_t getValue(bool errThrow = true);
};