The simple answer is "no".
The long answer is that the SNL compiler sets up complex structures with linked events and such to cause retriggering of the WHEN clause in a structured manner. The compiler would just choke, and nothing reasonable would happen even if it didn't.
Ron Chestnut
-----Original Message-----
From: Dennis Nicklaus [mailto:[email protected]]
Sent: Wednesday, January 03, 2007 9:19 AM
To: [email protected]
Subject: C function in when() clause of sequencer
Hi,
Is it possible to call a C function to avoid having a very cumbersome when clause in my epics sequencer program? I get some compiler error or other when I try different variations, so I'm hoping someone can tell me the best way to handle this.
What I want is instead of this:
when ((vacuumReading >vacuum_high) ||(tempReading >tempCerm_high)
||(eminusReading >electron_high) ||(pmtReading >pmtlight_high))
{
} state backOff
I would like to do this:
%{
/*
This function checks for exceeding any of the soft limits.
*/
static int softCheck()
{
return(
(vacuumReading >vacuum_high)
||(tempReading >tempCerm_high)
||(eminusReading >electron_high)
||(pmtReading >pmtlight_high)
);
}
}%
...
when (softCheck())
} state backOff
Thanks,
Dennis
- Replies:
- Re: C function in when() clause of sequencer Eric Norum
- References:
- C function in when() clause of sequencer Dennis Nicklaus
- Navigate by Date:
- Prev:
C function in when() clause of sequencer Dennis Nicklaus
- Next:
Re: C function in when() clause of sequencer Eric Norum
- 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:
C function in when() clause of sequencer Dennis Nicklaus
- Next:
Re: C function in when() clause of sequencer Eric Norum
- 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
|