Skip to content

Convert NDPluginPva to use PVXS #532

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
bf07eb3
Add outline for switching between WITH_PVXS and WITH_PVA builds
jsouter Apr 28, 2025
cda8282
update NDPluginPvxs.cpp to use PVXS library
jsouter Apr 28, 2025
e889f8c
First draft of PVXS array converter
jsouter Apr 28, 2025
e0b1930
add toUndefinedAttribute back to PVXS converter
jsouter Apr 28, 2025
0525e37
use auto when using pvxs::Value::as()
jsouter Apr 29, 2025
3455ce4
remove unneeded includes
jsouter Apr 29, 2025
77961dd
Handle undefined attributes in pvxs converter fromAttribute
jsouter Apr 29, 2025
3ac18c8
use switch statements on value type code in pvxs converter
jsouter Apr 30, 2025
f5233ac
Use unordered maps to simplify templated methods in pvxs converter
jsouter Apr 30, 2025
f93d578
get datatype from codec if set in pvxs converter
jsouter Apr 30, 2025
f7c02f9
use c++11 style loop, chain update calls in pvxs converter
jsouter May 1, 2025
1354434
use buildReadonly() in pvxs plugin SharedPV
jsouter May 1, 2025
6ce6b25
use memcpy in fromValue to avoid using pvxs::detail method
jsouter May 1, 2025
3c16751
Rename ntndArrayConverterPvxs to prevent name collision
jsouter May 9, 2025
1c76cc8
linting
jsouter May 9, 2025
056382f
Use PVXS singleton server in NDPluginPvxs
jsouter May 19, 2025
5af4c34
Don't throw in pvxs converter if codec.name missing
jsouter Jun 10, 2025
50e3b86
use trivial deletor to avoid memcpy in pvxs converter
jsouter Jun 10, 2025
27912b0
remove now unused array type unordered_map
jsouter Jun 10, 2025
2ea85d2
don't throw in fromValue with NDUInt16
jsouter Jun 11, 2025
b9a0392
reserve pvxs converter array, release in destructor
jsouter Jun 11, 2025
1a78646
Remove redundancy in ADApp/Makefile
jsouter Jun 11, 2025
d493f02
Fix sign-compare warnings in pvxs converter
jsouter Jun 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ADApp/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ pluginSrc_DEPEND_DIRS += ADSrc
DIRS += pluginTests
pluginTests_DEPEND_DIRS += pluginSrc

ifeq ($(WITH_PVA), YES)
# if WITH_PVA or WITH_PVA = YES
ifeq ($(findstring YES,$(WITH_PVA) $(WITH_PVXS)), YES)
DIRS += ntndArrayConverterSrc
ntndArrayConverterSrc_DEPEND_DIRS += ADSrc
pluginSrc_DEPEND_DIRS += ntndArrayConverterSrc
Expand Down
6 changes: 6 additions & 0 deletions ADApp/commonDriverMakefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ ifeq ($(WITH_PVA),YES)
endif
endif

ifeq ($(WITH_PVXS),YES)
$(DBD_NAME)_DBD += NDPluginPvxs.dbd
PROD_LIBS += pvxs
PROD_LIBS += ntndArrayConverterPvxs
endif

ifeq ($(WITH_NETCDF),YES)
$(DBD_NAME)_DBD += NDFileNetCDF.dbd
ifeq ($(NETCDF_EXTERNAL),NO)
Expand Down
5 changes: 5 additions & 0 deletions ADApp/commonLibraryMakefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ ifeq ($(WITH_PVA),YES)
LIB_LIBS += pvData
endif

ifeq ($(WITH_PVXS),YES)
LIB_LIBS += ntndArrayConverterPvxs
LIB_LIBS += pvxs
endif

ifeq ($(WITH_NETCDF),YES)
ifeq ($(NETCDF_EXTERNAL),NO)
LIB_LIBS += netCDF
Expand Down
23 changes: 15 additions & 8 deletions ADApp/ntndArrayConverterSrc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,26 @@ include $(TOP)/configure/CONFIG
# ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================

LIBRARY_IOC += ntndArrayConverter
INC += ntndArrayConverterAPI.h
INC += ntndArrayConverter.h
LIB_SRCS += ntndArrayConverter.cpp
ifeq ($(WITH_PVA), YES)
LIBRARY_IOC += ntndArrayConverter
INC += ntndArrayConverter.h
LIB_SRCS += ntndArrayConverter.cpp
LIB_LIBS += pvData
LIB_LIBS += nt
endif

USR_CPPFLAGS += -DBUILDING_ntndArrayConverter_API
ifeq ($(WITH_PVXS), YES)
LIBRARY_IOC += ntndArrayConverterPvxs
INC += ntndArrayConverterPvxs.h
LIB_SRCS += ntndArrayConverterPvxs.cpp
LIB_LIBS += pvxs
endif

INC += ntndArrayConverterAPI.h
USR_CPPFLAGS += -DBUILDING_ntndArrayConverter_API
LIB_LIBS += ADBase
LIB_LIBS += pvData
LIB_LIBS += nt
LIB_LIBS += asyn
LIB_LIBS += $(EPICS_BASE_IOC_LIBS)

#=============================

include $(TOP)/configure/RULES
Expand Down
Loading