From patchwork Tue May 17 16:10:32 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: gerrit-no-reply@lists.osmocom.org X-Patchwork-Id: 623201 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.osmocom.org (lists.osmocom.org [IPv6:2a01:4f8:191:444b::2:7]) by ozlabs.org (Postfix) with ESMTP id 3r8MkL4Zbqz9t4F for ; Wed, 18 May 2016 02:10:34 +1000 (AEST) Received: from lists.osmocom.org (lists.osmocom.org [144.76.43.76]) by lists.osmocom.org (Postfix) with ESMTP id 3003F22C21; Tue, 17 May 2016 16:10:33 +0000 (UTC) X-Original-To: openbsc@lists.osmocom.org Delivered-To: openbsc@lists.osmocom.org Received: from 127.0.1.12 (unknown [127.0.1.12]) by lists.osmocom.org (Postfix) with ESMTPA id 4BB8622C1B; Tue, 17 May 2016 16:10:32 +0000 (UTC) Date: Tue, 17 May 2016 16:10:32 +0000 From: gerrit-no-reply@lists.osmocom.org To: Max X-Gerrit-MessageType: merged Subject: Change in libosmocore[master]: Add function to make Uplink Measurement X-Gerrit-Change-Id: Ib37107bcc9909e5105ea711de42d3fb1db7e8d9e X-Gerrit-ChangeURL: X-Gerrit-Commit: 764b022fc69c4bb9816e12801186f8fa25f8dd72 In-Reply-To: References: MIME-Version: 1.0 Content-Disposition: inline User-Agent: Gerrit/2.12.2-31-gb331dbd-dirty X-BeenThere: openbsc@lists.osmocom.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Development of OpenBSC, OsmoBSC, OsmoNITB, OsmoCSCN" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: holger@freyther.de Errors-To: openbsc-bounces@lists.osmocom.org Sender: "OpenBSC" Message-Id: <20160517161033.3003F22C21@lists.osmocom.org> From Holger Freyther : Holger Freyther has submitted this change and it was merged. Change subject: Add function to make Uplink Measurement ...................................................................... Add function to make Uplink Measurement It assembles RSL Uplink Measurement IE according to 3GPP TS 08.58 §9.3.25. The function is based on lchan_build_rsl_ul_meas() from OsmoBTS but optionally includes DTX information. Change-Id: Ib37107bcc9909e5105ea711de42d3fb1db7e8d9e Reviewed-on: https://gerrit.osmocom.org/44 Tested-by: Jenkins Builder Reviewed-by: Harald Welte --- M include/osmocom/gsm/meas_rep.h M src/gsm/gsm_utils.c M src/gsm/libosmogsm.map 3 files changed, 26 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/meas_rep.h b/include/osmocom/gsm/meas_rep.h index 09c2c4f..90c981d 100644 --- a/include/osmocom/gsm/meas_rep.h +++ b/include/osmocom/gsm/meas_rep.h @@ -1,6 +1,7 @@ #pragma once #include +#include /* RX Level and RX Quality */ struct gsm_rx_lev_qual { @@ -24,3 +25,6 @@ MEAS_REP_UL_RXQUAL_FULL, MEAS_REP_UL_RXQUAL_SUB, }; + +size_t gsm0858_rsl_ul_meas_enc(struct gsm_meas_rep_unidir *mru, bool dtxd_used, + uint8_t *buf); diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index 5002947..7365ab7 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -66,11 +66,13 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -335,6 +337,24 @@ return y; } +/*! \brief Build the RSL uplink measurement IE (3GPP TS 08.58 § 9.3.25) + * \param[in] mru Unidirectional measurement report structure + * \param[in] dtxd_used Indicates if DTXd was used during measurement report + * period + * \param[out] buf Pre-allocated bufer for storing IE + * \returns Number of bytes filled in buf + */ +size_t gsm0858_rsl_ul_meas_enc(struct gsm_meas_rep_unidir *mru, bool dtxd_used, + uint8_t *buf) +{ + buf[0] = dtxd_used ? (1 << 6) : 0; + buf[0] |= (mru->full.rx_lev & 0x3f); + buf[1] = (mru->sub.rx_lev & 0x3f); + buf[2] = ((mru->full.rx_qual & 7) << 3) | (mru->sub.rx_qual & 7); + + return 3; +} + /* convert power class to dBm according to GSM TS 05.05 */ unsigned int ms_class_gmsk_dbm(enum gsm_band band, int class) { diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 834e5d6..1e2d323 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -92,6 +92,8 @@ gsm0808_create_sapi_reject; gsm0808_prepend_dtap_header; +gsm0858_rsl_ul_meas_enc; + gsm338_get_sms_alphabet; gsm340_gen_oa;