diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-12-09 09:12:57 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-05-23 13:03:39 +0200 |
commit | e225f231860789dae22226cb4df04fe1b65a371c (patch) | |
tree | 9536f21b4b1492d7133a085de0d96c88cc0a3129 /src/target/firmware/include | |
parent | 321d1efd06b8ca41115a907f439e1ba7d5b9d334 (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.h | 3 | ||||
-rw-r--r-- | src/target/firmware/include/layer1/sync.h | 19 |
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; }; |