Andrew Johnson
9726b9efc9
aSubRecord: Fix OVLA..OVLU POD field list
2020-10-12 15:34:43 -05:00
Bruce Hill
f1e83b22f2
Patch record processing routines to update timestamp before processing outlinks
2020-10-07 06:47:44 -07:00
Gabriel Fedel
3e891a12ff
Fix asub documentation: alarm happens when retunr status is < 0
2020-09-23 09:36:36 +02:00
Michael Davidsaver
11984633dc
conditional test of registerAllRecordDeviceDrivers()
2020-08-22 07:50:40 -07:00
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
bdd41cca13
move test of 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
2c389a90d1
test dynamic_registerRecordDeviceDriver()
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
b36e5262c7
const init a char array from a string value
2020-08-21 17:59:46 -05:00
Andrew Johnson
d7434eadc3
printf record: Document ll format modifier
2020-08-12 13:25:58 -05:00
Andrew Johnson
7cc246afc1
Modify database tests to use JSON5
...
(except for the tests that check parsing).
Remove escaped double-quotes in map keys where possible.
Replace escaped double-quotes with single quotes.
2020-08-09 00:33:07 -05:00
Andrew Johnson
75b89b40bf
Support single-quoted strings in dbStatic JSON5 values
...
Teach lexer to recognize them.
Strip leading & trailing quotes from string values.
Add some tests.
2020-08-09 00:33:07 -05:00
Andrew Johnson
b34d3c83fc
Add support for hex escapes to the dbStatic lexer
...
Only translate escaped chars that are inside a jsonSTRING value.
2020-08-09 00:33:07 -05:00
Andrew Johnson
0c800d4428
JSON5 in dbStatic: Update bare-word JSON keys
...
Our bare-word character set is wider than JSON5's. Quote any
keys containing the extra characters so YAJL can parse them,
but don't quote keys unnecessarily.
Tests for this behavior are in dbStaticTest.db
Adjust the other tests that read links parsed by the dbStatic
parser that used bareword keys, which are no longer quoted.
2020-08-09 00:33:07 -05:00
Andrew Johnson
0fca5fc8a9
JSON5 in dbStatic: Lexer support for NaN and Infinity
...
The JSON5 spec requires exact capitalization of these strings.
Other numeric parsers such as strtod() are usually more lenient.
2020-08-09 00:33:07 -05:00
Andrew Johnson
fe177e40fd
JSON5 in dbStatic: Add lexer support for hex integers
...
dbLex.l accepts hex notation in JSON numbers.
Tested in dbStaticTest.db as before.
2020-08-09 00:33:07 -05:00
Andrew Johnson
fa4af8b27d
JSON5 in dbStatic: Modify lexer's number support
...
dbLex.l acceps a leading or trailing decimal point with float/double
values and an explicit leading + on all numbers.
Tested in dbStaticTest.db but only passing tests.
2020-08-09 00:33:07 -05:00
Andrew Johnson
980711589a
database/test: Give xRecord fields of all numeric types
...
Extend dbStaticTest to check dbVerify() with all types.
2020-08-09 00:33:07 -05:00
Andrew Johnson
b2ef47573c
Drop TODOs from regression tests, hex now works in array values
2020-08-09 00:33:07 -05:00
Andrew Johnson
97edcfc289
simmTest.c: Allow the clock to not always tick
...
On some systems the wall clock may tick slowly, so we must allow
the time to not change at all between checks.
Show the time differences.
2020-08-03 18:03:05 -05: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
d1491e0860
Use JSON arrays in dbpf
2020-07-17 15:03:53 +02:00
7709239636
make sure put_array_info exists before using it
2020-07-17 09:26:55 +02:00
a9731b90f6
Don't freeze the shell when we are out of memory
2020-07-17 09:12:54 +02: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
12cfd418d6
fix dbPut to set target to INVALID/LINK alarm when writing empty arrays into scalars
2020-07-06 15:22:54 +02:00
Michael Davidsaver
dcee015f71
validate alias names as well
2020-06-29 14:44:04 -07:00
0a1fb25e6b
fix dbCaGetLink to fail when reading scalars from empty arrays
2020-06-29 22:23:21 +02:00
Michael Davidsaver
fddd65ccb1
yet more record name validation
2020-06-29 11:33:21 -07:00
473790124b
bugfix: ai SoftDevice should return error status when get fails
2020-06-29 14:54:39 +02:00
0353ede517
don't use epicsOldString
2020-06-27 16:05:54 +02: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
73b86d4921
prevent buffer overflow in dbpf
2020-06-22 13:23:26 +02:00
dec4fc30d9
bugfix in dbpf
2020-06-22 11:30:59 +02: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
3176651c71
fix dbGet to fail when reading scalars from empty arrays
2020-06-09 16:14:49 +02:00
f8035d8d5e
support arrays in dbpf
2020-06-09 10:56:58 +02:00
e4dcd3cefd
fix aSub record to support reading empty arrays
2020-06-09 10:56:52 +02:00
c4c13d8ce0
fix subArray soft device support to support reading empty arrays
2020-06-09 10:56:45 +02:00
19c50d4c3d
fix aai and waveform soft device support to support reading empty arrays
2020-06-09 10:56:34 +02:00
cc616371b1
allow constant links with numeric 1 element arrays like [42]
2020-06-08 15:05:22 +02: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