From 38acf876313c9bf28e41acd8bc29d6115c1e9285 Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Tue, 14 Jan 2025 18:04:32 +0100 Subject: refactoring --- src/laser.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/laser.h (limited to 'src/laser.h') diff --git a/src/laser.h b/src/laser.h new file mode 100644 index 0000000..31fe7e3 --- /dev/null +++ b/src/laser.h @@ -0,0 +1,33 @@ +#pragma once + +#include + +class ILaser +{ +public: + virtual ~ILaser() = default; + +public: + virtual bool init() = 0; + virtual bool setEnabled(bool enabled) = 0; + virtual bool setLaserLevel(std::size_t level) = 0; + +public: + bool enable() { return setEnabled(true); } + bool disable() { return setEnabled(false); } +}; + +class PwmLaser : public ILaser +{ +public: + explicit PwmLaser(const std::string& pwmChip, const std::string& pwm); + ~PwmLaser() override = default; + + // ILaser +public: + bool init() override; + +private: + std::string m_pwmChip; + std::string m_pwm; +}; -- cgit v1.2.3-70-g09d2