34 #if !defined(_SPANDSP_V34_H_) 35 #define _SPANDSP_V34_H_ 37 #if defined(SPANDSP_USE_FIXED_POINT) 38 #define V34_CONSTELLATION_SCALING_FACTOR 512.0 40 #define V34_CONSTELLATION_SCALING_FACTOR 1.0 43 enum v34_supported_bit_rates_e
45 V34_SUPPORT_2400 = 0x0001,
46 V34_SUPPORT_4800 = 0x0002,
47 V34_SUPPORT_7200 = 0x0004,
48 V34_SUPPORT_9600 = 0x0008,
49 V34_SUPPORT_12000 = 0x0010,
50 V34_SUPPORT_14400 = 0x0020,
51 V34_SUPPORT_16800 = 0x0040,
52 V34_SUPPORT_19200 = 0x0080,
53 V34_SUPPORT_21600 = 0x0100,
54 V34_SUPPORT_24000 = 0x0200,
55 V34_SUPPORT_26400 = 0x0400,
56 V34_SUPPORT_28800 = 0x0800,
57 V34_SUPPORT_31200 = 0x1000,
58 V34_SUPPORT_33600 = 0x2000
61 enum v34_half_duplex_modes_e
64 V34_HALF_DUPLEX_SOURCE,
66 V34_HALF_DUPLEX_RECIPIENT,
68 V34_HALF_DUPLEX_CONTROL_CHANNEL,
70 V34_HALF_DUPLEX_PRIMARY_CHANNEL,
72 V34_HALF_DUPLEX_SILENCE
81 #if defined(__cplusplus) 106 #if defined(SPANDSP_USE_FIXED_POINT) 193 void *get_bit_user_data,
195 void *put_bit_user_data);
243 #if defined(__cplusplus) int v34_tx(v34_state_t *s, int16_t amp[], int len)
Generate a block of V.34 modem audio samples.
Definition: v34tx.c:2857
float v34_rx_carrier_frequency(v34_state_t *s)
Definition: v34rx.c:1612
int v34_rx_fillin(v34_state_t *s, int len)
Fake processing of a missing block of received V.34 modem audio samples.
Definition: v34rx.c:2612
void v34_set_get_bit(v34_state_t *s, span_get_bit_func_t get_bit, void *user_data)
Change the get_bit function associated with a V.34 modem context.
Definition: v34tx.c:2906
void v34_set_get_aux_bit(v34_state_t *s, span_get_bit_func_t get_bit, void *user_data)
Change the get_aux_bit function associated with a V.34 modem context.
Definition: v34tx.c:2916
v34_state_t * v34_init(v34_state_t *s, int baud_rate, int bit_rate, bool calling_party, bool duplex, 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.34 modem context.
Definition: v34tx.c:3155
int v34_equalizer_state(v34_state_t *s, complexf_t **coeffs)
Get a snapshot of the current equalizer coefficients.
int v34_restart(v34_state_t *s, int baud_rate, int bit_rate, bool duplex)
Reinitialise an existing V.34 modem context.
Definition: v34tx.c:3121
int v34_free(v34_state_t *s)
Free a V.34 modem receive context.
Definition: v34tx.c:3230
int(* span_get_bit_func_t)(void *user_data)
Definition: async.h:127
float v34_rx_signal_power(v34_state_t *s)
logging_state_t * v34_get_logging_state(v34_state_t *s)
Get the logging context associated with a V.34 modem context.
Definition: v34tx.c:2923
bool duplex
True if this is a full duplex modem.
Definition: private/v34.h:746
float v34_rx_symbol_timing_correction(v34_state_t *s)
void v34_set_qam_report_handler(v34_state_t *s, qam_report_handler_t handler, void *user_data)
Definition: v34rx.c:2798
void(* span_put_bit_func_t)(void *user_data, int bit)
Definition: async.h:123
int v34_half_duplex_change_mode(v34_state_t *s, int mode)
Change the operating mode of a V.34 half-duplex modem.
Definition: v34tx.c:2990
void v34_rx_set_signal_cutoff(v34_state_t *s, float cutoff)
Definition: v34rx.c:2668
Definition: private/v34.h:741
void v34_set_put_aux_bit(v34_state_t *s, span_put_bit_func_t put_bit, void *user_data)
Change the put_aux_bit function associated with a V.34 modem context.
Definition: v34rx.c:2683
Definition: private/logging.h:33
int bit_rate
The bit rate of the modem.
Definition: private/v34.h:752
int v34_get_current_bit_rate(v34_state_t *s)
Report the current operating bit rate of a V.34 modem context.
Definition: v34tx.c:2984
bool calling_party
True if this is the calling side modem.
Definition: private/v34.h:744
int v34_release(v34_state_t *s)
Release a V.34 modem receive context.
Definition: v34tx.c:3224
void v34_tx_power(v34_state_t *s, float power)
Adjust a V.34 modem transmit context's output power.
Definition: v34tx.c:2894
void v34_set_put_bit(v34_state_t *s, span_put_bit_func_t put_bit, void *user_data)
Change the put_bit function associated with a V.34 modem context.
Definition: v34rx.c:2676
int v34_rx(v34_state_t *s, const int16_t amp[], int len)
Process a block of received V.34 modem audio samples.
Definition: v34rx.c:2632