Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
3f1918ed2d | |||
1d753366d8 | |||
047f18d113 | |||
26c5b012a7 | |||
4f33600a0f | |||
2077dfb0a6 |
@ -96,11 +96,11 @@ come in a predictible order to be parsable by <em>StreamDevice</em>.
|
|||||||
<h2>Recommended Readings</h2>
|
<h2>Recommended Readings</h2>
|
||||||
<p>
|
<p>
|
||||||
IOC Application Developer's Guide:
|
IOC Application Developer's Guide:
|
||||||
<a href="https://www.aps.anl.gov/epics/base/R3-14/12-docs/AppDevGuide"
|
<a href="https://epics.anl.gov/base/R3-14/12-docs/AppDevGuide/"
|
||||||
target="ex">R3.14.12</a>,
|
target="ex">R3.14.12</a>,
|
||||||
<a href="https://www.aps.anl.gov/epics/base/R3-16/1-docs/AppDevGuide"
|
<a href="https://epics.anl.gov/base/R3-15/5-docs/AppDevGuide/AppDevGuide.html"
|
||||||
target="ex">R3.15.5</a>,
|
target="ex">R3.15.5</a>,
|
||||||
<a href="https://www.aps.anl.gov/epics/base/R3-15/5-docs/AppDevGuide"
|
<a href="https://epics.anl.gov/base/R3-16/1-docs/AppDevGuide/AppDevGuide.html"
|
||||||
target="ex">R3.16.1</a>
|
target="ex">R3.16.1</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -388,7 +388,7 @@ The <code>INP</code> or <code>OUT</code> link has the form
|
|||||||
<code>"@<var>filename protocol</var>[(<var>arg1</var>,<var>arg2</var>,...)] </var>bus</var> [<var>address</var> [<var>parameters</var>]]"</code>.
|
<code>"@<var>filename protocol</var>[(<var>arg1</var>,<var>arg2</var>,...)] </var>bus</var> [<var>address</var> [<var>parameters</var>]]"</code>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
(Elements in <code>[]</code> are optional. To not type the <code>[]</code>).
|
(Elements in <code>[]</code> are optional. Do not type the <code>[]</code>).
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Here, <code><var>filename</var></code> is the name of the protocol file and
|
Here, <code><var>filename</var></code> is the name of the protocol file and
|
||||||
|
@ -720,7 +720,7 @@ parseLink(const struct link *ioLink, char* filename,
|
|||||||
if (0 >= sscanf(ioLink->value.instio.string+n1, " %[^ \t(] %n", protocol, &n2))
|
if (0 >= sscanf(ioLink->value.instio.string+n1, " %[^ \t(] %n", protocol, &n2))
|
||||||
{
|
{
|
||||||
error("%s: Missing protocol name\n"
|
error("%s: Missing protocol name\n"
|
||||||
" expect \"@file protocol[(args)] bus [addr] [params]\"\n"
|
" expect \"@file protocol[(arg1,...)] bus [addr] [params]\"\n"
|
||||||
" in \"@%s\"\n", name(),
|
" in \"@%s\"\n", name(),
|
||||||
ioLink->value.instio.string);
|
ioLink->value.instio.string);
|
||||||
return S_dev_badInitRet;
|
return S_dev_badInitRet;
|
||||||
@ -728,15 +728,14 @@ parseLink(const struct link *ioLink, char* filename,
|
|||||||
n1+=n2;
|
n1+=n2;
|
||||||
if (ioLink->value.instio.string[n1] == '(')
|
if (ioLink->value.instio.string[n1] == '(')
|
||||||
{
|
{
|
||||||
strcat(protocol, "(");
|
n2 = 0;
|
||||||
n1++;
|
|
||||||
sscanf(ioLink->value.instio.string+n1, " %[^)] %n", protocol+strlen(protocol), &n2);
|
sscanf(ioLink->value.instio.string+n1, " %[^)] %n", protocol+strlen(protocol), &n2);
|
||||||
n1+=n2;
|
n1+=n2;
|
||||||
if (ioLink->value.instio.string[n1++] != ')')
|
if (ioLink->value.instio.string[n1++] != ')')
|
||||||
{
|
{
|
||||||
error("%s: Missing ')' after protocol '%s': '%s'\n"
|
error("%s: Missing ')' after protocol arguments '%s'\n"
|
||||||
" expect \"@file protocol(args) bus [addr] [params]\"\n"
|
" expect \"@file protocol(arg1,...) bus [addr] [params]\"\n"
|
||||||
" in \"@%s\"\n", name(), protocol, ioLink->value.instio.string+n1-1,
|
" in \"@%s\"\n", name(), protocol,
|
||||||
ioLink->value.instio.string);
|
ioLink->value.instio.string);
|
||||||
return S_dev_badInitRet;
|
return S_dev_badInitRet;
|
||||||
}
|
}
|
||||||
@ -745,7 +744,7 @@ parseLink(const struct link *ioLink, char* filename,
|
|||||||
if (0 >= sscanf(ioLink->value.instio.string+n1, "%s %i %99c", busname, addr, busparam))
|
if (0 >= sscanf(ioLink->value.instio.string+n1, "%s %i %99c", busname, addr, busparam))
|
||||||
{
|
{
|
||||||
error("%s: Missing bus name\n"
|
error("%s: Missing bus name\n"
|
||||||
" expect \"@file protocol[(args)] bus [addr] [params]\"\n"
|
" expect \"@file protocol[(arg1,...)] bus [addr] [params]\"\n"
|
||||||
" in \"@%s\"\n", name(),
|
" in \"@%s\"\n", name(),
|
||||||
ioLink->value.instio.string);
|
ioLink->value.instio.string);
|
||||||
return S_dev_badInitRet;
|
return S_dev_badInitRet;
|
||||||
|
Reference in New Issue
Block a user