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