ASCII Protocol Programming ..............3-1 C/C++ - Programming................3-5 VBA - Programming ................. 3-8 Units of Values..................3-13 TPS1100 Instrument Modes of Operation..........3-13 Common Communication Errors ............3-16 Appendix ..........Fehler! Textmarke nicht definiert. Remarks on the Description ..............4-1 Structure of Descriptions................
Page 3
Functions ....................17-1 Porting a TPS1000 Application............18-1 19.1 RPC Changes................... 18-1 19.2 Data Types and Constants Changes ............18-2 19.3 New Returncodes ..................18-3 GeoCOM Releases................. 19-4 20.1 Release 1.04 .................... 19-4 20.2 Release 1.05 .................... 19-5 TPS1100 - Version 1.05...
Page 4
List of RPC’s................... D-4 Alpha order....................D-4 Numeric Order..................D-7 Microsoft, MS, MS-DOS, Windows, Windows NT, Win32, Visual C++ and Visual Basic are either registered trademarks or trademarks of Microsoft Corporation in the USA and other countries. TPS1100 - Version 1.05...
Now, to fulfil a broader spectrum of tasks and applications an interface to the TPS1100 series sensor functions has been defined and will be published with this document.
Page 6
COMF Communication; a module which handles the basic communication parameters. Most of these functions relate to both client and server side. Communication; functions to access some aspects of TPS1100 control which are close to communication. These functions relate either to the client side or to the server side.
This number is used internally to associate a specific request, including the implicit parameters, to a procedure on the remote device. On this level, GeoCOM provides TPS1100 - Version 1.05...
Page 8
On the high level, GeoCOM provides normal function call interfaces for C/C++ and MS-VBA to these remote functions. These interfaces enable a programmer to implement an application as if it would be executed directly on the TPS1100 instrument. Note: Further on we will refer to a remotely executable system function as a RPC.
The former - ASCII protocol - is made up of requests and replies. Using GeoCOM in this way means that an application assembles a request, sends it over the serial line to the listening TPS1100 instrument, wait for the answer and decode the received reply.
In sequence we will define the syntax first and then give some information about how to use the ASCII protocol to call a function on the TPS1100 instrument. The ASCII protocol is a line protocol, hence it uses a line terminator to distinguish between different requests (replies).
Page 11
<TrId> Transaction ID - identical to that of the request. If the request had no Transaction ID then it will be 0. Separator between protocol header and following parameters. TPS1100 - Version 1.05...
Nevertheless, the programmer has to initialise GeoCOM and set up the port’s settings to make sure that communication can take place. Moreover the user has to make sure that the TPS1100 instrument is well connected. Example: An example code fragment for using could be the following.
Dim RetCode As Integer Dim Angles As TMC_HZ_V_ANG Dim dSlopeDist As Double RetCode = VB_TMC_GetSimpleMea( 1000, Angles, dSlopeDist, TMC_AUTO_INC ) If RetCode = RC_OK Then ' do something - use values Else ' handle error End If TPS1100 - Version 1.05...
The programmer is responsible to set up the serial line parameters of the client such that they correspond to the settings of the TPS1100 instrument. Then Remote calls are done by just sending the valid encoded requests and receiving and decoding the replies of them.
Page 15
The numerical data types correspond to the C-parameters in value, range and precision as close as possible. If no identical data type is available then the next best one will be taken. Character and string will be replaced by the data type. string TPS1100 - Version 1.05...
Page 16
Theodolite Measurement and TMC_GetSimpleMea Calculation: Constants and Types typedef long SYSTIME; struct TMC_HZ_V_ANG double dHz; double dV; enum TMC_INCLINE_PRG TMC_MEA_INC, // encoded as 0 TMC_AUTO_INC, TMC_PLANE_INC TPS1100 - Version 1.05...
Page 17
For getting a feeling of how requests and replies are build up and work see also the provided file in the samples directory. Please refer to Appendix geocom.trm C-1 Settings for Terminal Emulator for further information. TPS1100 - Version 1.05...
Since the client has to remind which mode is active, no support can be given from the TPS1100 instrument. The only way to distinguish between modes is to remind the actions an application has initiated and their resulting replies. So far no other possibility exists to determine the current mode.
Page 19
Special #defines (if not using MFC) STRICT 3.2.1 Data Types in C/C++ Since the main programming language of implementation of TPS1100 instruments Firmware is C/C++ all data types are initially defined in C/C++. Therefore, no conversion of values or data types is necessary. 3.2.2...
Page 20
Although this development environment were the basis for the current GeoCOM implementation, it has been emphasised that it is independent of it, hence other development environments can be used too. But please notice that it has not been tested thoroughly so far. TPS1100 - Version 1.05...
In general, the following rules can be applied: Numerical data type The numerical data types correspond to the C/C++-parameters in value and range as close as possible. If it cannot be replaced directly then the best possible replacement will be taken. TPS1100 - Version 1.05...
Page 22
Global Const TMC_MEA_INC = 0 Global Const TMC_AUTO_INC = 1 Global Const TMC_PLANE_INC = 2 Global Const TMC_APRIORI_INC = 3 Global Const TMC_ADJ_INC = 4 Global Const TMC_REQUIRE_INC = 5 Type TMC_HZ_V_ANG As Double As Double TPS1100 - Version 1.05...
Page 23
- Finalise GeoCOM A sample implementation of above points could be: CONST RETRIES_1 = 1 DIM RetCode As Integer DIM bOpenAndRunning as Integer ' initialize GeoCOM bOpenAndRunning = False RetCode = VB_COM_Init() If (RetCode = RC_OK) Then TPS1100 - Version 1.05 3-10...
Page 24
GeoCOM Reference Manual Fundamentals of Programming GeoCOM ' open a channel to the TPS1100 instrument RetCode = VB_COM_OpenConnection(COM_1, COM_BAUD_19200, RETRIES_1) If (RetCode = RC_OK) Then bOpenAndRunning = True End If End If ' optionally set up other comm. parameters here...
Page 25
255 characters in length from the description of the RPC. Dim s As String ' initialise string s = Space(255) Call VB_COM_GetErrorText(RC_IVPARAM, s) ' trim string, justify string length s = Trim$(s) Note: Incorrectly handled string output parameters may lead to severe runtime problems. TPS1100 - Version 1.05 3-12...
Table 3-2: SI Units TPS1100 INSTRUMENT MODES OF OPERATION In respect to communication, the TPS1100 instrument knows several states in which it reacts differently. The main state for GeoCOM is online state or mode. There it is possible to use all RPC’s, which are described in this manual.
Page 27
COM_GetTPSState Note: The mode can be determined only if GeoCOM is active and the sign-off message is activated. In any other situation, will yield COM_GetTPSState the state COM_TPS_UNKNOWN TPS1100 - Version 1.05 3-14...
Page 28
System event which causes the starting of the measurement dialog. Can be generated by pressing the MEAS key in the "Main" menu on the default configuration. Picture 3-1 TPS1100 modes of operation in respect to communication TPS1100 - Version 1.05 3-15...
RC_COM_CANT_RECV 3076 Failure in receiving result. A failure has occurred during reception of a packet at the data link layer. This could be due to incorrect parameter settings or noise on the line, etc.. TPS1100 - Version 1.05 3-16...
Page 30
RPC’s which have been inserted, appended, deleted, or altered between the differing versions of GeoCOM on client and server. To be on the safe side, always use the same GeoCOM version whenever possible on both sides. TPS1100 - Version 1.05 3-17...
Page 31
3094 Parse failed; data package not recognised as GeoCOM communication package RC_COM_UNKNOWN_PORT 3095 Tried to access an unknown hardware port. The application has not taken the physical resources of the machine on which it is running into account. TPS1100 - Version 1.05 3-18...
Page 32
GeoCOM again. TPS1100 - Version 1.05 3-19...
Page 33
GeoCOM Reference Manual Fundamentals of Programming GeoCOM Return Code Description RC_COM_SRVR_IS_ 3108 TPS has gone to sleep. Wait and try again. SLEEPING RC_COM_SRVR_IS_OFF 3109 TPS has shut down. Wait and try again TPS1100 - Version 1.05 3-20...
The whole reference part is subdivided into sections. Each section contains descriptions of a set of functions, which build up a subsystem. A subsystem gathers all functions, which are related to a specific functionality of a TPS1100 instrument, e.g. MOT describes all functions, which relate to motorization. Each subsystem is subdivided into the descriptions of RPC’s.
Page 35
Please refer to chapter 2.2 to get more information on this topic. Also because of redundancy the necessary CR/LF at the end has been omitted from ASCII-Request and Reply. TPS1100 - Version 1.05...
Page 36
Meaning of return codes CSV_SetDateTime Example RC_TYPE Cross reference to related functions DATIME DateAndTime; rc = CSV_GetDateTime(DateAndTime); if (rc == RC_OK) // use Date and time else A typical usage of this // handle error function TPS1100 - Version 1.05...
---................. -- --- ....--- GENERAL GEOCOM FUNCTIONS 5.2.1 COM_GetDoublePrecision - Get Double Precision Setting COM_GetDo ublePrecision ..........................................................................................................................................................................................108 108 ....................................................COM_GetDo ublePrecision C-Declaration COM_GetDoublePrecision( short &nDigits ) VB-Declaration VB_COM_GetDoublePrecision( nDigits As Integer ) ASCII-Request %R1Q,108: ASCII-Response %R1P,0,0:RC, nDigits[short] TPS1100 - Version 1.05...
Page 39
// returned with nDigits to the right of the // decimal point (void) TMC_GetHeight(height); // ignore return code print(„height: %d\n“, height.dHr); // reset server accuracy to the old value rc = COM_SetDoublePrecision(nOldDigits); // no error handling, because nOldDigits must be valid TPS1100 - Version 1.05...
Page 40
Note: With this function one can decrease the accuracy of the delivered values. Parameters nDigits Number of digits right to the comma. Return Codes RC_OK On successful completion. RC_IVPARAM 0 > nDigits > 15 See Also COM_GetDoublePrecision Example COM_GetDoublePrecision TPS1100 - Version 1.05...
GeoCOM before. Parameters Return Codes RC_OK On successful completion. See Also COM_End Example See appendix C-2 for an example program frame. 5.3.2 COM_End - Quit GeoCOM COM_En d ................................................................................................................................................................................................- C-Declaration COM_End( void ) TPS1100 - Version 1.05...
Page 42
COM_OpenConnection - Open a Port for Communication COM_Open Connectio n ............................................................................................................................................................................................- C-Declaration COM_OpenConnection( COM_PORT ePort, COM_BAUD_RATE &eRate, Short nRetries ) VB-Declaration VB_COM_OpenConnection( ByVal Port As Integer, ByVal Baud As Integer, ByVal Retries As Integer ) ASCII-Request ASCII-Response TPS1100 - Version 1.05...
Page 43
Note: In the current implementation, GeoCOM does not support two open connections at the same time. A second attempt to open a second port at once will be denied by GeoCOM. Parameters - C-Declaration EPort Serial port. eBaud InOut Baud rate. nRetries Number of retries. TPS1100 - Version 1.05 5-10...
Page 44
This function closes the (current) open port and releases an established connection. It will not change the TPS’ state. Parameters Return Codes RC_OK On successful completion. See Also COM_OpenConnection Example See appendix C-2 for an example program frame. TPS1100 - Version 1.05 5-11...
Page 45
RC_TYPE COM_BAUD_RATE eRate; // init GeoCOM // get baud rate of active connection rc = COM_GetBaudRate(eRate); if (rc != RC_OK) COM_ViewError(rc, "Setup baud rate"); else printf("Baudrate is %d Baud = " ); switch (eRate ) TPS1100 - Version 1.05 5-12...
Page 46
VB_COM_SetBaudRate( ByVal eRate As Long ) ASCII-Request ASCII-Response Remarks This function sets the baud rate of the serial line, hence on both client and server side. A port must have been opened successfully with COM_OpenConnection TPS1100 - Version 1.05 5-13...
Page 47
The timeout value is the delay GeoCOM will wait for completion before it signals an error to the calling application. Parameters nTimeOut Timeout value in seconds, default value is 5 sec. Return Codes RC_OK On successful completion. TPS1100 - Version 1.05 5-14...
Page 48
But be aware of that this will yield into a RC_COM_TIMEDOUT return code. Note: A negative timeout value indicates an infinite waiting period and may block the client application. Parameters nTimeOut timeout value in seconds TPS1100 - Version 1.05 5-15...
Page 49
COM_BINARY TPS’ Firmware does not support binary transmission data format then ASCII data format will be used instead. Parameters eComFormat COM_ASCII COM_BINARY Return Codes RC_OK On successful completion. See Also COM_SetComFormat Example RC_TYPE COM_FORMAT eComFormat; TPS1100 - Version 1.05 5-16...
Page 50
Parameters EComFormat COM_ASCII COM_BINARY Return Codes RC_OK On successful completion. RC_COM_PORT_NOT_OPEN Port not open for transmission. RC_COM_NO_BINARY TPS Firmware does not support binary data transmission format. See Also COM_SetComFormat TPS1100 - Version 1.05 5-17...
Page 51
// continue in ASII-format break; // end of switch (rc) // continue in program 5.3.11 COM_UseWindow - Declare Parent Window Handle COM_UseWin dow ............................................................................................................................................................................................. - C-Declaration COM_UseWindow( HWND handle ) VB-Declaration VB_COM_UseWindow( handle As HWND ) ASCII-Request ASCII-Response TPS1100 - Version 1.05 5-18...
Page 52
VB_COM_SetConnDlgFlag( ByVal bShow As Long ) ASCII-Request ASCII-Response Remarks This function sets or clears the connection dialog flag. If cleared, then the user will not be asked by a dialog box if all possible settings should be tried TPS1100 - Version 1.05 5-19...
Page 53
As Integer, ByVal szMsgTitle As String) ASCII-Request ASCII-Response Remarks This function checks the value of Result and if it is not equal to then RC_OK it pops up a message box containing the specific error text. TPS1100 - Version 1.05 5-20...
Page 54
As Integer, szErrText As String) ASCII-Request ASCII-Response Remarks This function checks the value of Result and returns an error text if the value is not equal to RC_OK. The function yields an empty string if the TPS1100 - Version 1.05 5-21...
Page 55
ASCII-Response Remarks This function retrieves the actual software Release (Release, version and subversion) of GeoCOM on the client side. Parameters nRel Software Release. nVer Software version. nSubVer Software subversion. Return Codes RC_OK On successful completion. TPS1100 - Version 1.05 5-22...
Page 56
In any other situation, it returns COM_TPS_UNKNOWN It is important to enable the sign-off message again if the instrument has been shut down. Parameters eMode Current operation mode. Return Codes RC_OK On successful completion. See Also COM_EnableSignOff CTL_GetUpCounter TPS1100 - Version 1.05 5-23...
Page 57
Communication Settings Example RC_TYPE COM_TPS_STATUS eMode; rc = COM_EnableSignOff(TRUE); if (rc == RC_OK) rc = COM_GetTPSSTate(eMode); if (rc == RC_OK) switch (eMode) case COM_TPS_OFF: printf(“TPS is switched off\n”); break; case COM_TPS_UNKNOWN: default: printf(“TPS state unknown\n”); TPS1100 - Version 1.05 5-24...
Get the current status of the ATR mode on TCA instruments. This command does not indicate whether the ATR has currently acquired a prism. It replaces the function AUT_GetAtrStatus Parameters OnOff State of the ATR mode Return-Codes RC_OK Execution always successful. TPS1100 - Version 1.05...
Page 59
AUS_SetUserAtrState(ON_OFF_TYPE OnOff) VB-Declaration VB_AUS_SetUserAtrState(OnOff As Long) ASCII-Request %R1Q,18005:OnOff[long] ASCII-Response %R1P,0,0:RC Remarks Activate respectively deactivate the ATR mode. Activate ATR mode: The ATR mode is activated and the LOCK mode (if sets) will be reset automatically also. TPS1100 - Version 1.05...
Page 60
TCA instruments only and does not indicate whether the ATR has a prism in lock or not. With the function you can find out whether a MOT_ReadLockStatus target is locked or not. This command is valid for TCA instruments only. It replaces the function AUT_GetLockStatus TPS1100 - Version 1.05...
Page 61
{// ------ disable target tracking --------------- rc = AUS_SetUserLockState(OFF);// reset the ATR // mode not // automatically if(rc == RC_OK) {// reset of Lock state successful if(OldAtrStatus==OFF) {// set old ATR mode rc == AUS_SetUserAtrState(OFF); TPS1100 - Version 1.05...
Page 62
This command is valid for TCA instruments only. It replaces the function AUT_SetLockStatus Parameters OnOff State of the ATR lock switch Return-Codes RC_OK Execution successful. RC_NOT_IMPL ATR not available; no TCA instrument. See Also AUS_GetUserLockState AUS_SetUserAtrState AUT_LockIn TPS1100 - Version 1.05...
Page 63
State of the RCS searching switch Return-Codes RC_OK Execution always successful. RC_NOT_IMPL ATR not available; no TCA instrument. See Also AUS_SwitchRcsSearch Example 6.3.6 AUS_SwitchRcsSearch - Set RCS-Searching mode switch AUS_Sw itch RcsSearch ............................................................................................................................................................................................18009 18009 ....................................................AUS_Sw itch RcsSearch C-Declaration AUS_SwitchRcsSearch(ON_OFF_TYPE OnOff) TPS1100 - Version 1.05...
Page 64
BAP_SearchTarget This command is valid for TCA instruments only. Parameters OnOff State of the RCS searching mode switch Return-Codes RC_OK Execution successful. RC_NOT_IMPL ATR not available; no TCA instrument. See Also AUS_SwitchRcsSearch Example TPS1100 - Version 1.05...
Maximum Position Time [s] struct AUT_TIMEOUT double adPosTimeout[MOT_AXES];// max. positioning time [sec] Position Precision enum AUT_POSMODE AUT_NORMAL = 0, // fast positioning mode AUT_PRECISE = 1 // exact positioning mode // note: can distinctly claim more time TPS1100 - Version 1.05...
Page 66
// Positioning to a target in the // environment of the hz- and v-angle. Automatic Detent Mode struct AUT_DETENT // Detent data double dPositiveDetent; // Detent in positive direction double dNegativeDetent; // Detent in negative direction BOOLE bActive; // Is detent active TPS1100 - Version 1.05...
AUT_ReadTol..............................................................................................................................................................................................9008 9008 ......................................AUT_ReadTol C-Declaration AUT_ReadTol(AUT_POSTOL &TolPar) VB-Declaration VB_AUT_ReadTol(TolPar As AUT_POSTOL) ASCII-Request %R1Q,9008: ASCII-Response %R1P,0,0:RC,Tolerance Hz[double],Tolerance V[double] Remarks This command reads the current setting for the positioning tolerances of the Hz- and V- instrument axis. TPS1100 - Version 1.05 7-10...
Page 68
(TolPar.adPosTol[MOT_V_AXLE] > MIN_TOL)) TolPar.adPosTol[MOT_HZ_AXLE] = MIN_TOL; TolPar.adPosTol[MOT_HZ_AXLE] = MIN_TOL; rc = AUT_SetTol(TolPar); switch (rc) case (RC_OK): // set of Lock tolerance successful break; case (RC_IVPARAM): // invalid parameter break; case (MOT_RC_UNREADY): // subsystem not ready break; TPS1100 - Version 1.05 7-11...
Page 69
Hz and V direction [ Return-Codes RC_OK Execution successful. RC_IVPARAM One or both tolerance values not within the boundaries (1.57079E-06[ ] =1[cc] to 1.57079E-04[ ] =100[cc]). MOT_RC_UNREADY Instrument has no motorization See Also AUT_ReadTol Example AUT_ReadTol TPS1100 - Version 1.05 7-12...
Page 70
// read timeout and set to a minimum of 10 [s] rc = AUT_ReadTimeout(TimeoutPar); if ((TimeoutPar.adPosTimeout[0] < 10) || (TimeoutPar.adPosTimeout[1] < 10)) TimeoutPar.adPosTimeout[0] = 10; TimeoutPar.adPosTimeout[1] = 10; rc = AUT_SetTimeout(TimeoutPar); switch (rc) case (RC_OK): // set of timeout successful break; TPS1100 - Version 1.05 7-13...
Page 71
Hz and V direction [s]. Valid values are between 1 [sec] and 60 [sec]. Return-Codes RC_OK Execution successful. Maximum positioning time is set. RC_IVPARAM One or both time out values not within the boundaries (1[sec] to 60[sec]). See Also AUT_ReadTimeout Example AUT_ReadTimeout TPS1100 - Version 1.05 7-14...
Page 72
If LockIn the Lock status not set, the manual driving wheel is activated after the positioning. Parameters Horizontal (telescope) position [ Vertical (instrument) position [ TPS1100 - Version 1.05 7-15...
Page 73
(perhaps increase AUT time out, see AUT_SetTimeout AUT_RC_MOTOR_ERROR Instrument has no ‘motorization’. AUT_RC_ANGLE_ERROR Error within angle measurement. Maybe instrument is not levelled and not stable. Try to correct instrument’s position or switch automatic incline correction to (see TMC_SetInclineSwitch TPS1100 - Version 1.05 7-16...
Page 74
If a measurement error occurred, the automatic inclination correction is switched off and the position procedure starts again. RC_TYPE rc, hrc; short BOOL TryAgain = TRUE; AUT_TIMEOUT TimeoutPar; AUT_POSMODE POSMode = AUT_PRECISE; short nComTimeOut, nOldComTimeOut; TPS1100 - Version 1.05 7-17...
Page 75
// switch inclination correction off hrc = TMC_SetInclineSwitch(OFF); break; default: // precise position not possible TryAgain = FALSE; if (rc == AUT_RC_INCACC) //Position successful but not precise else // Positioning not successful // here further error analyse possible TPS1100 - Version 1.05 7-18...
Page 76
If ATR is possible and activated and the ATR mode is set the instrument tries to position onto a target in the destination AUT_TARGET area. In addition, the target is locked after positioning if the status LockIn is set. TPS1100 - Version 1.05 7-19...
Page 77
(perhaps increase AUT timeout, see AUT_SetTimeout AUT_RC_MOTOR_ERROR Instrument has no ‘motorization’. AUT_RC_ANGLE_ERROR Error within angle measurement. Maybe instrument is not levelled and not stable. Try to correct instrument’s position or switch automatic incline correction to (see TMC_SetInclineSwitch TPS1100 - Version 1.05 7-20...
Page 78
The example program performs a change face. If a measurement error occurs, the automatic inclination correction is switched off and the change face starts again. RC_TYPE rc, rch; BOOL TryAgain = TRUE; AUT_POSMODE POSMode = AUT_PRECISE; rc=RC_IVRESULT; TPS1100 - Version 1.05 7-21...
Page 79
// change face not successful // here further error analyse possible break; 7.3.7 AUT_FineAdjust - Automatic target positioning AUT_FineAdjust..............................................................................................................................................................................................9037 9037 ....................................................AUT_FineAdjust C-Declaration AUT_FineAdjust( Double dSrchHz, double dSrchV , BOOLE bDummy) VB-Declaration VB_AUT_FineAdjust3( DSrchHz As Double, TPS1100 - Version 1.05 7-22...
Page 80
It’s reserved for future use, set bDummy always to FALSE Return-Codes RC_OK Execution successful. AUT_RC_TIMEOUT Timeout while positioning of one or both axes. The position fault lies above 100[cc]. (perhaps increase AUT timeout, AUT_SetTimeout TPS1100 - Version 1.05 7-23...
Page 81
// Status must // be set for // the fine // adjust // functionality if(ATRState==ON) // performs a fine position with a max. target // search range of 0.08rad (5gon) in Hz and V // direction TPS1100 - Version 1.05 7-24...
Page 82
VB_AUT_Search2(Hz_Area As Double, V_Area As Double, bDummy As Boolean) ASCII-Request %R1Q,9029:Hz_Area,V_Area,0 ASCII-Response %R1P,0,0:RC Remarks This procedure performs an automatically target search within a given area. The search area has an elliptical shape where the input parameters TPS1100 - Version 1.05 7-25...
Page 83
No target found. AUT_RC_BAD_ENVIRONMENT Inadequate environment conditions. AUT_RC_NOT_ENABLED ATR mode not enabled, enable ATR mode AUT_RC_DETECTOR_ERROR AZE error, at repeated occur call service RC_COM_TIMEDOUT Communication timeout. (perhaps increase COM timeout, see COM_SetTimeout See Also AUS_SetUserAtrState AUS_GetUserAtrState AUT_FineAdjust TPS1100 - Version 1.05 7-26...
Page 84
V_Area += 0.1; if (Hz_Area > 1) TryAgain = FALSE; break; case (RC_COM_TIMEDOUT): //communication timeout //increase timeout until 30s hrc = COM_GetTimeOut(nComTimeOut); nComTimeOut=(short)__min(nComTimeOut+=5, 60); hrc = COM_SetTimeOut(nComTimeOut); //abort if timeout >= 30s if (nComTimeOut >= 30) TPS1100 - Version 1.05 7-27...
Page 85
This function returns the current activated fine adjust positioning mode. This command is valid for all instruments, but has only effects for TCA instruments. Parameters RAdjMode current fine adjust positioning mode Return-Codes RC_OK Execution successful (always) TPS1100 - Version 1.05 7-28...
Page 86
AUT_POINT_MODE. Parameters AdjMode : Fine positioning with AUT_NORM_MODE angle tolerance : Fine positioning with AUT_POINT_MODE point tolerance Return-Codes RC_OK Execution successful RC_IVPARAM Invalid mode See Also AUS_GetUserAtrState Example RC_TYPE Result; AUT_ADJMODE AdjMode; TPS1100 - Version 1.05 7-29...
Page 87
Parameters Return-Codes RC_OK LOCK-IN configuration is now active or already active. AUT_RC_NOT_ENABLED Target acquisition not enabled AUT_RC_MOTOR_ERROR Instrument has no ‘motorization’. AUT_RC_DETECTOR_ERROR Error in target acquisition, at repeated occur call service AUT_RC_NO_TARGET No target detected TPS1100 - Version 1.05 7-30...
Page 88
[double],bEnabled[Boolean] Remarks This function returns the current user searching area. This command is valid for all instruments, but has only effects for TCA instruments. Parameters Area user defined searching area Return-Codes RC_OK Execution successful (always) TPS1100 - Version 1.05 7-31...
Page 89
Return-Codes RC_OK Execution successful (always) See Also AUT_GetSearchArea, BAP_SearchTarget Example AUT_SEARCH_AREA SearchArea; SearchArea.dCenterHz 0.5; SearchArea.dCenterV 1.5708; // 100 gon SearchArea.dRangeHz 0.4; SearchArea.dRangeV 0.2; SearchArea.bEnabled = TRUE; // activate it RetCode = AUT_SetSearchArea(SearchArea); TPS1100 - Version 1.05 7-32...
Page 90
Execution successful (always) See Also AUT_SetUserSpiral, BAP_SearchTarget Example AUT_SetUserSpiral 7.3.15 AUT_SetUserSpiral - Set user searching spiral AUT_SetUserSp iral............................................................................................................................................................................................9041 9041 ....................................................AUT_SetUserSp iral C-Declaration AUT_SetUserSpiral( AUT_SEARCH_SPIRAL SpiralDim) VB-Declaration VB_AUT_SetUserSpiral(byval SpiralDim As AUT_SEARCH_SPIRAL) ASCII-Request %R1Q,9041:dRangeHz,dRangeV ASCII-Response %R1P,0,0:RC TPS1100 - Version 1.05 7-33...
Page 91
TCA instruments. Parameters SpiralDim searching spiral dimension Return-Codes RC_OK Execution successful (always) See Also AUT_GetUserSpiral, BAP_SearchTarget Example AUT_SEARCH_SPIRAL SearchSpiral; RC_TYPE result; SearchSpiral.dRangeHz = 0.4; SearchSpiral.dRangeV = 0.2; result = AUT_SetUserSpiral(SearchSpiral); TPS1100 - Version 1.05 7-34...
Page 92
GeoCOM Reference Manual Automation - AUT TPS1100 - Version 1.05...
// fast tracking RL distance, reflector free (red) BAP_AVG_REF_STANDARD = 7, // Average IR distance with reflector BAP_AVG_REF_VISIBLE = 8, // Average long range dist. with reflector (red) BAP_AVG_RLESS_VISIBLE = 9 // Average RL distance, reflector free (red laser) TPS1100 - Version 1.05...
Page 94
// prism name string Prism definition struct BAP_PRISMDEF char szName[BAP_PRISMNAME_LEN+1]; double dAddConst; // prism correction BAP_REFLTYPE eReflType; // reflector type Target type definition enum BAP_TARGET_TYPE BAP_REFL_USE = 0 // with reflector BAP_REFL_LESS = 1 // without reflector TPS1100 - Version 1.05...
An error has been displayed before last call RC_IVRESULT No error has been displayed before last call See Also Example RC_TYPE short nError, nGSIError; rc = BAP_GetLastDisplayedError(nError, nGSIError); if (rc == RC_OK) printf("Error number: %d\n", nError); printf("GSI error number: %d\n", nGSIError); TPS1100 - Version 1.05...
Page 96
Gets the current target type for distance measurements (with reflector or without reflector). Parameters eTargetType actual target type Return Codes RC_OK Always See Also BAP_SetTargetType() BAP_SetMeasPrg() Example 8.2.3 BAP_SetTargetType – Sets the target type BAP_SetTargetTy pe............................................................................................................................................................................................17021 17021 ....................................................BAP_SetTargetTy pe C-Declaration BAP_SetTargetType( BAP_TARGET_TYPE eTargetType ) TPS1100 - Version 1.05...
Page 97
Target type is not available See Also BAP_GetTargetType() BAP_SetMeasPrg() Example 8.2.4 BAP_GetPrismType - Get actual prism type BAP_GetPrismTy pe............................................................................................................................................................................................17009 17009 ....................................................BAP_GetPrismTy pe C-Declaration BAP_GetPrismType( BAP_PRISMTYPE &ePrismType ) VB-Declaration VB_BAP_GetPrismType (ePrismType As Long) ASCII-Request %R1Q,17009: ASCII-Response %R1Q,0,0:RC, ePrismType[long] TPS1100 - Version 1.05...
Page 98
Sets the prism type for measurements with a reflector. It overwrites the prism constant, set by TMC_SetPrismCorr Parameters ePrismType Prism type Return Codes RC_OK Prism type is set RC_IVPARAM Prism type is not available, i.e. a user prism is not defined See Also BAP_GetPrismType() TMC_SetPrismCorr() TPS1100 - Version 1.05...
Page 99
PrismDef definition of the prism Return Codes RC_OK successful RC_IVPARAM invalid prism type See Also BAP_SetPrismDef() Example 8.2.7 BAP_SetPrismDef – Sets a user prism definition BAP_SetPrismDef .............................................................................................................................................................................................. 17024 17024 ....................................................BAP_SetPrismDef C-Declaration BAP_SetPrismDef( BAP_PRISMTYPE ePrismType, BAP_PRISMDEF PrismDef) TPS1100 - Version 1.05...
Page 100
RC_IVPARAM Invalid prism type See Also BAP_SetPrismType() BAP_GetPrismDef() Example 8.2.8 BAP_GetMeasPrg - Get actual distance measurement program BAP_GetMeasPrg............................................................................................................................................................................................... 17018 17018 ....................................................BAP_GetMeasPrg C-Declaration BAP_GetMeasPrg( BAP_USER_MEASPRG &eMeasPrg ) VB-Declaration VB_BAP_GetMeasPrg(eMeasPrg As Long) ASCII-Request %R1Q,17018: ASCII-Response %R1Q,0,0:RC, eMeasPrg[long] Remarks TPS1100 - Version 1.05...
Page 101
Reflector-free measurement programs are not available on all instrument types. Changing the measurement programs may change the target type too (with reflector / reflector-free) Parameters eMeasPrg Measurement program Return Codes RC_OK Measurement program is set RC_IVPARAM Measurement program is not available TPS1100 - Version 1.05...
Page 102
BAP_SetMeasPrg DistMode actual distance measurement mode Horizontal angle [rad]x, depends on DistMode Vertical angle [rad]x, depends on DistMode dDist Slopedistance [m]x, depends on DistMode Return Codes may additionally return AUT- and TMC- BAP_MeasDistanceAngle return codes. TPS1100 - Version 1.05 8-10...
Page 103
Error, TMC submodule already in use by another subsystem, command not processed TMC_DIST_ERROR An error occurred during distance measurement. TMC_DIST_PPM Error, wrong setting of PPM or MM on EDM TMC_NO_FULL_CORRECTION Warning, measurement without full correction TPS1100 - Version 1.05 8-11...
Page 104
DistMode!"); break; case RC_ABORT: printf("Measurement aborted!"); break; case RC_SHUT_DOWN: printf("System has been stopped!"); break; case TMC_DIST_PPM: printf("PPM or MM should be switched off"); printf(" when EDM is on -> no results!“); break; case TMC_DIST_ERROR: TPS1100 - Version 1.05 8-12...
Page 105
%R1P,0,0:RC Remarks Function searches a target. The used searching range is dependent of the set searching area and whether the additional user area is enabled or not. The functionality is only available by ATR instruments. TPS1100 - Version 1.05 8-13...
Page 106
AUT_RC_ACCURACY Position not exactly reached AUT_RC_MOTOR_ERROR Motorization error AUT_RC_MULTIPLE_TARGETS Multiple targets detected AUT_RC_NO_TARGET No target detected AUT_RC_TIMEOUT Time out, no target found RC_ABORT Error, searching aborted RC_FATAL Fatal Error See Also AUT_GetUserSpiral, AUT_SetUserSpiral, AUT_GetSearchArea, AUT_SetSearchArea TPS1100 - Version 1.05 8-14...
VB-Declaration VB_BMM_BeepAlarm() ASCII-Request %R1Q,11004: ASCII-Response %R1P,0,0:RC Remarks This function produces a triple beep with the configured intensity and frequency, which cannot be changed. If there is a continuous signal active, it will be stopped before. Parameters TPS1100 - Version 1.05...
Page 108
If a continuous signal is active, it will be stopped first. Parameters Return Codes RC_OK always See Also BMM_BeepAlarm, IOS_BeepOn, IOS_BeepOff 9.2.3 IOS_BeepOn - Start a beep-signal IOS_BeepOn ............................................................................................................................................................................................... 20001 20001 ....................................................IOS_BeepOn C-Declaration IOS_BeepOn(short nIntens = IOS_BEEP_STDINTENS) VB-Declaration VB_IOS_BeepOn(ByVal nIntens As Integer) TPS1100 - Version 1.05...
Page 109
IOS_BeepOff, BMM_BeepAlarm, BMM_BeepNormal Example IOS_BeepOn(IOS_BEEP_STDINTENS) // wait for a second IOS_BeepOff(); 9.2.4 IOS_BeepOff - Stop active beep-signal IOS_BeepOff............................................................................................................................................................................................... 20000 20000 ....................................................IOS_BeepOff C-Declaration IOS_BeepOff(void) VB-Declaration VB_IOS_BeepOff() ASCII-Request %R1Q,20000: ASCII-Response %R1P,0,0:RC Remarks This function switches off the beep-signal. TPS1100 - Version 1.05...
Page 110
GeoCOM Reference Manual Basic Man Machine Interface - BMM Parameters Return Codes RC_OK always See Also IOS_BeepOn, BMM_BeepAlarm, BMM_BeepNormal Example IOS_BeepOn TPS1100 - Version 1.05...
OMMUNICATIONS This subsystem contains those functions, which are subsystem COM related, but will be executed as RPC’s on the TPS1100 instrument. It provides a function to check communication between the computer and the TPS1100 and also some functions to get and set communication relevant parameters on the server side.
Page 113
ASCII-Response %R1P,0,0:RC Remarks Leaves on-line mode and switches TPS1100 into local mode. If in local mode, no communication will take place. Any attempt of sending data will be ignored. Changing local into online mode can be done manually only. Parameters TPS1100 - Version 1.05...
Page 114
VB_COM_SwitchOnTPS(ByVal eOnMode As Long) ASCII-Request %R1Q,111:eOnMode[short] ASCII-Response %N1,0,255,,0%T0,0,0,:%R1P,0,0:0 Remarks This function switches on the TPS1100 instrument and put it into remote mode. It can also be used to switch from sleep into remote mode. Parameters eOnMode Run mode - use COM_TPS_REMOTE...
Page 115
%N1,0,255,,0%T0,0,0,:%R1P,1,0:0,1 (shut down) %N1,0,255,,0%T0,0,0,:%R1P,1,0:0,0 optionally followed by %R1P,0,0:RC else %R1P,0,0:RC Remarks This function switches off the TPS1100 instrument or put it into sleep mode. Parameters eOffMode Stop mode - see Constants and Types. Return Codes RC_OK On successful termination. RC_COM_SRVR_IS_SLEEPING TPS has gone to sleep.
Page 116
RC_OK On successful termination. See Also Example 10.2.7 COM_EnableSignOff - Enable Remote Mode Logging COM_Enab leSig nOff ............................................................................................................................................................................................115 115 ....................................................COM_Enab leSig nOff C-Declaration COM_EnableSignOff(BOOLE bEnable) VB-Declaration VB_COM_EnableSignOff(ByVal bEnable As Long) ASCII-Request %R1Q,115:bEnable[Boolean] ASCII-Response %R1P,0,0:RC TPS1100 - Version 1.05 10-6...
Page 117
ASCII-Response %R1P,0,0:RC, bAvailable[Boolean] Remarks This function gets the ability information about the server to handle binary communication. Since TPS1100 Release 2.00 the client may make requests in binary format which speeds up the communication by about 40-50%. Parameters bAvailable : binary operation enabled.
Page 118
Binary data format is not supported yet in GeoCOM Versions below 2.0. Parameters bAvailable : enable binary operation. TRUE : enable ASCII operation only. FALSE Return Codes RC_OK On successful termination. See Also COM_GetBinaryAvailable COM_SetFormat Example TPS1100 - Version 1.05 10-8...
TPS_CLASS_5005 = 7, // TPS5000 family member TPS_CLASS_5100 = 8, // TPS5000 family member TPS_CLASS_1102 = 100, // TPS1100 family member, 2" TPS_CLASS_1103 = 101, // TPS1100 family member, 3" TPS_CLASS_1105 = 102 // TPS1100 family member, 5" TPS_CLASS_1101 = 103 // TPS1100 family member, 1"...
Page 120
// month in year 1..12 BYTE Day; // day in month 1..31 General Time struct TIME_TYPE { BYTE Hour; // 24 hour per day 0..23 BYTE Minute; // minute 0..59 BYTE Second; // seconds 0..59 TPS1100 - Version 1.05 11-2...
%R1Q,5003: ASCII-Response %R1P,0,0:RC, SerialNo[long] Remarks Parameters SerialNo The serial number. Return-Codes RC_OK Execution successful. RC_UNDEFINED Instrument number not yet set. Example RC_TYPE long SerialNo; rc = CSV_GetInstrumentNo(SerialNo); if (rc == RC_OK) // use SerialNo else TPS1100 - Version 1.05 11-3...
Page 122
GeoCOM Reference Manual Central Services - CSV // instrument number not yet set 11.3.2 CSV_GetInstrumentName - Get Leica specific instrument name CSV_GetIn strumentName..........................................................................................................................................................................................5004 5004 ....................................................CSV_GetIn strumentName C-Declaration CSV_GetInstrumentName(char *Name) VB-Declaration VB_CSV_GetInstrumentName(Name As String) ASCII-Request %R1Q,5004: ASCII-Response %R1P,0,0:RC,Name[string] Remarks Parameters...
Page 123
Return-Codes RC_OK Well configured. RC_UNDEFINED Instrument precision class undefined. Example RC_TYPE TPS_DEVICE Device; rc = CSV_GetDeviceConfig(Device); if (rc == RC_OK) // Use system information else // Intrument precision class undefined // (incomplete calibration data) TPS1100 - Version 1.05 11-5...
Page 124
(rc == RC_OK) // use Date and time else // time and/or date is not set (yet) // use CSV_SetDateTime to set date and time // (March 25 1997, 10:20) DateAndTime.Date.Year = 1997; DateAndTime.Date.Month = 3; TPS1100 - Version 1.05 11-6...
Page 125
DATIME Parameters DateAndTime Encoded date and time. Return-Codes RC_OK Execution always successful. See Also CSV_GetDateTime Example CSV_GetDateTime 11.3.6 CSV_GetSWVersion - Get Software Version CSV_GetSWVersion ............................................................................................................................................................................................5034 5034 ....................................................CSV_GetSWVersion C-Declaration CSV_GetSWVersion2(short &nRelease, short &nVersion, short &nSubVersion) TPS1100 - Version 1.05 11-7...
Page 126
= “Version 02.20.00” 11.3.7 CSV_CheckPower – check the available power CSV_GetV Bat..............................................................................................................................................................................................5009 5009 ....................................................CSV_GetV Bat C-Declaration CSV_CheckPower( unsigned short &unCapacity, CSV_POWER_PATH &eActivePower, CSV_POWER_PATH &ePowerSuggest) VB-Declaration VB_CSV_CheckPower( unCapacity As integer, eActivePower As long, ePowerSuggest As long) TPS1100 - Version 1.05 11-8...
Page 127
= CSV_CheckPower(unCapacity, eActivePower, ePowerSuggest) 11.3.8 CSV_GetVMem - Get value of the memory backup voltage supply CSV_GetV Mem..............................................................................................................................................................................................5010 5010 ....................................................CSV_GetV Mem C-Declaration CSV_GetVMem(double &VMem) VB-Declaration VB_CSV_GetVMem(VMem As double) ASCII-Request %R1Q,5010: ASCII-Response %R1P,0,0:RC,VMem[double] TPS1100 - Version 1.05 11-9...
Page 128
= CSV_GetVMem(VMem); if (Vbat > 3.1) // Message: memory backup voltage OK else // Warning: memory backup voltage not OK // exchange battery it in Leica service 11.3.9 CSV_GetIntTemp - Get the temperature CSV_GetIn tTemp ............................................................................................................................................................................................... 5011 5011 ....................................................CSV_GetIn tTemp C-Declaration CSV_GetIntTemp(double &Temp)
Page 129
GeoCOM Reference Manual Central Services - CSV Parameters Temp Instrument temperature. Return-Codes RC_OK Execution always successful. Example RC_TYPE double Temp; rc = CSV_GetIntTemp(Temp); // use temperature information TPS1100 - Version 1.05 11-11...
Controller Task - CTL 12 C - CTL ONTROLLER This chapter describes one RPC only, which shows how often the TPS1100 instrument has been switched on and how often the instrument fell asleep. 12.1 FUNCTIONS 12.1.1 CTL_GetUpCounter - Get Up Counter CTL_GetUp Coun ter ............................................................................................................................................................................................
Page 131
RetCode = CTL_GetUpCounter(nPowerOn, nWakeUp); if (RetCode != RC_OK) // handle error if (nPowerOn > 0) // instrument has been switched off in between if (nWakeUp > 0) // instrument has been fallen asleep in between TPS1100 - Version 1.05 12-2...
EDM occurred EDM_COMERR error on communication with EDM RC_TIME_OUT process time out RC_ABORT function interrupted RC_SYSBUSY EDM already busy RC_IVPARAM parameter value must be RC_UNDEFINED instrument name could not be read See Also TPS1100 - Version 1.05 13-2...
Page 134
RC_ABORT: printf("Function aborted!"); break; case RC_UNDEFINED: printf("Instrument name is not set!"); printf("Fatal error: call service!"); break; case RC_SYSBUSY: printf("EDM is already busy!"); break; case RC_IVPARAM: printf("Parameter of EDM_Laserpointer must be of ON_OFF_TYPE!"); break; TPS1100 - Version 1.05 13-3...
Page 135
The Electronic Guide Light must be implemented in the theodolite. Parameters eBrightness EDM_EGLINTEN_OFF EDM_EGLINTEN_LOW EDM_EGLINTEN_MID EDM_EGLINTEN_HIGH Return Codes RC_OK value of the Electronic Guide Light intensity returned EDM_DEV_NOT_ Electronic Guide Light not INSTALLED implemented See Also EDM_ SetEglIntensity () Example EDM_SetEglIntensity TPS1100 - Version 1.05 13-4...
Page 136
Electronic Guide Light not INSTALLED implemented See Also EDM_GetEglIntensity () Example RC-TYPE rc; EDM_EGLINTENSITY_TYPE eIntensity, eNewIntensity; // Get actual EGL intensity rc = EDM_GetEglIntensity(eIntensity); if (rc == RC_OK) // switch EGL intensity one level up switch (eIntensity) TPS1100 - Version 1.05 13-5...
Page 137
= EDM_EGLINTENSITY_LOW; break; case EDM_EGLINTENSITY_LOW: eIntensityNew = EDM_EGLINTENSITY_MID; break; case EDM_EGLINTENSITY_MID: eIntensityNew = EDM_EGLINTENSITY_HIGH;break; case EDM_EGLINTENSITY_HIGH: break; // Allready highest intensity default: eIntensityNew = EDM_EGLINTENSITY_LOW; //Set new EGL intensity rc = SetEglIntensity(eIntensityNew); // Handle errors TPS1100 - Version 1.05 13-6...
// locked in MOT_LOCKED_IN = 1, // prediction mode MOT_PREDICTION = 2 Controller Stop Mode enum MOT_STOPMODE // slow down with current acceleration MOT_NORMAL = 0, // slow down by switch off power supply MOT_SHUTDOWN = 1 TPS1100 - Version 1.05 14-1...
Number of axis const short MOT_AXES = 2; 14.3 FUNCTIONS 14.3.1 MOT_ReadLockStatus - Return condition of LockIn control MOT_ReadLoc kStatus ............................................................................................................................................................................................6021 6021 ....................................................MOT_ReadLoc kStatus C-Declaration MOT_ReadLockStatus(MOT_LOCK_STATUS &Status) VB-Declaration VB_MOT_ReadLockStatus(Status As Long) ASCII-Request %R1Q,6021: ASCII-Response %R1P,0,0:RC,Status[long] TPS1100 - Version 1.05 14-2...
Page 140
14.3.2 MOT_StartController - Start motor controller MOT_StartCon troller ............................................................................................................................................................................................6001 6001 ....................................................MOT_StartCon troller C-Declaration MOT_StartController(MOT_MODE ControlMode) VB-Declaration VB_MOT_StartController(ControlMode As Long) ASCII-Request %R1Q,6001:ControlMode[long] ASCII-Response %R1P,0,0:RC Remarks This command is used to enable remote or user interaction to the motor controller. TPS1100 - Version 1.05 14-3...
Page 141
6002 ....................................................MOT_Stop Controller C-Declaration MOT_StopController(MOT_STOPMODE Mode) VB-Declaration VB_MOT_StopController(Mode As Long) ASCII-Request %R1Q,6002:Mode[long] ASCII-Response %R1P,0,0:RC Remarks This command is used to stop movement and to stop the motor controller operation. Parameters Mode Stop mode Return-Codes RC_OK Execution successful. TPS1100 - Version 1.05 14-4...
Page 142
The maximum speed is +/- 0.79 rad/s each. Return-Codes RC_OK Execution successful RC_IVPARAM and/or RefOmega.adValue[HZ] values are not within RefOmega.adValue[V] the boundaries. MOT_RC_NOT_CONFIG System is not in state MOT_CONFIG (e.g. missing ‘start MOT_BUSY_OPEN_END controller’). TPS1100 - Version 1.05 14-5...
Page 143
// insert here a time delay or a wait for user // action; the movement stops by calling // MOT_StopController // stop controller and movements abruptly rc = MOT_StopController(MOT_SHUTDOWN); // restart controller with default setting rc = MOT_StartController(MOT_MANUPOS); if (rc != RC_OK) // handle error TPS1100 - Version 1.05 14-6...
AUTO_POWER_OFF // activate shut down mechanism System Time typedef long SYSTIME; // [ms] 15.2 FUNCTIONS 15.2.1 SUP_GetConfig - Get power management configuration status SUP_GetConfig ..............................................................................................................................................................................................14001 14001 ....................................................SUP_GetConfig C-Declaration SUP_GetConfig(ON_OFF_TYPE &LowTempOnOff, SUP_AUTO_POWER &AutoPower, SYSTIME &Timeout) TPS1100 - Version 1.05 15-1...
Page 145
AutoPower (press a key, turn the device or communication via GeoCOM) occurs. Return-Codes RC_OK Execution always successful. See Also SUP_SetConfig SUP_SwitchLowTempControl Example SUP_SetConfig TPS1100 - Version 1.05 15-2...
Page 146
AutoPower (press a key, turn the device or communication via GeoCOM) occurs. The default value for is 900000ms = Timeout 15 Min. Return-Codes RC_OK Execution always successful. See Also SUP_GetConfig TPS1100 - Version 1.05 15-3...
Page 147
ASCII-Response %R1P,0,0:RC Remarks Activate ( ) respectively deactivate ( ) the low temperature control. Parameters LowTempOnOff Switch for the low temperature control. Per defaults the device automatically turns off when internal temperature fall short of TPS1100 - Version 1.05 15-4...
Page 148
GeoCOM Reference Manual Supervisor - SUP Return-Codes RC_OK Execution always successful. See Also SUP_GetConfig SUP_SetConfig Example RC_TYPE // deactivate the low temperature control rc = SUP_SwitchLowTempControl(OFF) TPS1100 - Version 1.05 15-5...
ALCULATION This module is the central measurement, calculation and geodetic control module of the TPS1100 instrument family. All sensors (angle, distance and compensator) deliver their respective data to this module. All sensor information is used to continuously calculate corrected or uncorrected values for angles, distance and position co-ordinates.
(see ). The return code of the measurement TMC_SetInclineSwitch functions holds information about the quality of the result. E.g. it is reported, if the compensation of inclination could not be done. TPS1100 - Version 1.05 16-2...
16.2 CONSTANTS AND TYPES On / Off switches enum ON_OFF_TYPE // on/off switch type = 0, // Switch is off // Switch is on TPS1100 - Version 1.05 16-3...
Page 152
= 8, // Reflectorless repeated measurement EDM_CONT_REFLESS = 9, // Fast repeated measurement EDM_CONT_FAST = 10,// Standard average measurement EDM_AVERAGE_IR = 11,// Short range average measurement EDM_AVERAGE_SR = 12 // Long range average measurent EDM_AVERAGE_LR TPS1100 - Version 1.05 16-4...
Page 153
// Corresponding inclination TMC_INCLINE Incline; // Face position of telescope TMC_FACE eFace; Offset Values for Correction struct TMC_OFFSETDIST { double dLengthVal; // Aim offset length // Aim offset cross double dCrossVal; double dHeightVal; // Aim offset height TPS1100 - Version 1.05 16-5...
Page 154
Reflector Height struct TMC_HEIGHT { // Reflector height double dHr; Atmospheric Correction Data struct TMC_ATMOS_TEMPERATURE { // Wave length of the EDM transmitter double dLambda; // Atmospheric pressure double dPressure; dDryTemperature; // Dry temperature double TPS1100 - Version 1.05 16-6...
ON_OFF_TYPE eStandAxisCorr; // Collimation error corr. ON_OFF_TYPE eCollimationCorr; // Tilting axis corr. ON_OFF_TYPE eTiltAxisCorr; 16.3 MEASUREMENT FUNCTIONS 16.3.1 TMC_GetCoordinate - Gets the coordinates of a measured point TMC_GetCoordinate ............................................................................................................................................................................................2082 2082 ....................................................TMC_GetCoordinate C-Declaration TMC_GetCoordinate(SYSTIME WaitTime, TPS1100 - Version 1.05 16-7...
Page 156
Co-ordinates are available. TMC_NO_FULL_CORRECTION The results are not corrected by all active sensors. Co-ordinates are available. In order to secure witch correction is missing use the both functions TMC_IfDataAzeCorrError TMC_IfDataIncCorrError TPS1100 - Version 1.05 16-8...
Page 157
At repeated occur call service. TMC_BUSY TMC resource is locked respectively TMC task is busy. Repeat measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure TMC_IfDataAzeCorrError TMC_IfDataIncCorrError Example RC_TYPE Result; TMC_COORDINATE Coordinate; TPS1100 - Version 1.05 16-9...
Page 158
16.3.2 TMC_GetSimpleMea - Returns angle and distance measurement TMC_GetSimpleMea ............................................................................................................................................................................................2108 2108 ....................................................TMC_GetSimpleMea C-Declaration TMC_GetSimpleMea(SYSTIME WaitTime, TMC_HZ_V_ANG &OnlyAngle, double &SlopeDistance, TMC_INCLINE_PRG Mode) VB-Declaration VB_TMC_GetSimpleMea(ByVal WaitTime As Long, OnlyAngle As TMC_HZ_V_ANG, SlopeDistance As Double, ByVal Mode As Long) ASCII-Request %R1Q,2108:WaitTime[long],Mode[long] ASCII-Response %R1P,0,0:RC,Hz[double],V[double],SlopeDistance[double] TPS1100 - Version 1.05 16-10...
Page 159
Angle and distance data are available. You can a forced incline measurement perform or switch off the incline. This message is to be considers as info. TPS1100 - Version 1.05 16-11...
Page 160
TMC resource is locked respectively TMC task is busy. Distance and angle data are not available. Repeat measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure TMC_GetAngle5 Example RC_TYPE TMC_HZ_V_ANG OnlyAngle; TPS1100 - Version 1.05 16-12...
Page 161
AccuracyIncline[double],InclineTime[long],FaceDef[long] Remarks This function carries out an angle measurement and, in dependence of configuration, inclination measurement and returns the results. As shown the result is very comprehensive. For simple angle measurements use instead. TMC_GetAngle5 TMC_GetSimpleMea TPS1100 - Version 1.05 16-13...
Page 162
At repeated occur call service. TMC_BUSY TMC resource is locked respectively TMC task is busy. Angle data are not available. Repeat measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure TMC_GetAngle5 TMC_GetSimpleMea TPS1100 - Version 1.05 16-14...
Page 163
Inclination sensor measurement mode. Return Codes RC_OK Execution successful. TMC_NO_FULL_CORRECTION The results are not corrected by all active sensors. Angle data are available. In order to secure witch correction is missing use the both functions TMC_IfDataAzeCorrError TPS1100 - Version 1.05 16-15...
Page 164
Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure TMC_GetAngle5 TMC_GetSimpleMea Example RC_TYPE Result; TMC_ANGLE Angle; BOOLE bExit, bAzeCorrError, bIncCorrError; short nCnt; nCnt=0; bExit=TRUE; // Gets the whole angle data Result=TMC_GetAngle(Angle, TMC_AUTO_INC); TPS1100 - Version 1.05 16-16...
Page 165
RC_ABORT: case RC_SHUT_DOWN: default: break; }// end switch nCnt++; }while(!bExit && nCnt<3); 16.3.5 TMC_QuickDist - Returns slope-distance and hz-,v-angle TMC_Qu ic kDist..............................................................................................................................................................................................2117 2117 ....................................................TMC_Qu ic kDist C-Declaration TMC_QuickDist( TMC_HZ_V_ANG &OnlyAngle, double &dSlopeDistance) TPS1100 - Version 1.05 16-17...
Page 166
(For the forced incline measurement, the instrument must be in stable state for more than 3sec.). Parameters OnlyAngle measured Hz- and V- angle dSlopeDistance measured slope-distance Return-Codes RC_OK Measurement ok. Angle and distance data are available. TPS1100 - Version 1.05 16-18...
Page 167
This message is to be considers as info. TMC_DIST_ERROR Because of missing target point no distance data are available, but the angle data are valid respectively available. Aim target point and try it again. TMC_DIST_PPM No distance measurement respectively no distance TPS1100 - Version 1.05 16-19...
Page 168
TMC_GetAngSwitch(SwCorr); SwCorr.eInclineCorr=ON; // measure rate will be SwCorr.eStandAxisCorr=ON; // reduced if angle and SwCorr.eCollimationCorr=ON;// incline correction are SwCorr.eTiltAxisCorr=ON; // activated TMC_DoMeasure(TMC_CLEAR); // clear distance first TMC_SetAngSwitch(SwCorr); // before you can set the TPS1100 - Version 1.05 16-20...
Page 169
HzVAng.dHz); if(dhz_angle_diff<MAX_DIFFERENCE) {// instrument is in static period CSV_GetDateTime(Datime); dact_time=Datime.Time.Minute*60+ Datime.Time.Second; if(dact_time-dstart_time > STATIC_TIME) {// static mode exceeding 3-4 sec TMC_GetAngle(TMC_MEA_INC, AngleDummy); TMC_GetAngle(TMC_MEA_INC, AngleDummy); else {// instrument is not in static period CSV_GetDateTime(Datime); dstart_time=Datime.Time.Minute*60+ TPS1100 - Version 1.05 16-21...
16.4 MEASUREMENT CONTROL FUNCTIONS 16.4.1 TMC_DoMeasure - Carries out a distance measurement TMC_Do Measure ............................................................................................................................................................................................... 2008 2008 ....................................................TMC_Do Measure C-Declaration TMC_DoMeasure(TMC_MEASURE_PRG Command, TMC_INCLINE_PRG Mode) VB-Declaration VB_TMC_DoMeasure(ByVal Command As Long, ByVal Mode As Long) ASCII-Request %R1Q,2008:Command[long],Mode[long] TPS1100 - Version 1.05 16-22...
Page 171
Execution successful. See Also TMC_SetEdmMode TMC_GetCoordinate TMC_GetSimpleMea TMC_GetAngle1 TMC_GetAngle5 Example RC_TYPE Result; short nCnt; // set average mode Result=TMC_SetEdmMode(EDM_CONT_EXACT); // perform a single distance measurement Result=TMC_DoMeasure(TMC_DEF_DIST); nCnt=0; while(nCnt<100) {// wait on the distance data max. 100x100ms TPS1100 - Version 1.05 16-23...
Page 172
After the function call the previous measured distance is cleared. Parameters SlopeDistance Slope distance HgtOffset Height offset Mode Inclination sensor measurement mode. Return Codes RC_OK Execution successful. TPS1100 - Version 1.05 16-24...
Page 173
Repeat measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. RC_IVPARAM Invalid parameter See Also TMC_IfDataAzeCorrError TMC_IfDataIncCorrError Example RC_TYPE TMC_COORDINATE Coordinate rc = VB_TMC_SetHandDist(10, 1, TMC_AUTO_INC) if (rc == RC_OK) // calculate coordinates TPS1100 - Version 1.05 16-25...
This function returns the current reflector height. Parameters Height current reflector height Return Codes RC_OK Execution always successful. See Also TMC_SetHeight Example RC_TYPE TMC_HEIGHT Height, NewHeight; // reset reflector height to 0 // if it is not already TPS1100 - Version 1.05 16-26...
Page 175
Parameters Height new reflector height Return Codes RC_OK Execution successful (new height is set). TMC_BUSY TMC resource is locked respectively TMC task is busy. The reflector height is not set. Repeat measurement. See Also TMC_GetHeight TPS1100 - Version 1.05 16-27...
Page 176
Atmospheric Correction Data Return Codes RC_OK Execution always successful. See Also TMC_SetAtmCorr Example see TMC_SetAtmCorr 16.5.4 TMC_SetAtmCorr - Set atmospheric correction parameters TMC_ SetAtmCorr .............................................................................................................................................................................................. 2028 2028 ....................................................TMC_ SetAtmCorr C-Declaration TMC_SetAtmCorr (TMC_ATMOS_TEMPERATURE AtmTemperature) VB-Declaration VB_TMC_SetAtmCorr TPS1100 - Version 1.05 16-28...
Page 177
// set new wet and dry temperature AtmCorr.dDryTemperature=60; AtmCorr.dWetTemperature=80; TMC_SetAtmCorr(AtmCorr); 16.5.5 TMC_SetOrientation - Orients the theodolite in Hz direction TMC_ SetOrientation ............................................................................................................................................................................................2113 2113 ....................................................TMC_ SetOrientation C-Declaration TMC_SetOrientation(double HzOrientation) VB-Declaration VB_TMC_SetOrientation(ByVal HzOrientation As Double) ASCII-Request %R1Q,2113:HzOrientation[double] ASCII-Response %R1P,0,0:RC TPS1100 - Version 1.05 16-29...
Page 178
Problems with angle res. incline sensor. A valid angle could not be measured. The orientation is not set. At repeated occur call service. TMC_BUSY TMC resource is locked respectively TMC task is busy or a distance is existing. TPS1100 - Version 1.05 16-30...
Page 179
TMC_GetPrismCorr ............................................................................................................................................................................................2023 2023 ....................................................TMC_GetPrismCorr C-Declaration TMC_GetPrismCorr(double &PrismCorr) VB-Declaration VB_TMC_GetPrismCorr(PrismCorr As Double) ASCII-Request %R1Q,2023: ASCII-Response %R1P,0,0:RC,PrismCorr[double] Remarks This function is used to get the prism constant. Parameters PrismCorr Prism constant [mm] Return Codes RC_OK Execution always successful. TPS1100 - Version 1.05 16-31...
Page 180
TMC_ SetPrismCorr ............................................................................................................................................................................................2024 2024 ....................................................TMC_ SetPrismCorr C-Declaration TMC_SetPrismCorr(double PrismCorr) VB-Declaration VB_TMC_SetPrismCorr(ByVal PrismCorr As Double) ASCII-Request %R1Q,2024:PrismCorr[double] ASCII-Response %R1P,0,0:RC Remarks This function is used to set the prism constant. The high-level function overwrites this setting. BAP_SetPrismType TPS1100 - Version 1.05 16-32...
Page 181
ASCII-Request %R1Q,2031: ASCII-Response %R1P,0,0:RC,RefOn[boolean],EarthRadius[double], RefractiveScale[double] Remarks This function is used to get the refraction distortion factor for correction of measured height difference. Parameters Refractive Refraction distortion Return Codes RC_OK Execution always successful. See Also TMC_SetRefractiveCorr TPS1100 - Version 1.05 16-33...
Page 182
TMC_SetRefractiveCorr(TMC_REFRACTION Refractive) VB-Declaration VB_TMC_SetRefractiveCorr (ByVal Refractive As TMC_REFRACTION) ASCII-Request %R1Q,2030: RefOn[boolean],EarthRadius[double], RefractiveScale[double] ASCII-Response %R1P,0,0:RC Remarks This function is used to set the refraction distortion factor for correction of measured height difference. Parameters Refractive Refraction distortion TPS1100 - Version 1.05 16-34...
Page 183
= 1 means method 1 (for Australia) Method = 2 means method 2 (for the rest of Method the world) Return Codes RC_OK Execution always successful. See Also TMC_SetRefractiveMethod Example const unsigned short RefractiveMethod = 1; TPS1100 - Version 1.05 16-35...
Page 184
%R1P,0,0:RC Remarks This function is used to set the refraction model. Parameters Method Refraction data: = 1 means method 1 (for Method Australia) = 2 means method 2 (for the rest Method of the world) TPS1100 - Version 1.05 16-36...
Page 185
This function is used to get the co-ordinates of the instrument station. Parameters Station Instrument station co-ordinates. Return Codes RC_OK Execution always successful. See Also TMC_SetStation Example RC_TYPE TMC_STATION Station, NullStation; NullStation.dE0 = 0; NullStation.dN0 = 0; TPS1100 - Version 1.05 16-37...
Page 186
VB_TMC_SetStation(ByVal Station As TMC_STATION) ASCII-Request %R1Q,2010:E0[double],N0[double],H0[double],Hi[double] ASCII-Response %R1P,0,0:RC Remarks This function is used to set the co-ordinates of the instrument station. Parameters Station Instrument station co-ordinates. Return Codes RC_OK Execution successful. TMC_BUSY TMC resource is locked respectively TPS1100 - Version 1.05 16-38...
(that means a measurement function was called before call, see example). Note that the instrument TMC_GetFace automatically turns into an inactive measurement state after a predefined timeout. Parameters Face Face position. Return Codes RC_OK Execution always successful. See Also AUT_ChangeFace TPS1100 - Version 1.05 16-39...
Page 188
ASCII-Request %R1Q,2022: ASCII-Response %R1P,0,0:RC,SignalIntensity[double],Time[long] Remarks This function returns information about the amplitude of the EDM signal. The function only can perform measuring if the signal measurement program is activated. Start the signal measurement program with TPS1100 - Version 1.05 16-40...
Page 189
The signal measurement program is not activated. No signal measurement possible. Activate signal measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure Example RC_TYPE Result; TMC_SIGNAL Signal; TMC_DoMeasure(TMC_SIGNAL); Result=TMC_GetSignal(Signal); if(Result==RC_OK) }while(Result==RC_OK); TPS1100 - Version 1.05 16-41...
TMC_SetAngSwitch Example RC_TYPE TMC_ANG_SWITCH SwCorr; // get the switch state for the angular // correction rc = TMC_GetAngSwitch(SwCorr); if (SwCorr.eTiltAxisCorr == ON) // Tilting axis correction turned On else // Tilting axis correction turned Off TPS1100 - Version 1.05 16-42...
Page 191
TMC_DoMeasure(TMC_CLEAR, TMC_AUTO,INC); // deactivate the compensator // if it is not already rc = TMC_GetInclineSwitch(SwCorr); if (SwCorr == ON) rc = TMC_SetInclineSwitch(OFF); if (rc == RC_OK) // successfully deactvated else // set not successful (subsystem busy) TPS1100 - Version 1.05 16-43...
Page 192
The incline state is not changed. Clear distance and repeat measurement. See Also TMC_GetInclineSwitch Example see TMC_GetInclineSwitch 16.7.4 TMC_GetEdmMode - Get the EDM measurement mode TMC_GetE dmMode ............................................................................................................................................................................................2021 2021 ....................................................TMC_GetE dmMode C-Declaration TMC_GetEdmMode(EDM_MODE &Mode) TPS1100 - Version 1.05 16-44...
Page 193
// if it is in any repeated mode rc = TMC_GetEdmMode(Mode); switch (Mode) case (EDM_CONT_STANDARD): case (EDM_CONT_DYNAMIC): case (EDM_CONT_FAST): rc = TMC_SetEdmMode(EDM_SINGLE_STANDARD); if (rc == RC_OK) // set to single mode successful else // set not successful (subsystem busy) TPS1100 - Version 1.05 16-45...
Page 194
The EDM mode is not set. Repeat measurement. See Also TMC_GetEdmMode TMC_DoMeasure Example TMC_GetEdmMode 16.7.6 TMC_GetSimpleCoord - Get cartesian coordinates TMC_GetSimpleCoord ............................................................................................................................................................................................2116 2116 ....................................................TMC_GetSimpleCoord C-Declaration TMC_GetSimpleCoord( SYSTIME WaitTime, double &dCoordE, double& dCoordN, double& dCoordH, TMC_INCLINE_PRG eProg) TPS1100 - Version 1.05 16-46...
Page 195
Note: If you need a high measure rate and the station got a high stability on tilting use this program. TMC_AUTO_INC the system decides whether the incline must be calculated or measured. TPS1100 - Version 1.05 16-47...
Page 196
TMC resource is locked respectively TMC task is busy, co-ordinates are not valid and set to 0. Repeat measurement. TMC_ANGLE_ERROR Problems with angle res. incline sensor. At repeated occur call service. RC_ABORT Measurement through customer aborted. TPS1100 - Version 1.05 16-48...
Page 197
// distance must be // cleared TMC_DoMeasure(TMC_RTRK_DIST);// execute rapid // tracking // measurement WaitTime=500;// set max. wait time 500 [ms] eProg=TMC_AUTO_INC;// set automatically incline prgm bExit=FALSE; Result=TMC_GetSimpleCoord(WaitTime, dCoordE, dCoordN, dCoordH,eProg); switch(Result) case RC_OK: case TMC_NO_FULL_CORRECTION: case TMC_ACCURACY_GUARANTEE: TPS1100 - Version 1.05 16-49...
Page 198
ATR included or not. Parameters bAtrCorrectionError Flag, if ATR correction error occurred or not : no error occurred FALSE last data record not TRUE TPS1100 - Version 1.05 16-50...
Page 199
// incline correction case RC_OK: case TMC_ACCURACY_GUARANTEE: // in this cases are the coordinates // available break; default: // in all other cases are the coordinates not // valid and set to 0 // further errorhandling TPS1100 - Version 1.05 16-51...
Page 200
A error information can only occur if the incline sensor is active. Parameters bIncCorrectionError Flag, if incline correction error occurred or not : no error occurred FALSE last data record not TRUE corrected with the incline-correction Return-Codes RC_OK always See Also TMC_IfDataAzeCorrError TPS1100 - Version 1.05 16-52...
Page 201
TMC_DoMeasure(TMC_CLEAR,..) Parameters Switch Angle measurement corrections Return-Code RC_OK Corrections are set TMC_BUSY TMC resource is locked respectively TMC task is busy or a distance is existing. Clear distance and try it again. TPS1100 - Version 1.05 16-53...
Page 202
This function retrieves the correction factors that are used for slope distance measurement corrections. Parameters dPpmCorr General correction factor. dPrismCorr The correction factor of the prism. Return Codes RC_OK Execution successful. See Also TMC_GetPrismCorr, TMC_SetPrismCorr. Example TPS1100 - Version 1.05 16-54...
C-Declaration WIR_GetRecFormat(WIR_RECFORMAT &RecFormat ) VB-Declaration VB_WIR_GetRecFormat( RecFormat As Integer ) ASCII-Request %R1Q,8011: ASCII-Response %R1P,0,0:RC, RecFormat[short] Remarks This function retrieves which recording format is in use. Parameters RecFormat WIR_RECFORMAT_GSI WIR_RECFORMAT_GSI16 Return Codes RC_OK On successful termination. TPS1100 - Version 1.05 17-1...
Page 204
Return Codes RC_OK On successful termination. See Also WIR_GetRecFormat Example // if in old GSI format then switch to new format RetCode = WIR_GetRecFormat(Format); if (Format == WIR_RECFORMAT_GSI) // switch to GSI16 format RetCode = WIR_SetRecFormat(WIR_RECFORMAT_GSI16); TPS1100 - Version 1.05 17-2...
TPS1000 theodolites. To take care of the new functionality, which has been changed or removed in the implementation of TPS1100 firmware, a few changes in GeoCOM for TPS1100 theodolites were necessary. This chapter contains all RPCs and data types, which has changed in GeoCOM. It should help the developer to port a GeoCOM client application for TPS1000 theodolite series onto the new platform.
GeoCOM Reference Manual Porting a TPS1000 Application 18.3 NEW RETURNCODES The definitions of the returncodes have been coupled totally to the definitions of the TPS1100 firmware. Please refer to Appendix A for a detailed listing. TPS1100 - Version 1.05 18-3...
There are a few RPC’s replaces with newer functions: Old function New function AUT_GetAtrStatus AUS_GetUserAtrState AUT_GetAtrStatus AUS_SetUserAtrState AUT_GetLockStatus AUS_GetUserLockState AUT_SetLockStatus AUS_SetUserLockState The older RPC’s are still working, but should not be used for new implementations. 19.1.2 New Functions AUT_GetSearchArea AUT_GetUserSpiral AUT_SetSearchArea AUT_SetUserSpiral BAP_SearchTarget TPS1100 - Version 1.05 19-4...
Old function New function CSV_GetVBat CSV_CheckPower The older RPC is still working, but should not be used for new implementations. 19.2.2 New Constants TPS_DEVICE_RL_EXT 19.2.3 New Functions AUS_GetRcsSearchSwitch, Aus_SwitchRcsSearch BAP_GetTargetType, BAP_SetTargetType BAP_GetPrismType, BAP_SetPrismType BAP_GetPrismDef, BAP_SetPrismDef TPS1100 - Version 1.05 19-5...
The list described here is organised in subsystem related categories. The describes the constant as it is defined for the TPS1100 series RetCodeName instruments. Additionally to find an error code by number they are given too.
Page 211
ANG_PIX_CTRL_ERR 0x113 picture height out of range ANG_MAX_POS_SKIP 0x114 positive exposure dynamic overflow ANG_MAX_NEG_SKIP 0x115 negative exposure dynamic overflow ANG_EXP_LIMIT 0x116 exposure time overflow ANG_UNDER_EXPOSURE 0x117 picture under-exposured ANG_OVER_EXPOSURE 0x118 picture over-exposured TPS1100 - Version 1.05...
Page 212
No Spot detected in Hz-direction. ATA_RC_V_FAIL 0x210 No Spot detected in V-direction. ATA_RC_HZ_STRANGE_L 0x211 Strange light in Hz-direction. ATA_RC_V_STRANGE_L 0x212 Strange light in V-direction. ATA_SLDR_TRANSFER_ 0x213 On multiple PENDING ATA_SLDR_OpenTransfer ATA_SLDR_TRANSFER_ 0x214 No ATA_SLDR_OpenTransfer ILLEGAL happened. TPS1100 - Version 1.05...
Page 213
0x30C Communication ok, but an error reported from the EDM sensor. EDM_MISSING_SRVPWD 0x30D No service password is set. EDM_INVALID_ANSWER 0x30E Communication ok, but an unexpected answer received. EDM_SEND_ERR 0x30F Data send error, sending buffer is full. TPS1100 - Version 1.05...
Page 214
EDM_UNKNOW_ERR 0x328 Undocumented error from the EDM sensor, should not occur. 1024 0x400 RetCodeName Value Hex Description GM_WRONG_AREA_DEF 1025 0x401 Wrong Area Definition. GM_IDENTICAL_PTS 1026 0x402 Identical Points. GM_PTS_IN_LINE 1027 0x403 Points on one line. TPS1100 - Version 1.05...
Page 215
GM2: same tie points. TIE_POINTS GM_SETUP_ 1046 0x416 GM2: sta/tie point same. EQUALS_TIE_POINT 1280 0x500 RetCodeName Value Hex Description TMC_NO_FULL_ 1283 0x503 Warning: measurement without full CORRECTION correction TMC_ACCURACY_ 1284 0x504 Info : accuracy can not be GUARANTEE guarantee TPS1100 - Version 1.05...
Page 216
Motorization not ready MOT_RC_BUSY 1793 0x701 Motorization is handling another task MOT_RC_NOT_OCONST 1794 0x702 Not in velocity mode MOT_RC_NOT_CONFIG 1795 0x703 Motorization is in the wrong mode or busy MOT_RC_NOT_POSIT 1796 0x704 Not in posit mode TPS1100 - Version 1.05...
Page 217
0x80F Loadable object is unknown LDR_WRONG_SECKEY 2064 0x810 Wrong security key LDR_ILLEGAL_LOADADR 2065 0x811 Illegal application memory address LDR_IEEE_ERROR 2066 0x812 Loadable object file is not IEEE format LDR_WRONG_APPL_ 2067 0x813 Bad application version number VERSION TPS1100 - Version 1.05...
Page 218
TXT_UNDEF_TOKEN 2561 0xA01 text not found, token is undefined TXT_UNDEF_LANG 2562 0xA02 language is not defined TXT_TOOMANY_LANG 2563 0xA03 maximal number of languages reached TXT_GROUP_OCC 2564 0xA04 desired text group is already in use TPS1100 - Version 1.05...
Page 219
Illegal number of fix dialog lines MMI_ILLEGAL_MB_TYPE 2833 0xB11 Illegal message box type MMI_ILLEGAL_MENU_ID 2834 0xB12 Illegal menu ID MMI_ILLEGAL_ 2835 0xB13 Illegal menu item ID MENUITEM_ID MMI_ILLEGAL_NEXT_ID 2836 0xB14 Illegal next field ID MMI_ILLEGAL_TOPLINE 2837 0xB15 Illegal topline number TPS1100 - Version 1.05 A-10...
Page 220
Cannot decode arguments in server. DECODE_REQ RC_COM_PROC_ 3081 0xC09 Unknown RPC, procedure ID invalid. UNAVAIL RC_COM_CANT_ 3082 0xC0A Cannot encode results in server. ENCODE_REP RC_COM_SYSTEM_ERR 3083 0xC0B Unspecified generic system error. RC_COM_FAILED 3085 0xC0D Unspecified error. TPS1100 - Version 1.05 A-11...
Page 221
DPL_RC_EMPTY 3333 0xD05 databank is empty DPL_RC_BADATA 3334 0xD06 bad data detected DPL_RC_BADFIELD 3335 0xD07 bad field type DPL_RC_BADINDEX 3336 0xD08 bad index information DPL_RC_BADKEY 3337 0xD09 bad key type DPL_RC_BADMODE 3338 0xD0A bad mode TPS1100 - Version 1.05 A-12...
GeoCOM Reference Manual Hardware interface ARDWARE INTERFACE SERIAL INTERFACE A RS-232 interface is used as a hardware link between the TPS1100 and an external computer. Signal paths Signal Ground Voltage levels Logical 0 +3V to +25V Logical 1 -3V to -25V...
Page 229
UART type. If you do not have a UART with built in buffers (16550 type), you may loose characters too. Appl 1N4148 or similar Monitor It may be helpful for debugging purposes to build up a special cable to monitor the data transfers. TPS1100 - Version 1.05...
Terminal.exe and open the following window is displayed: geocom.trm Connect the TPS1100 instrument to the PC by using a standard GSI connection cable. Start the emulator. has been set up to the default parameters Geocom.trm of GeoCOM (19200 Baud, 8 bit, no parity, 1 stop bit). Be sure that the instrument and the terminal emulator use the same settings and switch the instrument to online mode.
TPS1100 system functions. \SAMPLES\VB\GCOM104.DLL Contains the implementation of GeoCOM. Finally connect the TPS1100 Theodolite with the preferred serial port on your personal computer and invoke the executable file. Press the button to select Setup the communication parameters (Serial Port, Baudrate, Protocol) and start the application with the button .
Page 232
Resource file 1 \SAMPLES\VC\RES\GEOCOM_SAMPLE.RC Resource file 2 \SAMPLES\VC\RES\GEOCOM_SAMPLE.ICO Icon file \SAMPLES\VC\GCOM104.DLL Contains the implementation of GeoCOM \SAMPLES\VC\Externals\GCOM104.LIB GeoCOM Library \SAMPLES\VC\Externals\COM_PUB.HPP Header file for GeoCOM Note: 16 bit GeoCOM version and sample programs are not supported any more. TPS1100 - Version 1.05...