From 74e7535ea2718d810a876bbc572c7fc2f99225a1 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sun, 17 Jul 2011 09:41:19 +0200 Subject: [layer1] Adding neighbour cell measurement code to layer1. When listening to BCCH, layer1 may measure the power level of neighbour cells. A list of neighbour cell frequencies need to be sent to layer1. After the measurement is done, the results are indicated to layer23. --- src/target/firmware/layer1/mframe_sched.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/target/firmware/layer1/mframe_sched.c') diff --git a/src/target/firmware/layer1/mframe_sched.c b/src/target/firmware/layer1/mframe_sched.c index 428102a7..6281c3d6 100644 --- a/src/target/firmware/layer1/mframe_sched.c +++ b/src/target/firmware/layer1/mframe_sched.c @@ -50,6 +50,7 @@ struct mframe_sched_item { #define NB_QUAD_FH_DL NB_QUAD_DL #define NB_QUAD_UL nb_sched_set_ul #define NB_QUAD_FH_UL NB_QUAD_UL +#define NEIGH_PM neigh_pm_sched_set /* BCCH Normal */ static const struct mframe_sched_item mf_bcch_norm[] = { @@ -197,6 +198,12 @@ static const struct mframe_sched_item mf_sdcch8_7[] = { { .sched_set = NULL } }; +/* Measurement for MF 51 */ +static const struct mframe_sched_item mf_neigh_pm51[] = { + { .sched_set = NEIGH_PM , .modulo = 51, .frame_nr = 50 }, + { .sched_set = NULL } +}; + /* TCH */ #define TCH tch_sched_set #define TCH_A tch_a_sched_set @@ -274,6 +281,16 @@ static const struct mframe_sched_item mf_tch_h_1[] = { { .sched_set = NULL } }; +/* Measurement for MF 26 */ +static const struct mframe_sched_item mf_neigh_pm26_even[] = { + { .sched_set = NEIGH_PM , .modulo = 26, .frame_nr = 25 }, + { .sched_set = NULL } +}; +static const struct mframe_sched_item mf_neigh_pm26_odd[] = { + { .sched_set = NEIGH_PM , .modulo = 26, .frame_nr = 12 }, + { .sched_set = NULL } +}; + /* Test TX */ static const struct mframe_sched_item mf_tx_all_nb[] = { { .sched_set = NB_QUAD_FH_UL, .modulo = 4, .frame_nr = 0 }, @@ -305,6 +322,10 @@ static const struct mframe_sched_item *sched_set_for_task[32] = { [MF_TASK_TCH_H_0] = mf_tch_h_0, [MF_TASK_TCH_H_1] = mf_tch_h_1, + [MF_TASK_NEIGH_PM51] = mf_neigh_pm51, + [MF_TASK_NEIGH_PM26E] = mf_neigh_pm26_even, + [MF_TASK_NEIGH_PM26O] = mf_neigh_pm26_odd, + [MF_TASK_UL_ALL_NB] = mf_tx_all_nb, }; -- cgit v1.2.3