libspandsp 0.0.4

sig_tone.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <inttypes.h>
#include <memory.h>
#include <string.h>
#include "spandsp/telephony.h"
#include "spandsp/dc_restore.h"
#include "spandsp/complex.h"
#include "spandsp/dds.h"
#include "spandsp/sig_tone.h"

Defines

#define PI   3.14159265358979323

Functions

int sig_tone_rx (sig_tone_state_t *s, int16_t amp[], int len)
 Process a block of received audio samples.
int sig_tone_tx (sig_tone_state_t *s, int16_t amp[], int len)
 Generate a block of signaling tone audio samples.
sig_tone_state_tsig_tone_init (sig_tone_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data)
 Initialise a signaling tone context.

Variables

sig_tone_descriptor_t sig_tones [4]

Detailed Description


Function Documentation

sig_tone_state_t* sig_tone_init ( sig_tone_state_t s,
int  tone_type,
sig_tone_func_t  sig_update,
void *  user_data 
)

Initialise a signaling tone context.

Initialise a signaling tone context.

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

References dds_phase_rate(), dds_scaling_dbm0(), sig_tone_state_t::desc, sig_tone_state_t::sig_update, sig_tone_descriptor_t::tone_amp, sig_tone_descriptor_t::tone_freq, and sig_tone_state_t::user_data.

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

Generate a block of signaling tone audio samples.

Generate a block of signaling tone audio samples.

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

References dds_mod(), sig_tone_state_t::desc, sig_tone_descriptor_t::high_low_timeout, sig_tone_state_t::sig_update, and sig_tone_state_t::user_data.