Commit Graph

104 Commits

Author SHA1 Message Date
Michael Davidsaver
051ba20fe1 fix registerAllRecordDeviceDrivers() prints 2020-08-22 07:50:40 -07:00
Michael Davidsaver
d6cf29e942 add HAS_registerAllRecordDeviceDrivers 2020-08-22 07:50:40 -07:00
Michael Davidsaver
e40970bd5e rename dynamic_registerRecordDeviceDriver -> registerAllRecordDeviceDrivers 2020-08-22 07:50:40 -07:00
Michael Davidsaver
8d98387245 add dynamic_registerRecordDeviceDriver()
Use epicsFindSymbol() to build a dynamic and idempotent equivalent
to the code generated by registerRecordDeviceDriver.pl

Also add runRegistrarOnce() to prevent registrars
from running multiple times, except from unittest code.
2020-08-22 07:50:40 -07:00
Andrew Johnson
3c99391d93 Added SPDX License ID to all EPICS-original source files
In some cases the license-identification header was missing,
so I added that as well. Replaced the remaining headers that
specifically identified "Versions 3.13.7 and higher".

Makefiles and the build system were deliberately excluded.
2020-08-03 11:53:01 -05:00
Ralph Lange
7d2e352f6a Merge changes from 3.15 branch into 7.0
- merged 3.15 branch up to bf7a1605

# Conflicts:
#	modules/database/src/ioc/db/dbChannel.c
2020-07-15 11:46:45 +02:00
Michael Davidsaver
dcee015f71 validate alias names as well 2020-06-29 14:44:04 -07:00
Michael Davidsaver
fddd65ccb1 yet more record name validation 2020-06-29 11:33:21 -07:00
Michael Davidsaver
7f9fefc2a4 Further record name validation 2020-06-26 13:22:11 -07:00
Michael Davidsaver
b34aa594c8 popFirstTemp() may return NULL
This indicates an earlier error, which should already
been printed.
2020-06-22 12:09:26 -07:00
Michael Davidsaver
3124d972bf fix crash on bad record name 2020-06-22 12:09:26 -07:00
Michael Davidsaver
49889d8549 Extend record name validation
Begin enforcing earlier check (and tab).
Add new warning for record names beginning
with numeric or '{'.
2020-06-22 12:09:26 -07:00
Andrew Johnson
b8f0fd4cdb Make BKPT field an epicsUInt8 for consistency
It was the last 'char' field in dbCommon and the Base record types.
2020-06-12 17:11:34 -05:00
Michael Davidsaver
786c4c2ca2 Revert "dbRecordtypeFieldItem() avoid excess strcmp()"
This reverts commit 48eb4ff4ac.
2020-06-02 11:26:07 -07:00
Michael Davidsaver
48eb4ff4ac dbRecordtypeFieldItem() avoid excess strcmp()
only one is going to match.
2020-06-02 07:55:22 -07:00
Michael Davidsaver
6c914d19c3 db: validate dbrType 2020-06-02 07:55:22 -07:00
Michael Davidsaver
d6f8e9038c getLinkValue() use dbInitEntryFromAddr()
Called from dbGet().  Optimize hash table lookup
and bsearch of array to O(0) assignment.
2020-06-02 07:55:22 -07:00
hir12111
0f88c67473 Add a getter function for field_type 2020-05-21 12:06:56 -07:00
Michael Davidsaver
4c192e7bba Merge remote-tracking branch 'githubrl/doc-sim-mode' into 7.0
* githubrl/doc-sim-mode:
  doc: update simulation parameters sections in dbds
  doc: add description of improved simulation mode

# Conflicts:
#	modules/database/src/std/rec/mbboRecord.dbd.pod
2020-05-21 11:42:24 -07:00
36a8b51d8e CleanupWhitespace
removed spaces at end of line

