Showing posts with label EVXA. Show all posts
Showing posts with label EVXA. Show all posts

Tuesday, June 19, 2018

How To Compile CURI FAmodule in CentOS 7.2 with U1709 64-Bit OS and CURI 1.21

Note that this instruction is tested only with the following system and software versions:

OS: CentOS 7.2
Unison: U1709
Curi: CURI_1.12_2.121.x86_64

1. edit your project.makefile to look like this:

TARGET_MINOR_VERSION = 1

SO_TARGET = fademo_hooks.so

# -- Start of project files --
PROJECT_SOURCES = fademo_attach.cpp \
fademo_hooks.cpp  \

PROJECT_HEADERS   = fademo_hooks.h \

NO_PTHREAD=true
MBITS=64
PROJECT_INCLUDE_PATHS = -DLINUX_TARGET -DLINUX -DUNISON -I. -I/ltx/include 
PROJECT_LIBRARIES=-Wl,-rpath,/ltx/lib$(MBITS) -L/ltx/lib$(MBITS) -levxa

ifeq ("$(BUILD_OS)", "Linux")
CFLAGS:=-DLINUX_TARGET
endif

LDFLAGS:=

prepare:

Note the "MBITS=64" added

2. update all "long" arguments in fademo_hooks.h, fademo_attach.cpp, fademo_hooks.cpp to FA_LONG and "unsigned long" to FA_ULONG if any

3. use this command to compile > gmake CFG=Release MBITS=64 MBITS_CURI=64

4. after compiling as above, the .so files are stored in ~Release/ folder. rename Release to Release64 

5. update CURI config file /opt/ateTools/curi/unison/config/curi_conf.xml to point to this FAmodule:

<CURI_CONF>
    <Config Configuration_ID="DefaultConfiguration">
        <ConfigEnv Equipment_Path="/opt/ateTools/curi/unison/lib" Communications_Path="/opt/ateTools/curi/unison/lib" User_Path="/home/localuser/Desktop/famodule/Release"/>
        <CommunicationsList>
            <GPIB_IF>
                <Settings>
                    <stringSetting token="IbcAUTOPOLL" value="0"/>
                </Settings>
            </GPIB_IF>
            <RS232_IF/>
            <TTL_IF/>
            <TTL_IF DriverID="ASL PCI PORT" AccessName="ASL_XP_TTL" Library="curi_asl_ttl" />
            <TTL_IF DriverID="ASL AT PORT" AccessName="ASL_NT_TTL" Library="curi_asl_ttl" />
            <TCPIP_IF Port="65000"/>
            <USB_IF/>
        </CommunicationsList>
    </Config>

    <UserLibrary AccessName="Demo famodule" Library="fademo_hooks">
        <Settings>
    <stringSetting token="Module Type" value="FAPROC Module"/>
    <stringSetting token="Priority" value="50"/>
        </Settings>
    </UserLibrary>

Where /home/localuser/Desktop/famodule/Release is the path (without the '64' suffix) where your Famodule .so file is located and fademo_hooks is the name of the .so file

6. make sure to relaunch Unison

Wednesday, November 22, 2017

How To Compile EVXA (cxx_examples) Code In Any Terminal In Unison

Copy the LD_LIBRARY_PATH env parameter on Unison's xterm (Optool>Tools>Xterm) and add it as first line in makefile. Below is example

LD_LIBRARY_PATH=/lib:/usr/lib:/usr/X11R6/lib:/usr/local/lib:/opt/ltx/releases/U4.2.B4/x86_64_linux_2.6.32/customer/lib:/opt/ltx/releases/U4.2.B4/x86_64_linux_2.6.32/customer/lib:/opt/ltx/releases/U4.2.B4/x86_64_linux_2.6.32/lib/VX6/FX1:/opt/ltx/releases/U4.2.B4/x86_64_linux_2.6.32/lib/VX6

CC=/usr/bin/g++

CFLAGS=-m32 -fpermissive -g -Wall -Wno-return-type -Wno-unknown-pragmas -DLINUX_TARGET
LFLAGS=-m32 -lcrypt -lnsl -lm -lrt

Monday, August 15, 2016

Understanding Loaded and Selected Sites in EVXA /EIM

ProgramControl.getNumberLoadedSites()
- returns the number of defined sites in Adapter Object of the test program + 1


ProgramControl.getNumberSelectedSites()
- returns the number of sites (selected or not selected in bin tool) from site 1 up to maximum site that is active (selected in bin tool) + 1
- say 4-site is [1101] where site 3 is inactive. return value is 5
- say 4-site is [1010] where sites 2 and 4 are inactive, return value is 4
- say 4-site is [0110] where sites 1 and 4 are inactive, return value is 4
- say 4-site is [0001] where sites 1, 2, and 3 are inactive, return value is 5


ProgramControl.getLoadedSites()
- returns a a pointer to an array of sites that are defined in Adapter Object of the test program
- site 1 is referenced to array [1] and array[0] does not really define a site
- the size of the array it points to is the return value of getNumberLoadedSites()


ProgramControl.getSelectedSites()
- returns a a pointer to an array of sites from site 1 to last site that is active (selected in bin tool)
- if no site is selected in bin tool, returns 0 ***
- site 1 is referenced to array [1] and array[0] does not really define a site
- the size of the array it points to is the return value of getNumberSelectedSites()