Thanks for your suggestions. While I was able to use g++, I ran into what appears to be scoping problems that I could not overcome.
I decided to do a quick rewrite of my code in c. While that solves my initial problem, I’ve run into a problem trying to a launch a thread which is necessary for the PVPUT in the _seq.st code:
state reading
{
biasmoduleThread();
when(available)
{
PVPUT(status, temphumRead( &h, &t ));
:
:
Produces this error:
So the sequencer parser doesn’t like my call to biasmoduleThread(), although there is no error produced from temphumRead(). I’m guessing temphumRead is handled differently because it is the context of a PVPUT
call.
If launching a thread in the _seq.st code is not a proper thing to do, I’m wondering if there is another way to handle the thread launch before the sequencer starts?
Thanks,
Dave
From: Andrew Johnson <anj at anl.gov>
Sent: Tuesday, April 18, 2023 7:41 PM
To: Michael Davidsaver <mdavidsaver at gmail.com>; David A. Slimmer <slimmer at fnal.gov>
Cc: tech-talk at aps.anl.gov
Subject: Re: Sequencer configuration file
On 4/18/23 5:55 PM, Michael Davidsaver wrote:
On 4/18/23 13:28, Andrew Johnson via Tech-talk wrote:
The first thing I would try would be to change the seq/configure/RULES_BUILD ...
Recent versions move these rules to configure/RULES_SNCSEQ,
which is then installed as cfg/RULES_SNCSEQ where it is automatically
included by every package which includes this module in configure/RELEASE.
Rules can still be placed in a configure/RULES_BUILD file as this file still gets automatically included by every package that lists this module in their configure/RELEASE file(s). That feature was originally added to allow the sequencer
to provide build rules for its customers, but the approach involving installed cfg/RULES_* files was introduced more recently, and we do now encourage module authors to switch to using that instead.
- Andrew
--
Complexity comes for free, Simplicity you have to work for.