650 Commits

Author SHA1 Message Date
099585fa91 merged with github/master 2018-05-23 11:17:44 +02:00
b0c8a14071 start Version 2.8 2.8-alpha 2018-05-23 11:05:27 +02:00
a9e0fb7beb add new utility function streamReportRecord 2018-03-20 17:33:53 +01:00
943787bc0c fix bug printing status of unprocessed records 2018-03-20 17:07:05 +01:00
0d5ababe55 fix bug in protocol printing 2018-03-20 16:54:34 +01:00
2a1f53a07a fix off-by-one error 2018-03-20 16:10:41 +01:00
7e2305c34d Move scalcout support to src dir 2018-03-20 11:56:07 +01:00
8000f41de8 handle new 64 bit data types 2018-03-19 17:12:57 +01:00
f0a1839548 Merge branch 'master' into cleanup_for_windows 2018-03-13 14:07:39 +01:00
76115ae959 silence C++11 compiler warning 2018-03-13 14:05:37 +01:00
091cfde2a2 silence compiler warning 2018-03-13 14:04:28 +01:00
b77ca836b2 cleanup header usage for windows 2018-03-13 09:47:17 +01:00
35edb61f9c cosmetic changes 2018-02-28 12:05:56 +01:00
a1561af520 Merge pull request #8 from krisztianloki/master
Fix for 'Not interpreted format conversions' accepted.
2018-02-28 12:01:07 +01:00
da174b099e Do not encode formats during recursion
Encoding a format involves replacing it with binary encoded information
that contains a NULL byte. This null byte terminates the search for
subsequent formats. This means that if the encoding is done when
the recursion depth is greater than 0, no format will be recognized as
such when the recursion depth decreases.

A real life manifestation of this bug:

wont_work {
  prefix = "@" "%3c" "ACK";
  in $prefix "%s";
}

The "%s" will be interpreted as literal '%' followed by 's'.
What happens here is that the variable $prefix will be replaced (by
recursively calling compileString()) with "@%3cACK" in the first step
and in the second step the format conversion will be replaced with a
binary encoding (sg like "<03>3c<00>..."). That NUL byte will cause the
search for '%' (in the parent compileString()) to stop, leaving the "%s" intact.

The fix is simple; defer the format encode until everything else is done.
To preserve binary compatibility a new private function is introduced
instead of changing the signature of the exising one.
2018-02-27 16:43:13 +01:00
bcbe749d80 Print the mismatching characters to ease debugging 2018-02-26 16:35:54 +01:00
524aad05a0 Merge pull request #5 from bfrk/master
avoid repeated messages for errors from asyn layer
2018-01-08 09:23:27 +01:00
ca01ba7c35 Avoid repeated messages for errors from asyn layer
This is done by remembering the last asynStatus in the AsynDriverInterface
object. In certain selected places, namely when pasynManager->queueRequest
or pasynCommon->connect is called, we report an error only if the new status
differs from the last one. This gives us just one message when the failure
occurs (or when the operation is tried for the first time) and another
message when the status returns back to asynSuccess.

Note this is currently limited to AsynDriverInterface. If a device is online
but responds in unexpected ways (including not at all) StreamDevice will
still report errors repeatedly whenever records are processed. Fixing this
is very well possible but beyond the scope of this patch.
2017-11-27 19:03:26 +01:00
f2ceb71c2b Fixed indentation of a do-while loop in AsynDriverInterface.cc 2017-11-27 19:03:18 +01:00
4feb14ea35 Merge branch 'master' into 2-8 2017-11-03 15:29:45 +01:00
2830f07324 update version number 2017-11-03 13:46:08 +01:00
abd8daafc3 escape all non-ascii chars to avoid problems with UTF terminals 2017-11-03 13:41:38 +01:00
489e783872 Don't change EOS if not necessary. And some improved diagnostics 2017-11-03 13:40:47 +01:00
10d1fa8b02 do not run exceprion handlers from @init 2017-11-02 09:18:24 +01:00
c8bffebfc6 fix version number 2017-11-02 09:17:47 +01:00
97f6beb3ae add rule to install PDF 2017-08-16 10:52:48 +02:00
b80261ba16 source code repo ignore generated pdf file 2017-06-14 17:10:15 +02:00
6a114b2c2c check if wkhtmltopdf is installed, else print message 2017-06-14 17:07:38 +02:00
bf29238762 fix page break in <pre> boxes 2017-06-14 17:07:03 +02:00
13d1fb2ca0 fix formatting problem 2017-06-14 17:06:38 +02:00
cc1ab5685c update documentation 2017-03-21 15:03:13 +01:00
370b3cd8c4 Merge branch 'master' of /tmp/StreamDevice 2017-01-30 16:47:53 +01:00
3a034f843d add examples for 3.14.8 and 3.13.10 to RELEASE 2017-01-30 16:43:27 +01:00
2de8e916b2 add standalone stuff for 3.13 build 2017-01-30 16:41:03 +01:00
6044edfdd9 Merge branch 'master' of github.com:paulscherrerinstitute/StreamDevice 2017-01-30 12:03:24 +01:00
836388cd22 Merge pull request #4 from hhslepicka/write_mbbo_fix
Removing conflict at write in devmmboDirectStream.c
2017-01-30 12:01:47 +01:00
2685a43760 Format %0s pads with null bytes instead of spaces 2017-01-30 11:58:04 +01:00
0eed3ee9c7 for 3.13 compatibility don't use epicsVsnprintf 2017-01-30 11:55:13 +01:00
c5e3e89e44 remove compiler warning 2017-01-30 11:54:43 +01:00
1f27983505 Removing conflict at write in devmmboDirectStream.c 2017-01-27 12:07:19 -08:00
146a8c895f old compilers complain about comma at end of enum list 2017-01-25 17:17:42 +01:00
efd5a0cbcd some compatibility work 2017-01-25 16:40:58 +01:00
2968231b60 renamed doc to documentation so that make distclean does not delete it 2017-01-25 16:13:18 +01:00
ea2238aa53 fix for previous change 2017-01-25 15:57:24 +01:00
d22e1a5f4a make compatible to 3.14.8- and remove duplicate code 2017-01-25 15:28:46 +01:00
31189ebecf move scalcout to src 2017-01-25 15:02:24 +01:00
d42e5a7a9e fixes for 3.13 2017-01-25 14:58:35 +01:00
e13aa2a96f add external modules 2017-01-25 14:42:35 +01:00
ae021ffeab update .gitignore with generated directories 2017-01-25 13:59:12 +01:00
5a9d89822f change macroname to simplify PSI GNUmakefile 2017-01-25 12:04:40 +01:00