#ifndef OTA_UART_TUNE_H
#define OTA_UART_TUNE_H

#include <stdint.h>

#include "ota_frame_protocol.h"

/** OT 帧线传固定开销：DATA 帧 10B + 多块 ACK 14B */
#define OTA_UART_WIRE_OVERHEAD_BYTES  24

/**
 * 按波特率计算推荐 DATA 块大小（32～OTA_FRAME_MAX_PAYLOAD，UART 默认最大 1024）。
 * baud<=0（BLE）时返回 OTA_FRAME_DATA_CHUNK_RECOMMEND。
 */
uint16_t ota_uart_tune_chunk_for_baud(int baud);

/** App 等 ACK 建议超时（ms），与块大小、波特率对齐 */
uint32_t ota_uart_tune_ack_timeout_ms(int baud, uint16_t chunk);

/** 固件 OTA 传输阶段无手机 RX 超时（ms），应 ≥ App ack 超时 + 余量 */
uint32_t ota_uart_tune_transfer_idle_ms(int baud);

#endif
