hi,
i would like to commit my well tested neighbour cell measurement code, as well as the improved cell selection / re-selection process soon. with it, it is possible to move with the mobile phone while beeing in idle mode (no call). it tracks neighbour cells and switches if a better cell is detected. i found and fixed many bug issues in mobility management and cell selection process. i did allot of driving tests.
in order to do that, the neighbour cell measurement code for layer1 is required. this code must be reviewed first. i splitted it in three patches:
neigh_getset.patch
[layer1] Adding rffe_set_gain() and rffe_get_gain() to get/set computed gain.
rffe_compute_gain() is the new name for rffe_set_gain(). I needed to change this, to solve the name collision with the rffe_set_gain() function, which actually sets the absolute gain.
rffe_get_gain() will now read the absolute gain which has been computed by rffe_compute_gain() or set by rffe_set_gain().
neigh_l23.patch
[layer23] Adding neighbour cell measurement to L1CTL interface. (layer23)
neigh_l1.patch
[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.
andreas
This looks interesting.
Can you provide an output of the results when running this code please ?
Thanks Raz
On Thu, Jul 14, 2011 at 11:40 AM, Andreas.Eversberg < Andreas.Eversberg@versatel.de> wrote:
** hi,
i would like to commit my well tested neighbour cell measurement code, as well as the improved cell selection / re-selection process soon. with it, it is possible to move with the mobile phone while beeing in idle mode (no call). it tracks neighbour cells and switches if a better cell is detected. i found and fixed many bug issues in mobility management and cell selection process. i did allot of driving tests.
in order to do that, the neighbour cell measurement code for layer1 is required. this code must be reviewed first. i splitted it in three patches:
neigh_getset.patch
[layer1] Adding rffe_set_gain() and rffe_get_gain() to get/set computed gain.
rffe_compute_gain() is the new name for rffe_set_gain(). I needed to change this, to solve the name collision with the rffe_set_gain() function, which actually sets the absolute gain.
rffe_get_gain() will now read the absolute gain which has been computed by rffe_compute_gain() or set by rffe_set_gain().
neigh_l23.patch
[layer23] Adding neighbour cell measurement to L1CTL interface. (layer23)
neigh_l1.patch
[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.
andreas
Hi Andreas,
On Thu, Jul 14, 2011 at 12:40:41PM +0200, Andreas.Eversberg wrote:
i would like to commit my well tested neighbour cell measurement code, as well as the improved cell selection / re-selection process soon. with
great!
in order to do that, the neighbour cell measurement code for layer1 is required. this code must be reviewed first. i splitted it in three patches:
The patches look fine to me. I'd wait for another day if Sylvain or Dieter have any comments, but otherwise they can be merged.
Regards, Harald
Hi,
Here's a few minor comments, shouldn't take more than 10 min to fix them and then you can merge it. (Or tell me if you want me to do it)
neigh_getset.patch
- I would expose the set_gain_reg (so no static and put it in the .h), just because it's useful when hacking around and I think it 'belongs' to a TRF API. - I think those file should be updated because they use the old set_reg function src/target/firmware/apps/layer1/main.c src/target/firmware/apps/l1test/main.c
You patched the first one by replacing set_reg by compute_gain but altough both take 2 arguments, they are _completely_ different
neigh_l23.patch
- There is a L1CTL_MEAS_REQ in comment in l1ctl.h ( it should be NEIGH_PM) - In rx_l1_neigh_pm_ind I don't see where you free the msgb ? It should be freed in the switch() and it's not AFAICT
neigh_l1.patch
- In l23_api.c you create a new chan_nr2mf_task_mask function, but then the old one chan_nr2mf_task is now unused, so remove it.
Cheers,
Sylvain
baseband-devel@lists.osmocom.org