34 lines
763 B
C++
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 */
|