Module

Defines the generic structs that will hold the state and control configuration for each stage.

Enums

enum config_rw_state_t

Control states, used to communicate between DSP and control threads to notify when control needs processing.

Values:

enumerator config_read_pending

Control waiting to read the updated config from DSP.

enumerator config_write_pending

Config written by control and waiting for DSP to update.

enumerator config_read_updated

Stage has succesfully consumed a read command.

enumerator config_none_pending

All done. Control and DSP not waiting on anything.

struct module_control_t
#include <adsp_module.h>

Control related information shared between control thread and DSP.

Public Members

void *config

Pointer to a stage-specific config struct which is used by the control thread.

uint32_t id

Unique module identifier assigned by the host.

uint32_t num_control_commands

The number of control commands for this stage.

uint8_t module_type

Identifies the stage type. Each type of stage has a unique identifier.

uint8_t cmd_id

Is set to the current command being processed.

config_rw_state_t config_rw_state
intptr_t current_controller

id of the current control object that requested a read, do not modify.

swlock_t lock

lock used by controlling threads to manage access

struct module_instance_t
#include <adsp_module.h>

The entire state of a stage in the pipeline.

Public Members

void *state

Pointer to the module’s state memory.

module_control_t control

Module’s control state.

void *constants