as you can see the even-index pcm_data is 0, so right channel has no audio
we tested RX function with ezario 7160 or RSL10 evb running remote_mic_rx_raw , right channel has no audio in both scneario
in my own customerized hardware , no audio for right channel either
below is app.c to print pcm_data
while (1)
{
/* Refresh the watch-dog timer. */
Sys_Watchdog_Refresh();
repeat_times ++;
if (repeat_times ==2000) {
if (asrc_in_buf[0] !=0) {
for (uint8_t i=0;i< SUBFRAME_LENGTH*2;i++) {
PRINTF("%d ",pcm_buf[i]);
}
PRINTF("\n");
for (uint8_t i=SUBFRAME_LENGTH*2;i< SUBFRAME_LENGTH*4;i++) {
PRINTF("%d ",pcm_buf[i]);
}
PRINTF("\n");
}
repeat_times = 0;
}
/* Handle Remote Microphone BLE application pending events. */
RM_StatusHandler();
/* Wait for an event before executing the scheduler again. */
SYS_WAIT_FOR_EVENT;
}
As a first step, can you make use of a logic analyzer on the PCM lines and share the results ?
This will allow us to determine if it is the PCM interface that is dropping frames, or if perhaps the PCM data being passed into the RSL10 is not formatted properly for I2S.
The PCM signal looks good, so this is likely not the problem.
Could you please copy the PCM data within the “rx_DMA_ready_PCM()” function and print the buffer from main?
It would likely also be possible to use a flag to ensure the main loop is only reading from the half of the buffer that is not being actively received into (this firmware will process half of the PCM buffer while the other have receives the samples to prevent data hazards).
and I can see pcm_buf it non-zero for right channel ,and can hear to right channel ,but the sound I hear has wrong sample rate ,and different from original input sound
In our using the default “remote_mic_tx_raw” sample firmware, we were able to see proper PCM reception for both Left and Right frames. Please see the PCM waveform and “pcm_buff” captures below showing the proper transmission and reception of the “Hello World” PCM packets.