The following instructions were performed on
$ sw_vers ProductName: Mac OS X ProductVersion: 10.10.5 BuildVersion: 14F27 $ gcc --version Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) Target: x86_64-apple-darwin14.5.0 Thread model: posix
$ cd ~ $ mkdir test $ cd test $ tar -xzf /Applications/gclib/examples/gclib_examples.tar.gz $ cp /Applications/gclib/include/* . $ cp /Applications/gclib/dylib/* . $ ls gclib.0.dylib x_arrays.cpp x_gmotioncomplete.cpp gclib.h x_examples.cpp x_gread_gwrite.cpp gclib_errors.h x_examples.h x_grecord.cpp gclib_record.h x_gcommand.cpp x_nonblocking.cpp gclibo.0.dylib x_ginterrupt.cpp x_programs.cpp gclibo.h x_gmessage.cpp x_simple.c
$ gcc -Wall -Werror x_simple.c gclib.0.dylib gclibo.0.dylib -o simple
$ ./simple rc: 0 version: 126.108.229 rc: 0 rc: 0 info: 10.1.3.142, DMC4020 Rev 1.2a-BH, 291 rc: 0 response: 206676.0000 :
-s ALL
if data records, interrupts, and messages are to be tested.#if 0
preprocessor block enclosing the example calls. Change to #if 1
to run the examples. Comment out the function calls to be avoided. Note some calls attempt to move motors and not all functions are compatible with all Galil products.$ g++ x_*.cpp gclib.0.dylib gclibo.0.dylib -o example
$ ./example Library version: 126.108.229 10.1.3.142, DMC4020 Rev 1.2a-BH, 291 ************************************************************************ Example GRead() and GWrite() usage ************************************************************************ Read 1 byte(s) : Program test OK. ************************************************************************ Example GCommand() usage ************************************************************************ Revision report, ^R^V DMC4020 Rev 1.2a-BH : Command Values val is 10 val is 11 val is 3.1415 val is 9.869 Command Trimming > 408978.0000 :< > 408978.0000< >408978.0000< Receiving Binary Data QR read 155 bytes Error handling QD correctly trapped, not allowed, try GArrayDownload() DL correctly trapped, not allowed, try GProgramDownload() Modifying timeout Burning program...OK ************************************************************************ Example GProgramDownload() and GProgramUpload() usage ************************************************************************ GProgramDownload() correctly errored. Can't fit with level 3 compression Program Downloaded with compression level 4 Uploading program: #A;i=0;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1 i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;i=i+1;EN Program executed as expected ************************************************************************ Example GArrayDownload(), GArrayUploadFile() GArrayDownloadFile(), and GArrayUpload usage ************************************************************************ 2.0000, 4.0000, 6.0000, 8.0000, 10.0000, 12.0000, 14.0000, 16.0000, 18.0000, 20.0000 2.0000, 1.0000, 3.0000, 5.0000, 10.0000, 12.0000, 14.0000, 16.0000, 18.0000, 20.0000 3.0000, 5.0000, 10.0000 2.0000, 1.0000, 3.0000, 5.0000, 10.0000, 12.0000, 14.0000, 16.0000, 18.0000, 20.0000 ************************************************************************ Example GRecord() usage ************************************************************************ QR-based data record 18358 0 DR-based data record 18462 18564 18666 18768 18870 18972 19074 19176 19278 19380 19482 QR-based data record with offsets 19482 19482 ************************************************************************ Example GMessage() usage ************************************************************************ 0.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 ************************************************************************ Example GInterrupt() usage ************************************************************************ "UI 8" executed. ************************************************************************ Example GMotionComplete() usage ************************************************************************ Position: 0, 0 Beginning independent motion... Motion Complete on A Position: 8000, 0 Position: 0, 0 Beginning vector motion... Motion Complete on vector plane S Position: 6000, 0 ************************************************************************ Example GMessage non-blocking usage ************************************************************************ 422902.0000 ************************************************************************ Example GInterrupt non-blocking usage ************************************************************************ F1 ************************************************************************ Example GRecord non-blocking usage ************************************************************************ 33786 examples.cpp executed OK main() is finished. Press Enter to exit: