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/include/layer1/mframe_sched.h | 4 ++++ src/target/firmware/include/layer1/prim.h | 1 + src/target/firmware/include/layer1/sync.h | 9 +++++++++ 3 files changed, 14 insertions(+) (limited to 'src/target/firmware/include') diff --git a/src/target/firmware/include/layer1/mframe_sched.h b/src/target/firmware/include/layer1/mframe_sched.h index fa944221..3b2039a2 100644 --- a/src/target/firmware/include/layer1/mframe_sched.h +++ b/src/target/firmware/include/layer1/mframe_sched.h @@ -28,6 +28,10 @@ enum mframe_task { MF_TASK_TCH_H_0, MF_TASK_TCH_H_1, + MF_TASK_NEIGH_PM51, + MF_TASK_NEIGH_PM26E, + MF_TASK_NEIGH_PM26O, + /* Test task: send Normal Burst in all timeslots */ MF_TASK_UL_ALL_NB, }; diff --git a/src/target/firmware/include/layer1/prim.h b/src/target/firmware/include/layer1/prim.h index 44a01cbc..30c51ae6 100644 --- a/src/target/firmware/include/layer1/prim.h +++ b/src/target/firmware/include/layer1/prim.h @@ -29,5 +29,6 @@ extern const struct tdma_sched_item nb_sched_set_ul[]; extern const struct tdma_sched_item tch_sched_set[]; extern const struct tdma_sched_item tch_a_sched_set[]; extern const struct tdma_sched_item tch_d_sched_set[]; +extern const struct tdma_sched_item neigh_pm_sched_set[]; #endif /* _L1_PRIM_H */ diff --git a/src/target/firmware/include/layer1/sync.h b/src/target/firmware/include/layer1/sync.h index 07962052..8ed2cb1e 100644 --- a/src/target/firmware/include/layer1/sync.h +++ b/src/target/firmware/include/layer1/sync.h @@ -142,6 +142,15 @@ struct l1s_state { struct l1s_h1 st_h1; }; } dedicated; + + /* neighbour cell power measurement process */ + struct { + uint8_t n, second; + uint8_t pos; + uint8_t running; + uint16_t band_arfcn[64]; + uint8_t level[64]; + } neigh_pm; }; extern struct l1s_state l1s; -- cgit v1.2.3