Commit Graph

9834 Commits

Author SHA1 Message Date
Michael Abbott
e54b631b8d Guard memset in camessage.c to prevent wild memory overrun if mismatch
between payload and data size.
2010-08-11 16:49:46 -05:00
Michael Abbott
9d9ba1a442 Add CA message header size optimisation.
If a packet is sufficiently small it can be worth the small
optimisation of saving the 8 bytes in a large packet header.
2010-08-11 16:42:44 -05:00
Michael Abbott
30f0871c2b Drive-by refactoring in caserverio.c
Minor refactoring of code block in cas_copy_in_header() to gather
common header code.
2010-08-11 16:41:15 -05:00
Michael Abbott
aa23ab63f1 Add autosizing array support for caget and camonitor. 2010-08-11 16:39:52 -05:00
Michael Abbott
e87bbef75c Update rsrv to support V4.13 protocol extension.
The rsrv server is updated in this commit to deliver variable sized
waveforms in response to a zero length request, implementing an
extension to the v4 EPICS protocol tied to minor version 13.

The core of the changes are in read_reply, rsrv/camessage.c, which first
reserves packet space for the largest possible response, but then resizes
the packet according to how much data is actually returned from the
database.
2010-08-11 16:38:49 -05:00
Michael Abbott
a0c0c55347 Client side support for automatic resizing arrays.
In this commit the channel access client is modified to allow a zero
size request in a caget or camonitor call.  This is passed through to
the corresponding CA_PROTO_READ_NOTIFY or CA_PROTO_EVENT__ADD message,
but only if the minor version of the protocol is >=13.

This commit also adds a new protocol test, CA_V413(), which detects a
server which claims to understand the new zero length request.

Finally, this commit prepares for a subtle change in the CA protocol.
A request for a zero length subscription or data request, which will
only be made for protocol version 4.13 and above, is interpreted as a
request for autosized data, where the intrinsic dynamic length of the
requested waveform should be returned.

