freemodbus: fix long buffer failure
check master read write functions with array of registers) fix master serial processing code and modbus controller to work with register array modbus_master: add reading and writing of test value array (58 registers) to check failure is gone remove parameter temporary buffer from modbus controller to allow more than 24 byte writes driver: fix issue with TOUT feature driver: fix uart_rx_timeout issue driver: fix issue with rxfifo_tout_int_raw not triggered when received fifo_len = 120 byte and all bytes read out of fifo as result of rxfifo_full_int_raw driver: add function uart_internal_set_always_rx_timeout() to always handle tout interrupt examples: call uart_internal_set_always_rx_timeout() to handle tout interrupt correctly examples: update examples to use tout feature driver: reflect changes of uart_set_always_rx_timeout() function, change uart.c driver: change conditions to trigger workaround for tout feature in uart.c driver: change uart_set_always_rx_timeout() freemodbus: fix tabs, remove commented code driver: remove uart_ll_is_rx_idle()
This commit is contained in:
committed by
Michael (XIAO Xufeng)
parent
135aa51d06
commit
3abdd2207d
@@ -127,13 +127,14 @@ typedef struct {
|
||||
/**
|
||||
* @brief Read data from the UART rxfifo
|
||||
*
|
||||
* @param hal Context of the HAL layer
|
||||
* @param buf Pointer to the buffer used to store the read data. The buffer size should be large than 128 byts
|
||||
* @param rd_len The length has been read out from the rxfifo
|
||||
* @param[in] hal Context of the HAL layer
|
||||
* @param[in] buf Pointer to the buffer used to store the read data. The buffer size should be large than 128 byte
|
||||
* @param[inout] inout_rd_len As input, the size of output buffer to read (set to 0 to read all available data).
|
||||
* As output, returns the actual size written into the output buffer.
|
||||
*
|
||||
* @return None
|
||||
*/
|
||||
void uart_hal_read_rxfifo(uart_hal_context_t *hal, uint8_t *buf, int *rd_len);
|
||||
void uart_hal_read_rxfifo(uart_hal_context_t *hal, uint8_t *buf, int *inout_rd_len);
|
||||
|
||||
/**
|
||||
* @brief Write data into the UART txfifo
|
||||
@@ -448,6 +449,24 @@ uint8_t uart_hal_get_symb_len(uart_hal_context_t *hal);
|
||||
*/
|
||||
uint16_t uart_hal_get_max_rx_timeout_thrd(uart_hal_context_t *hal);
|
||||
|
||||
/**
|
||||
* @brief Get the timeout threshold value set for receiver.
|
||||
*
|
||||
* @param hw Beginning address of the peripheral registers.
|
||||
*
|
||||
* @return tout_thr The timeout value. If timeout is disabled then returns 0.
|
||||
*/
|
||||
#define uart_hal_get_rx_tout_thr(hal) uart_ll_get_rx_tout_thr((hal)->dev)
|
||||
|
||||
/**
|
||||
* @brief Get the length of readable data in UART rxfifo.
|
||||
*
|
||||
* @param hw Beginning address of the peripheral registers.
|
||||
*
|
||||
* @return The readable data length in rxfifo.
|
||||
*/
|
||||
#define uart_hal_get_rxfifo_len(hal) uart_ll_get_rxfifo_len((hal)->dev)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user