Software 1

This will be long, but it all needs to be done.

Install Xcode and Command Line tools.

Go to the App store and search for Xcode and install it.  It’s huge and will take several minutes to download and install.

Screen Shot 2015-09-12 at 8.18.03 PM

After that’s installed, open a Terminal window, and do

xcode-select –install

to install the command line tools.  I’ve done these already, so it’ll say

[rall:~] bzlab% xcode-select –install
xcode-select: error: command line tools are already installed, use “Software Update” to install updates
[rall:~] bzlab%

Install software from AVT

Download the software kit from Allied Visual.  It’s at  PvAPI SDK for OSX v1.28

This will end up in your Downloads file.  Copy, move, or drag it to your src folder.

Double-click on the file PvAPI_1.28_OSX.tar and it’ll unpack it into the folder.  It’ll make a folder  called AVT GigE SDK.  Either use the Finder or Terminal to change it to AVT_GigE_SDK or it’ll be a pain in the butt when we’re working with files there.

Back to Terminal.  We’re going to put the files that define the camera, and will be used by other software, in a standard location so the other programs can find them.

cd ~/src/AVT_GigE_SDK/inc-pc
$ cp *.h /usr/local/include
$ cd ../lib-pc/x86/4.2
$ cp *.a /usr/local/lib
$ cd ~/src/AVT_GigE_SDK/bin-pc/x64
$ cp *.dylib /usr/local/lib

Now, we’re going to build some of the AVT programs we’ll need.  First, connect the ethernet cable between the Thunderbolt ethernet adapter and the camera, then plug in the power to the camera.

$ cd  ~/src/AVT_GigE_SDK/examples/ListCameras
$ make sample

It’ll look like this:

[rall:AVT_GigE_SDK/examples/ListCameras] bzlab% make sample
g++   -O3  -mmacosx-version-min=10.5 -I/usr/include -D_x64 -D_OSX -Wall -I-I/opt/local/include -I/usr/local/include -D_REENTRANT  ListCameras.cpp -o ListCameras -lpthread -lz -Bdynamic -lm -lc -L../../bin-pc/x64 -lPvAPI
[rall:AVT_GigE_SDK/examples/ListCameras] bzlab% ls
ListCameras ListCameras.cpp Makefile
[rall:AVT_GigE_SDK/examples/ListCameras] bzlab%

The new thing there is now the file that’s just “ListCameras”.  That’s the program you can run that was created from the source code.  You only have to do this once; when the program is compiled, you just run the executable file.  To run it, do this:

[rall:AVT_GigE_SDK/examples/ListCameras] bzlab% ./ListCameras ***********************************
No camera detected ...
***********************************
02-2020C-07527 -    GE680 - Unique ID =   177088 IP@ =    169.254.1.69 [available]
***********************************
02-2020C-07527 -    GE680 - Unique ID =   177088 IP@ =    169.254.1.69 [available]
***********************************

To put the program somewhere that it can always be found, do this:

cp ListCameras /usr/local/bin

Now, you’ll be able to just type this to run the program:

$ ListCameras

The important thing we want from this is the Unique ID (which, as expected, is specific for this one camera).  It’s needed for setting up the network specifics on the camera.  We set up the networking on the computer earlier, now we need to make the camera match those settings.

So, now, we’ll set up the camera network settings

[rall:AVT_GigE_SDK/examples/ListCameras] bzlab% cd ../CLIpConfig/
[rall:AVT_GigE_SDK/examples/CLIpConfig] bzlab% ls
CLIpConfig.cpp Makefile
[rall:AVT_GigE_SDK/examples/CLIpConfig] bzlab% make sample
g++   -O3  -mmacosx-version-min=10.5 -I/usr/include -D_x64 -D_OSX -Wall -I-I/opt/local/include -I/usr/local/include -D_REENTRANT  CLIpConfig.cpp -o CLIpConfig -lpthread -lz -Bdynamic -lm -lc -L../../bin-pc/x64 -lPvAPI
[rall:AVT_GigE_SDK/examples/CLIpConfig] bzlab% cp CLIpConfig /usr/local/bin
[rall:AVT_GigE_SDK/examples/CLIpConfig] bzlab% ./CLIpConfig
usage: CLIpConfig [-u <camera unique ID>|-l] [-g|-s] [-m|-i|-n|-w] <string>
-l list all the cameras visible
-u camera unique ID
-g get configuration
-s set configuration
-m mode (DHCP,AUTOIP or FIXED)
-i IP address
-n Subnet mask
-w Gateway

So, this is what we have to type to set it up.  I’m going to leave out the prompt so you can more easily copy & paste.  What you type is still in bold.

./CLIpConfig -u 177088 -s -m FIXED
Looking for the camera …
Settings changed for 02-2020C-07527 – GE680

Note:  when you do the next step for the second camera, you’ll use 169.254.1.69 instead of 169.254.1.70.  I don’t remember the history, but the Igor multiblink program considers 169.254.1.69 as camera 2 and 169.254.1.70 as camera 1.

./CLIpConfig -u 177088 -s -i 169.254.1.70
Looking for the camera …
Settings changed for 02-2020C-07527 – GE680

./CLIpConfig -u 177088 -s -w 169.254.1.1
Looking for the camera …
Settings changed for 02-2020C-07527 – GE680

./CLIpConfig -u 177088 -s -n 255.255.255.0
Looking for the camera …
Settings changed for 02-2020C-07527 – GE680

./CLIpConfig -u 177088 -g
Looking for the camera …
02-2020C-07527 – GE680
Mode supported: FIXED DHCP AutoIP
Current mode: FIXED
Current address: 169.254.1.69
Current subnet: 255.255.255.0
Current gateway: 169.254.1.1

OK, now the networking between the camera and the computer are defined.

There are a bunch of other AVT sample programs, and I’ve already made the ones we care about and copied the executables to /usr/local/bin:

[rall:~/src/AVT_GigE_SDK/examples] bzlab% ls /usr/local/bin
CLIpConfig ListAttributes CamAttr ListCameras CamSetup ResetCamera