36#if !defined(_SPANDSP_V32BIS_H_)
37#define _SPANDSP_V32BIS_H_
39#if defined(SPANDSP_USE_FIXED_POINT)
40#define V32BIS_CONSTELLATION_SCALING_FACTOR 4096.0
42#define V32BIS_CONSTELLATION_SCALING_FACTOR 1.0
47 V32BIS_RATE_14400 = 0x1000,
48 V32BIS_RATE_12000 = 0x0400,
49 V32BIS_RATE_9600 = 0x0200,
50 V32BIS_RATE_7200 = 0x0040,
51 V32BIS_RATE_4800 = 0x0020
60#if defined(__cplusplus)
92#if defined(SPANDSP_USE_FIXED_POINT)
172 get_bit_func_t get_bit,
173 void *get_bit_user_data,
174 put_bit_func_t put_bit,
175 void *put_bit_user_data);
209#if defined(__cplusplus)
struct logging_state_s logging_state_t
Definition logging.h:72
Definition private/v32bis.h:38
logging_state_t * v32bis_get_logging_state(v32bis_state_t *s)
Get the logging context associated with a V.32bis modem context.
Definition v32bis.c:169
void v32bis_tx_power(v32bis_state_t *s, float power)
Adjust a V.32bis modem transmit context's output power.
Definition v32bis.c:136
float v32bis_rx_carrier_frequency(v32bis_state_t *s)
Definition v32bis.c:100
float v32bis_rx_signal_power(v32bis_state_t *s)
Definition v32bis.c:112
int v32bis_tx(v32bis_state_t *s, int16_t amp[], int len)
Generate a block of V.32bis modem audio samples.
Definition v32bis.c:118
int v32bis_current_bit_rate(v32bis_state_t *s)
Report the current operating bit rate of a V.22bis modem context.
Definition v32bis.c:163
void v32bis_set_get_bit(v32bis_state_t *s, get_bit_func_t get_bit, void *user_data)
Change the get_bit function associated with a V.32bis modem context.
Definition v32bis.c:142
int v32bis_rx_fillin(v32bis_state_t *s, int len)
Fake processing of a missing block of received V.32bis modem audio samples.
Definition v32bis.c:130
int v32bis_rx_restart(v32bis_state_t *s, int bit_rate)
Reinitialise an existing V.32bis modem receive context.
void v32bis_set_put_bit(v32bis_state_t *s, put_bit_func_t put_bit, void *user_data)
Change the put_bit function associated with a V.32bis modem context.
Definition v32bis.c:148
int v32bis_restart(v32bis_state_t *s, int bit_rate)
Reinitialise an existing V.32bis modem context.
Definition v32bis.c:175
int v32bis_release(v32bis_state_t *s)
Release a V.32bis modem receive context.
Definition v32bis.c:230
struct v32bis_state_s v32bis_state_t
Definition v32bis.h:58
int v32bis_free(v32bis_state_t *s)
Free a V.32bis modem receive context.
Definition v32bis.c:238
int v32bis_set_supported_bit_rates(v32bis_state_t *s, int rates)
Set the supported bit rates for a V.32bis modem context.
Definition v32bis.c:154
void v32bis_rx_set_signal_cutoff(v32bis_state_t *s, float cutoff)
int v32bis_rx(v32bis_state_t *s, const int16_t amp[], int len)
Process a block of received V.32bis modem audio samples.
Definition v32bis.c:124
v32bis_state_t * v32bis_init(v32bis_state_t *s, int bit_rate, bool 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.32bis modem context.
Definition v32bis.c:184
int v32bis_equalizer_state(v32bis_state_t *s, complexf_t **coeffs)
Get a snapshot of the current equalizer coefficients.
Definition v32bis.c:93
float v32bis_rx_symbol_timing_correction(v32bis_state_t *s)
Definition v32bis.c:106
void v32bis_set_qam_report_handler(v32bis_state_t *s, qam_report_handler_t handler, void *user_data)
Definition v32bis.c:245