diff options
Diffstat (limited to 'src/osmo-bts-trx/gsm0503_coding.h')
-rw-r--r-- | src/osmo-bts-trx/gsm0503_coding.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/osmo-bts-trx/gsm0503_coding.h b/src/osmo-bts-trx/gsm0503_coding.h index a454d8f4..cdee13be 100644 --- a/src/osmo-bts-trx/gsm0503_coding.h +++ b/src/osmo-bts-trx/gsm0503_coding.h @@ -21,12 +21,34 @@ #ifndef _0503_CODING_H #define _0503_CODING_H +#define GSM0503_GPRS_BURSTS_NBITS (116 * 4) +#define GSM0503_EGPRS_BURSTS_NBITS (348 * 4) + +struct osmo_conv_code; + +enum egprs_mcs { + EGPRS_MCS0, + EGPRS_MCS1, + EGPRS_MCS2, + EGPRS_MCS3, + EGPRS_MCS4, + EGPRS_MCS5, + EGPRS_MCS6, + EGPRS_MCS7, + EGPRS_MCS8, + EGPRS_MCS9, + EGPRS_NUM_MCS, +}; + int xcch_decode(uint8_t *l2_data, sbit_t *bursts, int *n_errors, int *n_bits_total); int xcch_encode(ubit_t *bursts, uint8_t *l2_data); int pdtch_decode(uint8_t *l2_data, sbit_t *bursts, uint8_t *usf_p, int *n_errors, int *n_bits_total); +int pdtch_egprs_decode(uint8_t *l2_data, sbit_t *bursts, uint16_t nbits, + uint8_t *usf_p, int *n_errors, int *n_bits_total); int pdtch_encode(ubit_t *bursts, uint8_t *l2_data, uint8_t l2_len); +int pdtch_egprs_encode(ubit_t *bursts, uint8_t *l2_data, uint8_t l2_len); int tch_fr_decode(uint8_t *tch_data, sbit_t *bursts, int net_order, int efr, int *n_errors, int *n_bits_total); int tch_fr_encode(ubit_t *bursts, uint8_t *tch_data, int len, int net_order); |