@@ -806,17 +806,19 @@ bool I2SClass::configureRX(uint32_t rate, i2s_data_bit_width_t bits_cfg, i2s_slo
806
806
807
807
size_t I2SClass::readBytes (char *buffer, size_t size) {
808
808
size_t bytes_read = 0 ;
809
+ size_t bytes_to_read = 0 ;
809
810
size_t total_size = 0 ;
810
811
last_error = ESP_FAIL;
811
812
if (rx_chan == NULL ) {
812
813
return total_size;
813
814
}
814
815
while (total_size < size) {
815
- bytes_read = size - total_size;
816
- if (rx_transform_buf != NULL && bytes_read > I2S_READ_CHUNK_SIZE) {
817
- bytes_read = I2S_READ_CHUNK_SIZE;
816
+ bytes_read = 0 ;
817
+ bytes_to_read = size - total_size;
818
+ if (rx_transform_buf != NULL && bytes_to_read > I2S_READ_CHUNK_SIZE) {
819
+ bytes_to_read = I2S_READ_CHUNK_SIZE;
818
820
}
819
- I2S_ERROR_CHECK_RETURN (rx_fn (rx_chan, rx_transform_buf, (char *)(buffer + total_size), bytes_read , &bytes_read, _timeout), 0 );
821
+ I2S_ERROR_CHECK_RETURN (rx_fn (rx_chan, rx_transform_buf, (char *)(buffer + total_size), bytes_to_read , &bytes_read, _timeout), 0 );
820
822
total_size += bytes_read;
821
823
}
822
824
return total_size;
@@ -825,13 +827,15 @@ size_t I2SClass::readBytes(char *buffer, size_t size) {
825
827
size_t I2SClass::write (const uint8_t *buffer, size_t size) {
826
828
size_t written = 0 ;
827
829
size_t bytes_sent = 0 ;
830
+ size_t bytes_to_send = 0 ;
828
831
last_error = ESP_FAIL;
829
832
if (tx_chan == NULL ) {
830
833
return written;
831
834
}
832
835
while (written < size) {
833
- bytes_sent = size - written;
834
- esp_err_t err = i2s_channel_write (tx_chan, (char *)(buffer + written), bytes_sent, &bytes_sent, _timeout);
836
+ bytes_sent = 0 ;
837
+ bytes_to_send = size - written;
838
+ esp_err_t err = i2s_channel_write (tx_chan, (char *)(buffer + written), bytes_to_send, &bytes_sent, _timeout);
835
839
setWriteError (err);
836
840
I2S_ERROR_CHECK_RETURN (err, written);
837
841
written += bytes_sent;
0 commit comments