Hardware Abstraction Layer
Low-level hardware access — GPIO, UART, SPI, I²C, Timer, Interrupts
HAL Initialization
GPIO
struct
eos_gpio_config_t| Field | Type | Description |
|---|---|---|
| pin | uint16_t | Pin number |
| mode | eos_gpio_mode_t | INPUT, OUTPUT, INPUT_PULLUP, INPUT_PULLDOWN, ANALOG |
| pull | eos_gpio_pull_t | PULL_NONE, PULL_UP, PULL_DOWN |
| speed | eos_gpio_speed_t | SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH, SPEED_VERY_HIGH |
UART
struct
eos_uart_config_t| Field | Type | Description |
|---|---|---|
| port | uint8_t | UART port number |
| baudrate | uint32_t | Baud rate (9600, 115200, etc.) |
| data_bits | uint8_t | Data bits (7 or 8) |
| parity | eos_uart_parity_t | NONE, EVEN, ODD |
| stop_bits | eos_uart_stop_t | STOP_1, STOP_2 |
SPI
struct
eos_spi_config_t| Field | Type | Description |
|---|---|---|
| port | uint8_t | SPI port number |
| mode | eos_spi_mode_t | MODE_0..3 (CPOL/CPHA) |
| freq_hz | uint32_t | Clock frequency in Hz |
| cs_pin | uint16_t | Chip select GPIO pin |
| msb_first | bool | true=MSB first, false=LSB first |
I2C
struct
eos_i2c_config_t| Field | Type | Description |
|---|---|---|
| port | uint8_t | I2C port number |
| speed | eos_i2c_speed_t | SPEED_100K, SPEED_400K, SPEED_1M |
| scl_pin | uint16_t | SCL GPIO pin |
| sda_pin | uint16_t | SDA GPIO pin |