replaced tabs with spaces
2020-05-20 14:48:09 -07:00
Michael Davidsaver
799e72b1e3 libCom: actually use libComAPI.h in libCom 2020-05-20 14:47:51 -07:00
Ralph Lange
b0cd3518e4 doc: add description of improved simulation mode
- improve sections in dbCommonInput/dbCommonOutput
2020-05-20 19:48:22 +02:00
Michael Davidsaver
a9934792a0 Merge remote-tracking branch 'lp-anj7/expanded-rules' into 7.0
* lp-anj7/expanded-rules:
  Generate module version files with new RULES_EXPAND facilities
  Extend RULES_EXPAND to add more features
  More generator doc updates
  Document <library>_API = <stem> for Makefiles
  Convert epicsShareAPI to epicsStdCall in modules/ca
  Update generator script
  Modify rules to allow multiple API.h libraries to be built
  Convert modules/ca to use LIBCA_API instead of epicsShare
  Try out a representative sample of APIs from multiple libraries
  Add build rules to generate and install *API.h header files
  Add script to generate *API.h headers
2020-04-30 11:34:34 -07:00
Michael Davidsaver
bc595e3a70 Merge remote-tracking branch 'lp-anj7/typed-dsets' into 7.0
* lp-anj7/typed-dsets:
  Bump database version to 3.18.0, use in SHRLIB_VERSION
  Adjust example code in devSup.h
  Set USE_TYPED_DSET centrally now everything uses it
  Update the wording of the Release Notes entry
  - Record updates:   . histogramRecord   . eventRecord   . aaiRecord   . aaoRecord
  - Record updates:   . aoRecord   . biRecord   . boRecord   . mbbiRecord   . mbbiDirectRecord   . mbboRecord   . mbboDirectRecord   . longinRecord   . longoutRecord   . stringoutRecord   . stringinRecord   . waveformRecord   . calcoutRecord   . subArrayRecord
  initial typed-dset changes for ao record
  Add Release Notes entry about dsets
  Export and use aidset, set USE_TYPED_DSET
  Remove duplicated include line
  Add HAS_<record>dset macros to allow detection
  Export and use int64outdset, set USE_TYPED_DSET
  Export and use int64indset, set USE_TYPED_DSET
  Modify lsodset, set USE_TYPED_DSET
  Modify lsidset, set USE_TYPED_DSET
  Modify printfdset, set USE_TYPED_DSET
2020-04-30 11:26:08 -07:00
Michael Davidsaver
5d5e552a7e de-init hooks 2020-04-29 16:40:16 -07:00
Hinko Kocevar
8709fbb63f add missing newline 2020-04-29 16:35:34 -07:00
Michael Davidsaver
ce4fb6085f iocsh: add usage messages 2020-04-24 20:28:00 -07:00
Michael Davidsaver
f1cbe93b6c Revert "replace most internal getCurrent() -> getMonotonic()"
This reverts commit 4f2228fb1d
except for some test code.
2020-04-24 15:37:48 -07:00
Andrew Johnson
85d1982890 Merge changes from 3.15 branch into 7.0 2020-04-15 21:39:54 -05:00
Michael Davidsaver
a8b2bc5c3b asCa.c normalize indentation
whitespace only
2020-03-23 18:24:44 -07:00
Michael Davidsaver
bac8851132 Revert "asCaStop() join worker thread"
This reverts commit afc31f2f06.

# Conflicts:
#	modules/database/src/ioc/as/asCa.c
2020-03-23 18:22:16 -07:00
Andrew Johnson
5009f288ae Generate module version files with new RULES_EXPAND facilities
Also removes the separate *VersionNum.h@ templates
2020-03-20 12:03:14 -05:00
Andrew Johnson
0cf38bfb29 Try out a representative sample of APIs from multiple libraries 2020-03-07 01:32:36 -06:00
Andrew Johnson
e13b01208b Bump database version to 3.18.0, use in SHRLIB_VERSION 2020-03-06 23:28:57 -06:00
Andrew Johnson
048689d6db Adjust example code in devSup.h 2020-03-06 23:20:55 -06:00
Gabriel Fedel
6feb1c788d Add extern C for all c headers
This allow that these files could be imported to c++ correctly
2020-02-13 14:21:54 +00:00
Karl Vestin
66f2a509db Added initialization of alarm severity on probe. This value is not used, but should be initialized regardless. This was flagged as an error by the Codacy static code analysis.
Codacy link: https://app.codacy.com/gh/epics-base/epics-base/file/42103575016/issues/source?bid=16430872&fileBranchId=16430872#l604
Launchpad bug: https://bugs.launchpad.net/epics-base/+bug/1862918

