blob: 0dd4e1b2466d1cd8ccd0683276b15108b4fc63d3 [file] [log] [blame]
/*
* Copyright (C) 2020 CESNET, https://photonics.cesnet.cz/
*
* Written by Tomáš Pecka <tomas.pecka@fit.cvut.cz>
*
*/
#pragma once
#include <filesystem>
#include "utils/log-fwd.h"
namespace velia::health {
/**
* @brief Sysfs driver for manipulating with LED brightness using https://www.kernel.org/doc/Documentation/leds/leds-class.txt
*/
class LedSysfsDriver {
public:
explicit LedSysfsDriver(const std::filesystem::path& directory);
void set(uint32_t brightness);
uint32_t maxBrightness() const;
private:
velia::Log m_log;
/** path to the brightness file */
std::filesystem::path m_brightnessFile;
uint32_t m_maxBrightness;
};
}