Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
0948317
Add outline for switching between WITH_PVXS and WITH_PVA builds
jsouter Apr 28, 2025
3e4d1fd
update NDPluginPvxs.cpp to use PVXS library
jsouter Apr 28, 2025
8ae8b73
First draft of PVXS array converter
jsouter Apr 28, 2025
a4f34c4
add toUndefinedAttribute back to PVXS converter
jsouter Apr 28, 2025
692ed5f
use auto when using pvxs::Value::as()
jsouter Apr 29, 2025
a35131c
remove unneeded includes
jsouter Apr 29, 2025
c448100
Handle undefined attributes in pvxs converter fromAttribute
jsouter Apr 29, 2025
ed649cd
use switch statements on value type code in pvxs converter
jsouter Apr 30, 2025
63c41be
Use unordered maps to simplify templated methods in pvxs converter
jsouter Apr 30, 2025
27f0123
get datatype from codec if set in pvxs converter
jsouter Apr 30, 2025
4c66da4
use c++11 style loop, chain update calls in pvxs converter
jsouter May 1, 2025
c793003
use buildReadonly() in pvxs plugin SharedPV
jsouter May 1, 2025
ce924cb
use memcpy in fromValue to avoid using pvxs::detail method
jsouter May 1, 2025
4a3edf1
Rename ntndArrayConverterPvxs to prevent name collision
jsouter May 9, 2025
5f1d035
linting
jsouter May 9, 2025
d742f43
Use PVXS singleton server in NDPluginPvxs
jsouter May 19, 2025
5a7c0f5
Don't throw in pvxs converter if codec.name missing
jsouter Jun 10, 2025
8d5c8bf
use trivial deletor to avoid memcpy in pvxs converter
jsouter Jun 10, 2025
5986b10
remove now unused array type unordered_map
jsouter Jun 10, 2025
27d6018
don't throw in fromValue with NDUInt16
jsouter Jun 11, 2025
3fde75b
reserve pvxs converter array, release in destructor
jsouter Jun 11, 2025
6281be7
Remove redundancy in ADApp/Makefile
jsouter Jun 11, 2025
1db80de
Fix sign-compare warnings in pvxs converter
jsouter Jun 11, 2025
7b871aa
fix NDPluginPvxs and NDPluginPva name collision
jsouter Jul 1, 2025
d19df31
add pvxsIoc to commonLibraryMakefile to prevent linker errors
jsouter Jul 2, 2025
1a5433b
Add NDPluginPvxs docs
jsouter Jul 2, 2025
b54418b
add note about QSRV1 and QSRV2 to pvxs docs
jsouter Jul 30, 2025
677781a
explicitly set CXXFLAGS += -std=c++11 for Pvxs plugin and converter
jsouter Aug 5, 2025
782b8f6
move pvxsIoc dependencies to commonDriverMakefile
jsouter Oct 2, 2025
9a98869
Move common definition of NTNDArrayInfo in pva converter to guarded h…
jsouter Oct 16, 2025
89bfdf1
Add header guards to ntndArrayConverter header files
jsouter Oct 20, 2025
b4e732e
newlines at end of files
jsouter Nov 17, 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
8 changes: 8 additions & 0 deletions ADApp/commonDriverMakefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@ ifeq ($(WITH_PVA),YES)
endif
endif

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

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

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

ifeq ($(WITH_NETCDF),YES)
ifeq ($(NETCDF_EXTERNAL),NO)
LIB_LIBS += netCDF
Expand Down
26 changes: 18 additions & 8 deletions ADApp/ntndArrayConverterSrc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,29 @@ 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
INC += ntndArrayConverterCommon.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
INC += ntndArrayConverterCommon.h
LIB_SRCS += ntndArrayConverterPvxs.cpp
LIB_LIBS += pvxs
ntndArrayConverterPvxs_CXXFLAGS += -std=c++11
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
23 changes: 5 additions & 18 deletions ADApp/ntndArrayConverterSrc/ntndArrayConverter.h
Original file line number Diff line number Diff line change
@@ -1,25 +1,10 @@
#ifndef INC_ntndArrayConverter_H
#define INC_ntndArrayConverter_H
#include <math.h>

#include <ntndArrayConverterAPI.h>
#include <NDArray.h>
#include <pv/ntndarray.h>

typedef struct NTNDArrayInfo
{
int ndims;
size_t dims[ND_ARRAY_MAX_DIMS];
size_t nElements, totalBytes;
int bytesPerElement;
NDColorMode_t colorMode;
NDDataType_t dataType;
std::string codec;

struct
{
int dim;
size_t size, stride;
}x, y, color;
}NTNDArrayInfo_t;
#include "ntndArrayConverterCommon.h"

class NTNDARRAYCONVERTER_API NTNDArrayConverter
{
Expand Down Expand Up @@ -66,3 +51,5 @@ class NTNDARRAYCONVERTER_API NTNDArrayConverter
};

typedef std::tr1::shared_ptr<NTNDArrayConverter> NTNDArrayConverterPtr;

#endif // INC_ntndArrayConverter_H
23 changes: 23 additions & 0 deletions ADApp/ntndArrayConverterSrc/ntndArrayConverterCommon.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#ifndef INC_ntndArrayConverterCommon_H
#define INC_ntndArrayConverterCommon_H
#include <NDArray.h>


typedef struct NTNDArrayInfo
{
int ndims;
size_t dims[ND_ARRAY_MAX_DIMS];
size_t nElements, totalBytes;
int bytesPerElement;
NDColorMode_t colorMode;
NDDataType_t dataType;
std::string codec;

struct
{
int dim;
size_t size, stride;
}x, y, color;
} NTNDArrayInfo_t;

#endif // INC_ntndArrayConverterCommon_H
Loading