James Feist | 6714a25 | 2018-09-10 15:26:18 -0700 | [diff] [blame] | 1 | #pragma once |
| 2 | |
| 3 | #include <sdbusplus/asio/object_server.hpp> |
James Feist | 38fb598 | 2020-05-28 10:09:54 -0700 | [diff] [blame] | 4 | |
| 5 | #include <memory> |
Patrick Venture | fd6ba73 | 2019-10-31 14:27:39 -0700 | [diff] [blame] | 6 | #include <string> |
James Feist | 6714a25 | 2018-09-10 15:26:18 -0700 | [diff] [blame] | 7 | |
| 8 | class PwmSensor |
| 9 | { |
| 10 | public: |
Cheng C Yang | 916360b | 2019-05-07 18:47:16 +0800 | [diff] [blame] | 11 | PwmSensor(const std::string& name, const std::string& sysPath, |
AppaRao Puli | d9d8caf | 2020-02-27 20:56:59 +0530 | [diff] [blame] | 12 | std::shared_ptr<sdbusplus::asio::connection>& conn, |
James Feist | 82bac4c | 2019-03-11 11:16:53 -0700 | [diff] [blame] | 13 | sdbusplus::asio::object_server& objectServer, |
AppaRao Puli | d9d8caf | 2020-02-27 20:56:59 +0530 | [diff] [blame] | 14 | const std::string& sensorConfiguration, |
| 15 | const std::string& sensorType); |
James Feist | 6714a25 | 2018-09-10 15:26:18 -0700 | [diff] [blame] | 16 | ~PwmSensor(); |
| 17 | |
| 18 | private: |
| 19 | std::string sysPath; |
| 20 | sdbusplus::asio::object_server& objectServer; |
| 21 | std::string name; |
| 22 | std::shared_ptr<sdbusplus::asio::dbus_interface> sensorInterface; |
| 23 | std::shared_ptr<sdbusplus::asio::dbus_interface> controlInterface; |
James Feist | 82bac4c | 2019-03-11 11:16:53 -0700 | [diff] [blame] | 24 | std::shared_ptr<sdbusplus::asio::dbus_interface> association; |
Josh Lehan | 6e6ac0f | 2020-12-30 22:32:57 -0800 | [diff] [blame^] | 25 | double pwmMax; |
James Feist | 6714a25 | 2018-09-10 15:26:18 -0700 | [diff] [blame] | 26 | void setValue(uint32_t value); |
| 27 | uint32_t getValue(bool errThrow = true); |
Jae Hyun Yoo | 9ced0a3 | 2018-10-25 10:42:39 -0700 | [diff] [blame] | 28 | }; |