mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-19 23:15:05 +00:00
* **New Features** * Thread API with lifecycle, priority, affinity and state monitoring * Timer subsystem: one-shot/periodic timers, reset, pending callbacks, expiry queries * Expanded I²C: register-level ops, bulk writes, presence checks, ESP32 integration and new config properties * GPIO controller: pin level and options APIs * Error utilities: new error code, error-to-string, timeout helper and common macros * Device construction helpers (construct+start) * **Tests** * New unit tests for thread and timer behavior * **Documentation** * Expanded coding style guide (files/folders, C conventions)
27 lines
515 B
C
27 lines
515 B
C
// SPDX-License-Identifier: Apache-2.0
|
|
#pragma once
|
|
|
|
#include <tactility/drivers/gpio.h>
|
|
#include <hal/i2c_types.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct Esp32I2cConfig {
|
|
i2c_port_t port;
|
|
uint32_t clockFrequency;
|
|
gpio_pin_t pinSda;
|
|
gpio_pin_t pinScl;
|
|
bool pinSdaPullUp;
|
|
bool pinSclPullUp;
|
|
};
|
|
|
|
error_t esp32_i2c_get_port(struct Device* device, i2c_port_t* port);
|
|
void esp32_i2c_lock(struct Device* device);
|
|
void esp32_i2c_unlock(struct Device* device);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|