SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
AXP517Gpio.hpp
Go to the documentation of this file.
1
32#pragma once
33
34#include "../../PmicGpioBase.hpp"
35#include "AXP517Core.hpp"
36
61{
62public:
63
67 enum class OutputSource : uint8_t {
68 ByReg11 = 0,
69 PdIrq = 1,
70 };
71
76 explicit AXP517Gpio(AXP517Core &core);
77
78 ~AXP517Gpio() = default;
79
84 uint8_t getPinCount() const override;
85
93 Status setDirection(uint8_t pin, Direction dir) override;
94
100 Direction getDirection(uint8_t pin) override;
101
109 Status setDrive(uint8_t pin, DriveType drive) override;
110
116 DriveType getDrive(uint8_t pin) override;
117
127 Status read(uint8_t pin, bool &high) override;
128
141 Status write(uint8_t pin, Level level) override;
142
154 bool setOutputSource(uint8_t pin, OutputSource src);
155
163 OutputSource getOutputSource(uint8_t pin);
164
169 int readRaw();
170
171private:
172 AXP517Core &_core;
173};
@license MIT License
uint8_t level
AXP517 low-level core driver.
AXP517 GPIO module (REG 0x11).
DriveType getDrive(uint8_t pin) override
Get GPIO pin drive type.
OutputSource getOutputSource(uint8_t pin)
Get current GPIO output source.
bool setOutputSource(uint8_t pin, OutputSource src)
Select GPIO output source.
Status write(uint8_t pin, Level level) override
Set output level.
uint8_t getPinCount() const override
Get number of GPIO pins (1)
Status setDirection(uint8_t pin, Direction dir) override
Set GPIO pin direction.
~AXP517Gpio()=default
Status setDrive(uint8_t pin, DriveType drive) override
Set GPIO pin drive type.
Status read(uint8_t pin, bool &high) override
Read input level.
OutputSource
Hardware source selected for the GPIO output path.
@ ByReg11
by reg11[1:0]
Direction getDirection(uint8_t pin) override
Get GPIO pin direction.
int readRaw()
Read raw REG11 for debug.
DriveType
GPIO drive type.
Level
Output level control.
Direction
GPIO pin direction.
Status
GPIO operation status code.