The continuous array library introduces an array that you can loop over, for example if you want to create a period of a Pulse-code modulated (PCM) sine wave. You can use it to test playback with applications that support audio development kits, for example the nRF5340 Audio.
To enable the library, set the
CONFIG_CONTIN_ARRAY Kconfig option to
y in the project configuration file
- group contin_array
Basic continuous array.
int contin_array_create(void *pcm_cont, uint32_t pcm_cont_size, void const *const pcm_finite, uint32_t pcm_finite_size, uint32_t *const finite_pos)
Creates a continuous array from a finite array.
This function serves the purpose of e.g. having a set of audio samples stored in pcm_finite. This can then be fetched in smaller pieces into ram and played back in a loop using the results in pcm_cont. The function keeps track of the current position in finite_pos, so that the function can be called multiple times and maintain the correct position in pcm_finite.
pcm_cont – Pointer to the destination array.
pcm_cont_size – Size of pcm_cont.
pcm_finite – Pointer to an array of samples or data.
pcm_finite_size – Size of pcm_finite.
finite_pos – Variable used internally. Must be set to 0 for the first run and not changed.
- Return values:
0 – If the operation was successful.
-EPERM – If any sizes are zero.
-ENXIO – On NULL pointer.
- int contin_array_create(void *pcm_cont, uint32_t pcm_cont_size, void const *const pcm_finite, uint32_t pcm_finite_size, uint32_t *const finite_pos)