| Description |
| ----------- |
| |
| This is a demo showcasing the sound-handling capabilities of Renode on the example of a Zephyr application running on LiteX with the I2S module. |
| |
| The application copies the stereo signal encoded in 24-bit PCM format (signed, little-endian) at the 44100Hz rate from the input to the output. |
| |
| By default, the demo runs the simulation for 3.2 virtual seconds in order to copy a 3s sample containing a 440Hz sine signal with periodical beeps. |
| The user can change these settings by providing the following variables: |
| * $zephyr_application - an ELF file with the application to run on the CPU, |
| * $simulation_duration - a period (in virtual seconds) for the simulation to run, |
| * $input_file - an input sound sample (in the format described above). |
| |
| How to run |
| ---------- |
| |
| The demo requires an `output_file` that points to the file containing the sound data generated by the Zephyr application. |
| |
| Run the following lines in the Monitor in order to run the demo: |
| |
| (monitor) $output_file=@/tmp/output.pcm |
| (monitor) include @scripts/complex/litex_i2s/litex_vexriscv_i2s.resc |
| |
| Note: There is no need to start the simulation after including the script - it will run the simulation for 3.2 virtual seconds automatically. |