48#if !defined(_SPANDSP_V22BIS_H_)
49#define _SPANDSP_V22BIS_H_
51#if defined(SPANDSP_USE_FIXED_POINT)
52#define V22BIS_CONSTELLATION_SCALING_FACTOR 1024.0
54#define V22BIS_CONSTELLATION_SCALING_FACTOR 1.0
65 V22BIS_GUARD_TONE_NONE = 0,
67 V22BIS_GUARD_TONE_550HZ = 1,
69 V22BIS_GUARD_TONE_1800HZ = 2,
72 V22BIS_BELL212A_COMPATIBILITY_MODE = 0x100,
76 V22BIS_USE_U00 = 0x200
85#if defined(__cplusplus)
110#if defined(SPANDSP_USE_FIXED_POINT)
242#if defined(__cplusplus)
int(* span_get_bit_func_t)(void *user_data)
Definition async.h:127
void(* span_modem_status_func_t)(void *user_data, int status)
Definition async.h:131
void(* span_put_bit_func_t)(void *user_data, int bit)
Definition async.h:123
struct logging_state_s logging_state_t
Definition logging.h:72
Definition private/v22bis.h:80
void * put_bit_user_data
A user specified opaque pointer passed to the put_bit callback routine.
Definition private/v22bis.h:94
int options
Guard tone and sundry flags.
Definition private/v22bis.h:84
void * get_bit_user_data
A user specified opaque pointer passed to the get_bit callback routine.
Definition private/v22bis.h:90
int v22bis_remote_loopback(v22bis_state_t *s, bool enable)
Request a loopback 2 for a V.22bis modem context.
Definition v22bis_tx.c:844
void v22bis_tx_power(v22bis_state_t *s, float power)
Adjust a V.22bis modem transmit context's output power.
Definition v22bis_tx.c:695
int v22bis_get_current_bit_rate(v22bis_state_t *s)
Report the current operating bit rate of a V.22bis modem context.
Definition v22bis_tx.c:851
int v22bis_rx(v22bis_state_t *s, const int16_t amp[], int len)
Process a block of received V.22bis modem audio samples.
Definition v22bis_rx.c:827
void v22bis_set_get_bit(v22bis_state_t *s, span_get_bit_func_t get_bit, void *user_data)
Change the get_bit function associated with a V.22bis modem context.
Definition v22bis_tx.c:760
struct v22bis_state_s v22bis_state_t
Definition v22bis.h:83
void v22bis_set_modem_status_handler(v22bis_state_t *s, span_modem_status_func_t handler, void *user_data)
Change the modem status report function associated with a V.22bis modem receive context.
Definition v22bis_tx.c:774
v22bis_state_t * v22bis_init(v22bis_state_t *s, int bit_rate, int options, bool calling_party, span_get_bit_func_t get_bit, void *get_bit_user_data, span_put_bit_func_t put_bit, void *put_bit_user_data)
Initialise a V.22bis modem context.
Definition v22bis_tx.c:857
void v22bis_set_put_bit(v22bis_state_t *s, span_put_bit_func_t put_bit, void *user_data)
Change the put_bit function associated with a V.22bis modem context.
Definition v22bis_tx.c:767
float v22bis_rx_carrier_frequency(v22bis_state_t *s)
Definition v22bis_rx.c:142
int v22bis_restart(v22bis_state_t *s, int bit_rate)
Reinitialise an existing V.22bis modem context.
Definition v22bis_tx.c:787
int v22bis_free(v22bis_state_t *s)
Free a V.22bis modem receive context.
Definition v22bis_tx.c:928
int v22bis_rx_fillin(v22bis_state_t *s, int len)
Fake processing of a missing block of received V.22bis modem audio samples.
Definition v22bis_rx.c:982
int v22bis_release(v22bis_state_t *s)
Release a V.22bis modem receive context.
Definition v22bis_tx.c:922
void v22bis_rx_set_signal_cutoff(v22bis_state_t *s, float cutoff)
Definition v22bis_rx.c:160
float v22bis_rx_signal_power(v22bis_state_t *s)
Definition v22bis_rx.c:154
int v22bis_request_retrain(v22bis_state_t *s, int bit_rate)
Request a retrain for a V.22bis modem context.
Definition v22bis_tx.c:807
int v22bis_tx(v22bis_state_t *s, int16_t amp[], int len)
Generate a block of V.22bis modem audio samples.
Definition v22bis_tx.c:626
void v22bis_rx_set_qam_report_handler(v22bis_state_t *s, qam_report_handler_t handler, void *user_data)
Definition v22bis_rx.c:1058
float v22bis_rx_symbol_timing_correction(v22bis_state_t *s)
Definition v22bis_rx.c:148
int v22bis_rx_equalizer_state(v22bis_state_t *s, complexf_t **coeffs)
Get a snapshot of the current equalizer coefficients.
Definition v22bis_rx.c:180
logging_state_t * v22bis_get_logging_state(v22bis_state_t *s)
Get the logging context associated with a V.22bis modem context.
Definition v22bis_tx.c:781