Leica TPS1200 Series Reference Manual

Leica TPS1200 Series Reference Manual

Geodetic measurement instruments
Hide thumbs Also See for TPS1200 Series:
Table of Contents

Advertisement

Leica TPS1200+
Leica TS30 / TM30
GeoCOM Reference
Manual
Version 1.50
English

Advertisement

Table of Contents
loading

Summary of Contents for Leica TPS1200 Series

  • Page 1 Leica TPS1200+ Leica TS30 / TM30 GeoCOM Reference Manual Version 1.50 English...
  • Page 2: Table Of Contents

    ONSTANTS AND YPES 10.3 ................................ 95 UNCTIONS CENTRAL SERVICES – CSV ........................101 11.1 ..............................101 INTRODUCTION 11.2 ................................101 SAGE 11.3 ..........................101 ONSTANTS AND YPES 11.4 ..............................103 UNCTIONS Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 3 VBA Sample Program ........................203 C-1.2 C/C++ Sample Programs ........................ 203 C-1.3 TCC Image Grabber Sample Program .................... 204 List of Remote Procedure Calls (RPC) .......................D-205 rpc in Alphabetical order ........................D-205 Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 4 GeoCOM Reference Manual Contents 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 Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 5: Geocom

    Now, to fulfil a broader spectrum of tasks and applications an interface to the TPS1200 series sensor functions has been defined and will be published with this document. With this interface it will be possible to write client applications based on MS-Windows and/or for any other platform, which supports ASCII, based communications.
  • Page 6: Principles Of Geocom Operation

    On the low level interface the server buffers subsequent requests if current request(s) has not been finished so far. If the queue is full then subsequent requests will be lost. Instead on the high level interface a function call will not return until it has been completely finished. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 7: General Concepts Of Using Geocom

    Optional transaction ID: normally incremented from 1 to 7. Same value in reply. Separator between protocol header and following parameters. <P0>,<P1>,... Parameter 0, Parameter 1, ... <Term> Terminator string (default CR/LF, use to change the COM_SetTerminator Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 8: Function Call Protocol - C/C

    We do not take care of the necessary TMC_GetSimpleMea initialisation and set up of GeoCOM here. Please refer to chapter 3.2.3 Basic GeoCOM Application Frame for C/C++ for this information. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 9: Function Call Protocol - Vba

    As TMC_HZ_V_ANG Dim dSlopeDist As Double RetCode = VB_TMC_GetSimpleMea( 1000, Angles, dSlopeDist, TMC_AUTO_INC ) If RetCode = GRC_OK Then ' do something - use values Else ' handle error End If Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 10: Fundamentals Of Programming Geocom

    56, 0x45e, 0X3AA unsigned long 0xFFFFFFFF 0, 1, 3400065, 0...(2 95735 unsigned short 0...65535 0, 1, 34000, 65, 0, 1, 34000, 65, 65535, 0x3a, 65535 0x00, 0xFFFF Table 3-1: Communication Parameter Types Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 11 Please, notice that the RPC has two input and two output parameters. Anytime a request must encode and send input and in/out parameters only and a reply must encode and send in/out and output parameters only! Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 12: C/C++ - Programming

    - One or more GeoCOM RPC’s - Close the active connection to the server - Finalise GeoCOM A sample implementation of above points could be: // include standard system headers #include "com_pub.hpp" // include application headers Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 13 BOOL BOOLE parameter the compiler (MS-VisualC/C++) generates an error. To solve this problem the expression, which will be assigned to, has to be converted by a statement to CAST BOOLE Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 14: Vba - Programming

    Obviously all enumeration values are encoded as global constants. The VBA structure definition equals to the C structure definition. A valid procedure call would be: Dim WaitTime As Long Dim OnlyAngle As TMC_HZ_V_ANG Dim SlopeDistance As Double WaitTime = 1000 VB_TMC_GetSimpleMea( WaitTime, Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 15 The internal representation of strings is not directly compatible between C/C++ and VBA. Therefore the one has to pre- and post-process such an output parameter. In the following example, we know that the output parameter will be less than 255 characters in length from the description of the RPC. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 16: Units Of Values

    GeoCOM does not have exclusive rights to the port, or if the exception or similar routine has experienced a failure, this error code is returned. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 17 Parse failed; data package not recognised as GeoCOM communication package GRC_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. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 18 GeoCOM again. GRC_COM_SRVR_IS_SLEEPING 3108 TPS has gone to sleep. Wait and try again. GRC_COM_SRVR_IS_OFF 3109 TPS has shut down. Wait and try again Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 19: Remarks On The Description

    Lists the most common RC to this request, in RC name and RC value. See Also Cross-references shows other RPC’s which relate to this one. Example Gives an example of how this RPC could be used. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 20 GRC_TYPE Cross reference to related functions DATIME DateAndT ime; rc = CSV_GetDateTime(DateAndTime); if (rc == GRC_OK) // use Date and time else A typical // handle error usage of this function Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 21: Communication Settings

    When MFC libraries are used, HWND STRICT STRICT is automatically defined. Otherwise the user must or he will get unresolved externals. #define STRICT Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 22: General Geocom Functions

    // 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 Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 23 Note: With this function it is possible to decrease the accuracy of the delivered values. Parameters nDigits Number of digits right to the comma. Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_IVPARAM 0 > nDigits > 15 See Also COM_GetDoublePrecision Example COM_GetDoublePrecision Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 24: Client Specific Geocom Functions

    Note: No other GeoCOM function can be called successfully without having initialised GeoCOM before. Parameters Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_End Example See appendix C-2 for an example program frame. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 25 GeoCOM transactions. It closes an open port and does whatever is COM_End necessary to shutdown GeoCOM. The TPS’ state will not be changed. Parameters Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_Init Example COM_Init Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 26 GRC_OK Execution successful. GRC_COM_PORT_NOT_AVAILABLE 3103 Port is in use or does not exist GRC_COM_NO_PARTNER 3105 GeoCOM failed to detect a TPS. GRC_IVPARAM Illegal parameter. See Also COM_CloseConnection COM_NullProc COM_SetComFormat Example COM_Init Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 27 This function closes the (current) open port and releases an established connection. It will not change the TPS’ state. Parameters Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_OpenConnection Example See appendix C-2 for an example program frame. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 28 ; case COM_BAUD_19200: printf("19200\n"); break ; case COM_BAUD_9600: printf("9600\n "); break ; case COM_BAUD_4800: printf("4800\n "); break ; case COM_BAUD_2400: printf("2400\n "); break ; default: printf("illegal\n "); break ; Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 29 GeoCOM Reference Manual Communication Settings // shutdown GeoCOM // end of main Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 30 Timeout value in seconds, default value is 3 sec. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_SetTimeOut Example GRC_TYPE short nTimeOut; COM_GetTimeOut(nTimeOut); if (nTimeOut <= 3) COM_SetTimeOut(7); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 31 Note: A negative timeout value indicates an infinite waiting period and may block the client application. Parameters nTimeOut timeout value in seconds Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_GetTimeOut Example COM_GetTimeOut Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 32 COM_ASCII COM_BINARY Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_SetComFormat Example GRC_TYPE COM_FORMAT eComFormat; COM_GetComFormat(eComFormat); if (eComFormat == COM_ASCII) printf("ASCII mode in use.\n"); else printf("BINARY mode in use.\n"); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 33 GRC_COM_PORT_NOT_OPEN: printf("Port not open\n"); return (GRC_FATAL); break; case GRC_COM_NO_BINARY: printf("Binary format not available " "for this version."); // continue in ASII-format break; // end of switch (rc) // continue in program Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 34 STRICT #define STRICT externals. Parameters handle Parent window handle. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_ViewError Example RC_TYE HWND hWnd; rc = COM_UseWindow(hWnd); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 35 Title of the displayed dialog box. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_GetErrorText Example GRC_TYPE // initialize GeoCOM rc = COM_SetBaudRate(COM_BAUD_19200); if (rc != GRC_OK) COM_ViewError(rc, "Set up connection"); // handle error Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 36 Error code of a function called before this code will be checked. szErrText Error text if not equal to GRC_OK Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_ViewError Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 37 Software subversion. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_GetSWVersion Example GRC_TYPE short nRel, nSubVer, nVer; (void) COM_GetWinSWVersion(nRel, nVer, nSubVer); printf("Windows GeoCOM:\n"); printf("Release %2d.%02d.%02d\n", nRel, nVer, nSubVer); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 38: Alt User - Aus

    This subsystem contains functions to switch between the automation modes (ATR / LOCK) and to query the current status. 6.2 CONSTANTS AND TYPES On/Off switch enum ON_OFF_TYPE OFF, // 0 // 1 Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 39: Functions

    // look for ATR state and set On if it is Off rc = AUS_GetUserAtrState(OnOff); if (OnOff == OFF) rc = AUS_SetUserAtrState(ON); if (rc == GRC_OK) // set of ATR status successful else // no automated instrument Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 40 This command is valid for automated instrument models only. Parameters OnOff State of the ATR mode Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NOT_IMPL ATR not available; no automated instrument. See Also AUS_GetUserAtrState AUS_GetUserLockState AUS_SetUserLockState Example see AUS_GetUserAtrState Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 41 {// ------ disable target tracking --------------- rc = AUS_SetUserLockState(OFF);// reset the ATR // mode not // automatically if(rc == GRC_OK) {// reset of Lock state successful if(OldAtrStatus==OFF) {// set old ATR mode rc == AUS_SetUserAtrState(OFF); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 42 Parameters OnOff State of the ATR lock switch Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NOT_IMPL ATR not available; no automated instrument. See Also AUS_GetUserLockState AUS_SetUserAtrState AUT_LockIn Example see AUS_GetUserLockState Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 43: Automation - Aut

    // tolerance relating the angle- or the // point- accuracy at the fine adjust. AUT_NORM_MODE = 0 // Angle tolerance AUT_POINT_MODE // Point tolerance AUT_DEFINE_MODE = 2 // System independent positioning // tolerance. Set with AUT_SetTol Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 44 // maximal height of search area [rad] BOOLE bEnabled; // TRUE: user defined search area is active Directions AUT_CLOCKWISE = 1, // direction clockwise. AUT_ANTICLOCKWISE = -1 // direction counter clockwise. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 45: Functions

    TolPar.adPosTol[MOT_HZ_AXLE] = MIN_TOL; TolPar.adPosTol[MOT_HZ_AXLE] = MIN_TOL; rc = AUT_SetTol(TolPar); switch (rc) case (GRC_OK): // set of Lock tolerance successful break; case (GRC_IVPARAM): // invalid parameter break; case (GRC_MOT_UNREADY): // subsystem not ready break; Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 46 GeoCOM Robotic license key not available. GRC_IVPARAM One or both tolerance values not within the boundaries (1.57079E-06[ ] =1[cc] to 1.57079E-04[ ] =100[cc]). GRC_MOT_UNREADY 1792 Instrument has no motorization See Also AUT_ReadTol Example AUT_ReadTol Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 47 ((TimeoutPar.adPosTimeout[0] < 10) || (TimeoutPar.adPosTimeout[1] < 10)) TimeoutPar.adPosTimeout[0] = 10; TimeoutPar.adPosTimeout[1] = 10; rc = AUT_SetTimeout(TimeoutPar); switch (rc) case (GRC_OK): // set of timeout successful break; case (GRC_IVPARAM): // invalid parameter break; Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 48 Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available. GRC_IVPARAM One or both time out values not within the boundaries (7[sec] to 60[sec]). See Also AUT_ReadTimeout Example AUT_ReadTimeout Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 49 It’s reserved for future use, set always to bDummy FALSE Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available GRC_IVPARAM Invalid parameter (e.g. no valid position). Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 50 AUT_TARGET, FALSE ); switch (rc) case GRC_OK: //Positioning successful and precise break; case GRC_AUT_TIMEOUT: // measure timeout fault: increase timeout hrc = AUT_ReadTimeout(TimeoutPar); TimeoutPar.adPosTimeout[0] = __min(TimeoutPar.adPosTimeout[0]+=5,60); TimeoutPar.adPosTimeout[1] = __min(TimeoutPar.adPosTimeout[1]+=5,60); hrc = AUT_SetTimeout(TimeoutPar); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 51 // Positioning not successful // here further error analyse possible break; rc = AUS_SetUserAtrState(OFF); // Note: LOCK mode will // be automatically // reseted ! hrc = COM_SetTimeOut(nOldComTimeOut);// Set old time- // out Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 52 GRC_FATAL Fatal error. GRC_ABORT Function aborted. GRC_COM_TIMEDOUT 3077 Communication timeout. (perhaps increase COM timeout, COM_SetTimeout Additionally with position mode AUT_TARGET GRC_AUT_NO_TARGET 8710 No target found GRC_AUT_MULTIPLE_TARGETS 8711 Multiple targets found. Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 53 //precise position not possible TryAgain = FALSE; if (rc == GRC_AUT_INCACC) //change face successful but not precise else // change face not successful // here further error analyse possible break; Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 54 GRC_AUT_DETECTOR_ERROR 8713 Error in target acquisition. GRC_COM_TIMEDOUT 3077 Communication time out. (perhaps increase COM timeout, COM_SetTimeout See Also AUS_SetUserAtrState AUS_GetUserAtrState AUT_SetFineAdjustMode AUT_GetFineAdjustMode Example GRC_TYPE Result; ON_OFF_TYPE ATRState; Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 55 //fine adjust successful and precise break; case (GRC_AUT_NO_TARGET): //no target found. break; case (GRC_AUT_MULTIPLE_TARGETS): //multiple targets found. break; case (GRC_AUT_BAD_ENVIRONMENT): //inadequate environment conditions. break; default: //fine adjust not successful //here further error analyse possible break; Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 56 (Note that a search over a big area takes a long time often results in an error). GRC_TYPE rc, hrc; BOOL TryAgain = TRUE; double Hz_Area,V_Area; short nComTimeOut, nOldComTimeOut; Hz_Area = 0.1; V_Area = 0.1; rc = GRC_IVRESULT; hrc = COM_GetTimeOut(nOldComTimeOut); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 57 //error: search not possible //here further error analyse possible break; hrc = COM_GetTimeOut(nOldComTimeOut);// Set old time // out back hrc = AUS_SetUserAtrState(OFF);// Note: LOCK mode will // be automatically also // reseted! Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 58 ATR. Parameters RAdjMode Current fine adjust positioning mode Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available See Also AUT_SetFineAdjustMode Example see AUT_SetFineAdjustMode Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 59 GeoCOM Robotic license key not available GRC_IVPARAM Invalid mode See Also AUS_GetUserAtrState Example GRC_TYPE Result; AUT_ADJMODE AdjMode; Result=AUT_GetFineAdjustMode(AdjMode); if(AdjMode!=AUT_MODE_POINT && Result==GRC_OK) {// change the finepositioning mode to AUT_MODE_POINT Result=AUT_SetFineAdjustMode(AUT_MODE_POINT); if(Result!=GRC_OK) { // Error handling Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 60 No target detected, no previous Fine Adjust See Also AUS_SetUserLockState AUS_GetUserLockState MOT_ReadLockStatus Example GRC_TYPE result; result = AUS_SetUserLockState(ON);// enable lock mode if(result==GRC_OK) result = AUT_LockIn(); // activate target tracking if(result != GRC_OK) // Error handling Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 61 PowerSearch. Parameters Area user defined searching area Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available See Also AUT_SetSearchArea BAP_SearchTarget Example AUT_SetSearchArea Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 62 GeoCOM Robotic license key not available 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); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 63 Parameters SpiralDim ATR search window dimension Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available See Also AUT_SetUserSpiral BAP_SearchTarget Example AUT_SetUserSpiral Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 64 Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available See Also AUT_GetUserSpiral BAP_SearchTarget Example AUT_SEARCH_SPIRAL SearchSpiral; GRC_TYPE result; SearchSpiral.dRangeHz = 0.4; SearchSpiral.dRangeV = 0.2; result = AUT_SetUserSpiral(SearchSpiral); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 65 TRUE: Enables the user distance limits for PowerSearch FALSE: Default range 0..400m Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available See Also AUT_PS_SetRange AUT_SetSearchArea Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 66 ≤ 400m lMaxdist ≥ lMinDist + 10 Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available GRC_IVPARAM Invalid parameters See Also AUT_PS_EnableRange AUT_PS_SearchWindow AUT_SetSearchArea Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 67 Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available GRC_AUT_NO_WORKING_AREA 8720 Working area not defined GRC_AUT_NO_TARGET 8710 No Target found See Also AUT_PS_EnableRange AUT_PS_SetRange AUT_PS_SearchNext AUT_SetSearchArea Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 68 Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NA GeoCOM Robotic license key not available GRC_AUT_NO_TARGET 8710 No Target found GRC_IVPARAM Invalid parameters See Also AUT_PS_EnableRange AUT_PS_SearchWindow Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 69: Basic Applications - Bap

    BAP_REFL_UNDEF = 0, // reflector not defined BAP_REFL_PRISM = 1, // reflector prism BAP_REFL_TAPE = 2 // reflector tape Prism name length BAP_PRISMNAME_LEN = 16; // prism name string Prism definition struct BAP_PRISMDEF Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 70 // ATR low vis mode always on BAP_ATRSET_SRANGE_ON, // ATR high reflectivity mode on BAP_ATRSET_SRANGE_AON, // ATR high reflectivity mode always on } BAP_ATRSETTING; On/off switch enum ON_OFF_TYPE // on/off switch type OFF = 0, Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 71: Functions

    Gets the current EDM type for distance measurements (Reflector (IR) or Reflectorless (RL)). Parameters eTargetType Actual target type Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also BAP_SetTargetType() BAP_SetMeasPrg() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 72 EDM type RL is not available on all instrument types. Parameters eTargetType Target type Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_IVPARAM Target type is not available See Also BAP_GetTargetType() BAP_SetMeasPrg() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 73 Gets the current prism type. Parameters ePrismType Actual prism type Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_IVRESULT RL EDM type is set – no reflector. See Also BAP_SetPrismType() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 74 Sets the prism type for measurements with a reflector. It overwrites the prism constant, set by TMC_SetPrismCorr Parameters ePrismType Prism type. Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_IVPARAM Prism type is not available. See Also BAP_GetPrismType2() TMC_SetPrismCorr() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 75 %R1Q,0,0:RC, ePrismType[long], szPrismName[string] Remarks Gets the current prism type and name. Parameters rePrismType Actual prism type szPrismName Actual prism name Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also BAP_SetPrismType() BAP_SetPrismType2() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 76 Prism name. Required if prism type is BAP_PRISM_USER. Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_IVPARAM Prism type is not available, i.e. a user prism is not defined See Also BAP_GetPrismType2() TMC_SetPrismCorr() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 77 Get the definition of a default prism. Parameters ePrismType Prism type PrismDef Definition of the selected default prism Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_IVPARAM Invalid prism type See Also BAP_SetUserPrismDef() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 78 Prism name dAddConst Prism correction [m] eReflType Reflector type szCreator Name of creator Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_IVPARAM Invalid prism definition See Also BAP_SetPrismType() BAP_SetPrismType2() BAP_GetPrismDef() BAP_GetUserPrismDef() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 79 Reflector type szCreator Name of creator Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_IVPARAM Invalid prism definition GRC_IVRESULT Prism definition is not set See Also BAP_SetPrismType() BAP_GetPrismDef() BAP_GetUserPrismDef() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 80 VB_BAP_GetMeasPrg(eMeasPrg As Long) ASCII-Request %R1Q,17018: ASCII-Response %R1Q,0,0:RC, eMeasPrg[long] Remarks Gets the current distance measurement program. Parameters eMeasPrg Actual measurement program Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also BAP_SetMeasPrg() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 81 Changing the measurement programs may change the EDM type as well (Reflector (IR) and Reflectorless (RL)) Parameters eMeasPrg Measurement program Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_IVPARAM Measurement program is not available See Also BAP_GetMeasPrg() BAP_SetTargetType() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 82 An error occurred during distance measurement. TMC_DIST_PPM 1291 Error, wrong setting of PPM TMC_NO_FULL_CORRECTION 1283 Warning, measurement without full correction TMC_SIGNAL_ERROR 1294 Error, no signal on EDM (only in signal mode) Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 83 } // end of error handling else { // use results printf("horizontal angel [rad]: %d\n", dHz); printf("vertical angel [rad] : %d\n", dV); printf("slopedistance [rad] : %d\n", dDist); } //end of MyMeasurement Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 84 Multiple targets detected GRC_AUT_NO_TARGET 8710 No target detected GRC_AUT_TIMEOUT 8704 Time out, no target found GRC_ABORT Error, searching aborted GRC_FATAL Fatal Error See Also AUT_GetUserSpiral AUT_SetUserSpiral BAP_ATRSetting (lowvis) BAP_GetATRSetting BAP_SetATRSetting BAP_GetRedATRFov BAP_SetRedATRFov Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 85 ATR low vis mode always on BAP_LOWVIS_BOBBYON: ATR high reflectivity mode on BAP_LOWVIS_BOBBYALWAYSON: ATR high reflectivity mode always on Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also BAP_SetATRSetting() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 86 VB_ BAP_SetATRSetting(ByVal eATRSetting As Long) ASCII-Request %R1Q,17035: eATRSetting[long] ASCII-Response %R1Q,0,0:RC Remarks Sets the current low vis mode. Parameters eATRSetting ATR low vis mode Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also BAP_GetATRSetting() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 87 Get reduced ATR field of view mode. Parameters reRedFov ATR uses reduced field of view (about 1/9) OFF: ATR uses full field of view Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also BAP_SetRedATRFov() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 88 Set reduced ATR field of view mode. Parameters eRedFov ATR uses reduced field of view (about 1/9) OFF: ATR uses full field of view Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also BAP_GetRedATRFov() Example Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 89: Basic Man Machine Interface - Bmm

    BMM functions. 9.2 CONSTANTS AND TYPES Constants for the signal-device const short IOS_BEEP_STDINTENS = 100; // standard intensity of beep expressed as //a percentage Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 90: Functions

    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 Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also BMM_BeepNormal IOS_BeepOn IOS_BeepOff Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 91 This function produces a single beep with the configured intensity and frequency, which cannot be changed. If a continuous signal is active, it will be stopped first. Parameters Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also BMM_BeepAlarm IOS_BeepOn IOS_BeepOff Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 92 Intensity of the beep-signal (volume) expressed as a percentage (0-100 %). Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also IOS_BeepOff BMM_BeepAlarm BMM_BeepNormal Example IOS_BeepOn(IOS_BEEP_STDINTENS) // wait for a second IOS_BeepOff(); Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 93 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. Parameters Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also IOS_BeepOn BMM_BeepAlarm BMM_BeepNormal Example IOS_BeepOn Leica TPS1200 / TS30 / TM30 – Version 1.50...
  • Page 94: Communications - Com

    10.2 CONSTANTS AND TYPES Stop Mode enum COM_TPS_STOP_MODE COM_TPS_STOP_SHUT_DOWN =0, // power down instrument COM_TPS_STOP_SLEEP // not supported by TPS1200 Start Mode enum COM_TPS_STARTUP_MODE COM_TPS_STARTUP_LOCAL =0 // not supported by TPS1200 COM_TPS_STARTUP_REMOTE=1 // RPC’s enabled, online mode Leica TPS1200 – Version 1.50...
  • Page 95: Functions

    Software subversion (reserved). Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also CSV_GetSWVersion Example GRC_TYPE short nRel, nSubVer, nVer; COM_GetSWVersion(nRel, nVer, nSubVer); printf(„TPS1200 GeoCOM Release:\n“); printf(„Release %02d\n“, nRel); printf(„Version %02d\n“, nVer); printf(„Subversion %02d\n“, nSubVer); Leica TPS1200 – Version 1.50...
  • Page 96 Example GRC_TYPE // switch on TPS1200 rc = COM_SwitchOnTPS(COM_TPS_REMOTE); if(rc == GRC_COM_TIMEDOUT) for(short i = 0; i < 4 && rc != GRC_OK; i++) rc = COM_SwitchOnTPS(COM_TPS_REMOTE); if(rc != RC_OK) // error: switch on failed Leica TPS1200 – Version 1.50...
  • Page 97 Declaration VB_COM_SwitchOffTPS(ByVal eOffMode As Long) ASCII Request %R1Q,112:eOffMode[short] ASCII Response %R1P,0,0:RC Remarks This function switches off the TPS1200 instrument. Parameters eOffMode Stop mode. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_SwitchOnTPS Example Leica TPS1200 – Version 1.50...
  • Page 98 VB_COM_NullProc() ASCII-Request %R1Q,0: ASCII-Response %R1P,0,0:RC Remarks This function does not provide any functionality except of checking if the communication is up and running. Parameters Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also Example Leica TPS1200 – Version 1.50...
  • Page 99 40-50%. Parameters bAvailable : binary operation enabled. TRUE : ASCII operation enabled. FALSE Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_SetBinaryAvailable COM_SetFormat COM_GetFormat Leica TPS1200 – Version 1.50...
  • Page 100 ASCII only. During initialisation, the client checks if binary communication is enabled / possible or not which depends on this flag. Parameters bAvailable : enable binary operation. TRUE : enable ASCII operation only. FALSE Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also COM_GetBinaryAvailable COM_SetFormat Example Leica TPS1200 – Version 1.50...
  • Page 101: Central Services - Csv

    = 0x00040, // Diode laser TPS_DEVICE_LP = 0x00080, // Laser plumbed // TPS1000 specific TPS_DEVICE_TC1 = 0x00001, // tachymeter (TCW1) TPS_DEVICE_TC2 = 0x00002, // tachymeter (TCW2) // TPS1100/TPS1200 specific TPS_DEVICE_TC = 0x00001, // tachymeter (TCW3) Leica TPS1200 – Version 1.50...
  • Page 102 // 24 hour per day 0..23 BYTE Minute; // minute 0..59 BYTE Second; // seconds 0..59 Power sources struct CSV_POWER_PATH{ CSV_EXTERNAL_POWER = 1, // power source is external CSV_INTERNAL_POWER = 2 // power source is the // internal battery Leica TPS1200 – Version 1.50...
  • Page 103: Functions

    Gets the factory defined serial number of the instrument. Parameters SerialNo The serial number. Return-Code Names and Return-Code Values GRC_OK Execution successful. Example GRC_TYPE long SerialNo; rc = CSV_GetInstrumentNo(SerialNo); if (rc == GRC_OK) // use SerialNo else // instrument number not yet set Leica TPS1200 – Version 1.50...
  • Page 104 GeoCOM Reference Manual Central Services – CSV 11.4.2 CSV_GetInstrumentName – getting the Leica specific instrument name CSV_GetInstrumentName..........................................................................................................................................................................................5004 5004 ....................................................CSV_GetInstrum entName 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 Gets the instrument name, for example: TS30 0,5”...
  • Page 105 System information (see data type description for further information). Return-Code Names and Return-Code Values GRC_OK Execution successful. Example GRC_TYPE TPS_DEVICE Device; rc = CSV_GetDeviceConfig(Device); if (rc == GRC_OK) // Use system information else // Intrument precision class undefined // (incomplete calibration data) Leica TPS1200 – Version 1.50...
  • Page 106 This function returns information about the reflectorless and long range distance measurement (RL) of the instrument. Parameters reRefLessClass RL type. Return-Code Names and Return-Code Values GRC_OK Execution successful. Example GRC_TYPE rc; TPS_REFLESS_CLASS Device; rc = CSV_GetReflectorlessClass(reRefLessClass); if (rc == GRC_OK) // Use RL type else // Unknown RL type Leica TPS1200 – Version 1.50...
  • Page 107 // 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; DateAndTime.Date.Day = 25; DateAndTime.Time.Hour = 10; DateAndTime.Time.Minute = 20; DateAndTime.Time.Second = 0; rc = CSV_SetDateTime(DateAndTime); Leica TPS1200 – Version 1.50...
  • Page 108 VB_CSV_SetDateTime(ByVal DateAndTime As DATIME) ASCII-Request %R1Q,5007:Year[short],Month,Day,Hour,Minute,Second[all byte] ASCII-Response %R1P,0,0:RC Remarks Sets the current date and time of the instrument. Parameters DateAndTime Encoded date and time. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also CSV_GetDateTime Example CSV_GetDateTime Leica TPS1200 – Version 1.50...
  • Page 109 Execution successful. Example GRC_TYPE short nRel, nVers, nSubVers; char szBuffer[17] rc = CSV_GetSWVersion(nRel, nVers, nSubVers) sprintf(szBuffer, "Version %02d.%02d.%02d", nRel, nVers, nSubVers); Returns: nRel = 2, nVers = 20, nSubVers = 0 szBuffer = “Version 02.20.00” Leica TPS1200 – Version 1.50...
  • Page 110 Execution successful. GRC_LOW_POWER Power is low. Time remaining is about 30’. GRC_BATT_EMPTY Battery is nearly empty. Time remaining is about 1’. Example GRC_TYPE CSV_POWER_PATH eActivePower; CSV_POWER_PATH eDummy; unsigned short unCapacity; rc = CSV_CheckPower(unCapacity, eActivePower, eDummy) Leica TPS1200 – Version 1.50...
  • Page 111 Get the internal temperature of the instrument, measured on the Mainboard side. Values are reported in degrees Celsius. Parameters Temp ° Instrument temperature [ Return-Code Names and Return-Code Values GRC_OK Execution successful. Example GRC_TYPE double Temp; rc = CSV_GetIntTemp(Temp); // use temperature information Leica TPS1200 – Version 1.50...
  • Page 112 Gets the current date and time of the instrument. Parameters nYear year nMonth month nDay nHour hour nMinute minute nSecond second nCentiSec senti second Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also CSV_SetDateTime CSV_GetDateTime Example CSV_GetDateTime Leica TPS1200 – Version 1.50...
  • Page 113: Electronic Distance Measurement - Edm

    If not, these functions return error messages. 12.3 CONSTANTS AND TYPES On/off switch enum ON_OFF_TYPE // on/off switch type OFF = 0, Intensity of Electronic Guidelight typedef enum EDM_EGLINTENSITY_TYPE EDM_EGLINTEN_OFF = 0, EDM_EGLINTEN_LOW = 1, EDM_EGLINTEN_MID = 2, EDM_EGLINTEN_HIGH Leica TPS1200 – Version 1.50...
  • Page 114: Functions

    Laserpointer is only available in theodolites which supports distance measurement without reflector."); break; } // end of switch (rc) // end of error handling else if (rc == GRC_OK) // use laserpointer Leica TPS1200 – Version 1.50...
  • Page 115 Displays the intensity of the Electronic Guide Light. Parameters intensity EDM_EGLINTEN_OFF EDM_EGLINTEN_LOW EDM_EGLINTEN_MID EDM_EGLINTEN_HIGH Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_EDM_DEV_NOT_INSTALLED Electronic Guide Light not implemented See Also EDM_ SetEglIntensity () Example EDM_SetEglIntensity Leica TPS1200 – Version 1.50...
  • Page 116 = 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 Leica TPS1200 – Version 1.50...
  • Page 117: File Transfer - Ftr

    FTR_FILE_IMAGES = 170, } FR_FILETYPE; Blocktype struct FTR_BLOCK BYTE FTR_BLOCK_val[FTR_MAX_BLOCKSIZE]; unsigned short FTR_BLOCK_len; Modification time struct FTR_MODTIME BYTE ucHour; // hour BYTE ucMinute; // minute BYTE ucSecond; // second BYTE ucCentisecond; // centisecond (0.01 sec) Leica TPS1200 – Version 1.50...
  • Page 118: Functions

    Search path. Optional. Must be specified if file type is FTR_FILE_UNKNOWN. Return-Codes GRC_OK Execution successful. GRC_IVPARAM Device not available or can not get path. GRC_NOTOK Setup already done or FTR_AbortList() not called. GRC_FTR_FILEACCESS 13056 File access error. See Also FTR_List FTR_AbortList Example See FTR_List Leica TPS1200 – Version 1.50...
  • Page 119 != GRC_OK) // error break; if(strlen(DirInfo.szFileName) < 1) // entry is not valid or list is empty break; sprintf(szEntry, "%s %ld %02/%02d/%04d %02d:%02d", DirInfo.szFileName, DirInfo.ulFileSize, DirInfo.ModDate.ucMonth, DirInfo.ModDate.ucDay, DirInfo.ModDate.ucYear + 2000, DirInfo.ModTime.ucHour, DirInfo.ModTime.ucMinute); bNext = TRUE; Leica TPS1200 – Version 1.50...
  • Page 120 GeoCOM Reference Manual File Transfer - FTR while(bLast != TRUE); FTR_AbortList(); Leica TPS1200 – Version 1.50...
  • Page 121 ..................................................................................................................................................................................... 9008 9011..............................AUT_ReadTol C-Declaration FTR_AbortList(void) VB-Declaration VB_FTR_AbortList() Request %R1Q,23308: ASCII-Response %R1P,0,0:RC Remarks This command aborts or ends file list command. Parameters None Return-Codes GRC_OK Execution successful. See Also FTR_SetupList FTR_List Example See FTR_Setup Leica TPS1200 – Version 1.50...
  • Page 122 GRC_IVPARAM Device not available or can not get path. GRC_NOTOK Setup already done or FTR_AbortDownload() not called. GRC_FTR_INVALIDINPUT 13059 Block size too big. GRC_FTR_FILEACCESS 13056 File access error. See Also FTR_Download FTR_AbortDownload Example See FTR_Download Leica TPS1200 – Version 1.50...
  • Page 123 = FTR_SetupDownload(eDeviceType, eFileType, szFileNameSrc, unBlockSize, unNumOfBlocks); if(rc == GRC_OK) // open the file pFile = fopen(szFileNameSrc, "wb"); if(pFile == NULL) // error return; for(unBlockNumber = 1; unBlockNumber <= unNumOfBlocks; unBlockNumber++) rc = FTR_Download(unBlockNumber, Block); if(rc != GRC_OK) Leica TPS1200 – Version 1.50...
  • Page 124 GeoCOM Reference Manual File Transfer - FTR // error break; // write block to file unWritten = fwrite(Block.FTR_BLOCK_val, 1, Block.FTR_BLOCK_len, pFile); if(unWritten != Block.FTR_BLOCK_len) // error break; FTR_AbortDownload(); fclose(pFile); Leica TPS1200 – Version 1.50...
  • Page 125 ..................................................................................................................................................................................... 9008 9014..............................AUT_ReadTol C-Declaration FTR_AbortDownload(void) VB-Declaration VB_FTR_AbortDownload() Request %R1Q,23305: ASCII-Response %R1P,0,0:RC Remarks This command aborts or ends file download command. Parameters None Return-Codes GRC_OK Execution successful. See Also FTR_SetupDownload FTR_Download Example See FTR_Download Leica TPS1200 – Version 1.50...
  • Page 126 = FTR_DEVICE_PCPARD; eFileType = FTR_FILE_IMAGES; DelDate.ucMonth = 0; strcpy(szFileName, "image000.jpg"); unNumFilesDeleted = 0; // delete file rc = FTR_Delete(eDeviceType, eFileType, DelDate, szFileName, unNumFilesDeleted); if(rc == GRC_OK) if(unNumFilesDeleted == 1) // file deleted Leica TPS1200 – Version 1.50...
  • Page 127: Image Processing - Img

    // internal memory module (optional) IMG_PC_CARD = 0x1 // external pc card Image Parameters struct IMG_TCC_CONFIG unsigned long ulImageNumber; unsigned long ulQuality; unsigned long ulSubFunctNumber; char szFileNamePrefix[IMG_MAX_FILE_PREFIX_LEN]; Length of file name prefix const short IMG_MAX_FILE_PREFIX_LEN 20; Leica TPS1200 – Version 1.50...
  • Page 128: Functions

    GRC_OK Execution successful. GRC_FATAL CF card is not available or configuration file does not exist GRC_IVVERSION Configuration file version differs from that of system firmware GRC_NA Imaging license key not available See Also IMG_SetTccConfig Example Leica TPS1200 – Version 1.50...
  • Page 129 File name prefix Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_FATAL CF card is not available full Any parameter is out of range GRC_NA Imaging license key not available See Also IMG_GetTccConfig IMG_TakeTccImage Example See IMG_TakeTccImage Leica TPS1200 – Version 1.50...
  • Page 130 // Increase geocom timeout, because image capture and readout takes long time COM_GetTimeOut(nTimeout); COM_SetTimeOut(200); // Take image rc = IMG_TakeTccImage(eMemType, unBuf); if (rc != GRC_OK) // Restore geocom timeout COM_SetTimeOut(nTimeout); return rc; // Image "def999.jpg" is now stored on CF-Card // Restore geocom timeout COM_SetTimeOut(nTimeout); Leica TPS1200 – Version 1.50...
  • Page 131: Motorisation - Mot

    // configured as "Lock-In"-controller MOT_LOCK = 3, // configured as "Brake"-controller MOT_BREAK = 4, // do not use 5 and 6 // terminates the controller task MOT_TERM Number of axis const short MOT_AXES = 2; Leica TPS1200 – Version 1.50...
  • Page 132: Functions

    Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_NOT_IMPL No motorisation available (no automated instrument). Example GRC_TYPE MOT_LOCK_STATUS Status; rc = MOT_ReadLockStatus(Status) if (rc == GRC_OK) // use lock status information else // this is no automated instrument Leica TPS1200 – Version 1.50...
  • Page 133 The value of is not ControlMode MOT_OCONST GRC_NOT_IMPL No motorization available (no automated instrument). GRC_MOT_BUSY 1793 Subsystem is busy (e.g. controller already started). GRC_MOT_UNREADY 1792 Subsystem is not initialised. See Also MOT_SetVelocity MOT_StopController Example see MOT_SetVelocity Leica TPS1200 – Version 1.50...
  • Page 134 This command is used to stop movement and to stop the motor controller operation. Parameters Mode Stop mode Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_MOT_NOT_BUSY 1792 No movement in progress (e.g. stop without start). See Also MOT_SetVelocity MOT_StartController AUS_SetUserLockState Example MOT_SetVelocity Leica TPS1200 – Version 1.50...
  • Page 135 // 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 != GRC_OK) Leica TPS1200 – Version 1.50...
  • Page 136 GeoCOM Reference Manual Motorisation – MOT // handle error Leica TPS1200 – Version 1.50...
  • Page 137: Supervisor - Sup

    16.2 CONSTANTS AND TYPES On/Off Switch enum ON_OFF_TYPE OFF = 0, Automatic Shutdown Mechanism for the System enum SUP_AUTO_POWER AUTO_POWER_DISABLED = 0, // instrument remains on AUTO_POWER_OFF // turns off mechanism System Time typedef long SYSTIME; // [ms] Leica TPS1200 – Version 1.50...
  • Page 138: Functions

    AutoPower activity (press a key, turn the device or communication via GeoCOM) occurs. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also SUP_SetConfig Example SUP_SetConfig Leica TPS1200 – Version 1.50...
  • Page 139 Reserved; SUP_AUTO_POWER AutoPower; SYSTIME Timeout; // get parameter values rc = SUP_GetConfig (Reserved, AutoPower, Timeout); // set new values for parameter AutoPower = AUTO_POWER_DISABLED; Timeout = 600000; // =10min rc = SUP_SetConfig (Reserved, AutoPower, Timeout); Leica TPS1200 – Version 1.50...
  • Page 140: Theodolite Measurement And Calculation - Tmc

    The system decides which method should be used (either ). You get the best TMC_MEA_INC TMC_PLANE_INC performance regarding measure rate and accuracy with this mode; the instrument checks the conditions around the station. We recommend taking this mode any time. Leica TPS1200 – Version 1.50...
  • Page 141: Constants And Types

    // Signal measurement (test TMC_SIGNAL = 4, // function) // (Re)start measurement task TMC_DO_MEASURE = 6, // Distance-TRK measurement TMC_RTRK_DIST = 8, // program = 10, // Reflectorless tracking TMC_RED_TRK_DIST // Frequency measurement (test) TMC_FREQUENCY = 11 Leica TPS1200 – Version 1.50...
  • Page 142 // Transverse axis incl. [rad] double dCrossIncline; // Longitud. axis inclination [rad] double dLengthIncline; double dAccuracyIncline; // Inclination accuracy [rad] // Moment of measurement [ms] SYSTIME InclineTime; System Time // time since poweron [ms] typedef long SYSTIME; Leica TPS1200 – Version 1.50...
  • Page 143 // Signal intensity of EDM in % double // Timestamp [ms] SYSTIME Time; Correction Switches struct TMC_ANG_SWITCH { // Inclination correction ON_OFF_TYPE eInclineCorr; // Standing axis corr. ON_OFF_TYPE eStandAxisCorr; // Collimation error corr. ON_OFF_TYPE eCollimationCorr; // Tilting axis corr. ON_OFF_TYPE eTiltAxisCorr; Leica TPS1200 – Version 1.50...
  • Page 144: Measurement Functions

    Aim target point and try it again GRC_TMC_DIST_PPM 1291 No distance measurement respectively no distance data because of wrong EDM settings. Co-ordinates are not available. GRC_TMC_ANGLE_ERROR 1290 Angle or inclination measurement error. Check inclination modes in commands. Leica TPS1200 – Version 1.50...
  • Page 145 Result; TMC_COORDINATE Coordinate; // make a single distance measurement first Result=TMC_DoMeasure(TMC_DEF_DIST, TMC_AUTO_INC); if(Result==GRC_OK) {// before you get the coordinates Result=TMC_GetCoordinate(1000,Coordinate, TMC_AUTO_INC); switch(Result) {// result interpretation case GRC_OK: break; // error handling case ...: default: break; Leica TPS1200 – Version 1.50...
  • Page 146 Aim at target point and try it again. GRC_TMC_DIST_PPM 1291 No distance measurement respectively no distance data because of wrong EDM settings. Angle data are available but distance data are not available. Leica TPS1200 – Version 1.50...
  • Page 147 // distance measurement successful rc = TMC_GetSimpleMea(3000, OnlyAngle, SlopeDistance, TMC_MEA_INC); if (rc == GRC_OK) // use distance and angle values else // something with TMC_GetSimpleMea went wrong else // something with dist. measurement went wrong Leica TPS1200 – Version 1.50...
  • Page 148 Angle or inclination measurement error. Check inclination modes in commands. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy. Repeat measurement. GRC_ABORT Measurement through customer aborted. GRC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure Leica TPS1200 – Version 1.50...
  • Page 149 GeoCOM Reference Manual Theodolite Measurement and Calculation – TMC TMC_GetAngle5 TMC_GetSimpleMea Example see TMC_GetAngle5 Leica TPS1200 – Version 1.50...
  • Page 150 Angle or inclination measurement error. Check inclination modes in commands. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy. Repeat measurement. GRC_ABORT Measurement through customer aborted. GRC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure TMC_GetAngle5 Leica TPS1200 – Version 1.50...
  • Page 151 // incline correction break; case GRC_TMC_ACCURACY_GUARANTEE: // perform a forced incline measurement, // see example TMC_QuickDist break; case GRC_TMC_BUSY: // repeat measurement bExit=FALSE; case GRC_ABORT: case GRC_SHUT_DOWN: default: break; }// end switch nCnt++; }while(!bExit && nCnt<3); Leica TPS1200 – Version 1.50...
  • Page 152 1290 Angle or inclination measurement error. Check inclination modes in commands. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy. Repeat measurement. GRC_ABORT Measurement through customer aborted. GRC_SHUT_DOWN System power off through customer. Leica TPS1200 – Version 1.50...
  • Page 153 // caution: the calculation at zero rad is // not consider dhz_angle_diff=fabs(dLastHzAng- 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, Leica TPS1200 – Version 1.50...
  • Page 154 GRC_TMC_ANGLE_OK: case GRC_TMC_ANGLE_NOT_FULL_CORR: case GRC_TMC_ANGLE_NO_ACC_GUARANTY: case GRC_TMC_DIST_ERROR: case GRC_TMC_DIST_PPM: break; // neither angle- nor distance- data available case GRC_TMC_ANGLE_ERROR: case GRC_BUSY: case GRC_ABORT: case GRC_SHUT_DOWN: default: bExit=TRUE; break; while(!bExit && nNoMeasurements<MAX); TMC_DoMeasure(TMC_STOP);// stop measureprogram Leica TPS1200 – Version 1.50...
  • Page 155 In order to secure which correction is missing use the both functions TMC_IfDataAzeCorrError TMC_IfDataIncCorrError This message is to be considered as a warning. GRC_TMC_ACCURACY_GUARANTEE 1284 Accuracy is not guaranteed because the result consists of data Leica TPS1200 – Version 1.50...
  • Page 156 = TMC_GetFullMeas(3000, HzAngle, VAngle, AccuracyAngle, CrossIncl, LenIncl, AccuracyIncl, SlopeDistance, DistTime, TMC_MEA_INC); if (rc == GRC_OK) // use distance and angle values else // something with TMC_GetFullMeas went wrong else // something with dist. measurement went wrong Leica TPS1200 – Version 1.50...
  • Page 157: Measurement Control Functions

    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 Result=TMC_GetCoordinate(100,Coordinate, TMC_AUTO_INC); nCnt++; // to complete the measurement, and clear data TMC_DoMeasure(TMC_CLEAR); // set standard mode TMC_SetEdmMode(EMD_SINGLE_STANDARD); Leica TPS1200 – Version 1.50...
  • Page 158 EDM settings. Co-ordinates are not available. GRC_TMC_ANGLE_ERROR 1290 Angle or inclination measurement error. Check inclination modes in commands. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy. Repeat measurement. GRC_ABORT Measurement through customer aborted. Leica TPS1200 – Version 1.50...
  • Page 159 System power off through customer. See Also TMC_IfDataAzeCorrError TMC_IfDataIncCorrError Example GRC_TYPE TMC_COORDINATE Coordinate rc = VB_TMC_SetHandDist(10, 1, TMC_AUTO_INC) if (rc == GRC_OK) // calculate coordinates rc=TMC_GetCoordinate(1000,Coordinate,TMC_AUTO_INC) if (rc == GRC_OK) // use coordinates else // something went wrong Leica TPS1200 – Version 1.50...
  • Page 160: Data Setup Functions

    // if it is not already rc = TMC_GetHeight(Height); if (Height.dHr != 0) NewHeight.dHr = 0; rc = TMC_SetHeight(NewHeight); if (rc == GRC_OK) // set of height successful else // TMC is busy, no set possible Leica TPS1200 – Version 1.50...
  • Page 161 TMC resource is locked respectively TMC task is busy. The reflector height is not set. Repeat measurement. GRC_IVPAR A reflector height less than 10m or greater than 100m is entered. Invalid parameter. See Also TMC_GetHeight Example TMC_GetHeight Leica TPS1200 – Version 1.50...
  • Page 162 ASCII-Response %R1P,0,0:RC,Lambda[double],Pressure[double], DryTemperature[double],WetTemperature[double] Remarks This function is used to get the parameters for the atmospheric correction. Parameters AtmTemperature Atmospheric Correction Data Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also TMC_SetAtmCorr Example see TMC_SetAtmCorr Leica TPS1200 – Version 1.50...
  • Page 163 This function is used to set the parameters for the atmospheric correction. Parameters AtmTemperature Atmospheric Correction Data Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also TMC_GetAtmCorr Example TMC_ATMOS_TEMPERATURE AtmCorr; TMC_GetAtmCorr(AtmCorr); // set new wet and dry temperature AtmCorr.dDryTemperature=60; AtmCorr.dWetTemperature=80; TMC_SetAtmCorr(AtmCorr); Leica TPS1200 – Version 1.50...
  • Page 164 Angle or inclination measurement error. Check inclination modes in commands. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy. Repeat measurement. GRC_ABORT Measurement through customer aborted. GRC_SHUT_DOWN System power off through customer. See Also TMC_IfDataAzeCorrError TMC_IfDataIncCorrError TMC_DoMeasure Leica TPS1200 – Version 1.50...
  • Page 165 GeoCOM Reference Manual Theodolite Measurement and Calculation – TMC Example GRC_TYPE Result; // clear existing distance first TMC_DoMeasure(TMC_CLEAR); // set orientation to 0 Result=TMC_SetOrientation(0.0); if(Result!=GRC_OK) // error or warning handling Leica TPS1200 – Version 1.50...
  • Page 166 // set the prism constant to // 0.1 if not already set rc = TMC_GetPrismCorr(PrismCorr); if (PrismCorr != Corr) rc = TMC_SetPrismCorr(Corr); if (rc == GRC_OK) // set of prisma corr successful else // Invalid parameter Leica TPS1200 – Version 1.50...
  • Page 167 // and reset if necessary rc = TMC_GetRefractiveCorr(Refractive); if (Refractive.dEarthRadius != EarthRadius) Refractive.dEarthRadius = EarthRadius; rc = TMC_SetRefractiveCorr(Refractive); if (rc == GRC_OK) // set of earth radius successful else // set not successful (subsystem busy) Leica TPS1200 – Version 1.50...
  • Page 168 Execution successful. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy. The refraction distortion factor is not set. Repeat measurement. GRC_IVRESULT Wrong values entered. GRC_SETINCOMPLETE Invalid number of parameters. See Also TMC_GetRefractiveCorr Example TMC_GetRefractiveCorr Leica TPS1200 – Version 1.50...
  • Page 169 // set the refractive methode to 1 // if it is not already rc = TMC_GetRefractiveMethod(Method); if (Method != RefractiveMethod) rc = TMC_SetRefractiveMethod(RefractiveMethod); if (rc == GRC_OK) // set of refractive methode successful else // set not successful (subsystem busy) Leica TPS1200 – Version 1.50...
  • Page 170 = 2 means method 2 (for Australia) Method Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy. The refraction model is not set. Repeat measurement. See Also TMC_GetRefractiveMethod Example TMC_GetRefractiveMethod Leica TPS1200 – Version 1.50...
  • Page 171 = TMC_GetStation(Station); if ((Station.dE0 != 0)|| (Station.dN0 != 0)|| (Station.dH0 != 0)|| (Station.dHi != 0)) rc = TMC_SetStation(NullStation); if (rc == GRC_OK) // reset of station successful else // reset not successful (subsystem busy) Leica TPS1200 – Version 1.50...
  • Page 172 Execution successful. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy or a distance is existing. The instrument co-ordinates are not set. Clear distance and repeat measurement. See Also TMC_GetStation TMC_DoMeasure Example TMC_GetStation Leica TPS1200 – Version 1.50...
  • Page 173 ASCII-Response %R1P,0,0:RC, dPpmA[double] Remarks This function retrieves the atmospheric ppm value. Parameters dPpmA Atmospheric ppm correction factor. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also TMC_SetAtmPpm TMC_GetGeoPpm TMC_SetGeoPpm TMC_GetPrismCorr TMC_SetPrismCorr Example see TMC_SetPrismCorr Leica TPS1200 – Version 1.50...
  • Page 174 Remarks This function is used to set the atmospheric ppm value. Parameters dPpmA Atmospheric ppm correction factor. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also TMC_GetAtmPpm TMC_GetGeoPpm TMC_SetGeoPpm TMC_GetPrismCorr TMC_SetPrismCorr Example see TMC_SetPrismCorr Leica TPS1200 – Version 1.50...
  • Page 175 Offset from central meridian [m] dHeightReductionPPM ppm value due to height above reference dIndividualPPM Individual ppm value Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also TMC_GetAtmPpm TMC_SetAtmPpm TMC_SetGeoPpm TMC_GetPrismCorr TMC_SetPrismCorr Example see TMC_SetPrismCorr Leica TPS1200 – Version 1.50...
  • Page 176 Offset from central meridian [m] dHeightReductionPPM ppm value due to height above reference dIndividualPPM Individual ppm value Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also TMC_GetAtmPpm TMC_SetAtmPpm TMC_GetGeoPpm TMC_GetPrismCorr TMC_SetPrismCorr Example see TMC_SetPrismCorr Leica TPS1200 – Version 1.50...
  • Page 177: Information Functions

    = TMC_DoMeasure(TMC_DEF_DIST, TMC_AUTO_INC); rc = TMC_GetFace(Face); if (Face == TMC_FACE_TURN) rc = AUT_ChangeFace(AUT_NORMAL, AUT_POSITION, FALSE); if (rc == GRC_OK) // face successfuly turned else // change face problem: see AUT_ChangeFace // clear distance rc = TMC_DoMeasure(TMC_CLEAR, TMC_AUTO_INC); Leica TPS1200 – Version 1.50...
  • Page 178 Execution successful. GRC_TMC_SIGNAL_ERROR 1294 Error within signal measurement. At repeated occur call service. GRC_ABORT Measurement through customer aborted. GRC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure Example GRC_TYPE Result; TMC_SIGNAL Signal; TMC_DoMeasure(TMC_SIGNAL); Result=TMC_GetSignal(Signal); if(Result==GRC_OK) }while(Result==GRC_OK); Leica TPS1200 – Version 1.50...
  • Page 179: Configuration Functions

    TMC_SetAngSwitch Example GRC_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 Leica TPS1200 – Version 1.50...
  • Page 180 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 == GRC_OK) // successfully deactvated else // set not successful (subsystem busy) Leica TPS1200 – Version 1.50...
  • Page 181 Execution successful. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy or a distance is existing. The incline state is not changed. Clear distance and repeat measurement. See Also TMC_GetInclineSwitch Example see TMC_GetInclineSwitch Leica TPS1200 – Version 1.50...
  • Page 182 // 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 == GRC_OK) // set to single mode successful else // set not successful (subsystem busy) Leica TPS1200 – Version 1.50...
  • Page 183 EDM measurement mode. Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy. The EDM mode is not set. Repeat measurement. See Also TMC_GetEdmMode TMC_DoMeasure Example TMC_GetEdmMode Leica TPS1200 – Version 1.50...
  • Page 184 No measuring, because of missing target point, co-ordinates are not available. Aim target point and try it again GRC_TMC_DIST_PPM 1291 No distance measurement respectively no distance data because of wrong EDM settings. Co-ordinates are not Leica TPS1200 – Version 1.50...
  • Page 185 // in all other cases are the coordinates not // valid and set to 0 // further errorhandling Break; }// end switch }// end do while while(!bExit); TMC_DoMeasure(TMC_CLEAR); // complete measurement // and clear data Leica TPS1200 – Version 1.50...
  • Page 186 // incline correction case GRC_OK: case GRC_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 Leica TPS1200 – Version 1.50...
  • Page 187 GeoCOM Reference Manual Theodolite Measurement and Calculation – TMC break; }// end switch TMC_DoMeasure(TMC_CLEAR); // complete measurement // and clear data Leica TPS1200 – Version 1.50...
  • Page 188 Flag, if incline correction error occurred or not : no error occurred FALSE last data record not corrected with the TRUE incline-correction Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also TMC_IfDataAzeCorrError Example see example TMC_IfDataAzeCorrError Leica TPS1200 – Version 1.50...
  • Page 189 Return-Code Names and Return-Code Values GRC_OK Execution successful. GRC_TMC_BUSY 1293 TMC resource is locked respectively TMC task is busy or a distance exists. Clear distance and try it again. See-Also TMC_DoMeasure TMC_GetAngSwitch Example See example TMC_QuickDist Leica TPS1200 – Version 1.50...
  • Page 190 This function retrieves the total ppm value (atmospheric+geometric ppm) plus the current prism constant. Parameters dPpmCorr Total ppm correction factor. dPrismCorr The correction factor of the prism. Return-Code Names and Return-Code Values GRC_OK Execution successful. See Also TMC_GetPrismCorr, TMC_SetPrismCorr. Example Leica TPS1200 – Version 1.50...
  • Page 191: Porting A Tps1100 Application

    Changes in TPS1200 GeoCOM: ‘c’<Term> 18.2.5 Controller Task - CTL TPS1100 GeoCOM RPC: Changes in TPS1200 GeoCOM: CTL_GetUpCounter Not supported 18.2.6 WI Registration - WIR TPS1100 GeoCOM RPC: Changes in TPS1200 GeoCOM: WIR_SetRecFormat Deleted WIR_GetRecFormat Deleted Leica TPS1200 – Version 1.50...
  • Page 192 New: BAP_GetUserPrismDef Replaced by: BAP_SetUserPrismDef BAP_SetPrismDef New: BAP_GetATRSetting New: BAP_SetATRSetting New: BAP_GetRedATRFov New: BAP_SetRedATRFov 18.2.8 Theodolite Measurement and Calculation – TMC TPS1100 GeoCOM RPC: Changes in TPS1200 GeoCOM: New: TMC_GetAtmPpm New: TMC_SetAtmPpm New: TMC_GetGeoPpm New: TMC_SetGeoPpm Leica TPS1200 – Version 1.50...
  • Page 193: Data Types And Constants Changes

    BMM_ Renamed: GRC_BMM_ New: GRC_KDM_ TXT_ Deleted MMI_ Deleted RC_COM_ Renamed: GRC_COM_ DPL_RC_ Deleted RC_FIL_ Replaced by: GRC_FTR_ WIR_ Deleted AUT_RC_ Renamed: GRC_AUT_ BAP_ Deleted SAP_ Deleted COD_RC_ Deleted BAS_ Deleted IOS_ Deleted CNF_ Deleted Leica TPS1200 – Version 1.50...
  • Page 194: Geocom Releases

    This GeoCOM Release 1.50 was introduced with TPS Firmware Release 7.5. Added subsystem Imaging (IMG) and File Transfer (FTR) for TS30 and TM30 instrument. A new EDM measurement mode (Precise Mode) as well as a new TMC command (TMC_GetFullMeas) are added Leica TPS1200 – Version 1.50...
  • Page 195: Appendix

    In a special context the meaning of a return code might vary a little bit. The list described here is organised in subsystem related categories. The describes the constant as it is RetCodeName defined for the TPS1200 series instruments. Additionally to find an error code by number they are given too RetCodeName Value HexVal...
  • Page 196 Not the spot of the own target illuminator. GRC_ATA_V24_FAIL 0x20D Communication error to sensor (ATR). GRC_ATA_DECODE_ERROR 0x20E Received Arguments cannot be decoded GRC_ATA_HZ_FAIL 0x20F No Spot detected in Hz-direction. GRC_ATA_V_FAIL 0x210 No Spot detected in V-direction. Leica TPS1200 – Version 1.50...
  • Page 197 Multiple OpenTransfer calls. GRC_EDM_SLDR_TRANSFER_ILLEGAL 0x31F No open transfer happened. GRC_EDM_SLDR_DATA_ERROR 0x320 Unexpected data format received. GRC_EDM_SLDR_CHK_SUM_ERROR 0x321 Checksum error in transmitted data. GRC_EDM_SLDR_ADDR_ERROR 0x322 Address out of valid range. GRC_EDM_SLDR_INV_LOADFILE 0x323 Firmware file has invalid format. Leica TPS1200 – Version 1.50...
  • Page 198 Loading process already opened GRC_BMM_NO_XFER_OPEN 2306 0x902 Transfer not opened GRC_BMM_UNKNOWN_CHARSET 2307 0x903 Unknown character set GRC_BMM_NOT_INSTALLED 2308 0x904 Display module not present GRC_BMM_ALREADY_EXIST 2309 0x905 Character set already exists GRC_BMM_CANT_DELETE 2310 0x906 Character set cannot be deleted Leica TPS1200 – Version 1.50...
  • Page 199 TPS has shut down. Wait and try again. GRC_COM_NO_CHECKSUM 3110 0xC26 No checksum in ASCII protocol available. 8704 0x2200 RetCodeName Value HexVal Description GRC_AUT_TIMEOUT 8704 0x2200 Position not reached GRC_AUT_DETENT_ERROR 8705 0x2201 Positioning not possible due to mounted EDM Leica TPS1200 – Version 1.50...
  • Page 200 GRC_FTR_WRONGFILEBLOCKNUMBER 13057 0x3301 block number was not the expected one GRC_FTR_NOTENOUGHSPACE 13058 0x3302 not enough space on device to proceed uploading GRC_FTR_INVALIDINPUT 13059 0x3303 Rename of file failed. GRC_FTR_MISSINGSETUP 13060 0x3304 invalid parameter as input Leica TPS1200 – Version 1.50...
  • Page 201: B Hardware Interface

    The default settings for the interface are 19200 Baud, 8 data bits, 1 stop bit, no parity. The communication terminator is set to CR/LF. The parameters marked as ‘Fixed’ may not be changed. The other parameters are variable may be changed by the user. Leica TPS1200 – Version 1.50...
  • Page 202: Debugging Utility

    Windows on 386 and 486 computers, check the UART type. If you do not have a UART with built in buffers (16550 type), you may loose characters too. It may be helpful for debugging purposes to build up a special cable to monitor the data transfers. Appl 1N4148 or similar Monitor Leica TPS1200 – Version 1.50...
  • Page 203: C Provided Samples

    Executable of the sample Note: To operate successfully the file must be accessible for the operating system, hence it must be geocoms2k.dll located in a directory, which the operating system looks up for the requested DLL file Leica TPS1200 – Version 1.50...
  • Page 204: C-1.3 Tcc Image Grabber Sample Program

    It may be necessary to install the Microsoft Visual C++ 2005 Redistributable Package (x86) on your computer if it does not have Visual C++ 2005 installed. The Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) installs runtime components of Visual C++ Libraries and can be downloaded from the Microsoft Home Page. Leica TPS1200 – Version 1.50...
  • Page 205: D List Of Remote Procedure Calls (Rpc

    BMM_BeepAlarm: 11004 ..............................90 BMM_BeepNormal: 11003 .............................. 91 COM_CloseConnection..............................27 COM_End..................................25 COM_GetBaudRate................................28 COM_GetBinaryAvailable: 113 ............................99 COM_GetComFormat ..............................32 COM_GetDoublePrecision: 108............................22 COM_GetErrorText................................36 COM_GetSWVersion: 110............................... 95 COM_GetTimeOut................................30 COM_GetWinSWVersion..............................37 COM_Init ..................................24 Leica TPS1200 – Version 1.50 D-205...
  • Page 206 TMC_GetEdmMode: 2021............................. 182 TMC_GetFace: 2026 ..............................177 TMC_GetFullMeas: 2167............................... 155 TMC_GetHeight: 2011..............................160 TMC_GetInclineSwitch: 2007............................180 TMC_GetPrismCorr: 2023 ............................. 166 TMC_GetRefractiveCorr: 2031............................167 TMC_GetRefractiveMethod: 2091..........................169 TMC_GetSignal: 2022..............................178 TMC_GetSimpleCoord: 2116............................184 TMC_GetSimpleMea: 2108 ............................146 Leica TPS1200 – Version 1.50 D-206...
  • Page 207 TMC_SetAngSwitch: 2016 ............................189 TMC_SetAtmCorr: 2028 ..............................163 TMC_SetEdmMode: 2020.............................. 183 TMC_SetHandDist: 2019 ............................... 158 TMC_SetHeight: 2012..............................161 TMC_SetInclineSwitch: 2006 ............................181 TMC_SetOrientation: 2113 ............................164 TMC_SetRefractiveCorr: 2030............................168 TMC_SetRefractiveMethod: 2090 ..........................170 TMC_SetStation: 2010 ..............................172 Leica TPS1200 – Version 1.50 D-207...

This manual is also suitable for:

Tm30Ts30Tps1200+

Table of Contents