EPICS Controls 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  2018  2019  <20202021  2022  2023  2024  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Does IOC name have any restrictions ?
From: Hitesh Dhola via Tech-talk <tech-talk at aps.anl.gov>
To: Ralph Lange <ralph.lange at gmx.de>
Cc: tech-talk <tech-talk at aps.anl.gov>
Date: Wed, 24 Jun 2020 11:53:58 +0530 (IST)
Dear Ralph,

Thanks for the explanation.

I had this doubt, because generally when we use CSS tool in RHEL projects, we get IOC names like "41CPSD-PCF-0001". That's why I though that there is something problematic here if it's not accepting numeric. But as you indicated CSS tool must have been creating IOC differently or Changing Names manually which doesn't affect file structure or C indentifier.

I will take care now to avoid numerics in IOC naming while using "makeBaseApp".

Regards,
Hitesh


From: "tech-talk" <tech-talk at aps.anl.gov>
To: "tech-talk" <tech-talk at aps.anl.gov>
Sent: Tuesday, June 23, 2020 6:13:34 PM
Subject: Re: Does IOC name have any restrictions ?

Hi Hitesh,
The standard application templates in EPICS Base use the IOC name (from the makeBaseApp command line) as the first part of a function name for some generated C code.
That's why - if you use the application templates from Base - the IOC name must work as a C identifier. If you go in and manually change those names to something else that is unique on the IOC, you're fine.
(In the standard structure, the IOC name is also used as part of a directory name - that would be the next place where using special characters might backfire.)

Cheers,
~Ralph


On Tue, 23 Jun 2020 at 13:38, Hitesh Dhola via Tech-talk <tech-talk at aps.anl.gov> wrote:
Hello,

I am getting a make error in ioc generation using makeBaseApp, if I use any numeric in name "test".

I created IOC using this,

../bin/windows-x64-mingw/makeBaseApp.pl -t ioc 3test
../bin/windows-x64-mingw/makeBaseApp.pl -i -t ioc 3test
But, make fails with following error.

----------------
3test_registerRecordDeviceDriver.cpp:248:5: error: expected unqualified-id before numeric constant
  248 | int 3test_registerRecordDeviceDriver(DBBASE *pbase)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3test_registerRecordDeviceDriver.cpp: In function 'void rrddCallFunc(const iocshArgBuf*)':
3test_registerRecordDeviceDriver.cpp:291:19: error: unable to find numeric literal operator 'operator""test_registerRecordDeviceDriver'
  291 |     iocshSetError(3test_registerRecordDeviceDriver(*iocshPpdbbase));
-------------------------

It works fine if i use non-numeric, say using 'rtest' instead of '3test' is working fine. I am working on Windows 10 and MSYS environment.
Do we have any restriction in naming convention for IOC? or this is something else ?

Regards,
Hitesh


Replies:
Re: Does IOC name have any restrictions ? Ralph Lange via Tech-talk
References:
Does IOC name have any restrictions ? Hitesh Dhola via Tech-talk
Re: Does IOC name have any restrictions ? Ralph Lange via Tech-talk

Navigate by Date:
Prev: Re: How to run IOC in docker containers properly xiao zhang via Tech-talk
Next: Re: How to run IOC in docker containers properly Florian Feldbauer via Tech-talk
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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Does IOC name have any restrictions ? Ralph Lange via Tech-talk
Next: Re: Does IOC name have any restrictions ? Ralph Lange via Tech-talk
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  <20202021  2022  2023  2024 
ANJ, 24 Jun 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·