From 678321d013c320c31a1820135f32cee63d0c0ae7 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 22 Jul 2012 22:42:36 +0200 Subject: determine (and use) the API version as indicated in the header files From our header files v2.4 onwards, we include some macros that allow us to do compile-time checks for the API header version. As older headers don't have those macros, we have to fall back to assume it will be v2.2 --- contrib/sysmobts-calib/sysmobts-layer1.c | 7 +++++-- contrib/sysmobts-calib/sysmobts-layer1.h | 12 ++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'contrib/sysmobts-calib') 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 + +/* 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); -- cgit v1.2.3