Commit Graph

204 Commits

Author SHA1 Message Date
Andrew Johnson
f8d6cd98a0 Minor cleanups 2016-09-03 19:44:49 -05:00
Andrew Johnson
5fe3e8bfb5 Added calc link-type 2016-09-03 19:22:55 -05:00
Andrew Johnson
8d1c416551 Moved PV_LINK-specific code out of dbLink.c into link types
This required a change to the lset::getValue arguments, removing
the pstat and psevr pointers. Links can still return a non-zero
value from getValue and trigger a LINK:INVALID alarm, but for any
other alarm settings they must manipulate the record themselves.
2016-09-03 19:21:11 -05:00
Andrew Johnson
1e1c52cb69 Use new epicsStrnDup() API 2016-09-03 13:27:30 -05:00
Andrew Johnson
23c71e9965 Various improvements
* Added new lset::openLink() method, called on JSON_LINKs only
* Cleanup in dbJLink.c to prevent memory leaks.
* Removed jlif::start_parse() method.
* Renamed jlif::end_parse() to end_child, which will be called on
the parent link when a child link has succesfully finished parsing.
2016-09-01 23:21:23 -05:00
Andrew Johnson
3992d4b92a Split dbJLinkInit, JLinks are now parsed at load-time 2016-09-01 00:56:26 -05:00
Andrew Johnson
40a3a66745 Added loadLS routine to lset
The long string in/out records use a different initializer
for constant links. The new loadLS method allows a constant
link type to initialize such a long string field.

NB: This routine was added in the middle of the lset table.
Any external link support implementations must be adjusted.
2016-08-31 00:36:23 -05:00
Andrew Johnson
d0dcd61b23 Add code for arrays of strings 2016-08-30 23:03:08 -05:00
Andrew Johnson
5ec0633282 Pass link dbfType to jlif allocator; needed! 2016-08-30 01:13:15 -05:00
Andrew Johnson
7edc0c67ca JSON Links implementation
The lnkConst.c implementation is not yet complete, no support for arrays of
strings (JMOP).

Link error messages should display their record & field name, which is not yet
possible.

The ability to embed links as parameters to other link types is not complete
yet; this will be required for the calc link type.

