Files
esp_llcc68_driver/inc/hal_gpio.hpp
2025-05-14 12:17:06 +08:00

34 lines
763 B
C++

//
// Created by Kurosu Chan on 2024/1/15.
//
#ifndef B0AACD4A_5B6F_438C_B35C_C49E28A07356
#define B0AACD4A_5B6F_438C_B35C_C49E28A07356
#include <driver/gpio.h>
namespace app::driver::hal::gpio {
using pin_t = gpio_num_t;
using mode_t = gpio_mode_t;
enum class Mode {
INPUT = GPIO_MODE_INPUT,
OUTPUT = GPIO_MODE_OUTPUT,
};
constexpr bool HIGH = true;
constexpr bool LOW = false;
inline void digital_write(const pin_t pin, const bool val) {
gpio_set_level(pin, val);
}
inline bool digital_read(const pin_t pin) { return gpio_get_level(pin); }
inline void set_mode(const pin_t pin, const Mode mode) {
gpio_set_direction(pin, static_cast<gpio_mode_t>(mode));
}
} // namespace app::driver::hal::gpio
#endif /* B0AACD4A_5B6F_438C_B35C_C49E28A07356 */