Skip to content

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.

Module Pack

Advanced

ClassID

classID = 1345

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.00069416 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. 

Copyright (c) 2026 DSP Concepts, Inc.