mirror of
https://github.com/apache/nuttx.git
synced 2025-12-17 10:16:49 +08:00
This commit implements simple (blocking) read and write operations for the i2schar driver. Although it already contained such methods, the read/write operation was not being properly handled by the `i2schar_[rx|tx]callback` (called when the operation has finished). A semaphore is used to ensure that read data was received by the receiver and another semaphore ensures that data was written by the transmitter. Please note that the already-existing mutex for the I2S peripheral was replaced by two mutexes, one for the receiver and other for the transmitter to allow full-duplex communication. Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>