Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 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
<== Date ==> <== Thread ==>

Subject: Re: waveform arrays within SNL
From: Benjamin Franksen <benjamin.franksen@helmholtz-berlin.de>
To: "'tech-talk@aps.anl.gov'" <tech-talk@aps.anl.gov>
Date: Thu, 22 Jun 2017 15:13:24 +0200
On 20.06.2017 23:42, Al Honey wrote:
> But the other waveform record holds an array of strings -
field(FTVL,"STRING") - and continues to thwart me.
>
> caput k1:osiris:ss1:posnames "one two three four"
> caget k1:osiris:ss1:posnames
> k1:osiris:ss1:posnames 4 one two three four
>
> Trrying what I think is correct in SNL, I get compilation errors:
>
> #define MAX_ENTRIES 100
>
> string posnames[MAX_ENTRIES];
> assign posnames to "{tel}{instr}:{mech}:posnames";  // this is the
'string' waveform record
>
> local variable is:
> string names[4] = { "0.100", "0.050", "0.035", "0,020" };
>
> state STARTUP {
> entry {
>         for (idx=0; idx<4; idx++ ) posnames[idx] = names[idx];
>         pvPut( posnames );
> }
> .
> .
> .
> }
>
> error: incompatible types when assigning to type string from type char *
>            posnames[idx] = names[idx];

The SNL type 'string' is compiled to 'char[40]' in C. The assignment in
the loop body is therefore not valid C. Using strcpy or one of its
variants should work.

Cheers
Ben
-- "Make it so they have to reboot after every typo." ― Scott Adams

Attachment: signature.asc
Description: OpenPGP digital signature


Replies:
RE: waveform arrays within SNL Al Honey
References:
waveform arrays within SNL Al Honey
RE: waveform arrays within SNL Mark Rivers
RE: waveform arrays within SNL Al Honey

Navigate by Date:
Prev: SIS3302 digitizer driver based on Transient Recorder Framework ambroz . bizjak
Next: RE: waveform arrays within SNL Al Honey
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
Navigate by Thread:
Prev: RE: waveform arrays within SNL Al Honey
Next: RE: waveform arrays within SNL Al Honey
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
ANJ, 22 Jun 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·