Compare commits

...

7 Commits

33 changed files with 88 additions and 49 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

BIN
doc/PSI.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: aai Records</h1>
<h1>aai Records</h1>
<p>
<b>Note:</b> aai record support is disabled per default.
Enable it in <code>src/CONFIG_STREAM</code>.

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: aao Records</h1>
<h1>aao Records</h1>
<p>
<b>Note:</b> aao record support is disabled per default.
Enable it in <code>src/CONFIG_STREAM</code>.

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: ai Records</h1>
<h1>ai Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: ao Records</h1>
<h1>ao Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: bi Records</h1>
<h1>bi Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: bo Records</h1>
<h1>bo Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: calcout Records</h1>
<h1>calcout Records</h1>
<p>
<b>Note:</b> Device support for calcout records is only available for

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Using EPICS 3.13</h1>
<h1>Using EPICS 3.13</h1>
<a name="pre"></a>
<h2>1. Prerequisites</h2>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Format Converter API</h1>
<h1>Format Converter API</h1>
<a name="class"></a>
<h2>Converter Class</h2>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Format Converters</h1>
<h1>Format Converters</h1>
<a name="syntax"></a>
<h2>1. Format Syntax</h2>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: longin Records</h1>
<h1>longin Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: longout Records</h1>
<h1>longout Records</h1>
<h2>Normal Operation</h2>
<p>

35
doc/makepdf Executable file
View File

@ -0,0 +1,35 @@
PAGES="
index.html
setup.html
epics3_13.html
protocol.html
formats.html
processing.html
recordtypes.html
aai.html
aao.html
ai.html
ao.html
bi.html
bo.html
mbbi.html
mbbo.html
mbbiDirect.html
mbboDirect.html
stringin.html
stringout.html
longin.html
longout.html
waveform.html
calcout.html
scalcout.html
tipsandtricks.html
recordinterface.html
businterface.html
formatconverter.html
osinterface.html
"
rm -f stream.pdf
wkhtmltopdf --print-media-type --dpi 1200 --zoom 0.85 --page-size Letter \
$PAGES stream.pdf

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: mbbi Records</h1>
<h1>mbbi Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: mbbiDirect Records</h1>
<h1>mbbiDirect Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: mbbo Records</h1>
<h1>mbbo Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: mbboDirect Records</h1>
<h1>mbboDirect Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Operating System API</h1>
<h1>Operating System API</h1>
<h2>Sorry, this documentation is still missing.</h2>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Record Processing</h1>
<h1>Record Processing</h1>
<a name="proc"></a>
<h2>1. Normal Processing</h2>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Protocol Files</h1>
<h1>Protocol Files</h1>
<a name="gen"></a>
<h2>1. General Information</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Record API</h1>
<h1>Record API</h1>
<h2>Sorry, this documentation is still missing.</h2>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Record Types</h1>
<h1>Record Types</h1>
<h2>Supported Record Types</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: scalcout Records</h1>
<h1>scalcout Records</h1>
<p>
<b>Note:</b> The scalcout record is part of the <i>calc</i> module of

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Setup</h1>
<h1>Setup</h1>
<a name="pre"></a>
<h2>1. Prerequisites</h2>

View File

@ -5,8 +5,9 @@ a:hover {color: #FF0000;}
body {
margin-right:1em;
margin-left:15em;
margin-top:11ex;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
margin-top:70px;
padding-top:1px;
font-family: Helvetica, Arial, sans-serif;
font-size:14px;
background-color:#ffffff;
}
@ -30,26 +31,26 @@ dt {
}
h1 {
font-size:225%;
font-size:250%;
margin-top:0;
font-style:italic;
font-family:serif;
font-weight:bold;
font-family:"Times New Roman", serif;
text-align:center;
position:fixed;
top:0;
left:0;
width:100%;
min-height:60px;
height: 4ex;
line-height:190%;
background-color:white;
border-top:6px solid #1b4486;
border-bottom:4px solid #1b4486;
border-width:0;
border-bottom:3px solid #1b4486;
white-space:nowrap;
background-image:url(PSI.gif);
background-image:url(PSI.png);
background-repeat:no-repeat;
background-position:10px 2px;
text-shadow: .1em .1em .1em lightgray;
background-position:10px 5px;
text-shadow:.1em .1em .1em darkgray;
box-shadow:0 .3em .1em -.2em darkgray;
}
h2 {
@ -91,7 +92,7 @@ code {
position:fixed;
left:0;
top:0;
padding-top:9ex;
padding-top:70px;
width:14em;
height:100%;
border-style:solid;
@ -115,13 +116,9 @@ a[target=ex]:hover:after {
}
@media print {
a:link {color: black; text-decoration:none;}
a:visited {color: black; text-decoration:none;}
a:hover {color: black; text-decoration:none;}
a[target=ex] {text-decoration:underline;}
a:link {text-decoration:none;}
a[target=ex]:after {content:" [" attr(href) "]";}
code {color: black; }
body {margin-left:10px;}
h1 {position:absolute;}
body {margin:0 4em;}
h1 {position:relative; background-position:0 0;}
#navleft {display:none;}
}

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: stringin Records</h1>
<h1>stringin Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: stringout Records</h1>
<h1>stringout Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: Tips and Tricks</h1>
<h1>Tips and Tricks</h1>
<a name="argvar"></a>
<h2>I have many almost identical protocols</h2>

View File

@ -10,7 +10,7 @@
</head>
<body>
<iframe src="nav.html" id="navleft"></iframe>
<h1>StreamDevice: waveform Records</h1>
<h1>waveform Records</h1>
<h2>Normal Operation</h2>
<p>

View File

@ -270,7 +270,7 @@ epicsExportRegistrar(streamRegistrar);
struct stream_drvsup {
long number;
long (*report)(int);
DRVSUPFUN init;
long (*init)();
} stream = {
2,
Stream::report,

View File

@ -64,6 +64,13 @@ int timezone = 0;
} while (0)
#endif
#if defined(__MINGW32__)
/* MinGW has no re-entrant localtime. How about other environments? */
/* Just let's hope for the best */
#undef localtime_r
#define localtime_r(timet,tm) (*(tm)=*localtime(timet))
#endif
class TimestampConverter : public StreamFormatConverter
{
int parse(const StreamFormat&, StreamBuffer&, const char*&, bool);
@ -384,7 +391,7 @@ startover:
debug ("TimestampConverter::scantime: %s hour = %d\n", pm?"PM":"AM", tm->tm_hour);
break;
case 'M': /* minute */
i = nummatch(input, 1, 59);
i = nummatch(input, 0, 59);
if (i < 0)
{
error ("error parsing minute: '%.20s'\n", input);
@ -394,7 +401,7 @@ startover:
debug ("TimestampConverter::scantime: min = %d\n", tm->tm_min);
break;
case 'S': /* second */
i = nummatch(input, 1, 60);
i = nummatch(input, 0, 60);
if (i < 0)
{
error ("error parsing week second: '%.20s'\n", input);