diff options
author | Harald Welte <laforge@gnumonks.org> | 2012-07-22 22:42:36 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-07-22 22:42:36 +0200 |
commit | 678321d013c320c31a1820135f32cee63d0c0ae7 (patch) | |
tree | e782cd0500da4a06e36583fdadc619a27bc8b44b /contrib | |
parent | e729a3d595baf4f3fb9bf572840c698fe71ec072 (diff) |
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
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/sysmobts-calib/sysmobts-layer1.c | 7 | ||||
-rw-r--r-- | contrib/sysmobts-calib/sysmobts-layer1.h | 12 |
2 files changed, 17 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); |