SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
PmicLedBase.hpp
Go to the documentation of this file.
1
39#pragma once
40
41#include <stdint.h>
42
44{
45public:
46 virtual ~PmicLedBase() = default;
47
48 enum class OutputType : uint8_t {
49 OpenDrain = 0,
50 PushPull = 1,
51 };
52
56 enum class Mode : uint8_t {
61 AUTO = 0,
62
66 MANUAL = 1,
67
71 BREATH = 2,
72
76 DISABLE = 3,
77
81 VENDOR = 255,
82 };
83
87 enum class ManualState : uint8_t {
88 HiZ = 0,
89 LEVEL_LOW = 1,
90 LEVEL_HIGH = 2,
91 BLINK_1HZ = 3,
92 BLINK_4HZ = 4,
93 UNDEFINED = 255,
94 };
95
102 virtual bool setOutputType(OutputType type) = 0;
103
110 virtual bool setMode(Mode mode) = 0;
111
117 virtual Mode getMode() = 0;
118
125 virtual bool setManualState(ManualState state) = 0;
126
133};
ManualState
Manual LED state (portable subset).
virtual ManualState getManualState()=0
Get manual LED state (only meaningful when Mode::Manual is active).
virtual bool setManualState(ManualState state)=0
Set manual LED state (only meaningful when Mode::Manual is active).
virtual bool setOutputType(OutputType type)=0
Set LED output type.
virtual bool setMode(Mode mode)=0
Set LED operating mode.
virtual Mode getMode()=0
Get LED operating mode.
virtual ~PmicLedBase()=default
Mode
High-level LED operating mode (portable subset).
@ VENDOR
Unknown/implementation-specific mode.
@ BREATH
Breath/blink mode controlled by PMIC/hardware (if supported).
@ MANUAL
Manual control through registers.
@ AUTO
PMIC controls LED automatically (e.g.
@ DISABLE
LED is disabled (if supported).