mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-bts.git
synced 2025-11-06 23:23:31 +00:00
Compare commits
2 Commits
jolly/test
...
0.2.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6a32f0499f | ||
|
|
a5608d092d |
@@ -5,7 +5,8 @@ int pcu_tx_info_ind(void);
|
||||
int pcu_tx_rts_req(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn,
|
||||
uint16_t arfcn, uint8_t block_nr);
|
||||
int pcu_tx_data_ind(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn,
|
||||
uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len);
|
||||
uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len,
|
||||
int8_t rssi);
|
||||
int pcu_tx_rach_ind(struct gsm_bts *bts, int16_t qta, uint8_t ra, uint32_t fn);
|
||||
int pcu_tx_time_ind(uint32_t fn);
|
||||
int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef _PCUIF_PROTO_H
|
||||
#define _PCUIF_PROTO_H
|
||||
|
||||
#define PCU_IF_VERSION 0x04
|
||||
#define PCU_IF_VERSION 0x05
|
||||
|
||||
/* msg_type */
|
||||
#define PCU_IF_MSG_DATA_REQ 0x00 /* send data to given channel */
|
||||
@@ -49,6 +49,7 @@ struct gsm_pcu_if_data {
|
||||
uint8_t trx_nr;
|
||||
uint8_t ts_nr;
|
||||
uint8_t block_nr;
|
||||
int8_t rssi;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct gsm_pcu_if_rts_req {
|
||||
|
||||
@@ -178,10 +178,10 @@ int lchan_meas_check_compute(struct gsm_lchan *lchan, uint32_t fn)
|
||||
irssi_sub_sum);
|
||||
|
||||
/* store results */
|
||||
lchan->meas.res.rxlev_full = dbm2rxlev((int)irssi_full_sum * -1);
|
||||
lchan->meas.res.rxlev_sub = dbm2rxlev((int)irssi_sub_sum * -1);
|
||||
lchan->meas.res.rxqual_full = ber10k_to_rxqual(ber_full_sum);
|
||||
lchan->meas.res.rxqual_sub = ber10k_to_rxqual(ber_sub_sum);
|
||||
lchan->meas.ul_res.full.rx_lev = dbm2rxlev((int)irssi_full_sum * -1);
|
||||
lchan->meas.ul_res.sub.rx_lev = dbm2rxlev((int)irssi_sub_sum * -1);
|
||||
lchan->meas.ul_res.full.rx_qual = ber10k_to_rxqual(ber_full_sum);
|
||||
lchan->meas.ul_res.sub.rx_qual = ber10k_to_rxqual(ber_sub_sum);
|
||||
|
||||
lchan->meas.flags |= LC_UL_M_F_RES_VALID;
|
||||
lchan->meas.num_ul_meas = 0;
|
||||
@@ -194,10 +194,10 @@ int lchan_meas_check_compute(struct gsm_lchan *lchan, uint32_t fn)
|
||||
/* build the 3 byte RSL uplinke measurement IE content */
|
||||
int lchan_build_rsl_ul_meas(struct gsm_lchan *lchan, uint8_t *buf)
|
||||
{
|
||||
buf[0] = (lchan->meas.res.rxlev_full & 0x3f); /* FIXME: DTXu support */
|
||||
buf[1] = (lchan->meas.res.rxlev_sub & 0x3f);
|
||||
buf[2] = ((lchan->meas.res.rxqual_full & 7) << 3) |
|
||||
(lchan->meas.res.rxqual_sub & 7);
|
||||
buf[0] = (lchan->meas.ul_res.full.rx_lev & 0x3f); /* FIXME: DTXu support */
|
||||
buf[1] = (lchan->meas.ul_res.sub.rx_lev & 0x3f);
|
||||
buf[2] = ((lchan->meas.ul_res.full.rx_qual & 7) << 3) |
|
||||
(lchan->meas.ul_res.sub.rx_qual & 7);
|
||||
|
||||
return 3;
|
||||
}
|
||||
|
||||
@@ -315,7 +315,8 @@ int pcu_tx_rts_req(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn,
|
||||
}
|
||||
|
||||
int pcu_tx_data_ind(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn,
|
||||
uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len)
|
||||
uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len,
|
||||
int8_t rssi)
|
||||
{
|
||||
struct msgb *msg;
|
||||
struct gsm_pcu_if *pcu_prim;
|
||||
@@ -338,6 +339,7 @@ int pcu_tx_data_ind(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn,
|
||||
data_ind->trx_nr = ts->trx->nr;
|
||||
data_ind->ts_nr = ts->nr;
|
||||
data_ind->block_nr = block_nr;
|
||||
data_ind->rssi = rssi;
|
||||
memcpy(data_ind->data, data, len);
|
||||
data_ind->len = len;
|
||||
|
||||
|
||||
@@ -787,7 +787,8 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1, GsmL1_PhDataInd_t *data_i
|
||||
data_ind->u32Fn, data_ind->u16Arfcn,
|
||||
data_ind->u8BlockNbr,
|
||||
data_ind->msgUnitParam.u8Buffer + 1,
|
||||
data_ind->msgUnitParam.u8Size - 1);
|
||||
data_ind->msgUnitParam.u8Size - 1,
|
||||
(int8_t) (data_ind->measParam.fRssi));
|
||||
break;
|
||||
case GsmL1_Sapi_Ptcch:
|
||||
/* PTCCH frame handling */
|
||||
@@ -795,7 +796,8 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1, GsmL1_PhDataInd_t *data_i
|
||||
data_ind->u32Fn, data_ind->u16Arfcn,
|
||||
data_ind->u8BlockNbr,
|
||||
data_ind->msgUnitParam.u8Buffer,
|
||||
data_ind->msgUnitParam.u8Size);
|
||||
data_ind->msgUnitParam.u8Size,
|
||||
(int8_t) (data_ind->measParam.fRssi));
|
||||
break;
|
||||
default:
|
||||
LOGP(DL1C, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n",
|
||||
|
||||
Reference in New Issue
Block a user