EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: SNL with C
From: Mark Rivers <[email protected]>
To: "'Pierrick M Hanlet'" <[email protected]>, "[email protected]" <[email protected]>
Date: Thu, 20 Dec 2012 00:07:21 +0000
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  <20122013  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  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024