aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-oc2g
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2019-03-15 10:33:24 +0100
committerHarald Welte <laforge@gnumonks.org>2019-03-27 07:58:56 +0000
commit7b96b8832f7a06ca3b128a81e883136b6e55a823 (patch)
treeeb4fb132bf2810c2bf9b4b308ae9b1f6ce1c49d7 /src/osmo-bts-oc2g
parenteac4d23421b38f6538b70023b9899cce50f802e6 (diff)
oc2g: generate failure event report in case of bad calibration
When the TX/RX calibration files can not be loaded a failure event report should be sent to the BSC. Lets send a failure event report when calbration data is either bad or can not be loaded (see also remvoed TODOs). Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 Related OS#3823
Diffstat (limited to 'src/osmo-bts-oc2g')
-rw-r--r--src/osmo-bts-oc2g/calib_file.c37
1 files changed, 7 insertions, 30 deletions
diff --git a/src/osmo-bts-oc2g/calib_file.c b/src/osmo-bts-oc2g/calib_file.c
index 49768480..ed7aa168 100644
--- a/src/osmo-bts-oc2g/calib_file.c
+++ b/src/osmo-bts-oc2g/calib_file.c
@@ -34,6 +34,7 @@
#include <osmo-bts/gsm_data.h>
#include <osmo-bts/logging.h>
+#include <osmo-bts/bts.h>
#include <nrw/oc2g/oc2g.h>
#include <nrw/oc2g/gsml1const.h>
@@ -133,16 +134,8 @@ static int calib_file_open(struct oc2gl1_hdl *fl1h,
st->fp = fopen(fname, "rb");
if (!st->fp) {
LOGP(DL1C, LOGL_NOTICE, "Failed to open '%s' for calibration data.\n", fname);
-
- /* TODO (oramadan): Fix OML alarms
- if( fl1h->phy_inst->trx ){
- fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr;
-
- alarm_sig_data.mo = &fl1h->phy_inst->trx->mo;
- alarm_sig_data.add_text = (char*)&fname[0];
- osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_FAIL_OPEN_CALIB_ALARM, &alarm_sig_data);
- }
- */
+ oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN,
+ "Failed to open '%s' for calibration data", fname);
return -1;
}
return 0;
@@ -228,17 +221,8 @@ static int calib_file_send(struct oc2gl1_hdl *fl1h,
rc = calib_verify(fl1h, desc);
if (rc < 0) {
LOGP(DL1C, LOGL_NOTICE,"Verify L1 calibration table %s -> failed (%d)\n", desc->fname, rc);
-
- /* TODO (oramadan): Fix OML alarms
- if (fl1h->phy_inst->trx) {
- fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr;
-
- alarm_sig_data.mo = &fl1h->phy_inst->trx->mo;
- alarm_sig_data.add_text = (char*)&desc->fname[0];
- memcpy(alarm_sig_data.spare, &rc, sizeof(int));
- osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_FAIL_VERIFY_CALIB_ALARM, &alarm_sig_data);
- }
- */
+ oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN,
+ "Verify L1 calibration table %s -> failed (%d)", desc->fname, rc);
st->last_file_idx = get_next_calib_file_idx(fl1h, st->last_file_idx);
@@ -294,15 +278,8 @@ int calib_load(struct oc2gl1_hdl *fl1h)
if (!calib_path) {
LOGP(DL1C, LOGL_NOTICE, "Calibration file path not specified\n");
-
- /* TODO (oramadan): Fix OML alarms
- if( fl1h->phy_inst->trx ){
- fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr;
-
- alarm_sig_data.mo = &fl1h->phy_inst->trx->mo;
- osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_NO_CALIB_PATH_ALARM, &alarm_sig_data);
- }
- */
+ oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN,
+ "Calibration file path not specified");
return -1;
}