spandsp 0.0.6
tone_generate.h File Reference

Go to the source code of this file.

Defines

#define make_tone_gen_descriptor   tone_gen_descriptor_init

Typedefs

typedef struct
tone_gen_tone_descriptor_s 
tone_gen_tone_descriptor_t
typedef struct
tone_gen_descriptor_s 
tone_gen_descriptor_t
typedef struct tone_gen_state_s tone_gen_state_t

Functions

tone_gen_descriptor_ttone_gen_descriptor_init (tone_gen_descriptor_t *s, int f1, int l1, int f2, int l2, int d1, int d2, int d3, int d4, int repeat)
 Create a tone generator descriptor.
void tone_gen_descriptor_free (tone_gen_descriptor_t *s)
 SPAN_DECLARE_NONSTD (int) tone_gen(tone_gen_state_t *s
 Get the next bit of a transmitted serial bit stream.
tone_gen_state_ttone_gen_init (tone_gen_state_t *s, tone_gen_descriptor_t *t)
int tone_gen_release (tone_gen_state_t *s)
int tone_gen_free (tone_gen_state_t *s)

Variables

int16_t amp []
int16_t int max_samples

Detailed Description


Typedef Documentation

Cadenced multi-tone generator descriptor.

Cadenced multi-tone generator state descriptor. This defines the state of a single working instance of a generator.


Function Documentation

SPAN_DECLARE_NONSTD ( int  )

Get the next bit of a transmitted serial bit stream.

Get the next bit of data from a T.38 rate adapting non-ECM buffer context.

Get a bit of received non-ECM image data.

Process a block of received V.8 audio samples.

Fake processing of a missing block of received V.29 modem audio samples.

Fake processing of a missing block of received V.27ter modem audio samples.

Generate a block of V.22bis modem audio samples.

Fake processing of a missing block of received V.22bis modem audio samples.

Process a block of received V.18 audio samples.

Fake processing of a missing block of received V.17 modem audio samples.

Generate a block of FAX audio samples.

Apply fake received audio processing.

Generate a block of T.31 modem audio samples.

Fake processing of a missing block of received T.31 modem audio samples.

Dummy receive fillin callback.

Dummy receive callback.

Process a block of samples through an instance of the modem connect tones detector.

Get the next sequence of bytes for transmission.

Get the next byte for transmission.

Fake processing of a missing block of received FSK modem audio samples.

Process a block of received FSK modem audio samples.

Apply T.30 transmit processing to generate a block of audio samples.

Apply fake T.30 receive processing.

Get the next bit of a transmitted serial bit stream.

Parameters:
user_dataAn opaque point which must point to a transmitter context.
Returns:
the next bit, or PUTBIT_END_OF_DATA to indicate the data stream has ended.

Apply fake T.30 receive processing when a block of audio samples is missing (e.g due to packet loss).

Parameters:
sThe FAX context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed. This should only be non-zero if the software has reached the end of the FAX call.

Apply T.30 transmit processing to generate a block of audio samples.

Parameters:
sThe FAX context.
ampThe audio sample buffer.
max_lenThe number of samples to be generated.
Returns:
The number of samples actually generated. This will be zero when there is nothing to send.

Process a block of received FSK modem audio samples.

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

Fake processing of a missing block of received FSK modem audio samples (e.g due to packet loss).

Parameters:
sThe modem context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed.
Parameters:
sA pointer to an HDLC transmitter context.
Returns:
The next byte for transmission.
Parameters:
sA pointer to an HDLC transmitter context.
bufThe buffer for the data.
max_lenThe number of bytes to get.
Returns:
The number of bytes actually got.
Parameters:
sThe context.
ampAn array of signal samples.
lenThe number of samples in the array.
Returns:
The number of unprocessed samples.

A dummy routine to use as a receive callback, when we aren't really trying to process what is received. It just absorbs and ignores the data.

Parameters:
user_dataThe context.
ampThe signal.buffer
lenThe length of the signal buffer
Returns:
0.

A dummy routine to use as a receive fillin callback, when we aren't really trying to process what is received. It just absorbs and ignores the request.

Parameters:
user_dataThe context.
lenThe length of the signal buffer
Returns:
0.

Fake processing of a missing block of received T.31 modem audio samples (e.g due to packet loss).

Parameters:
sThe T.31 modem context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed.

Generate a block of T.31 modem audio samples.

Parameters:
sThe T.31 modem context.
ampThe audio sample buffer.
max_lenThe number of samples to be generated.
Returns:
The number of samples actually generated.

Apply fake processing when a block of audio samples is missing (e.g due to packet loss).

Parameters:
sThe T.38 context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed. This should only be non-zero if the software has reached the end of the FAX call.

Generate a block of FAX audio samples.

Parameters:
sThe T.38 context.
ampThe audio sample buffer.
max_lenThe number of samples to be generated.
Returns:
The number of samples actually generated.

Fake processing of a missing block of received V.17 modem audio samples. (e.g due to packet loss).

Parameters:
sThe modem context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed.

Process a block of received V.18 audio samples.

Parameters:
sThe V.18 context.
ampThe audio sample buffer.
lenThe number of samples in the buffer.

Fake processing of a missing block of received V.22bis modem audio samples. (e.g due to packet loss).

Parameters:
sThe modem context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed.

Generate a block of V.22bis modem audio samples.

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

Fake processing of a missing block of received V.27ter modem audio samples. (e.g due to packet loss).

Parameters:
sThe modem context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed.

Fake processing of a missing block of received V.29 modem audio samples. (e.g due to packet loss).

Parameters:
sThe modem context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed.

Process a block of received V.8 audio samples.

Parameters:
sThe V.8 context.
ampThe audio sample buffer.
lenThe number of samples in the buffer.

Get the next bit of a transmitted serial bit stream.

Apply T.30 transmit processing to generate a block of audio samples.

Apply fake T.30 receive processing.

Apply T.30 receive processing to a block of audio samples.

Parameters:
sThe FAX context.
ampThe audio sample buffer.
lenThe number of samples in the buffer.
Returns:
The number of samples unprocessed. This should only be non-zero if the software has reached the end of the FAX call.

Apply fake T.30 receive processing when a block of audio samples is missing (e.g due to packet loss).

Parameters:
sThe FAX context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed. This should only be non-zero if the software has reached the end of the FAX call.

Apply T.30 transmit processing to generate a block of audio samples.

Parameters:
sThe FAX context.
ampThe audio sample buffer.
max_lenThe number of samples to be generated.
Returns:
The number of samples actually generated. This will be zero when there is nothing to send.

Get the next bit of a transmitted serial bit stream.

Fake processing of a missing block of received FSK modem audio samples.

Process a block of received FSK modem audio samples.

Generate a block of FSK modem audio samples.

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

Process a block of received FSK modem audio samples.

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

Fake processing of a missing block of received FSK modem audio samples (e.g due to packet loss).

Parameters:
sThe modem context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed.

Get the next bit of a transmitted serial bit stream.

Get the next sequence of bytes for transmission.

Get the next byte for transmission.

Parameters:
sA pointer to an HDLC transmitter context.
Returns:
The next bit for transmission.
Parameters:
sA pointer to an HDLC transmitter context.
Returns:
The next byte for transmission.
Parameters:
sA pointer to an HDLC transmitter context.
bufThe buffer for the data.
max_lenThe number of bytes to get.
Returns:
The number of bytes actually got.

Get the next bit of a transmitted serial bit stream.

Process a block of samples through an instance of the modem connect tones detector.

Parameters:
sThe context.
ampAn array of signal samples.
lenThe number of samples to generate.
Returns:
The number of samples generated.
Parameters:
sThe context.
ampAn array of signal samples.
lenThe number of samples in the array.
Returns:
The number of unprocessed samples.

Get the next bit of a transmitted serial bit stream.

Dummy receive fillin callback.

Dummy receive callback.

Generate a block of silent audio samples.

Parameters:
sThe silence generator context.
ampThe audio sample buffer.
max_lenThe number of samples to be generated.
Returns:
The number of samples actually generated. This will be zero when there is nothing to send.

A dummy routine to use as a receive callback, when we aren't really trying to process what is received. It just absorbs and ignores the data.

Parameters:
user_dataThe context.
ampThe signal.buffer
lenThe length of the signal buffer
Returns:
0.

A dummy routine to use as a receive fillin callback, when we aren't really trying to process what is received. It just absorbs and ignores the request.

Parameters:
user_dataThe context.
lenThe length of the signal buffer
Returns:
0.

Get the next bit of a transmitted serial bit stream.

Generate a block of T.31 modem audio samples.

Fake processing of a missing block of received T.31 modem audio samples.

Process a block of received T.31 modem audio samples.

Parameters:
sThe T.31 modem context.
ampThe audio sample buffer.
lenThe number of samples in the buffer.
Returns:
The number of samples unprocessed.

Fake processing of a missing block of received T.31 modem audio samples (e.g due to packet loss).

Parameters:
sThe T.31 modem context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed.

Generate a block of T.31 modem audio samples.

Parameters:
sThe T.31 modem context.
ampThe audio sample buffer.
max_lenThe number of samples to be generated.
Returns:
The number of samples actually generated.

Get the next bit of a transmitted serial bit stream.

Generate a block of FAX audio samples.

Apply fake received audio processing.

Process a block of received FAX audio samples.

Parameters:
sThe T.38 context.
ampThe audio sample buffer.
lenThe number of samples in the buffer.
Returns:
The number of samples unprocessed.

Apply fake processing when a block of audio samples is missing (e.g due to packet loss).

Parameters:
sThe T.38 context.
lenThe number of samples to fake.
Returns:
The number of samples unprocessed. This should only be non-zero if the software has reached the end of the FAX call.

Generate a block of FAX audio samples.

Parameters:
sThe T.38 context.
ampThe audio sample buffer.
max_lenThe number of samples to be generated.
Returns:
The number of samples actually generated.
tone_gen_descriptor_t* tone_gen_descriptor_init ( tone_gen_descriptor_t s,
int  f1,
int  l1,
int  f2,
int  l2,
int  d1,
int  d2,
int  d3,
int  d4,
int  repeat 
)

Create a tone generator descriptor.

Create a tone generator descriptor

Parameters:
sThe descriptor
f1The first frequency, in Hz
l1The level of the first frequency, in dBm0
f20 for no second frequency, a positive number for the second frequency, in Hz, or a negative number for an AM modulation frequency, in Hz
l2The level of the second frequency, in dBm0, or the percentage modulation depth for an AM modulated tone.
d1x
d2x
d3x
d4x
repeatx

References dds_phase_rate(), dds_phase_ratef(), dds_scaling_dbm0(), and dds_scaling_dbm0f().

Referenced by adsi_tx_init(), and r2_mf_tx_init().