group::STREAM_FFIFO

The stream FFIFO device driver is designed to read/write hardware with streaming data that has hard real-time requirements such as audio streaming data from either I2S sources/sinks or DAC/ADC devices.

FFIFO stands for framed fifo. The driver assumes the underlying device reads/write data in a circular fashion and provides events for transfers and half transfers. In this case the frame count, should be set to two.

The stream FFIFO supports blocking reads/write. A write() will block until there is space in the buffer to write another frame. A read() will block until data is available. The frames must be handled before that hardware finishes the next frame, otherwise overrun/underrun conditions will occur.

Details

defineSTREAM_FFIFO_VERSION


defineSTREAM_FFIFO_IOC_IDENT_CHAR


defineI_STREAM_FFIFO_GETVERSION


defineI_STREAM_FFIFO_GETINFO


defineI_STREAM_FFIFO_SETATTR


defineI_STREAM_FFIFO_SETACTION


enum@30

  • STREAM_FFIFO_FLAG_START Start streaming
  • STREAM_FFIFO_FLAG_STOP Stop streaming
  • STREAM_FFIFO_FLAG_FLUSH Flush all stream data


date: “2019-06-27” layout: post title: struct::stream_ffifo_attr_t katex: true

categories: struct

Methods

Details

public u32o_flags

Use with STREAM_FFIFO_FLAG_START or STREAM_FFIFO_FLAG_STOP


publicffifo_attr_ttx


publicffifo_attr_trx



date: “2019-06-27” layout: post title: struct::stream_ffifo_channel_info_t katex: true

categories: struct

Methods

Details

public ffifo_info_tffifo


public u32access_count


public s32error



date: “2019-06-27” layout: post title: struct::stream_ffifo_info_t katex: true

categories: struct

Methods

  • public stream_ffifo_channel_info_trx
  • public stream_ffifo_channel_info_ttx

Details

public stream_ffifo_channel_info_trx


public stream_ffifo_channel_info_ttx


X

Thanks for Coming!

Subscribe to news and updates