This code currently passes all existing tests, but additional tests are needed
for the new functionality.
2016-08-29 01:12:09 -05:00
Andrew Johnson
056edc0d8a Undo buggy change 2016-08-28 23:41:35 -05:00
Andrew Johnson
37b6cbb50c Use new dbLink APIs instead of checking link.type 2016-08-27 16:30:48 -05:00
Andrew Johnson
bed1c618a8 Use dbPutLinkAsync() in all output SoftCallback dev's 2016-08-13 21:53:31 -05:00
Andrew Johnson
fe71fc98b8 Undo a small & unnecessary behaviour change 2016-08-12 23:53:42 -05:00
Andrew Johnson
d3a9ba7701 Fix issues related to const array initialization 2016-08-12 23:21:26 -05:00
Andrew Johnson
fb785e45c7 Adjust record and device support for array constants 2016-08-10 12:53:39 -05:00
Andrew Johnson
d1986edd9e Simplify link-type checks in record supports 2016-06-02 22:22:11 -05:00
Andrew Johnson
7627454f63 Simplify link-type checks in soft device supports 2016-06-02 22:02:54 -05:00
Andrew Johnson
6a592dc2c0 Support "link(name, lset)" syntax in DBD files
Both Perl and dbStaticLib support included.
Also added a new std/link directory for link types.
Nothing looks up the registered link support tables yet.
2016-05-08 22:57:42 -05:00
Andrew Johnson
c888b4b6f0 Merged changes from 3.15 branch, to revno 12738 2016-03-30 12:39:36 -05:00
Andrew Johnson
59fea64390 Add missing dependencies for Test.dbd files 2016-03-16 13:10:17 -05:00
Andrew Johnson
f260124733 Ensure mbb* MASK calculated properly 2016-03-10 13:05:00 -06:00
Michael Davidsaver
5d42e60745 rec/test: asTest fixup rtems test harness
Since this test has device support it must appear in a
DLL for windows dynamic builds.
However, the rRDD function is in the executable,
and not accessible here.  So use iocsh.
For rtems/vxworks the test harness clears
iocsh registrations, so iocsh can't work here.
2016-02-29 20:43:40 -05:00
Michael Davidsaver
e01d4b14d6 rec/test: add missing TESTFILES 2016-02-29 20:37:25 -05:00
Andrew Johnson
0f6f833e91 Merged link-support branch 2016-02-29 13:48:18 -06:00
Andrew Johnson
c08df82898 Merged compress branch 2016-02-29 13:24:16 -06:00
Andrew Johnson
f0c56bcbba Merged 3.15 changes, to revno 12731 2016-02-26 18:16:26 -06:00
Andrew Johnson
3304470323 Merged the rsrvbindiface branch 2016-02-26 14:15:22 -06:00
Andrew Johnson
4f2f910d09 Added extern "C" wrappers to clean up some Solaris warnings 2016-02-26 13:50:39 -06:00
Andrew Johnson
5ee778b0c2 Merged changes from Base-3.14, to revno 12613 2016-02-25 14:13:40 -06:00
Michael Davidsaver
2be59e985d Avoid race in linkRetarget
Add dbCaSync() to avoid a race between a call to dbCaGetField()
and the link becoming connected.
2016-02-16 15:07:40 -05:00
Andrew Johnson
d3e046a466 Document [s:e] and [s] filter usage 2016-02-12 14:20:33 -06:00
Andrew Johnson
0fb923186a Merged dbentrybuf branch 2016-02-10 14:27:38 -06:00
Andrew Johnson
87759d1c1d Merged Michael's valgrind branch 2016-02-08 18:01:59 -06:00
Andrew Johnson
1c1eb030a9 Improve casr() output 2016-01-27 17:59:38 -06:00
Michael Davidsaver
f814398d77 std/rec/test: add compressTest
test circular buffer mode for FIFO and LIFO
2016-01-13 20:58:58 -05:00
Michael Davidsaver
d2e4fcbbac compressRecord: LIFO doesn't zero pad
Change handling of OFF so that reading a partially
populated buffer doesn't pad with zero.

Simplify put_value() and get_array_info()
2016-01-13 20:58:58 -05:00
Michael Davidsaver
4cca4673ca compress: copy some text from RRM wiki
Still a lot remaining.  No idea what to do about the images.
2016-01-13 20:58:58 -05:00
Michael Davidsaver
840da801fb std/filters: arr wrap on capacity not length 2016-01-13 20:58:58 -05:00
Michael Davidsaver
e227ae3590 update asTest
test dbGetString()
and fix cleanup order
2016-01-12 11:37:01 -05:00
Andrew Johnson
9779d6987c Merged Michael's dbunittestmonitor branch 2016-01-07 13:22:43 -06:00
Michael Davidsaver
b7c2815c21 linkRetargetLinkTest set number of tests 2016-01-07 14:08:51 -05:00
Michael Davidsaver
d94840ae6c std/filter: plugins cleanup freeList 2015-12-21 13:44:23 -05:00
Andrew Johnson
2ec5c80652 Fix internal anchor in filters.pod 2015-10-13 18:39:50 -05:00
Andrew Johnson
c4b128dfff Merged changes from 3.15 branch, to revno 12702 2015-09-18 18:13:58 -05:00
Andrew Johnson
c74eb27474 Merged changes from 3.14 branch, to revno 12604 2015-09-18 11:51:51 -05:00
Michael Davidsaver
fc775d76aa asTest: copy+paste error
Didn't remove all use of local variable
2015-09-07 15:37:46 -04:00
Michael Davidsaver
655735fa13 asTest: fix link with mingw
This test has device support, which the registerRDD script
always emits as dllimport, so it fails to link if the dsets
are part of the executable itself.

Use iocsh to avoid calling the RDD function directly since
a DLL can't link against functions in the main executable.
2015-09-07 15:06:02 -04:00
Michael Davidsaver
51f0a4509b std/rec/test: missing testdbPrepare() 2015-08-27 15:43:05 -04:00
Michael Davidsaver
4544be090d std/rec/test: add linkRetargetLinkTest 2015-08-27 12:13:49 -04:00