Files

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.