spandsp 0.0.6
sig_tone.c File Reference
#include <stdlib.h>
#include <inttypes.h>
#include "floating_fudge.h"
#include <memory.h>
#include <string.h>
#include <limits.h>
#include "spandsp/telephony.h"
#include "spandsp/fast_convert.h"
#include "spandsp/dc_restore.h"
#include "spandsp/saturated.h"
#include "spandsp/vector_int.h"
#include "spandsp/complex.h"
#include "spandsp/power_meter.h"
#include "spandsp/dds.h"
#include "spandsp/super_tone_rx.h"
#include "spandsp/sig_tone.h"
#include "spandsp/private/sig_tone.h"

Macros

#define PI   3.14159265358979323
 

Enumerations

enum  { NOTCH_COEFF_SET_2280HZ = 0 , NOTCH_COEFF_SET_2400HZ , NOTCH_COEFF_SET_2600HZ }
 

Functions

int sig_tone_tx (sig_tone_tx_state_t *s, int16_t amp[], int len)
 Generate a block of signalling tone audio samples. More...
 
void sig_tone_tx_set_mode (sig_tone_tx_state_t *s, int mode, int duration)
 Set the tone mode. More...
 
sig_tone_tx_state_tsig_tone_tx_init (sig_tone_tx_state_t *s, int tone_type, tone_report_func_t sig_update, void *user_data)
 Initialise a signalling tone context. More...
 
int sig_tone_tx_release (sig_tone_tx_state_t *s)
 Release a signalling tone transmitter context. More...
 
int sig_tone_tx_free (sig_tone_tx_state_t *s)
 Free a signalling tone transmitter context. More...
 
int sig_tone_rx (sig_tone_rx_state_t *s, int16_t amp[], int len)
 Process a block of received audio samples. More...
 
void sig_tone_rx_set_mode (sig_tone_rx_state_t *s, int mode, int duration)
 Set the receive mode. More...
 
sig_tone_rx_state_tsig_tone_rx_init (sig_tone_rx_state_t *s, int tone_type, tone_report_func_t sig_update, void *user_data)
 Initialise a signalling tone context. More...
 
int sig_tone_rx_release (sig_tone_rx_state_t *s)
 Release a signalling tone receiver context. More...
 
int sig_tone_rx_free (sig_tone_rx_state_t *s)
 Free a signalling tone receiver context. More...
 

Variables

int nnn = 0
 

Macro Definition Documentation

◆ PI

#define PI   3.14159265358979323

PI

Function Documentation

◆ sig_tone_rx()

int sig_tone_rx ( sig_tone_rx_state_t s,
int16_t  amp[],
int  len 
)

Process a block of received audio samples.

Process a block of received audio samples.

Parameters
sThe signalling tone context.
ampThe audio sample buffer.
lenThe number of samples in the buffer.
Returns
The number of samples unprocessed.

◆ sig_tone_rx_free()

int sig_tone_rx_free ( sig_tone_rx_state_t s)

Free a signalling tone receiver context.

Free a signalling tone receiver context.

Parameters
sThe signalling tone context.
Returns
0 for OK

◆ sig_tone_rx_init()

sig_tone_rx_state_t * sig_tone_rx_init ( sig_tone_rx_state_t s,
int  tone_type,
tone_report_func_t  sig_update,
void *  user_data 
)

Initialise a signalling tone context.

Initialise a signalling tone receiver context.

Parameters
sThe signalling tone context.
tone_typeThe type of signalling tone.
sig_updateCallback function to handle signalling updates.
user_dataAn opaque pointer.
Returns
A pointer to the signalling tone context, or NULL if there was a problem.

◆ sig_tone_rx_release()

int sig_tone_rx_release ( sig_tone_rx_state_t s)

Release a signalling tone receiver context.

Release a signalling tone receiver context.

Parameters
sThe signalling tone context.
Returns
0 for OK

◆ sig_tone_rx_set_mode()

void sig_tone_rx_set_mode ( sig_tone_rx_state_t s,
int  mode,
int  duration 
)

Set the receive mode.

Set the receive mode.

Parameters
sThe signalling tone context.
modeThe new mode for the receiver.
durationThe duration for this mode, before an update is requested. A duration of zero means forever.

References sig_tone_rx_state_s::current_rx_tone.

◆ sig_tone_tx()

int sig_tone_tx ( sig_tone_tx_state_t s,
int16_t  amp[],
int  len 
)

Generate a block of signalling tone audio samples.

Generate a block of signalling tone audio samples.

Parameters
sThe signalling tone context.
ampThe audio sample buffer.
lenThe number of samples to be generated.
Returns
The number of samples actually generated.

◆ sig_tone_tx_free()

int sig_tone_tx_free ( sig_tone_tx_state_t s)

Free a signalling tone transmitter context.

Free a signalling tone transmitter context.

Parameters
sThe signalling tone context.
Returns
0 for OK

◆ sig_tone_tx_init()

sig_tone_tx_state_t * sig_tone_tx_init ( sig_tone_tx_state_t s,
int  tone_type,
tone_report_func_t  sig_update,
void *  user_data 
)

Initialise a signalling tone context.

Initialise a signalling tone transmitter context.

Parameters
sThe signalling tone context.
tone_typeThe type of signalling tone.
sig_updateCallback function to handle signalling updates.
user_dataAn opaque pointer.
Returns
A pointer to the signalling tone context, or NULL if there was a problem.

◆ sig_tone_tx_release()

int sig_tone_tx_release ( sig_tone_tx_state_t s)

Release a signalling tone transmitter context.

Release a signalling tone transmitter context.

Parameters
sThe signalling tone context.
Returns
0 for OK

◆ sig_tone_tx_set_mode()

void sig_tone_tx_set_mode ( sig_tone_tx_state_t s,
int  mode,
int  duration 
)

Set the tone mode.

Set the tone mode.

Parameters
sThe signalling tone context.
modeThe new mode for the transmitted tones.
durationThe duration for this mode, before an update is requested. A duration of zero means forever.

References sig_tone_tx_state_s::current_tx_timeout, sig_tone_tx_state_s::current_tx_tone, sig_tone_tx_state_s::desc, sig_tone_descriptor_t::high_low_timeout, sig_tone_tx_state_s::high_low_timer, sig_tone_tx_state_s::phase_acc, SIG_TONE_1_PRESENT, and SIG_TONE_2_PRESENT.