Files
MuditaOS/module-bsp/board/linux/hal/temperature_source/TemperatureSource.cpp
Marcin Smoczyński bd90e57516 [BH-907] Split utils module into components
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-09-23 15:14:40 +02:00

33 lines
1022 B
C++

// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include <hal/temperature_source/TemperatureSource.hpp>
#include <hal/GenericFactory.hpp>
namespace hal::temperature
{
class LinuxTemperatureSource : public AbstractTemperatureSource
{
public:
Result read()
{
temperature += 1.0;
if (temperature > limitUp) {
temperature = limitDown;
}
return temperature;
}
private:
static constexpr AbstractTemperatureSource::Temperature limitUp = 10.0;
static constexpr AbstractTemperatureSource::Temperature limitDown = -10.0;
AbstractTemperatureSource::Temperature temperature{};
};
std::shared_ptr<AbstractTemperatureSource> AbstractTemperatureSource::Factory::create()
{
return hal::impl::factory<LinuxTemperatureSource, AbstractTemperatureSource>();
}
} // namespace hal::temperature