*** Variables *** ${AUDIO_INPUT} https://dl.antmicro.com/projects/renode/sine440_with_beep_aligned.pcm_s24le_44100_stereo.raw-s_793344-b37432aad6a22f36cb5c1e239c9bce4adbcd15fb *** Test Cases *** Should Echo Audio ${input_file}= Download File ${AUDIO_INPUT} Execute Command mach create Execute Command machine LoadPlatformDescription @platforms/cpus/litex_zephyr_vexriscv_i2s.repl Execute Command showAnalyzer sysbus.uart Execute Command sysbus LoadELF @https://dl.antmicro.com/projects/renode/litex_i2s--zephyr-echo_sample.elf-s_1172756-db2f7eb8c6c8f396651b2f2d517cee13d79a9a69 ${output_file}= Allocate Temporary File Execute Command sysbus.i2s_tx Output @${output_file} Execute Command sysbus.i2s_rx LoadPCM @${input_file} # sample input file is around 3s long, but let's give some more time for processing Execute Command emulation RunFor "3.2" # in order to make sure the output file is closed Execute Command sysbus.i2s_tx Dispose ${input_file_size}= Get File Size ${input_file} ${output_file_size}= Get File Size ${output_file} Should Be Equal ${input_file_size} ${output_file_size} ${input_file_content}= Get Binary File ${input_file} ${output_file_content}= Get Binary File ${output_file} Should Be Equal ${input_file_content} ${output_file_content}