rp2040-i2s
All Classes Files Functions Variables Typedefs Modules Pages
Todo List
Member audio_complete_connection (audio_connection_t *connection, audio_buffer_pool_t *producer, audio_buffer_pool_t *consumer)

Member audio_i2s_connect (audio_buffer_pool_t *producer)
Member audio_i2s_connect_extra (audio_buffer_pool_t *producer, bool buffer_on_give, uint buffer_count, uint samples_per_buffer, audio_connection_t *connection)
Member audio_i2s_connect_s8 (audio_buffer_pool_t *producer)
Member audio_i2s_connect_thru (audio_buffer_pool_t *producer, audio_connection_t *connection)
Member audio_i2s_setup (const audio_format_t *intended_audio_format, const audio_i2s_config_t *config)
Member audio_init_buffer (audio_buffer_t *audio_buffer, audio_buffer_format_t *format, int buffer_sample_count)
Member audio_new_buffer (audio_buffer_format_t *format, int buffer_sample_count)
Member audio_new_producer_pool (audio_buffer_format_t *format, int buffer_count, int buffer_sample_count)

Member audio_new_wrapping_buffer (audio_buffer_format_t *format, mem_buffer_t *buffer)
Member audio_upsample (int16_t *input, int16_t *output, uint output_count, uint32_t step)
Member audio_upsample_double (int16_t *input, int16_t *output, uint output_count, uint32_t step)

Member audio_upsample_words (int16_t *input, int16_t *output_aligned, uint output_word_count, uint32_t step)

similar but the output buffer is word aligned, and we output an even number of samples.. this is slightly faster than the above todo we are currently limited to 4095+1 input samples step is fraction of an input sample per output sample * 0x1000 and should be < 0x1000 i.e. we we are up-sampling (otherwise results are undefined)

Member consumer_pool_give_buffer_default (audio_connection_t *connection, audio_buffer_t *buffer)
Member consumer_pool_take_buffer_default (audio_connection_t *connection, bool block)

Member get_free_audio_buffer (audio_buffer_pool_t *context, bool block)

Member get_full_audio_buffer (audio_buffer_pool_t *context, bool block)

Member give_audio_buffer (audio_buffer_pool_t *ac, audio_buffer_t *buffer)

Class mem_buffer
This module needs to be checked - think there are issues with the free function
Member mono_s8_to_mono_consumer_take (audio_connection_t *connection, bool block)

Member mono_s8_to_stereo_consumer_take (audio_connection_t *connection, bool block)

Member mono_to_mono_consumer_take (audio_connection_t *connection, bool block)

Member mono_to_stereo_consumer_take (audio_connection_t *connection, bool block)

Module pico_audio_i2s

Must be more we need to say here.

certainly need an example

Member producer_pool_give_buffer_default (audio_connection_t *connection, audio_buffer_t *buffer)

Member producer_pool_take_buffer_default (audio_connection_t *connection, bool block)

Member queue_free_audio_buffer (audio_buffer_pool_t *context, audio_buffer_t *ab)

Member queue_full_audio_buffer (audio_buffer_pool_t *context, audio_buffer_t *ab)

Member stereo_to_stereo_consumer_take (audio_connection_t *connection, bool block)

Member stereo_to_stereo_producer_give (audio_connection_t *connection, audio_buffer_t *buffer)

Member take_audio_buffer (audio_buffer_pool_t *ac, bool block)