// // Created by Kurosu Chan on 2024/1/15. // #ifndef B0AACD4A_5B6F_438C_B35C_C49E28A07356 #define B0AACD4A_5B6F_438C_B35C_C49E28A07356 #include 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(mode)); } } // namespace app::driver::hal::gpio #endif /* B0AACD4A_5B6F_438C_B35C_C49E28A07356 */