24 lines
1.0 KiB
C
24 lines
1.0 KiB
C
/*
|
|
* Developed by TComLab
|
|
* Version: v0.1
|
|
* Date: 2025-12-15
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <stddef.h>
|
|
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "esp_err.h"
|
|
|
|
// Ініціалізує апаратний мультиплексор UART: GPIO, UART драйвер та watchdog.
|
|
esp_err_t uart_mux_init(void);
|
|
// Повертає true, якщо драйвер готовий приймати виклики.
|
|
bool uart_mux_ready(void);
|
|
// Кількість доступних каналів мультиплексора.
|
|
size_t uart_mux_channel_count(void);
|
|
// Відправляє буфер даних на вказаний канал з тайм-аутом очікування мьютекса.
|
|
esp_err_t uart_mux_write(size_t channel, const uint8_t *data, size_t length, TickType_t timeout);
|
|
// Зчитує дані з каналу, повертаючи кількість байтів через out_length.
|
|
esp_err_t uart_mux_read(size_t channel, uint8_t *buffer, size_t buffer_size, size_t *out_length, TickType_t timeout);
|