From 39b17d907edc569b09829875746d04f121d93716 Mon Sep 17 00:00:00 2001 From: sluiter Date: Thu, 4 Jan 2018 14:52:05 -0600 Subject: [PATCH] Replaced invalid LT_EPICSBASE logic with working logic from SSCAN. Since EPICS_VERSION_INT defined in EPICSbase 3.15, added EPICS_PATCH_LEVEL argument. (cherry picked from commit c1c440764414627237580c2642bf5542aee623b2) --- motorApp/DeltaTauSrc/drvPmac.cc | 2 +- motorApp/MotorSrc/motor.h | 6 +++++- motorApp/MotorSrc/motorRecord.cc | 2 +- motorApp/OmsSrc/drvMAXv.cc | 2 +- motorApp/OmsSrc/drvOms.cc | 2 +- motorApp/OmsSrc/drvOms58.cc | 2 +- 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/motorApp/DeltaTauSrc/drvPmac.cc b/motorApp/DeltaTauSrc/drvPmac.cc index e357bad0..13a88516 100644 --- a/motorApp/DeltaTauSrc/drvPmac.cc +++ b/motorApp/DeltaTauSrc/drvPmac.cc @@ -587,7 +587,7 @@ static int motorIsrEnable(int card) status = pdevLibVirtualOS->pDevConnectInterruptVME( PmacInterruptVector + card, -#if LT_EPICSBASE(3,14,8) +#if LT_EPICSBASE(3,14,8,0) (void (*)()) motorIsr, #else (void (*)(void *)) motorIsr, diff --git a/motorApp/MotorSrc/motor.h b/motorApp/MotorSrc/motor.h index 8d8e6332..b7186847 100644 --- a/motorApp/MotorSrc/motor.h +++ b/motorApp/MotorSrc/motor.h @@ -63,7 +63,11 @@ USAGE... Definitions and structures common to all levels of motorRecord #include /* Less than EPICS base version test.*/ -#define LT_EPICSBASE(v,r,l) ((EPICS_VERSION<=(v)) && (EPICS_REVISION<=(r)) && (EPICS_MODIFICATION<(l))) +#ifndef EPICS_VERSION_INT +#define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P)) +#define EPICS_VERSION_INT VERSION_INT(EPICS_VERSION, EPICS_REVISION, EPICS_MODIFICATION, EPICS_PATCH_LEVEL) +#endif +#define LT_EPICSBASE(V,R,M,P) (EPICS_VERSION_INT < VERSION_INT((V),(R),(M),(P))) /* Maximum message size of all supported devices; see drv[device].h for maximum message size for each device. */ diff --git a/motorApp/MotorSrc/motorRecord.cc b/motorApp/MotorSrc/motorRecord.cc index 79bdd225..a8c1e7b0 100644 --- a/motorApp/MotorSrc/motorRecord.cc +++ b/motorApp/MotorSrc/motorRecord.cc @@ -468,7 +468,7 @@ static void callbackFunc(struct callback *pcb) { pmr->mip &= ~MIP_DELAY_REQ; /* Turn off REQ. */ pmr->mip |= MIP_DELAY_ACK; /* Turn on ACK. */ -#if LT_EPICSBASE(3,14,10) +#if LT_EPICSBASE(3,14,10,0) scanOnce(pmr); #else scanOnce((struct dbCommon *) pmr); diff --git a/motorApp/OmsSrc/drvMAXv.cc b/motorApp/OmsSrc/drvMAXv.cc index fe6bafbe..ba8f2bae 100644 --- a/motorApp/OmsSrc/drvMAXv.cc +++ b/motorApp/OmsSrc/drvMAXv.cc @@ -1115,7 +1115,7 @@ static int motorIsrSetup(int card) status = pdevLibVirtualOS->pDevConnectInterruptVME( MAXvInterruptVector + card, -#if LT_EPICSBASE(3,14,8) +#if LT_EPICSBASE(3,14,8,0) (void (*)()) motorIsr, #else (void (*)(void *)) motorIsr, diff --git a/motorApp/OmsSrc/drvOms.cc b/motorApp/OmsSrc/drvOms.cc index 132b27fd..47e4494f 100644 --- a/motorApp/OmsSrc/drvOms.cc +++ b/motorApp/OmsSrc/drvOms.cc @@ -922,7 +922,7 @@ static int motorIsrEnable(int card) long status; status = pdevLibVirtualOS->pDevConnectInterruptVME( omsInterruptVector + card, -#if LT_EPICSBASE(3,14,8) +#if LT_EPICSBASE(3,14,8,0) (void (*)()) motorIsr, #else (void (*)(void *)) motorIsr, diff --git a/motorApp/OmsSrc/drvOms58.cc b/motorApp/OmsSrc/drvOms58.cc index 21258e9e..f2d8261e 100644 --- a/motorApp/OmsSrc/drvOms58.cc +++ b/motorApp/OmsSrc/drvOms58.cc @@ -1070,7 +1070,7 @@ static int motorIsrSetup(int card) pmotor = (struct vmex_motor *) (motor_state[card]->localaddr); status = pdevLibVirtualOS->pDevConnectInterruptVME(omsInterruptVector + card, -#if LT_EPICSBASE(3,14,8) +#if LT_EPICSBASE(3,14,8,0) (void (*)()) motorIsr, #else (void (*)(void *)) motorIsr,