Commit Graph

76 Commits

Author SHA1 Message Date
Michael Davidsaver 98737e2c94 doc: unittest.h 2026-02-01 15:46:40 -08:00
Michael Davidsaver 444d1ff1f1 colorize outer exception printing 2026-01-05 14:40:26 -08:00
Michael Davidsaver 597330c949 ioc: fix PUT to scalar mapping
Mapping of eg. "X" needs update when "X.value" changes.
Check for if any children of "X" are marked.

Also send remote warning on attempt to write to unwritable field.
2026-01-05 14:40:26 -08:00
Michael Davidsaver 9a13662e08 rename dbpvar -> dbpvxr 2025-12-30 18:29:07 -08:00
Michael Davidsaver f764e00e16 rename pvaLinkNWorkers -> pvxLinkNWorkers 2025-12-30 18:24:25 -08:00
Michael Davidsaver cb62797198 rename lsetPVA -> lsetPVX 2025-12-30 18:24:25 -08:00
Michael Davidsaver 3f56736247 maybe fix DBD mis-generation
Add "pvxsIoc.dbd$(DEP):" rule to hopefully override
"%.dbd$(DEP)" rule in Base.

Also clean generated dbd
2025-12-26 15:17:24 -08:00
Michael Davidsaver 35c7cc5d15 ioc: add pvxs_log_config() and pvxs_log_reset() 2025-11-19 17:54:10 -08:00
Michael Davidsaver e8f33db1ed pva link use $EPICS_* 2025-10-01 15:09:49 -07:00
Gabriel Fedel 55d1b7292a fix: Fixing how the hostname is identified to consider IPv6 2025-06-11 15:32:47 -07:00
Michael Davidsaver d069f48837 ioc: record._options.process accept numeric values
remote log for record._options.process parsing
2025-06-11 15:32:47 -07:00
Michael Davidsaver fdef750252 remote log DBE parsing 2025-06-11 15:32:47 -07:00
Michael Davidsaver b0b8d60656 rename generated CONFIG_SITE to TOOLCHAIN
No longer generate CONFIG_SITE.Common.$(T_A),
which should never be generated...
2025-06-11 15:32:47 -07:00
Michael Davidsaver 847c548064 pvalink: AMSG when disconnected 2025-04-06 11:21:51 +01:00
Michael Davidsaver 2fef15f3ab pvalink: also copy AMSG with MS/MSI 2025-04-06 11:21:51 +01:00
Joao Paulo Martins f42bc97699 Fixed pvaGetLink for Union types; Added tests 2025-03-31 11:05:42 -07:00
Michael Davidsaver f2e49a8844 pvalink: control parse warnings with logging 2025-02-17 20:23:12 -08:00
Michael Davidsaver 691a5825ae ioc: fix DBE_ARCHIVE handling w/ singlesource
Stop ignoring DBE_ARCHIVE.
2025-02-12 17:46:49 -08:00
Michael Davidsaver 73c25448d0 oops...
didn't fully test 8502f91bb9
2024-12-11 17:01:32 -08:00
Rémi NICOLE 05f2b1864e fix: use prepare cleanup hooks when epics-base>=7.0.8.0 (#67)
fix: don't use prepare cleanup hooks for epics-base 7.0.7.0

the feature was added in 7.0.8.0
2024-12-11 16:39:54 -08:00
Érico Nogueira Rolim fb4a3b9dd1 ioc: improve group processing warning messages. (#90)
* ioc: improve group processing warning messages.

Missing newlines and quotes made it hard to parse warning messages.
2024-12-11 16:31:26 -08:00
Michael Davidsaver 8502f91bb9 iocsh dbLoadGroup() not immediate
and enforce ordering wrt. iocInit() and iocShutdown()
2024-12-11 15:55:42 -08:00
Érico Nogueira 7e031a20ff ioc: fix dbLoadGroups command.
Calling GroupConfigProcessor().loadConfigFiles() reads and clears
config.groupConfigFiles, and loads the JSON files before iocInit. When
loadConfigFiles() is called again from an init-hook,
config.groupConfigFiles is empty, and no JSON files are actually read,
so no groups in those files are loaded.

This change removes error messages at the point where dbLoadGroup is
called; errors are now displayed only during iocInit.
2024-12-11 12:03:41 -08:00
Michael Davidsaver a7d761d507 fix spelling 2024-10-13 17:38:28 -07:00
Michael Davidsaver 46ee1a6917 ioc: ACF fix write permit when groups are present
Allow operation if any credential is acceptable.
2024-07-08 11:05:44 -07:00
Michael Davidsaver 57f79ce747 workaround asTrapWrite clobbering dbChannel
Base asTrapWrite API unintentionally permits plugins to clobber
the dbChannel* passed by eg. calling some RSET callbacks directly.
2024-04-17 07:25:48 -07:00
Michael Davidsaver bf29d1a7cc 1.3.0a1 2023-12-06 10:06:18 -08:00
Michael Davidsaver 4cb39e3686 mark all callbacks from C as noexcept
These functions should already be catching all exceptions.
2023-11-21 12:20:34 -08:00
Michael Davidsaver 7e6463c200 codespell 2023-11-21 12:20:34 -08:00
Michael Davidsaver eddc687021 ioc: combine registrars and detect QSRV1
also consolidates initHook and epicsAtExit() hooks
into a single sequence.
2023-11-20 10:59:44 -08:00
Michael Davidsaver 6d1216daad pvalink: porting part 3
add pvalink json schema
avoid JSON5 in testpvalink for portability.
fixup build with pvalink
trap bad_weak_ptr open during dtor
  Not sure why this is happening, but need not be CRIT.
c++11, cleanup, and notes
fix pvalink test sync
fix test cleanup on exit
pvalink disconnected link is always INVALID
pvalink logging
pvalink capture Disconnect time
pvalink eliminate providerName
  restrict local to dbChannelTest()
  aka. no qsrv groups
pvalink onTypeChange when attaching link to existing channel
pvalink eliminate unused Connecting state
pvalink add InstCounter
pvalink AfterPut can be const
pvalink add atomic jlif flag
include epicsStdio.h later
  avoid #define printf troubles
assert cleanup state on exit
pvalink add newer lset functions
test link disconnect
testpvalink redo testPutAsync()
pvalink fill out meta-data fetch
pvalink fix FLNK
pvalink cache putReq
pvalink test atomic monitor
pvalink test enum handling
pvalink handle scalar read of empty array
  make it well defined anyway...
pvalink test array of strings
handle db_add_event() failure
handle record._options.DBE
2023-11-20 10:59:44 -08:00
Simon Rose 5f48325890 pvalink: porting part 2
Fix pvaGetValue for string scalars
Remove pvaLink* variables
Move close() call to pvaGlobal_t from worker queue
Removed latch state
Update .gitignore to ignore VS code configuration
Add lset(pva) support for base 7.x
Remove pvalink support for base 3.x
Update cached value object in pvaLinkChannel::run
Removing queued state from pvaLikeChannel
Add debug functionality
Rename internal fields to match json spec
prepare for puts
Fix array response size
Add tests for pvalink properties
2023-11-20 10:59:44 -08:00
Michael Davidsaver c00938600e pvalink: porting part 1 2023-11-20 10:59:44 -08:00
Michael Davidsaver 1dcdd8e61a pvalink: import existing
from pva2pva f1a3db44158a239a44d14b99b7823f340e95d7e0
2023-11-20 10:59:44 -08:00
Michael Davidsaver 382dd29452 qsrv: avoid sending 0 precision w/ integer value 2023-11-20 10:59:44 -08:00
Michael Davidsaver ff3e293a37 ioc: group avoid post() empty events
first update should never be empty, so warn if it somehow is.
2023-10-16 12:20:57 -07:00
Michael Davidsaver 88b67527f1 ioc: accept record._options.process as bool 2023-10-16 12:20:57 -07:00
Michael Davidsaver 0b0dfde5c9 ioc: group put w/o effect is an error. 2023-09-19 18:31:29 -07:00
Michael Davidsaver c06d4bb69a ioc: actually require +putorder to PUT 2023-09-19 18:31:29 -07:00
Michael Davidsaver 9ccd7b50ab ioc: fix block=true to DBF_ENUM 2023-09-19 12:16:02 -07:00
Michael Davidsaver 59c7fde958 ioc: fix group put over-process
only dbProcess() mapped records after dbPut
or for Proc mapping
2023-09-16 15:25:43 +02:00
Michael Davidsaver d8ed97e713 ioc: add logging for group ops 2023-09-16 15:25:43 +02:00
Simon Rose 6fdd4989bd Fix size/type typo 2023-09-15 15:31:18 +02:00
Michael Davidsaver ec0b21d27c ioc: ensure db_cancel_event() before ~MonitorControlOp
previously, ~SingleSourceSubscriptionCtx would ~MonitorControlOp
before the base class ~SubscriptionCtx would db_cancel_event()
leading to a use-after-free.
2023-09-12 19:30:27 +02:00
Michael Davidsaver 0274358453 1.2.3
PVXS Python / win64 3.10 (push) Failing after 1s
PVXS Python / win64 3.11 (push) Failing after 1s
PVXS Python / win64 3.5 (push) Failing after 1s
PVXS Python / win64 3.6 (push) Failing after 1s
PVXS Python / win64 3.7 (push) Failing after 1s
PVXS Python / win64 3.8 (push) Failing after 1s
PVXS Python / win64 3.9 (push) Failing after 1s
PVXS EPICS / Native Linux with 3.14 (push) Failing after 2s
PVXS EPICS / Native Linux with 3.15 (push) Failing after 2s
PVXS EPICS / Native Linux with clang (push) Failing after 1s
PVXS EPICS / Native Linux (libc++ debug) (push) Failing after 2s
PVXS EPICS / Native Linux (WError) (push) Failing after 1s
PVXS EPICS / Native Linux (c++17) (push) Failing after 2s
PVXS EPICS / Native Linux with libevent stable (push) Failing after 1s
PVXS EPICS / Cross mingw64 DLL (push) Failing after 2s
PVXS EPICS / Cross mingw64 static (push) Failing after 2s
PVXS EPICS / Native Linux with 7.0.2 (push) Failing after 2s
PVXS EPICS / Linux centos 7 (push) Failing after 1s
PVXS EPICS / Linux fedora latest (push) Failing after 2s
PVXS Python / linux64 test (push) Failing after 1s
PVXS Python / linux 2.7 i686 (push) Failing after 7s
PVXS Python / linux 2.7u i686 (push) Failing after 7s
PVXS Python / linux 3.5 i686 (push) Failing after 7s
PVXS Python / linux 3.6 i686 (push) Failing after 7s
PVXS Python / linux 3.7 i686 (push) Failing after 7s
PVXS Python / linux 3.8 i686 (push) Failing after 7s
PVXS Python / linux 3.9 i686 (push) Failing after 7s
PVXS Python / linux 2.7 amd64 (push) Failing after 7s
PVXS Python / linux 2.7u amd64 (push) Failing after 7s
PVXS Python / linux 3.5 amd64 (push) Failing after 7s
PVXS Python / linux 3.6 amd64 (push) Failing after 7s
PVXS Python / linux 3.7 amd64 (push) Failing after 7s
PVXS Python / linux 3.8 amd64 (push) Failing after 7s
PVXS Python / linux 3.9 amd64 (push) Failing after 7s
PVXS Python / linux 3.10 amd64 (push) Failing after 7s
PVXS Python / linux 3.11 amd64 (push) Failing after 7s
PVXS EPICS / OSX (push) Cancelled after 0s
PVXS EPICS / RTEMS5 (push) Cancelled after 0s
PVXS EPICS / vs2019 DLL (push) Cancelled after 0s
PVXS EPICS / vs2019 static (push) Cancelled after 0s
PVXS Python / osx 3.10 intel (push) Cancelled after 0s
PVXS Python / osx 3.11 intel (push) Cancelled after 0s
PVXS Python / osx 3.6 intel (push) Cancelled after 0s
PVXS Python / osx 3.7 intel (push) Cancelled after 0s
PVXS Python / osx 3.8 intel (push) Cancelled after 0s
PVXS Python / osx 3.9 intel (push) Cancelled after 0s
2023-09-07 09:33:42 +02:00
Michael Davidsaver d7e49605cc threadOnce further reduce boilerplate
also latch failure
2023-09-04 16:17:25 +02:00
Michael Davidsaver 59164a63f7 pvxs::ioc::testPrepare() 2023-09-04 16:17:25 +02:00
Michael Davidsaver 39e5ecb308 ioc: accommodate USE_TYPED_DBEVENT 2023-09-04 16:17:25 +02:00
Michael Davidsaver 83e1966e93 ioc: fixup server singleton safety 2023-09-04 16:16:40 +02:00
Michael Davidsaver c0429dfa9a doc update 2023-08-31 11:32:09 +02:00