You should not need to escape that statement at all. SNL allows normal C function calls as part of its syntax. I think you can remove the %% in that line.
But is the problem there that your statement is not inside a when() block?
Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Pierrick M Hanlet
Sent: Wednesday, December 19, 2012 5:59 PM
To: [email protected]
Subject: SNL with C
Hi,
I a newcomer to SNL.
I have a library to which I link my snl. In a global entrance block, I can successfully call
one of the functions. Later I added the use of another function in a state set and now
I can no longer compile.
ss SS1 {
state Offline {
/* Get PV relevent PV information */
when (SS1mon == 1) {
SS1state = 1;
pvPut(SS1state);
} state Pumping
}
state Pumping {
/* Get PV relevent PV information */
%%if (StateReadCDB()) printf("SS1-Pumping: success\");
when (SS1vac <= 1.0e-4) {
SS1state = 2;
pvPut(SS1state);
} state Pumped_Warm
}
... continued
}
The error at compilation/linking is:
converting ../sncMICEStates.stt
/home/epics/epics/Support/seq/bin/linux-x86/snc +r ../sncMICEStates.stt -o sncMICEStates.c.tmp
syntax error: line no. 96 (../sncMICEStates.stt)
state option list
make[3]: *** [sncMICEStates.c] Error 1
make[3]: Leaving directory `/home/epics/epics/iocTops/MICEStates/MICEStatesApp/src/O.linux-x86'
make[2]: *** [install.linux-x86] Error 2
make[2]: Leaving directory `/home/epics/epics/iocTops/MICEStates/MICEStatesApp/src'
make[1]: *** [src.install] Error 2
make[1]: Leaving directory `/home/epics/epics/iocTops/MICEStates/MICEStatesApp'
make: *** [MICEStatesApp.install] Error 2
where line no. 96 is the escaped call to the library function in my Pumping state. The error "state option list"
doesn't tell me anything.
Help please,
Pierrick
"Whether you think you can or think you can't, either way, you are correct"
-- Henry Ford
_________________________________________________________________________
Pierrick Hanlet
IIT/Fermilab
+1-630-697-8758 (FNAL)
+1-312-567-5745 (IIT)
+1-630-697-8758/+44-7-948-860-1978 (US/UK mobile)
- References:
- SNL with C Pierrick M Hanlet
- Navigate by Date:
- Prev:
SNL with C Pierrick M Hanlet
- Next:
RE: SNL with C Zelazny, Michael Stanley
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
<2012>
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
SNL with C Pierrick M Hanlet
- Next:
RE: SNL with C Zelazny, Michael Stanley
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
<2012>
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|