summaryrefslogtreecommitdiffstats
path: root/dbus/dbuspassive.cpp
Commit message (Collapse)AuthorAgeFilesLines
* conf: add ignoreDbusMinMax optionPatrick Venture2019-09-101-0/+7
| | | | | | | | | Add an optional field to the sensor configuration, s.t. it'll tell a dbus passive sensor to ignore the MinValue and MaxValue properties from dbus. Signed-off-by: Patrick Venture <venture@google.com> Change-Id: Ia6a8c802c2dc5bf41e5e860b21d7764cc09e6b6b
* sensors: ignore min/max in json for D-Bus passive sensor readKun Yi2019-07-111-9/+0
| | | | | | | | | | | | | | | | | | | | min/max values were meant to scale write to be PWM, but were overloaded in commit 75eb769d351434547899186f73ff70ae00d7934a to scale sensor read to percent as well. However currently the D-Bus sensors built from JSON can only specify one pair of min/max values,so they cannot be used for both read/write interfaces. Fix the behavior by ignoring min/max in settings when building D-Bus passive read interface and only read them from D-Bus. Tested: D-Bus passive sensor value is no longer scaled if there is no MinValue/MaxValue specified. Resolves: openbmc/phosphor-pid-control#14 Signed-off-by: Kun Yi <kunyi731@gmail.com> Change-Id: I206bbe75c77e79f765eca76cfa015321dcba4aa7
* dbuspassive: Fix typo in variable checkKun Yi2019-07-101-1/+1
| | | | | | | When setting min, should check for min instead of max. Signed-off-by: Kun Yi <kunyi731@gmail.com> Change-Id: I0097bb329408f807fea6d68ca0055c5d8215aba3
* Add Fan Redundancy SupportJames Feist2019-06-051-6/+20
| | | | | | | | | | | | | | This adds fan redundancy support to passive sensors. If there are redundancy interfaces on dbus, we'll fail a sensor if the status is set to failed. Tested: Set Redundancy to Failed On Dbus, saw all fans in collection boost. Then restarted swampd, came up and still boosted. Set redundancy OK, and they all slowed down. Change-Id: I8879bef1471bbc168435d6b22dd20006b9dca133 Signed-off-by: James Feist <james.feist@linux.intel.com>
* Consolidate all util.hppJames Feist2019-05-081-1/+1
| | | | | | | | This deletes all lower level util.hpp and cats them into the top level util.hpp to avoid name conflicts. Change-Id: Ia11e4a08053a3970b0aadf21d1156ab26def36bd Signed-off-by: James Feist <james.feist@linux.intel.com>
* Expand conf namespaceJames Feist2019-02-261-1/+1
| | | | | | | | | Put rest of conf.hpp in the conf namespace. This is largely a sed replace, and wrapping from_json in conf namespace as it failed to build. Change-Id: I9fe5c7b2fface44618c43af2367035afc39bcb64 Signed-off-by: James Feist <james.feist@linux.intel.com>
* dbuspassive: allow scalingJames Feist2019-02-261-1/+24
| | | | | | | | | | | | | | | | For tachs it is beneficial to deal in percent so that multiple controllers can be used with different fan types without having to recalculate. This starts using the unused min and max fields to be able to scale readings. Since max and min are commonly on the value interface, the special value of <int64_t>::lowest() allows these to be gathered from dbus instead of having to enter them manually. Tested-by: Moved pid control to percent and printed outputs Change-Id: I9496eb92a18b68a7cd7f034d41d40ef5175c6974 Signed-off-by: James Feist <james.feist@linux.intel.com>
* Move all variant usage to stdJames Feist2019-02-081-8/+6
| | | | | | | | | | This just a style change, remove variant_ns in favor of std. Tested-by: it built Change-Id: Id5a075e8b73a7724cbc5153fb7dfcf369e79c483 Signed-off-by: James Feist <james.feist@linux.intel.com>
* Change all default_bus back to new_system busJames Feist2019-01-291-1/+1
| | | | | | | | | | | | | | | | | new_default now returns a reference to a single bus, phosphor-pid-control uses multiple busses so we do not want that. This was the way it was implemented prior to https://github.com/openbmc/sdbusplus/commit/8ca6025eed193c252149b2908c3d5e37b00b0107 Tested-by: swampd ran normally These errors go away: Jan 28 18:28:45 swampd[1760]: terminate called after throwing an instance of 'sdbusplus::exception::SdBusError' Jan 28 18:28:45 swampd[1760]: what(): sd_bus_request_name: org.freedesktop.DBus.Error.InconsistentMessage: Bad message Change-Id: I708cd5e6c45509f27d4fe783c0b0cfb52ff10336 Signed-off-by: James Feist <james.feist@linux.intel.com>
* std::variant: Fixup apply_visitor callsWilliam A. Kennington III2018-11-121-1/+1
| | | | | | | | These should be std::visit compatible instead of the custom mapbox apply_visitor. Change-Id: I32098c02bda5a3699abace919426a6e4b9c8ae9c Signed-off-by: William A. Kennington III <wak@google.com>
* dbus: passive: move exception checking into factoryPatrick Venture2018-10-301-14/+25
| | | | | | | | Move the exception checking into the factory to remove possibility of exception during construction. Change-Id: I22922f23247c0579ee2a3411b5c8cede44fe324c Signed-off-by: Patrick Venture <venture@google.com>
* style: function names should be lower camelPatrick Venture2018-10-301-6/+6
| | | | | | | Fix function names to be lower camel. Change-Id: I145e1f4c03d7740bc1525dcffbdce2f78fd61075 Signed-off-by: Patrick Venture <venture@google.com>
* dbus: util: add missing try/catch blockPatrick Venture2018-10-301-0/+2
| | | | | | | Add try/catch block around ObjectMapper call failures. Change-Id: I5a2a7a8c1049ea16cebe8b87a509bf5104e432ab Signed-off-by: Patrick Venture <venture@google.com>
* style: member functions should be lower camelPatrick Venture2018-10-301-5/+5
| | | | | | | Rename member functions to be lower camel instead of snake case. Change-Id: Ib227fd3dadb6d9607290277205223a4324cd4ce5 Signed-off-by: Patrick Venture <venture@google.com>
* [dbus-passive] Add threshold fan failureJames Feist2018-10-151-1/+39
| | | | | | | | | | | | | | When a threshold is crossed for a monitored sensor, assert fan failure. Tested-by: Changed a sensor threshold so that its current reading made the threshold asserted and noticed via print messages that the sensor went into failure state. Also noticed fans ramp. Wrote unit test to verify sensor can move in and out of error state correctly. Change-Id: I83182536e4874eaba97f3f1d48d53ac110fba833 Signed-off-by: James Feist <james.feist@linux.intel.com>
* Stop using mapbox namespace directlyJames Feist2018-10-111-2/+2
| | | | | | | | | | | sdbusplus is transitioning to std::variant, the sdbusplus::message::variant_ns will be changed to std and should move over correctly, but mapbox will be deleted. Tested-by: It built Change-Id: I25672cef16a6c75ae2f3619d319ade1eb063a98b Signed-off-by: James Feist <james.feist@linux.intel.com>
* add .clang-formatPatrick Venture2018-08-311-19/+12
| | | | | Change-Id: I6627b5569c2e0f730be7331403218b823a2c622f Signed-off-by: Patrick Venture <venture@google.com>
* Add double support for sensor interfaceJames Feist2018-08-101-4/+4
| | | | | | | | | Add support for reading sensors that produce a double as the value. Use a visitor to pull out the sensor value so type doesn't matter. Change-Id: I37c05e7077ead6f3084ab9704a1b2c62becb5e19 Signed-off-by: James Feist <james.feist@linux.intel.com>
* test: dbus: passive read interfacePatrick Venture2018-06-281-1/+20
| | | | | | | | | | Added basic unit-tests and added a factory for creating the DbusPassive read interface so that it can be nicely error checked. This is handled via a valid type check where the only valid types are 'fan' and 'temp'. Change-Id: I558ed09bf509d26f20c6e431bb0789074e9aa841 Signed-off-by: Patrick Venture <venture@google.com>
* dbus: transition to interface for testingPatrick Venture2018-06-221-4/+6
| | | | | | | | | | To make testing easier, the dbus objects now receive a helper interface to use instead of calling into a helper module. Tested: Ran on quanta-q71l board and it behaved as expected. Change-Id: I2521d9c75aec76e92d2e26dc044d01011e44d552 Signed-off-by: Patrick Venture <venture@google.com>
* dbus: dbuspassive refactorPatrick Venture2018-06-221-17/+16
| | | | | | | | | Moved the sensor value handler into a sub routine to enable testing. Tested: Ran on quanta-q71l board and it behaved as expected. Change-Id: I4873558cfc1a48a92fb60cd173dc69e237813683 Signed-off-by: Patrick Venture <venture@google.com>
* Sensor ObjectsPatrick Venture2018-03-081-0/+107
This includes all the sensor objects including a few implementations, including dbus and sysfs sensors. Change-Id: I9897c79f9fd463f00f0e02aeb6c32ffa89635dbe Signed-off-by: Patrick Venture <venture@google.com>
OpenPOWER on IntegriCloud