class to abstract gpio handling
This commit is contained in:
parent
79615e47e4
commit
b52f19254b
30
hal/src/fsfw_hal/linux/gpio/Gpio.h
Normal file
30
hal/src/fsfw_hal/linux/gpio/Gpio.h
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#ifndef FSFW_HAL_SRC_FSFW_HAL_LINUX_GPIO_GPIO_H_
|
||||||
|
#define FSFW_HAL_SRC_FSFW_HAL_LINUX_GPIO_GPIO_H_
|
||||||
|
|
||||||
|
#include "fsfw_hal/common/gpio/GpioIF.h"
|
||||||
|
#include "fsfw_hal/common/gpio/gpioDefinitions.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Additional abstraction layer for handling GPIOs.
|
||||||
|
*
|
||||||
|
* @author J. Meier
|
||||||
|
*/
|
||||||
|
class Gpio {
|
||||||
|
public:
|
||||||
|
Gpio(gpioId_t gpioId, GpioIF* gpioIF) : gpioId(gpioId), gpioIF(gpioIF) {
|
||||||
|
if (gpioIF == nullptr) {
|
||||||
|
sif::error << "Gpio::Gpio: Invalid GpioIF" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ReturnValue_t pullHigh() {
|
||||||
|
return gpioIF->pullHigh(gpioId);
|
||||||
|
}
|
||||||
|
ReturnValue_t pullLow() {
|
||||||
|
return gpioIF->pullLow(gpioId);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
gpioId_t gpioId = gpio::NO_GPIO;
|
||||||
|
GpioIF* gpioIF = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* FSFW_HAL_SRC_FSFW_HAL_LINUX_GPIO_GPIO_H_ */
|
Loading…
Reference in New Issue
Block a user