summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/include
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-12-09 09:12:57 +0100
committerHarald Welte <laforge@gnumonks.org>2019-05-23 13:03:39 +0200
commite225f231860789dae22226cb4df04fe1b65a371c (patch)
tree9536f21b4b1492d7133a085de0d96c88cc0a3129 /src/target/firmware/include
parent321d1efd06b8ca41115a907f439e1ba7d5b9d334 (diff)
[WIP] HO: Add power measurement of neighbor cells to TCH channels
The task will measure power between TX and RX of successive TCH frames. Change-Id: I0c5a1714249799ff0f2031ca0585ec051c61cc6b
Diffstat (limited to 'src/target/firmware/include')
-rw-r--r--src/target/firmware/include/layer1/prim.h3
-rw-r--r--src/target/firmware/include/layer1/sync.h19
2 files changed, 14 insertions, 8 deletions
diff --git a/src/target/firmware/include/layer1/prim.h b/src/target/firmware/include/layer1/prim.h
index 30c51ae6..bff51deb 100644
--- a/src/target/firmware/include/layer1/prim.h
+++ b/src/target/firmware/include/layer1/prim.h
@@ -29,6 +29,7 @@ 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[];
+extern const struct tdma_sched_item neigh_pm_idle_sched_set[];
+extern const struct tdma_sched_item neigh_pm_tch_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 7ce87566..af743195 100644
--- a/src/target/firmware/include/layer1/sync.h
+++ b/src/target/firmware/include/layer1/sync.h
@@ -129,6 +129,7 @@ struct l1s_state {
GSM_DCHAN_UNKNOWN,
} type;
+ uint8_t chan_nr;
uint8_t scn;
uint8_t tsc;
uint8_t tn;
@@ -149,14 +150,18 @@ struct l1s_state {
};
} dedicated;
- /* neighbour cell power measurement process */
+ /* neighbor cell power measurement process */
struct {
- uint8_t n, second;
- uint8_t pos;
- uint8_t running;
- uint16_t band_arfcn[64];
- uint8_t tn[64];
- uint8_t level[64];
+ uint32_t start_fn; /* frame number of measumrement start */
+ uint8_t valid; /* we have a complete set of measurements */
+ uint8_t rounds; /* current rounds of complete measurements */
+ uint8_t pos; /* current neighbor to measure */
+ uint8_t running; /* DSP task running */
+ uint8_t n; /* number of neighbors to measure */
+ uint16_t band_arfcn[64]; /* list of ARFCNs */
+ uint8_t tn[64]; /* list of TS offset for each measurement */
+ uint16_t level_sum[64]; /* sum while processing rounds */
+ uint8_t level[64]; /* latest results */
} neigh_pm;
};