mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-19 06:40:45 +00:00
New function to modify fifo overwritability
This commit is contained in:
parent
fd6cf9010b
commit
4071e490e2
@ -356,7 +356,7 @@ bool cdcd_control_request(uint8_t rhport, tusb_control_request_t const * request
|
||||
p_cdc->line_state = (uint8_t) request->wValue;
|
||||
|
||||
// Disable fifo overwriting if DTR bit is set
|
||||
p_cdc->tx_ff.overwritable = dtr ? false : true;
|
||||
tu_fifo_change_mode(&p_cdc->tx_ff, (dtr?false:true));
|
||||
|
||||
TU_LOG2(" Set Control Line State: DTR = %d, RTS = %d\r\n", dtr, rts);
|
||||
|
||||
|
@ -319,3 +319,22 @@ bool tu_fifo_clear(tu_fifo_t *f)
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*!
|
||||
@brief Change the fifo mode to overwritable or not overwritable
|
||||
|
||||
@param[in] f
|
||||
Pointer to the FIFO buffer to manipulate
|
||||
*/
|
||||
/******************************************************************************/
|
||||
bool tu_fifo_change_mode(tu_fifo_t *f, bool overwritable)
|
||||
{
|
||||
tu_fifo_lock(f);
|
||||
|
||||
f->overwritable = overwritable;
|
||||
|
||||
tu_fifo_unlock(f);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -76,6 +76,7 @@ typedef struct
|
||||
.overwritable = _overwritable, \
|
||||
}
|
||||
|
||||
bool tu_fifo_change_mode(tu_fifo_t *f, bool overwritable);
|
||||
bool tu_fifo_clear(tu_fifo_t *f);
|
||||
bool tu_fifo_config(tu_fifo_t *f, void* buffer, uint16_t depth, uint16_t item_size, bool overwritable);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user