48 #if !defined(_SPANDSP_V22BIS_H_) 49 #define _SPANDSP_V22BIS_H_ 53 V22BIS_GUARD_TONE_NONE,
54 V22BIS_GUARD_TONE_550HZ,
55 V22BIS_GUARD_TONE_1800HZ
64 extern const complexf_t v22bis_constellation[16];
66 #if defined(__cplusplus) 218 #if defined(__cplusplus) int v22bis_request_retrain(v22bis_state_t *s, int bit_rate)
Request a retrain for a V.22bis modem context.
Definition: v22bis_tx.c:586
int v22bis_release(v22bis_state_t *s)
Release a V.22bis modem receive context.
Definition: v22bis_tx.c:693
void v22bis_set_put_bit(v22bis_state_t *s, 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:548
float v22bis_rx_carrier_frequency(v22bis_state_t *s)
Definition: v22bis_rx.c:139
int bit_rate
The maximum permitted bit rate of the modem. Valid values are 1200 and 2400.
Definition: private/v22bis.h:75
float v22bis_rx_signal_power(v22bis_state_t *s)
Definition: v22bis_rx.c:151
put_bit_func_t put_bit
The callback function used to put each bit received.
Definition: private/v22bis.h:83
SPAN_DECLARE_NONSTD(int) v22bis_rx(v22bis_state_t *s
Process a block of received V.22bis modem audio samples.
v22bis_state_t * v22bis_init(v22bis_state_t *s, int bit_rate, int guard, int calling_party, get_bit_func_t get_bit, void *get_bit_user_data, put_bit_func_t put_bit, void *put_bit_user_data)
Initialise a V.22bis modem context.
Definition: v22bis_tx.c:634
void(* put_bit_func_t)(void *user_data, int bit)
Definition: async.h:105
int v22bis_remote_loopback(v22bis_state_t *s, int enable)
Request a loopback 2 for a V.22bis modem context.
Definition: v22bis_tx.c:621
int v22bis_restart(v22bis_state_t *s, int bit_rate)
Reinitialise an existing V.22bis modem context.
Definition: v22bis_tx.c:568
get_bit_func_t get_bit
The callback function used to get the next bit to be transmitted.
Definition: private/v22bis.h:79
void(* modem_status_func_t)(void *user_data, int status)
Definition: async.h:114
int(* get_bit_func_t)(void *user_data)
Definition: async.h:108
void * get_bit_user_data
A user specified opaque pointer passed to the get_bit callback routine.
Definition: private/v22bis.h:81
void v22bis_set_get_bit(v22bis_state_t *s, 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:541
void * put_bit_user_data
A user specified opaque pointer passed to the put_bit callback routine.
Definition: private/v22bis.h:85
int v22bis_free(v22bis_state_t *s)
Free a V.22bis modem receive context.
Definition: v22bis_tx.c:699
int calling_party
TRUE is this is the calling side modem.
Definition: private/v22bis.h:77
void v22bis_set_modem_status_handler(v22bis_state_t *s, 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:555
Definition: private/logging.h:33
Definition: private/v22bis.h:72
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:562
void v22bis_tx_power(v22bis_state_t *s, float power)
Adjust a V.22bis modem transmit context's output power.
Definition: v22bis_tx.c:493
void v22bis_rx_set_qam_report_handler(v22bis_state_t *s, qam_report_handler_t handler, void *user_data)
Definition: v22bis_rx.c:877
void v22bis_rx_signal_cutoff(v22bis_state_t *s, float cutoff)
Definition: v22bis_rx.c:157
float v22bis_rx_symbol_timing_correction(v22bis_state_t *s)
Definition: v22bis_rx.c:145
int v22bis_rx_equalizer_state(v22bis_state_t *s, complexf_t **coeffs)
Get a snapshot of the current equalizer coefficients.
Definition: v22bis_rx.c:173
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:628