LP: #1862918
2020-02-13 13:22:00 +00:00
Michael Davidsaver
e6810a4224 processTarget() remove unnecessary NULL test
psrc and pdst will always be non-NULL
2020-02-12 11:16:33 +00:00
Michael Davidsaver
f0bf61b4cb rsrv: improve monitor/get error message 2020-02-12 11:16:26 +00:00
Michael Davidsaver
468f965dc2 dbLoadTemplate.h missing extern "C" 2020-01-05 17:52:43 -08:00
Michael Davidsaver
1290ab7c6c dbInitEntry() w/o matching dbFinishEntry() 2019-11-24 19:39:42 -08:00
Michael Davidsaver
156b137af0 avoid 'struct dset'
doesn't work if -DUSE_TYPED_DSET
2019-11-15 21:11:27 -08:00
Michael Davidsaver
fab9c52858 missing includes
Need definition of FILE
2019-11-15 21:11:27 -08:00
Michael Davidsaver
a4e5b9c528 minor 2019-11-13 10:19:16 -08:00
Michael Davidsaver
b43aafae70 VCS version instead of __DATE__
Use reproducable VCS version instead of date.
Of course, this falls back to a date if not
version controlled.
2019-11-13 10:18:12 -08:00
Michael Davidsaver
905ca4b7ac quiet some warnings 2019-11-13 10:17:43 -08:00
Andrew Johnson
171b3301a7 Fix ..// => ../ in Makefile-relative source paths 2019-10-28 15:00:15 -05:00
Andrew Johnson
e178fa85b6 Merge 7.0 back into 7.0
Insert tab B back into slot A ...
2019-10-28 13:30:58 -05:00
Andrew Johnson
3e7e26d8d7 Merge 3.15 branch into 7.0 2019-10-28 01:03:12 -05:00
Michael Davidsaver
fc04d12578 Merge remote-tracking branch 'zimoch/iocLogClientFixesTry2' into 7.0
* zimoch/iocLogClientFixesTry2: (22 commits)
  use EPICS_PRIVATE_API macro and fix bug with darwin/ios
  renamed epicsSocketCountUnsentBytes to epicsSocketUnsentCount and moved it to osi/os/
  fix bug from commit f85454. Apparently epicsExportSharedSymbols is needed even though epicsExport.h is included
  epicsSocketCountUnsentBytes returns -1 on failure
  bugfix: memmove'ed to much
  epicsSockCountUnsentBytes renamed to epicsSocketCountUnsentBytes
  moved logClientSendMessage and made it static
  fix wrong function name in comment
  sending 0 bytes helps to detect broken connections on some systems (but is undefined behavior on Linux, fails on vxWorks and is a documented no-op on Windows)
  cannot print sockets with %d in Windows, they are not small ints but maybe pointers.
  ask logClient socket how many bytes are still in the send queue and don't discard them in case the connection turns out broken.
  use dynamic debug flag for logClient
  increase error message buffer size for long (Windows) error messges
  improve logClientShow to show unsent bytes on level 2 (and fix level 1)
  removed unneeded include
  no need to delay startup only because log server is currently not available
  send pending log messages directly after connecting
  avoid needless memmove calls
  elimitate duplicate code in logClient
  do not discard unsent messages when log server has closed connection, instead try to send them after reconnect
  ...
2019-10-24 10:22:07 -07:00