With the synchronous ca_array_get() call there is no mechanism available
to pass back the size of the retrieved data if it is different from
the requested count, so the simplest thing is to ensure we don't
request autosizing data through this api.
2010-08-11 16:22:54 -05:00
Andrew Johnson
a0fb7fbed7 Clean up warnings from vxWorks 6.8.
Added back the -include vxWorks.h option for gcc with vxWorks 6,
it resolves many warnings about OFFSET being redefined.
2010-08-11 10:45:17 -05:00
Andrew Johnson
eda402cf66 Merged Ralph's ca-over-tcp branch.
Fixed some vxWorks compile errors, and made a number of edits
to the HTML in the CAref.html documentation.
2010-08-10 16:05:46 -05:00
Andrew Johnson
cc95161af0 Merged base-tests branch from epics-base-testing team.
Modified testspec output to omit Tests: line when empty
Added testspec generation to src/db/test/Makefile.
2010-08-04 14:16:14 -05:00
Andrew Johnson
2bb4e63d1e Clean up munch.pl, add -o option
chmod -x src/tools/*.pl
2010-07-29 14:58:14 -05:00
Andrew Johnson
0f431edbe6 Add support for vxWorks 6.8. 2010-07-29 12:39:54 -05:00
Andrew Johnson
f29bdb9d6e Solve C++ exception problems in vxWorks 6.x:
* Use a linker script when generating .munch files
 * Output exception handler frame registration code in _ctdt.c files
2010-07-29 12:35:53 -05:00
Eric Norum
31326b8b9f Add RTEMS R4.10 support 2010-07-23 09:21:02 -07:00
unknown
6cfb241404 Fix RTEMS build issue finding close() 2010-07-19 14:01:41 -05:00
unknown
1660dcac9c Removed trailing ';' from dbGetSevr macro definition. 2010-07-19 09:49:01 -05:00
Janet Anderson
61733489e8 Don't use manifest tool for MS Visual C++ 2010 (and later) builds. 2010-07-12 14:54:51 -05:00
Andrew Johnson
8fb472b710 Add "Test Asyn" device definitions for the aai and aao record types. 2010-07-09 11:51:11 -05:00
Andrew Johnson
55609154ce Merged Dirk Zimoch's fix-aai-and-aao branch
Fixed async processing for both aai and aao record types.
2010-07-08 12:56:25 -05:00
Dirk Zimoch
0102b4bbc0 Merged with mirror-3.14 2010-07-07 19:42:08 +02:00
Dirk Zimoch
7f7bc289f3 Bugfix: use SIMS for simulation severity 2010-07-07 19:20:01 +02:00
Janet Anderson
40b83759de Added dBStatic to cas depend dirs. Needs alarm.h 2010-07-06 17:23:24 -05:00
Andrew Johnson
1fbdb067f2 Merged Ronaldo Mercado's capr branch, with fixes by anj. 2010-07-02 11:57:57 -05:00
Andrew Johnson
cfb8e694a5 Several cleanups.
* Fixed number base issue
* DBD file parser accepts spaces
* Added -w seconds option for CA timeout
* Improved argument parsing
* More perlish, should start up faster
2010-07-02 11:34:38 -05:00
Andrew Johnson
c33607f2d2 Merged Michael's devlib-cleanup branch 2010-07-01 11:59:22 -05:00
f1ba442133 Store original INP/OUT text in link in case DTYP changes later. 2010-06-22 17:35:48 -05:00
Michael Davidsaver
320ff29c4a Fix bad string handling in makeBpt.
This behaved badly when confronted with windows CR+LF end of lines.
Using fgets() left a stray CR at the end of the returned string.
2010-06-22 11:43:42 -05:00
Ralph Lange
60be4921c8 Fix: Replaced C++ reserved word 'new' as variable name. 2010-06-16 15:58:00 -04:00
Ralph Lange
bb740373bc Fix: Replaced C++ style comments in C code with standard C comments. 2010-06-16 15:46:09 -04:00
Michael Davidsaver
5ce74f2a41 include compatibility definition of pdevLibVirtualOS 2010-05-28 12:04:46 +01:00
Dirk Zimoch
dd1a6f78a3 Merged with 3.14 2010-05-28 03:14:39 -07:00
Dirk Zimoch
87081ed7e3 removed temporary debug messages 2010-05-27 08:31:13 -07:00
Ronaldo Mercado
d93b28dab2 Fixes problems when the string to print contains '$' 2010-05-27 16:26:43 +01:00
Ronaldo Mercado
a24f6371ac Removes complaints when the string to print has dollars. 2010-05-27 16:24:09 +01:00
Dirk Zimoch
6960d4e5a4 hash based value change monitor added (like in waveform) 2010-05-27 07:45:21 -07:00
Dirk Zimoch
1691de69ba NORD/NELM issues fixed 2010-05-27 07:44:03 -07:00
Nick Rees
31790737e4 Added Andrews changes to RULES_BUILD to generate a hint file for the runner 2010-05-27 15:36:52 +01:00
Dirk Zimoch
dd04abbc1c added aai/aao soft support 2010-05-27 06:23:07 -07:00
Dirk Zimoch
f6035fd823 fixed simulation mode, buffer allocation during initialization, corruption of NELM 2010-05-27 06:22:35 -07:00
Dirk Zimoch
c4d0f1eb44 fixed simulation mode, buffer allocation during initialization, corruption of NELM 2010-05-27 06:22:15 -07:00
Ronaldo Mercado
5ad3391be2 create test cases from I02 beamline 2010-05-27 14:03:17 +01:00
Ronaldo Mercado
ba42c501df Simplistic solution to parser problems 2010-05-27 11:52:21 +01:00
unknown
8337b5063d Fix NULL handle issue 2010-05-27 05:47:07 -05:00
Michael Davidsaver
7d3986664e fix typo in rtems internal function names
Not externally visible so no reason not to fix
2010-05-27 09:35:29 +01:00
Ronaldo Mercado
07d51b65b2 consistently use double quotes 2010-05-26 23:49:21 +01:00
Ronaldo Mercado
31931330a8 removing ezca strings mapping 2010-05-26 23:20:36 +01:00
Michael Davidsaver
eaf07d4f05 copyright boilerplate for devLibVME 2010-05-26 17:17:26 +01:00
Ronaldo Mercado
ce4ba8bbaf Help or capr.pl 2010-05-26 00:10:06 +01:00
Ronaldo Mercado
b45e6b818e renaming variables and cleaning-up 2010-05-25 23:13:47 +01:00
Ronaldo Mercado
30a58e4d4c Default interest level, clean up
Removing one-parameter caget.
Interest level zero if not specified
2010-05-25 22:59:17 +01:00
Ronaldo Mercado
5dc869bbcc Require default dbd 2010-05-25 22:44:58 +01:00