// SPDX-License-Identifier: Apache-2.0 // SPDX-FileCopyrightText: Copyright 2017 Google Inc #include "pluggable.hpp" #include "hoststatemonitor.hpp" #include "interfaces.hpp" #include #include namespace pid_control { ReadReturn PluggableSensor::read(void) { return _reader->read(); } void PluggableSensor::write(double value) { _writer->write(value); } void PluggableSensor::write(double value, bool force, int64_t* written) { _writer->write(value, force, written); } bool PluggableSensor::getFailed(void) { bool isFailed = _reader->getFailed(); if (isFailed && getIgnoreFailIfHostOff()) { auto& hostState = HostStateMonitor::getInstance(); if (!hostState.isPowerOn()) { return false; } } return isFailed; } std::string PluggableSensor::getFailReason(void) { return _reader->getFailReason(); } } // namespace pid_control