Create GPIO HAL (#344)

This commit is contained in:
Ken Van Hoeylandt
2025-09-22 23:24:01 +02:00
committed by GitHub
parent bab3eb19bc
commit 7ad0a3cb04
16 changed files with 234 additions and 62 deletions
-7
View File
@@ -1,7 +0,0 @@
#pragma once
#ifdef ESP_PLATFORM
#include <driver/gpio.h>
#else
typedef unsigned int gpio_num_t;
#endif
@@ -0,0 +1,34 @@
#pragma once
#include <cstdint>
namespace tt::hal::gpio {
typedef unsigned int Pin;
constexpr Pin NO_PIN = -1;
/** @warning The order must match GpioMode from tt_hal_gpio.h */
enum class Mode {
Disable = 0,
Input,
Output,
OutputOpenDrain,
InputOutput,
InputOutputOpenDrain
};
/** Configure a single pin */
bool configure(Pin pin, Mode mode, bool pullUp, bool pullDown);
/** Configure a set of pins defined by their bit index */
bool configureWithPinBitmask(uint64_t pinBitMask, Mode mode, bool pullUp, bool pullDown);
bool setMode(Pin pin, Mode mode);
bool getLevel(Pin pin);
bool setLevel(Pin pin, bool level);
int getPinCount();
}
@@ -1,6 +1,6 @@
#pragma once
#include "../Gpio.h"
#include "../gpio/Gpio.h"
#ifdef ESP_PLATFORM
#include <driver/spi_common.h>
@@ -8,6 +8,8 @@
#define SPI_HOST_MAX 3
typedef tt::hal::gpio::Pin gpio_num_t;
typedef int spi_host_device_t;
struct spi_bus_config_t {
gpio_num_t miso_io_num;
+1 -1
View File
@@ -2,7 +2,7 @@
#include <Tactility/RtosCompat.h>
#include "../Gpio.h"
#include "../gpio/Gpio.h"
#include "Tactility/Lock.h"
#include "UartCompat.h"
#include "Tactility/hal/uart/Configuration.h"