Go to the source code of this file.
|
static unsigned int | gsm0502_get_n_pag_blocks (struct gsm48_control_channel_descr *chan_desc) |
|
static unsigned int | gsm0502_get_ccch_group (uint64_t imsi, unsigned int bs_cc_chans, unsigned int n_pag_blocks) |
|
static unsigned int | gsm0502_get_paging_group (uint64_t imsi, unsigned int bs_cc_chans, int n_pag_blocks) |
|
unsigned int | gsm0502_calc_paging_group (struct gsm48_control_channel_descr *chan_desc, uint64_t imsi) |
|
uint32_t | gsm0502_fn_remap (uint32_t fn, enum gsm0502_fn_remap_channel channel) |
| Calculate the frame number of the beginning of a block. More...
|
|
uint16_t | gsm0502_hop_seq_gen (const struct gsm_time *t, uint8_t hsn, uint8_t maio, size_t n, const uint16_t *ma) |
| Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. More...
|
|
◆ GSM_TDMA_FN_DEC
Decrement the given TDMA frame number by 1 and return the result (like –fn)
◆ GSM_TDMA_FN_DIFF
Return the minimum difference of two specified TDMA frame numbers (distance)
◆ GSM_TDMA_FN_DURATION_nS
#define GSM_TDMA_FN_DURATION_nS 4615384 /* in 1e−9 seconds (approx) */ |
◆ GSM_TDMA_FN_DURATION_uS
#define GSM_TDMA_FN_DURATION_uS 4615 /* in 1e-6 seconds (approx) */ |
◆ GSM_TDMA_FN_INC
Increment the given TDMA frame number by 1 and return the result (like ++fn)
◆ GSM_TDMA_FN_SUB
Return the difference of two specified TDMA frame numbers (subtraction)
◆ GSM_TDMA_FN_SUM
Return the sum of two specified TDMA frame numbers (summation)
◆ GSM_TDMA_HYPERFRAME
◆ GSM_TDMA_SUPERFRAME
#define GSM_TDMA_SUPERFRAME (26 * 51) |
◆ gsm0502_fn_remap_channel
Enumerator |
---|
FN_REMAP_TCH_F | |
FN_REMAP_TCH_H0 | |
FN_REMAP_TCH_H1 | |
FN_REMAP_FACCH_F | |
FN_REMAP_FACCH_H0 | |
FN_REMAP_FACCH_H1 | |
FN_REMAP_MAX | |
◆ gsm0502_calc_paging_group()
◆ gsm0502_fn_remap()
Calculate the frame number of the beginning of a block.
- Parameters
-
[in] | fn | frame number of the block ending. |
[in] | channel | channel type (see also enum fn_remap_channel). |
- Returns
- frame number of the beginning of the block or input frame number if remapping was not possible.
References ARRAY_SIZE, fn_remap_table::blockend, fn_remap_table::cycle, fn_remap_table::distance, DLGLOBAL, fn_remap_table_ptr, GSM_MAX_FN, fn_remap_table::len, LOGL_ERROR, LOGP, and OSMO_ASSERT.
◆ gsm0502_get_ccch_group()
static unsigned int gsm0502_get_ccch_group |
( |
uint64_t |
imsi, |
|
|
unsigned int |
bs_cc_chans, |
|
|
unsigned int |
n_pag_blocks |
|
) |
| |
|
inlinestatic |
◆ gsm0502_get_n_pag_blocks()
◆ gsm0502_get_paging_group()
static unsigned int gsm0502_get_paging_group |
( |
uint64_t |
imsi, |
|
|
unsigned int |
bs_cc_chans, |
|
|
int |
n_pag_blocks |
|
) |
| |
|
inlinestatic |
◆ gsm0502_hop_seq_gen()
uint16_t gsm0502_hop_seq_gen |
( |
const struct gsm_time * |
t, |
|
|
uint8_t |
hsn, |
|
|
uint8_t |
maio, |
|
|
size_t |
n, |
|
|
const uint16_t * |
ma |
|
) |
| |
Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3.
- Parameters
-
[in] | t | GSM time (TDMA frame number, T1/T2/T3). |
[in] | hsn | Hopping Sequence Number. |
[in] | maio | Mobile Allocation Index Offset. |
[in] | n | number of entries in mobile allocation (arfcn table). |
[in] | ma | array of ARFCNs (sorted in ascending order) representing the Mobile Allocation. |
- Returns
- ARFCN to use for given input parameters at time 't' or Mobile Allocation Index if ma == NULL.
References gsm_time::fn, n, rn_table, gsm_time::t1, gsm_time::t2, and gsm_time::t3.