The following instructions were performed on:
Embarcadero C++ 7.10 for Win32 Copyright (c) 1993-2015 Embarcadero Technologies, Inc.
For brevity, these instructions assume the default installation location of "C:\Program Files (x86)\Galil\gclib".
Copy "gclib\examples\borland" to a convenient, writable location, e.g. "C:\temp". Run C:\temp\borland\copy_source.bat
to copy all files.
C:\temp>cd borland C:\temp\borland>copy_source.bat \Program Files (x86)\Galil\gclib\examples\cpp\x_arrays.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_examples.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_examples.h \Program Files (x86)\Galil\gclib\examples\cpp\x_gcommand.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_ginterrupt.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_gmessage.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_gmotioncomplete.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_gread_gwrite.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_grecord.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_nonblocking.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_programs.cpp \Program Files (x86)\Galil\gclib\examples\cpp\x_simple.c 12 file(s) copied. \Program Files (x86)\Galil\gclib\include\gclib.h \Program Files (x86)\Galil\gclib\include\gclibo.h \Program Files (x86)\Galil\gclib\include\gclib_errors.h \Program Files (x86)\Galil\gclib\include\gclib_record.h 4 file(s) copied. \Program Files (x86)\Galil\gclib\lib\dynamic\x86\gclib.lib \Program Files (x86)\Galil\gclib\lib\dynamic\x86\gclibo.lib 2 file(s) copied. \Program Files (x86)\Galil\gclib\dll\x86\gclib.dll \Program Files (x86)\Galil\gclib\dll\x86\gclibo.dll 2 file(s) copied. C:\temp\borland>
PATH
variable.C:\temp\borland>set PATH=c:\Program Files (x86)\Embarcadero\Studio\17.0\bin;%PATH%
C:\temp\borland>move gclib.lib _gclib.lib 1 file(s) moved. C:\temp\borland>move gclibo.lib _gclibo.lib 1 file(s) moved. C:\temp\borland>coff2omf.exe _gclib.lib gclib.lib COFF to OMF Converter Version 1.2.0 Copyright (c) 1999-2009 Embarcadero Technologies, Inc. All rights reserved. C:\temp\borland>coff2omf.exe _gclibo.lib gclibo.lib COFF to OMF Converter Version 1.2.0 Copyright (c) 1999-2009 Embarcadero Technologies, Inc. All rights reserved.
In a text editor, open x_simple.c. Find the GOpen() call and update the address to match the desired hardware. See the documentation for GOpen() for address formatting options.
C:\temp\borland>bcc32 gclib.lib gclibo.lib x_simple.c Embarcadero C++ 7.10 for Win32 Copyright (c) 1993-2015 Embarcadero Technologies, Inc. x_simple.c: Turbo Incremental Link 6.72 Copyright (c) 1997-2015 Embarcadero Technologies, Inc.
C:\temp\borland>x_simple.exe version: 130.115.279 info: 192.168.0.43, DMC4143 Rev 1.2b, 9998 response: 61016.0000 :
#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.C:\temp\borland>bcc32 -c *.cpp
C:\temp\borland>bcc32 -o examples.exe *.obj gclib.lib gclibo.lib
C:\temp\borland>examples.exe Library version: 130.115.279 192.168.0.43, DMC4020 Rev 1.2b, 291 ************************************************************************ Example GRead() and GWrite() usage ************************************************************************ Read 155 QR bytes. ************************************************************************ Example GCommand() usage ************************************************************************ Revision report, ^R^V DMC4020 Rev 1.2b : Command Values val is 10 val is 11 val is 3.1415 val is 9.869 Command Trimming > 95653016.0000 :< > 95653016.0000< >95653016.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=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() and GArrayUpload() usage ************************************************************************ 2.0000, 4.0000, 6.0000, 8.0000, 10.0000, 12.0000, 14.0000, 16.0000, 18.000 0000 2.0000, 1.0000, 3.0000, 5.0000, 10.0000, 12.0000, 14.0000, 16.0000, 18.000 0000 3.0000, 5.0000, 10.0000 ************************************************************************ Example GRecord() usage ************************************************************************ QR-based data record 38564 393216000 DR-based data record 38670 38772 38874 38976 39078 39180 39282 39384 39486 39588 39690 QR-based data record with offsets 39692 39692 ************************************************************************ 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 examples.cpp executed OK main() is finished. Press Enter to exit: