blob: 5628d8ec9228936e35b83a532de64b17cc1d9273 [file] [log] [blame]
Neels Hofmeyr17518fe2017-06-20 04:35:06 +02001/*! \file meas_rep.h */
2
Sylvain Munaut12ba7782014-06-16 10:13:40 +02003#pragma once
Harald Weltee128f462013-03-07 18:36:32 +00004
5#include <stdint.h>
Max764b0222016-05-11 17:33:17 +02006#include <stdbool.h>
Harald Weltee128f462013-03-07 18:36:32 +00007
8/* RX Level and RX Quality */
9struct gsm_rx_lev_qual {
10 uint8_t rx_lev;
11 uint8_t rx_qual;
12};
13
Pau Espin Pedrol4e3b5942021-09-28 11:32:44 +020014/* unidirectional measurement report */
Harald Weltee128f462013-03-07 18:36:32 +000015struct gsm_meas_rep_unidir {
16 struct gsm_rx_lev_qual full;
17 struct gsm_rx_lev_qual sub;
18};
19
20enum meas_rep_field {
21 MEAS_REP_DL_RXLEV_FULL,
22 MEAS_REP_DL_RXLEV_SUB,
23 MEAS_REP_DL_RXQUAL_FULL,
24 MEAS_REP_DL_RXQUAL_SUB,
25 MEAS_REP_UL_RXLEV_FULL,
26 MEAS_REP_UL_RXLEV_SUB,
27 MEAS_REP_UL_RXQUAL_FULL,
28 MEAS_REP_UL_RXQUAL_SUB,
29};
Max764b0222016-05-11 17:33:17 +020030
Pau Espin Pedrol50e6f062021-09-28 11:32:00 +020031size_t gsm0858_rsl_ul_meas_enc(const struct gsm_meas_rep_unidir *mru, bool dtxd_used,
Max764b0222016-05-11 17:33:17 +020032 uint8_t *buf);