Go to the documentation of this file.
32 #if !defined(_RFC2198_SIM_H_)
33 #define _RFC2198_SIM_H_
41 double departure_time;
55 uint8_t tx_pkt[32][1024];
57 int tx_pkt_seq_no[32];
59 uint8_t rx_pkt[32][1024];
61 int rx_pkt_seq_no[32];
74 int redundancy_depth);
80 double departure_time);
87 double *departure_time,
88 double *arrival_time);
Definition: private/queue.h:34
Definition: private/bell_r2_mf.h:73
#define QUEUE_WRITE_ATOMIC
Definition: queue.h:48
r2_mf_rx_state_t * r2_mf_rx_init(r2_mf_rx_state_t *s, int fwd, tone_report_func_t callback, void *user_data)
Initialise an R2 MF receiver context.
Definition: bell_r2_mf.c:807
struct rfc2198_sim_queue_element_s rfc2198_sim_queue_element_t
Definition: private/bell_r2_mf.h:86
int len
The length of the data buffer.
Definition: private/queue.h:38
volatile int optr
The buffer output pointer.
Definition: private/queue.h:42
Definition: private/awgn.h:33
int queue_write_msg(queue_state_t *s, const uint8_t *buf, int len)
Write a message to a queue.
Definition: queue.c:335
int queue_read_byte(queue_state_t *s)
Read a byte from a queue.
Definition: queue.c:188
int r2_mf_rx(r2_mf_rx_state_t *s, const int16_t amp[], int samples)
Process a block of received R2 MF audio samples.
Definition: bell_r2_mf.c:680
int r2_mf_rx_get(r2_mf_rx_state_t *s)
Get the current digit from an R2 MF receiver.
Definition: bell_r2_mf.c:801
int queue_contents(queue_state_t *s)
Check the contents of a queue.
Definition: queue.c:63
int queue_read(queue_state_t *s, uint8_t *buf, int len)
Read bytes from a queue.
Definition: queue.c:130
Definition: rfc2198_sim.h:49
Definition: bell_r2_mf.c:72
queue_state_t * queue_init(queue_state_t *s, int len, int flags)
Initialise a queue.
Definition: queue.c:394
Definition: rfc2198_sim.h:37
volatile int iptr
The buffer input pointer.
Definition: private/queue.h:40
int queue_free_space(queue_state_t *s)
Check available free space.
Definition: queue.c:52
Definition: private/tone_generate.h:43
r2_mf_tx_state_t * r2_mf_tx_init(r2_mf_tx_state_t *s, int fwd)
Initialise an R2 MF tone generator context.
Definition: bell_r2_mf.c:394
int r2_mf_tx(r2_mf_tx_state_t *s, int16_t amp[], int samples)
Generate a block of R2 MF tones.
Definition: bell_r2_mf.c:357
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.
Definition: tone_generate.c:60
int queue_write_byte(queue_state_t *s, uint8_t byte)
Write a byte to a queue.
Definition: queue.c:267
int queue_write(queue_state_t *s, const uint8_t *buf, int len)
Write bytes to a queue.
Definition: queue.c:214
int queue_read_msg(queue_state_t *s, uint8_t *buf, int len)
Read a message from a queue.
Definition: queue.c:309
#define QUEUE_READ_ATOMIC
Definition: queue.h:45
int r2_mf_tx_put(r2_mf_tx_state_t *s, char digit)
Generate a block of R2 MF tones.
Definition: bell_r2_mf.c:374
Definition: private/tone_generate.h:54
int queue_free(queue_state_t *s)
Delete a queue.
Definition: queue.c:415