Document toolboxDocument toolbox

(8.D.2.2) TimeOutFract32

Overview

General purpose time out module with configurable timeout in seconds

Discussion

General purpose time out module for floating-point signals. The module counts the blocks untill the timeOut seconds reached. Behaviour after the timeout is controlled by the parameter timeOutBehaviour. It is a droplist control with 0-mute output, 1-attenuate output and 2-Sine tone output. The attenuation level is controled by the parameter outputLevel in dB.

The module supports multiple input and output pins using the argument NUMPINS. By default, NUMPINS=1 and the module has a single input and output pin. If you set NUMPINS > 1 then the timeout applied on all pins with same settings.

Type Definition

typedef struct _ModuleTimeOutFract32 { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 timeOut; // Timeout value in seconds. Module waits these many seconds and applies timeout based on timeOutBehaviour. INT32 timeOutBehaviour; // Selects the timeout behaviour: MuteTheOutput=0 ReduceTheOutputLevel=1 PlaySineTone=2 FLOAT32 outputLevel; // Output level after timeout in dB. fract32 currentGain; // Instantaneous gain applied by the module. This is also the starting gain of the module. fract32 gain; // Target gain in linear units. FLOAT32 sineFreq; // Sine tone frequency in Hz. INT32 sineTableSize; // Sine table length. INT32 sineTableIndx; // Sine table read index. INT32 currentBlockCount; // Blocks counter. INT32 blockCounterCount; // Number of blocks to wait before timeout occures. FLOAT32 smoothingTime; // Time constant of the smoothing process. fract32 smoothingCoeff; // Smoothing coefficient. INT32 postShift; // Number of bits to shift after the fractional multiply. This is based on outputLevel.range. FLOAT32 twoPowMinusPostShift; // 2^(-postShift). Used by to streamline the operation of the set function fract32* sineTable; // Pre-computed Sine tone table. } ModuleTimeOutFract32Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

timeOut

float

parameter

0

10

Unrestricted

sec

timeOutBehaviour

int

parameter

0

0

0:2

 

outputLevel

float

parameter

0

0

-50:0

 

currentGain

fract32

state

0

0

Unrestricted

 

gain

fract32

derived

1

1

Unrestricted

 

sineFreq

float

const

1

240

Unrestricted

 

sineTableSize

int

derived

1

200

Unrestricted

 

sineTableIndx

int

state

1

0

Unrestricted

 

currentBlockCount

int

state

1

0

Unrestricted

 

blockCounterCount

int

derived

1

15000

Unrestricted

 

smoothingTime

float

const

1

30

Unrestricted

msec

smoothingCoeff

fract32

derived

1

0.0006942

Unrestricted

 

postShift

int

derived

1

0

Unrestricted

 

twoPowMinusPostShift

float

derived

1

1

Unrestricted

 

sineTable

fract32*

state

0

[200 x 1]

Unrestricted

 

Pins

Input Pins

Name: in1

Description: audio input

Data type: fract32

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out1

Description: audio output

Data type: fract32

MATLAB Usage

File Name: timeout_fract32_module.m

M = timeout_fract32_module(NAME, NUMPINS) Fract32 version of general purpose Timeout moudle. Module waits for TimeOut seconds and then once the timeout is reached the output will be muted or attenuated or a sine wave depending on the parameter timeOutBehaviour. User can control the timeout level through the parameter outputLevel. Arguments: NAME - name of the module. NUMPINS - number of pins. Default = 1.

Â