/****************************************************************************** * File: MCU_UART_priv.h * Component: MCU_UART * Description: Private header — control struct and extern config array. * * Layer: MCU (hardware abstraction) - internal use only *****************************************************************************/ #ifndef MCU_UART_PRIV_H #define MCU_UART_PRIV_H #include "MCU_UART.h" #include "MCU_UART_cfg.h" extern const MCU_UART_tstrConfig MCU_UART_astrConfig[MCU_UART_NUM_INSTANCES]; typedef struct { /* TX state */ const u8 *apu8TxBuffer[MCU_UART_NUM_INSTANCES]; u16 au16TxLength[MCU_UART_NUM_INSTANCES]; u16 au16TxIndex[MCU_UART_NUM_INSTANCES]; STD_tBool abTxBusy[MCU_UART_NUM_INSTANCES]; s8 as8TxDmaChannel[MCU_UART_NUM_INSTANCES]; /* RX ring buffer — filled by ISR or DMA in the background */ u8 aau8RxBuffer[MCU_UART_NUM_INSTANCES][MCU_UART_RX_BUFFER_SIZE] __attribute__((aligned(MCU_UART_RX_BUFFER_SIZE))); u16 au16RxHead[MCU_UART_NUM_INSTANCES]; u16 au16RxTail[MCU_UART_NUM_INSTANCES]; s8 as8RxDmaChannel[MCU_UART_NUM_INSTANCES]; } MCU_UART_tstrControl; #endif /* MCU_UART_PRIV_H */