diff options
-rw-r--r-- | contrib/sysmobts-calib/sysmobts-layer1.c | 7 | ||||
-rw-r--r-- | contrib/sysmobts-calib/sysmobts-layer1.h | 12 | ||||
-rw-r--r-- | src/osmo-bts-sysmo/femtobts.h | 9 | ||||
-rw-r--r-- | src/osmo-bts-sysmo/l1_if.c | 4 |
4 files changed, 30 insertions, 2 deletions
diff --git a/contrib/sysmobts-calib/sysmobts-layer1.c b/contrib/sysmobts-calib/sysmobts-layer1.c index c475354a..8c04c77a 100644 --- a/contrib/sysmobts-calib/sysmobts-layer1.c +++ b/contrib/sysmobts-calib/sysmobts-layer1.c @@ -338,9 +338,10 @@ int activate_rf_frontend(int clock_source, int initial_cor) prim.u.activateRfReq.rfTrx.iClkCor = initial_cor; prim.u.activateRfReq.rfTrx.clkSrc = clock_source; - +#if SUPERFEMTO_API_VERSION < SUPERFEMTO_API(2,4,0) prim.u.activateRfReq.rfRx.iClkCor = initial_cor; - prim.u.activateRfReq.rfRx.clkSrc = clock_source; + prim.u.activateRfReq.rfRx.clkSrc = clock_source; +#endif rc = send_recv_primitive(SuperFemto_PrimId_ActivateRfReq, &prim); return rc; @@ -583,8 +584,10 @@ int set_clock_cor(int clock_cor, int calib, int source) prim.u.rfClockSetupReq.rfTrx.iClkCor = clock_cor; prim.u.rfClockSetupReq.rfTrx.clkSrc = calib; +#if SUPERFEMTO_API_VERSION < SUPERFEMTO_API(2,4,0) prim.u.rfClockSetupReq.rfRx.iClkCor = clock_cor; prim.u.rfClockSetupReq.rfRx.clkSrc = calib; +#endif prim.u.rfClockSetupReq.rfTrxClkCal.clkSrc = source; rc = send_recv_primitive(SuperFemto_PrimId_RfClockSetupReq, &prim); diff --git a/contrib/sysmobts-calib/sysmobts-layer1.h b/contrib/sysmobts-calib/sysmobts-layer1.h index 5b2b285d..ec961eba 100644 --- a/contrib/sysmobts-calib/sysmobts-layer1.h +++ b/contrib/sysmobts-calib/sysmobts-layer1.h @@ -1,6 +1,18 @@ #ifndef SYSMOBTS_LAYER_H #define SYSMOBTS_LAYER_H +#include <sysmocom/femtobts/superfemto.h> + +/* older header files don't have this */ +#ifndef SUPERFEMTO_API +#define SUPERFEMTO_API(x,y,z) ((x << 16) + (y << 8) + z) +#endif + +#ifndef SUPERFEMTO_API_VERSION +#define SUPERFEMTO_API_VERSION SUPERFEMTO_API(2,2,0) +#endif + + extern int initialize_layer1(uint32_t dsp_flags); extern int print_system_info(); extern int activate_rf_frontend(int clock_source, int clock_cor); diff --git a/src/osmo-bts-sysmo/femtobts.h b/src/osmo-bts-sysmo/femtobts.h index b91a86fc..5a716ee0 100644 --- a/src/osmo-bts-sysmo/femtobts.h +++ b/src/osmo-bts-sysmo/femtobts.h @@ -12,6 +12,15 @@ //#define USE_L1_RTP_MODE /* Tell L1 to use RTP mode */ #endif +/* older header files don't have this */ +#ifndef SUPERFEMTO_API +#define SUPERFEMTO_API(x,y,z) ((x << 16) + (y << 8) + z) +#endif + +#ifndef SUPERFEMTO_API_VERSION +#define SUPERFEMTO_API_VERSION SUPERFEMTO_API(2,2,0) +#endif + enum l1prim_type { L1P_T_REQ, L1P_T_CONF, diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c index 3cf2955a..69c44246 100644 --- a/src/osmo-bts-sysmo/l1_if.c +++ b/src/osmo-bts-sysmo/l1_if.c @@ -965,6 +965,10 @@ int l1if_activate_rf(struct femtol1_hdl *hdl, int on) /* Use clock from OCXO or whatever source is configured */ sysp->u.activateRfReq.rfTrx.clkSrc = hdl->clk_src; sysp->u.activateRfReq.rfTrx.iClkCor = hdl->clk_cal; +#if SUPERFEMTO_API_VERSION < SUPERFEMTO_API(2,4,0) + sysp->u.activateRfReq.rfRx.clkSrc = hdl->clk_src; + sysp->u.activateRfReq.rfRx.iClkCor = hdl->clk_cal; +#endif /* API 2.4.0 */ #endif } else { sysp->id = SuperFemto_PrimId_DeactivateRfReq; |