blob: bd995865fcc74f1fe5b90f5c1fe915bb84f56c31 [file] [log] [blame]
Harald Welte78861c02020-05-14 13:28:07 +02001#pragma once
2#include <osmocom/core/bits.h>
3#include <osmocom/core/fsm.h>
4
5enum osmo_tray_sync_pat_id {
6 OSMO_TRAU_SYNCP_16_FR_EFR,
7 OSMO_TRAU_SYNCP_8_HR,
8 OSMO_TRAU_SYNCP_8_AMR_LOW,
9 OSMO_TRAU_SYNCP_8_AMR_6K7,
10 OSMO_TRAU_SYNCP_8_AMR_7K4,
11};
12
13typedef void (*frame_out_cb_t)(void *user_data, const ubit_t *bits, unsigned int num_bits);
14
15struct osmo_fsm_inst *
16osmo_trau_sync_alloc(void *ctx, const char *name, frame_out_cb_t frame_out_cb,
17 enum osmo_tray_sync_pat_id pat_id, void *user_data);
18
19void osmo_trau_sync_rx_ubits(struct osmo_fsm_inst *fi, const ubit_t *bits, size_t n_bits);
Philipp Maier8d150012020-08-07 17:13:57 +020020void osmo_trau_sync_set_pat(struct osmo_fsm_inst *fi, enum osmo_tray_sync_pat_id pat_id);