From 73a809e57b8a531b9b8a33b6841ed3df2ea22620 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 20 Nov 2012 10:13:44 +0100 Subject: Tell L1CTL_FBSB_REQ the expected received signal level As Dieter points out, this drastically improves the resiliance to high receive levels on the C155. We cannot blindly assume a received signal level of -85 dBm if the BTS is 2m away and we actually receive -40 dBm. This patch extends the L1CTL_FBSB_REQ data structure in layer 1 with the respective field, as well as the l1ctl_tx_fbsb_req() API function called from the various layer23 apps. "mobile" and "bcch_scan" already did a PM request and thus know the expected signal power. "ccch_scan" and "cbch_sniff" apparently don't do, so the -85 dBm constant is now hardcoded into the host-side source code there, and should probably be fixed in a follow-up patch. --- src/host/layer23/src/common/l1ctl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/host/layer23/src/common/l1ctl.c') diff --git a/src/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c index 521949c1..5898b227 100644 --- a/src/host/layer23/src/common/l1ctl.c +++ b/src/host/layer23/src/common/l1ctl.c @@ -328,7 +328,7 @@ int l1ctl_tx_data_req(struct osmocom_ms *ms, struct msgb *msg, /* Transmit FBSB_REQ */ int l1ctl_tx_fbsb_req(struct osmocom_ms *ms, uint16_t arfcn, uint8_t flags, uint16_t timeout, uint8_t sync_info_idx, - uint8_t ccch_mode) + uint8_t ccch_mode, uint8_t rxlev_exp) { struct msgb *msg; struct l1ctl_fbsb_req *req; @@ -351,6 +351,7 @@ int l1ctl_tx_fbsb_req(struct osmocom_ms *ms, uint16_t arfcn, req->flags = flags; req->sync_info_idx = sync_info_idx; req->ccch_mode = ccch_mode; + req->rxlev_exp = rxlev_exp; return osmo_send_l1(ms, msg); } -- cgit v1.2.3