Leica TPS1100 User Manual

Leica TPS1100 User Manual

Motorized auto target total station
Hide thumbs Also See for TPS1100:
Table of Contents

Advertisement

GeoB
TPS1100
ASIC FOR
User Manual
Version 2.10
1997-2001 Leica Geosystems AG
Heerbrugg, Switzerland

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TPS1100 and is the answer not in the manual?

Questions and answers

Summary of Contents for Leica TPS1100

  • Page 1 GeoB TPS1100 ASIC FOR User Manual Version 2.10 1997-2001 Leica Geosystems AG Heerbrugg, Switzerland...
  • Page 2: Table Of Contents

    5.4 Configuration of the Simulator..............5-3 5.5 GeoCom Mode.................... 5-4 5.6 SWTheo Mode .................... 5-4 5.7 Commonly asked questions and answers............. 5-7 Additional Debugging Functions .............. 6-1 Multiple Language Support..............7-1 7.1 Text Utility....................7-2 Typical GeoBASIC Programming............8-1 TPS1100-Version 2.10...
  • Page 3 10.1 MeanHz — Mean Value of Horizontal Angle Measurements....10-1 10.2 Sample Programs ..................10-8 11 Porting a TPS1000 Originated Program ..........11-1 11.1 TPS1100 Hardware Related Changes ............11-1 11.2 Changes to the Simulator ................11-2 11.3 New constructs in GB_1100 ..............11-2 11.4 GeoBASIC Source Changes..............
  • Page 4: Geobasic User Manual

    Moreover some introductory examples are given to tell how special problems can be treated. Note All the details of the GeoBASIC language and system functions are composed in the "GeoBASIC Reference Manual". TPS1100-Version 2.10...
  • Page 5: Installation

    Content of the directories (only the main objects are listed): • TPS1100Tools\ TPS Simulator for TPS1100 Series TPS1100.exe GeoBASIC IDE application GBStudio.exe GeoBASIC Interpreter for TPS1100 series *) GBI_1100_xxx.prg … and maybe several more tools, help files or DLL’s • CodeConverter\ CODE to GeoBASIC converter CGB_Dlg.exe...
  • Page 6 Loading the GeoBASIC Interpreter: The GeoBASIC Interpreter will be loaded automatically with the loading of the first application into the theodolite using the Software Upload for TPS1100. Hence you have to copy the GeoBASIC Interpreter (GBI_TPS1100_xxx.prg) into the same directory as the application before loading it. Otherwise you will get an error message.
  • Page 7: Creating A Geobasic Application

    GBStudio is an integrated development environment and includes a source editor, compiler, project handling and a source level debugger. It is able to debug GeoBASIC 2.10 applications for TPS1100 series total stations. Both, the TPS simulator and the TPS device as the execution platform are supported.
  • Page 8 Intellisense and Tooltip info, Bookmarks, indent and outdent of a block of source lines, and several other features. The ‘Workspace Preferences’-dialog can be used to customize the features, which should be active during debugging. TPS1100-Version 2.10...
  • Page 9 Use Ctrl-F1 to get a more descriptive explanation of what caused the failure of the compilation process. Depending on the compiler settings also the debug info file is generated which is necessary for debugging the application. TPS1100-Version 2.10...
  • Page 10 The character set on which the application is based on. The default character set is 0. Output File The name of the resulting applications file name. If it is empty, the resulting files get the same file base name as the source code file. TPS1100-Version 2.10...
  • Page 11 This feature is very valuable if a tested application shows error only after weeks or months of usage. Depending on the selected project, use either the “Default Project Preferences” dialog or the “Project Preferences” dialog to set the build options for the debugging session. TPS1100-Version 2.10...
  • Page 12 Is available only if one of the serial communication lines has been chosen. Choose an appropriate Baud rate. System Idents Determines the location of the system specific symbols file. Click on the “Browse…” button to get a file chooser dialog. TPS1100-Version 2.10...
  • Page 13: Typical Development Cycle

    GBStudio. TYPICAL DEVELOPMENT CYCLE 3.2.1 Open or Create a GeoBASIC main source file Use the Open File command to open an existing GeoBASIC main source file or create a new file with the document type GBS. TPS1100-Version 2.10...
  • Page 14 “BasicCodeProgram” type of application). Save your changes by using CTRL-S or the Save command from the File menu. 3.2.3 Build the application Press function key F7 or use the Build command from either the Build menu or Build toolbar. TPS1100-Version 2.10...
  • Page 15 Load the GeoBASIC interpreter. Load the application you want to debug. (For details, please see Chapter 4.1 Loading a GeoBASIC program or 5.3 Loading and executing GeoBASIC programs) Note: The application must have been build with ‘’Generate Debug Info’’ enabled. TPS1100-Version 2.10...
  • Page 16 In the watch variable view you will be able to edit either the identifier of the watch variable entry or the value itself, if the debugging process is in a HALT state. TPS1100-Version 2.10...
  • Page 17 Once added to the window it is possible to change either the identifier name or the value of it (if the point of execution is in the scope of the variable). Use a Double- Click on the identifier or the value to enter the edit mode. TPS1100-Version 2.10...
  • Page 18: Project Handling

    E.g., if the two source files have different application entry points, the user has to set it up accordingly. The default project is active if the user doesn’t choose a project explicitly. Instead the user will just open a plain GeoBASIC source code file. TPS1100-Version 2.10...
  • Page 19: Common Problems

    The second registering of a variable doesn’t show the associated value. Notice, a variable can be registered only once. • During debugging the code source cannot be edited. We disabled this during the debug session to keep the source and the loaded application TPS1100-Version 2.10...
  • Page 20: Compiler Limitations

    • An application may not have more than 64kB of string literal in total. • The number of global identifiers is limited to 3000. • The overall maximum number of identifiers limits the number of local identifiers, which are about 60000. TPS1100-Version 2.10...
  • Page 21: Executing A Geobasic Program On The Theodolite

    Before a program can be executed, these two files have to be loaded into the theodolite first. With the help of the Leica Survey Office Software Upload the two files can be loaded into TPS-memory and run automatically the install procedure of the GeoBASIC program.
  • Page 22 Note For the build-in loader from the PC-Card, the files (*.GBA und *.lng) must be stored in the PC-Card folder “\TPS\APPL”. If necessarily, the GeoBASIC interpreter (gbi_xxx.prg) is loaded automatically from the same folder. TPS1100-Version 2.10...
  • Page 23: Executing A Geobasic Program On The Simulatior

    USER INTERFACE The TPS1100 simulation main window contains two windows and a dialog box on start-up: the „TPS1100“ window and the „Debug“ window (see below). The TPS1100 window contains a replication of the (hardware) TPS1100 theodolite‘s user interface.
  • Page 24: Loading And Executing Geobasic Programs

    Refer to Chapter 9.3.2 for more information. If the menu item “Load Basic Application …” is disabled (grey) then make sure no GeoBASIC application is running and maybe it’s necessary to press once or twice the ESC button of the TPS simulator. TPS1100-Version 2.10...
  • Page 25: Configuration Of The Simulator

    It is highly recommended to set the paths, if they are not already set, to the following values: Path Recommended value TPS1100Tools\TextDB Language Files TPS1100Tools\GSI GSI and Log Files TPS1100Tools\CodeList Internal Code List TPS1100Tools\CodeListPcCard External Code List TPS1100Tools\GBSamples Basic Programs Path TPS1100Tools\Config Configuration Data Path TPS1100-Version 2.10...
  • Page 26: Geocom Mode

    Connection …“ dialog (see above) of the simulation. Confirm with the „OK“ button. Start the simulation again using the „ON“ button of the TPS1100 window. The simulation now tries to communicate with the theodolite. If a connection can be established, and the port you have chosen was „COM1“, the title of the TPS1100 window will be „TPS 1100 <running, GeoCom on com1:>“.
  • Page 27 TPS1100 window if it is not off already. Open the GeoCOM dialog via the „Configuration“ menu. Disable the GeoCOM enable box. Confirm with the „Ok“ button. Start the simulation using the „ON” button in the TPS1100 window. 5.6.2 User Interface There are two dialogs to access the SWTheo from the simulation.
  • Page 28 The jittering amplitude increases from left to right position of the slider. If the sliders are in their leftmost position, there is no jittering applied to the virtual sensor data. TPS1100-Version 2.10...
  • Page 29: Commonly Asked Questions And Answers

    After loading a GeoBASIC program, the expected menu item does not appear in the dialog. What did I wrong? The menu manager needs an event to reread the menu definition. Press the ESC key to rebuild the menu. TPS1100-Version 2.10...
  • Page 30: Additional Debugging Functions

    For the simulator and the TPS: • MMI_PrintStr can be used to display and track results and errors. See also the list of return codes in the appendix of the Reference Manual. TPS1100-Version 2.10...
  • Page 31: Multiple Language Support

    Loading the derived lxx-files on the TPS system for enabling the user to choose between the provided languages. (‘xx’ stands for the language abbreviation.) sample.gbs GB-compiler sample.gba sample.lng Text Utility translate and edit text fragments sample.lge sampl100.mng sampl100.mge TPS1100 Diagram: Generate language files. TPS1100-Version 2.10...
  • Page 32: Text Utility

    See sample file "language.gbs". TEXT UTILITY The TPS1100/1000 Text Utility (Text Translation Tool) supports GeoBASIC text files. This section describes the most important steps of generating multiple language files. The following picture shows the Text Utility after the import of a GeoBASIC text file: 7.1.1...
  • Page 33 2. Press the -button and open the target language you want to update (i.e. sampl100.mge). Edit the target language text column (indicated with T1). After updating the whole column press -button to generate the new loadable language file. TPS1100-Version 2.10...
  • Page 34: Typical Geobasic Programming

    Dialog line Object name <BASIC\ Text Dialog Objects> Caption line: It is composed of the short caption ”BASIC” and the caption ”Text Dialog Objects”. <I am a text dialog object.> String <10587> Integer value TPS1100-Version 2.10...
  • Page 35 (up to 12 are possible) it is scrolled when necessary. For floating point input/output a kind (for instance horizontal angle, distance, etc.) can be specified. Data is automatically transformed to the unit associated to the TPS1100-Version 2.10...
  • Page 36 Input is roughly dual to the output, except that the input functions return the button id of the button that terminated the edit process. For all numeric values there are the minimum and maximum values defined. The value is only valid, if it is between them. TPS1100-Version 2.10...
  • Page 37 • Double (floating point) values with unit: MMI_InputVal(19, 4, 8, 2, 0, 399.99, MMI_DIM_ON, dValue, lValid, iButtonId) Parameters: column, line, iLen, decimals, minimum value, maximum value, mode, double variable, lValid, button TPS1100-Version 2.10...
  • Page 38: The Graphics Dialog

    A graphics dialog with short caption "BASIC" and caption "Graphics Dialog" is created. The help text is set to "My help text." — it is shown when the user presses Shift-F1 and the help functionality of the theodolite is enabled. TPS1100-Version 2.10...
  • Page 39 Such a text can be up to five characters long and is displayed centred above the button. Each button has an identification associated. This button id is needed An existing text dialog is deleted automatically if a new text dialog is created. TPS1100-Version 2.10...
  • Page 40 The second parameter to MMI_GetButton (the in-parameter bAllKey) determines what buttons are accepted: − If it is TRUE, any button is accepted. − If it is FALSE, only ESC, or a defined button (added with MMI_AddButton) are accepted. TPS1100-Version 2.10...
  • Page 41 F1 in configuration CONT Continues to the logically following dialog dialog. For instance, the user of a L theodolite assumes that DIST takes the distance EICA (with the common dialogs), ALL does DIST and then REC, etc. TPS1100-Version 2.10...
  • Page 42: Naming Conventions

    Note These naming conventions carry only a semantics for the programmer, not for the compiler. See "Naming Conventions for Microsoft Access, the Leszynski/Reddick Guidelines for Access", Microsoft Development Library 1995. TPS1100-Version 2.10...
  • Page 43 (as most of the predefined constants do) the underscore '_' is used to separate parts of the name. Often constants can be grouped together, then a prefix is used to denote their common criterion. For example the return codes use RC, as in RC_OK, RC_ABORT, etc. 8-10 TPS1100-Version 2.10...
  • Page 44 8.3.4 Keywords GeoBASIC keywords are all in upper case letters. For example, DIM, FOR, LOOP, FUNCTION, etc. 8.3.5 Labels For error labels (ON ERROR GOTO) we use the function/subprocedure name with the qualifier '_Err' appended. TPS1100-Version 2.10 8-11...
  • Page 45 To complete the discussion about naming conventions, we mention the use of program headers: In every function/subprocedure there should be a header describing, at a minimum, purpose, and parameters passed and/or returned. (In addition there might be comments, the author's name, last revision date, notes, etc.) 8-12 TPS1100-Version 2.10...
  • Page 46: Refined Geobasic Concepts

    (Note that we use the GetAngleHz routine from the MeanHz program (see 10.1), and we assume that a text dialog has been opened properly. The angle difference is normalised to the range 0 to 2×π.) TPS1100-Version 2.10...
  • Page 47: The User Measurement Dialog

    THE USER MEASUREMENT DIALOG The User Measurement Dialog (sometimes referred as MDlg) standardises the visualisation of the measurement values in GeoBASIC. Each value (i.e. vertical angle, horizontal distance) has a predefined output format. Thus the GeoBASIC TPS1100-Version 2.10...
  • Page 48 Thus all lines which are not configured by the GeoBASIC programmer shows the same parameters as the first system measurement dialog. For further explanations how to configure the user measurement dialog read the description of the 3 system functions (GSI_SetLineMDlg, GSI_SetLineMDlgText, GSI_SetLineMDlgPar) in the reference manual. TPS1100-Version 2.10...
  • Page 49 The routine GSI_UpdateMeasurement updates the measurement values in the theodolite data pool. GSI_UpdateMDlg updates the user measurement dialog with the new values and returns the pressed button. For further explanations read the description of these system routines in the reference manual. TPS1100-Version 2.10...
  • Page 50: Tps1100 Configurability

    TPS1100 CONFIGURABILITY In general, each part of an application, which should be accessible from outside, has to be of the form ‘GLOBAL SUB’.
  • Page 51 9.3.2 Import the program in a User Configuration The TPS1100 series theodolites support the concept of individual configurations. In a configuration the user can define his own dialogs or menus and link them to certain events (i.e. pressing the PROG key or Power ON). If the event occurs then the linked dialog or the menu will be displayed.
  • Page 52 END GlobalSub2 END AppInfoExample 'Application Information for Config Tool '--------------------------------------- APPINFO GENERAL SET Author "Leica AG, CH - Heerbrugg" SET Desc "AppInfo Example Application" SET TheoModel "TCA1100" END GENERAL ENTRYPOINT GlobalSub1 SET CapLg "Global Sub 1" SET CapSh "GSUB1"...
  • Page 53: Interapplication-Call

    Customi- sation Tool Theodolite Con- loader figuration files INTERAPPLICATION-CALL The inter-application-call makes it possible to call a subroutine in another GeoBASIC program. With this concept the GeoBASIC programmer can use the same subroutine in several programs. TPS1100-Version 2.10...
  • Page 54: System Function Call

    The GeoBASIC programmer has the same possibilities. With the routine CSV_SysCall he can call the system functions in his programs. Because some system functions do not run on every theodolite type, there is a routine TPS1100-Version 2.10...
  • Page 55: System Event Generation

    SYSTEM EVENT GENERATION Every configuration for a TPS1100 series theodolite is event driven. The user or the system itself generates an event (e.g. the user has pressed the PROG key or the initialisation sequence is finished) and the configuration functionality executes then the linked action (menu, dialog, macro, application or system function).
  • Page 56 GeoBASIC User Manual 9 — Refined GeoBASIC Concepts executed. For further explanations read the function description of CSV_SysCall and CSV_SysCallAvailable in the reference manual. In Appendix H of the reference manual there is a list with all system events. TPS1100-Version 2.10 9-11...
  • Page 57: Geobasic Sample Programs

    Now the user has the choice either to display the angles graphically, to move the theodolite to the computed mean angle or to quit the program. (The program can be terminated with the ESC button or the QUIT button on shift-F6 at any time.) TPS1100-Version 2.10 10-1...
  • Page 58 10 — GeoBASIC Sample Programs Start Input the number of angles to measure Measure the angles Compute and display mean angle Draw the angles Show Graphics ? Position theodolite Move theo to on mean angle mean angle ? 10-2 TPS1100-Version 2.10...
  • Page 59 ' Measures a user defined number of horizontal angles and calculate ' the mean angle. The measured and the mean angle can also be ' displayed graphically. ' GeoBASIC 1.0 for TPS1100 Series Instruments ' (c) Leica AG, CH - Heerbrugg 1998 '--------------------------------------------------------------------...
  • Page 60 SUB ShowGraphics( byVal iNoPoints AS Integer, angles AS TAngles, byVal dMean AS Angle ) ------------ ' Description Displays the measured and the mean horizontal angles graphically. ' Parameters IN: iNoPoints, angles, dMean DIM iX AS Integer 'x coordinate 10-4 TPS1100-Version 2.10...
  • Page 61 (if motorized) the TPS tocalulcated position. DIM iNoPoints AS Integer 'number of points to measure DIM iCurrNo AS Integer 'current point number DIM lNoOk AS Logical 'TRUE if no of points are valid TPS1100-Version 2.10 10-5...
  • Page 62 = 0.0 'get iNoPoints points (abort if ESC or QUIT is pressed) DO WHILE (iCurrNo <= iNoPoints) AND (iButton <> MMI_ESC_KEY) AND (iButton <> MMI_SHF6_KEY) MMI_PrintVal( 26, 1, 2, 0, iCurrNo, lNoOk, MMI_DEFAULT_MODE ) MMI_CheckButton( lKeyPressed ) 10-6 TPS1100-Version 2.10...
  • Page 63 = dMean / iNoPoints MMI_PrintStr( 0, 3, "Mean HZ :", TRUE ) MMI_PrintVal( 20, 3, 8, 3, dMean, TRUE, MMI_DEFAULT_MODE ) DO WHILE (iButton <> MMI_ESC_KEY) AND (iButton <> MMI_SHF6_KEY) AND (iButton <> MMI_F4_KEY) MMI_GetButton( iButton, FALSE ) TPS1100-Version 2.10 10-7...
  • Page 64: Sample Programs

    Take this program as an example to support multiple language applications. Two language files and its text databases are provided to see how multilingual support works. • meanhz.gbs This sample shows the calculation of the mean value of horizontal angle measurements, see Chapter 10.1. 10-8 TPS1100-Version 2.10...
  • Page 65 • dirlist.gbs This example shows how to get PC card information and how to read a directories content. • inclmain.gbs This example shows the usage of an include file. • iac.gbs An example for an interapplication call. TPS1100-Version 2.10 10-9...
  • Page 66: Porting Atps1000 Originated Program

    During the design phase of GeoBASIC for TPS1100 systems we took certain care to make the migration as smooth as possible. Although all programs’ source code has to be changed, the effort to port it will be for the most applications not that high.
  • Page 67: Changes To The Simulator

    See also the documentation of TPSSim for further explanations. 11.3 NEW CONSTRUCTS IN GB_1100 Due to some requests we added a few new constructs to GeoBASIC for TPS1100 instruments. 11.3.1 #include Statement It is now possible to include a GeoBASIC source file in another one.
  • Page 68: Geobasic Source Changes

    TPS1100 GeoBASIC. 11.4.1 General Dialog Changes The CONT key does not exist any more on the TPS1100 instruments. Scan your source code for MMI_CONT_KEY and replace it by a function key. The TPS1100 guidelines use MMI_F1_KEY normally for the CONT key functionality. This might make it necessary to change your function key layout.
  • Page 69 The other Text and MDlg are mutually way around is not possible At the exclusive. Only one can be same time a MeasDlg may be defined at once. All three dialog defined. types may have their own buttons. 11-4 TPS1100-Version 2.10...
  • Page 70 11.4.3 System Dialog Calls Replacements for old dialog invocation calls: GSI_CommDlg () CSV_SysCall ( CSV_EFNC_GeoComSetup, Caption ) GSI_SelectTemplateFiles() CSV_SysCall ( CSV_EFNC_Setup, GSI_Setup () Caption ) GSI_StationData () CSV_SysCall ( CSV_EFNC_SetStation, Caption ) GSI_TargetDlg () CSV_SysCall ( CSV_EFNC_TargetData, Caption ) TPS1100-Version 2.10 11-5...
  • Page 71 The following routines got a new interface. GSI_ImportCoordDlg () GSI_ManCoordDlg () Refer to the reference manual to get the new interfaces. 11.4.6 Deleted and Added Identifiers and Types: TPS1000 TPS1100 Deleted: New: CSV_MAX_USERS CSV_WITH_REFLECTOR CSV_ILLEGAL_USERNR CSV_WITHOUT_REFLECTOR RC_CSV_ILLEGAL_USERNR Deleted EDM_COMERR EDM_NOSIGNAL 11-6 TPS1100-Version 2.10...
  • Page 72 Changed to return code: MMI_UNDEF_LANG For MDlg routines: MMI_FFORMAT_STRING New date format: MMI_DATE_JP Deleted: New: MMI_MENU_EXTRA MMI_MENU_PROGRAMS MMI_MENU_CONFIG MMI_MENU_PROGMENU MMI_MENU_AUTOEXEC New GSI_ID values: GSI_ID_SHZ GSI_ID_CD_DSC GSI_ID_PTCD_DSC GSI_ID_PV_CD GSI_ID_PV_PTCD GSI_ID_ACT_PTID GSI_ID_BACKID GSI_ID_APP_DATA0 GSI_ID_APP_DATA1 GSI_ID_APP_DATA2 GSI_ID_APP_DATA3 GSI_ID_APP_DATA4 GSI_ID_APP_DATA5 GSI_ID_APP_DATA6 GSI_ID_APP_DATA7 TPS1100-Version 2.10 11-7...
  • Page 73 TPS1800 TPS1105 TPS5000 TPS2003 Old TPS_FAM_Type: New TPS_FAM_Type: iClass iClass lEDMBuiltIn lEDMBuiltIn (always TRUE) lEDMTypeII lEDMTypeII (always FALSE) lEDMTypeIII (always TRUE) lEDMReflectorless lMotorized lMotorized lATR lATR lEGL lEGL lDBVersion lDiodeLaser lLaserPlummet lLaserPlummet lAutoCollimation lSimulator lSimulator New: BAP_PRISM_MINI 11-8 TPS1100-Version 2.10...
  • Page 74 11 — Porting a TPS1000 Originated Program Deleted: GSI_DLG_ID_LIST New: TMC_RED_TRK_DIST 11.4.7 Changes in System Functions Deleted, because there is no equivalent function at the TPS1100 series instruments: BAP_GetFunctionality (), BAP_SetFunctionality () BAP_SetFunctionalityDlg () CSV_GetCurrentUser (), CSV_SetCurrentUser () CSV_GetDL (), CSV_SetDL ()
  • Page 75 CSV_SysCallAvailable () CSV_SysCall () CSV_LibCall () CSV_LibCallAvailable () 11.4.8 Returncodes Their definitions have been coupled totally to the definitions of the TPS1100 firmware. Please refer to the Appendix F in the reference manual for a detailed listing. 11-10 TPS1100-Version 2.10...
  • Page 76: Geobasic Releases

    ELEASES 12.1 CHANGES IN GEOBASIC RELEASE 1.30 The Release 1.30 of GeoBASIC contains several new subroutines. It reflects user requests and improvements in the TPS1100 Series firmware Release 2.0. Note: This GeoBASIC Release 1.30 needs at least the TPS1100 Series firmware Release 2.0.
  • Page 77 (i.e. ready for recording) TMC_SetAtmCorr Sets the atmosphere part of distance measurement corrections TMC_SetGeomProjection Sets the projection part of distance measurement corrections TMC_SetGeomReduction Sets the reduction to the reference part of distance measurement corrections 12-2 TPS1100-Version 2.10...
  • Page 78: Changes In Geobasic Release 2.10

    CSV_SFNC_LoadApplDlg CSV_SFNC_LoadSysLangDlg CSV_SFNC_SetDefaultSearchRange CSV_SFNC_ToggleMeasPrgFastRapidTrk CSV_SFNC_ToggleMeasPrgRefRL CSV_SFNC_ToggleMeasPrgStdTracking CSV_SFNC_ToggleSearchArea CSV_SFNC_ToggleVAngleMode 12.2 CHANGES IN GEOBASIC RELEASE 2.10 The Release 2.10 of GeoBASIC contains the first edition of the integrated development environment GBStudio. It contains also a few minor bug fixes. TPS1100-Version 2.10 12-3...
  • Page 79 GeoBASIC User Manual 12 — GeoBASIC Releases Note: This GeoBASIC Release 2.10 needs at least the TPS1100 Series firmware Release 2.10 or the TPS1100 Series Simulator 2.10. Note: GeoBASIC applications, compiled with GeoBASIC 1.30, are also executable on the TPS1100 Series firmware Releases 2. 10.
  • Page 80 5.4 Configuration of the Simulator..............5-3 5.5 GeoCom Mode.................... 5-4 5.6 SWTheo Mode .................... 5-4 5.7 Commonly asked questions and answers............. 5-7 Additional Debugging Functions .............. 6-1 Multiple Language Support..............7-1 7.1 Text Utility....................7-2 Typical GeoBASIC Programming............8-1 TPS1100-Version 2.10...
  • Page 81 5.5 Commonly asked questions and answers............. 5-7 Debugging GeoBASIC Programs ............. 6-1 Multiple Language Support..............7-1 7.1 Text Utility....................7-2 Typical GeoBASIC Programming............8-1 8.1 The Text Dialog ..................8-1 8.2 The Graphics Dialog ................... 8-5 8.3 Naming conventions..................8-9 TPS1100-Version 1.30...
  • Page 82 10.1 MeanHz — Mean Value of Horizontal Angle Measurements....10-1 10.2 Sample Programs ..................10-8 11 Porting a TPS1000 Originated Program ..........11-1 11.1 TPS1100 Hardware Related Changes ............11-1 11.2 Changes to the Simulator ................11-2 11.3 New constructs in GB_1100 ..............11-2 11.4 GeoBASIC Source Changes..............
  • Page 83: Introduction

    Moreover some introductory examples are given to tell how special problems can be treated. Note All the details of the GeoBASIC language and system functions are composed in the "GeoBASIC Reference Manual". TPS1100-Version 1.30...
  • Page 84: Installation

    | | + - CodeConverter | | + - GBSamples | | | Content of the directories (only the main objects are listed): • TPS1100Tools\ TPS Simulator for TPS1100 Series TPS1100.exe GeoBASIC IDE application GB_IDE.exe GeoBASIC Interpreter for TPS1100 series GBI_1100_101.prg …...
  • Page 85 Loading the GeoBASIC Interpreter: The GeoBASIC Interpreter will be loaded automatically with the loading of the first application into the theodolite using the Software Upload for TPS1100. Hence you have to copy the GeoBASIC Interpreter (GBI_TPS1100_101.prg) into the same directory as the application before loading it. Otherwise you will get an error message.
  • Page 86: Creating A Geobasic Application

    (i.e. sample.gbs) or the OPEN-button ( ) to change an existing one. The usage of the IDE editor is identical to the most Windows text editors. See the next picture of the IDE of how it looks like. TPS1100-Version 1.30...
  • Page 87 (file extension “.lng”; i.e. sample.lng). These two files are necessary to execute the program, either on a L theodolite or with the EICA simulator on a personal computer. See the following diagram: sample.gbs GB-compiler sample.gba sample.lng Diagram: Compiling a GeoBASIC program TPS1100-Version 1.30...
  • Page 88 <Help>-menu for a list of all error codes and a detailed information about the whole IDE functionality. In the case that a semantic condition could not be met the line and column position might be not correct. E.g. the source of lines 18 and 19: TPS1100-Version 1.30...
  • Page 89 If the hardware key is not installed properly or it does not contain the license for the compiler then an error message will be displayed and execution will be terminated. Compile Options The Selection of <Compile Options> in the <Compile>-menu displays the following dialog box: TPS1100-Version 1.30...
  • Page 90 The IDE is capable to remember the last settings and the opened files. They will be restored/reopened at the next start Statistics If the <Statistics>-item in the <Compile>-menu is checked the compiler will generate statistical information about the application which will be printed into the Output window: TPS1100-Version 1.30...
  • Page 91 In the theodolite however, the interpreter will be loaded automatically with the loading of the first application into the theodolite using the Software Upload for TPS1100. (Hence the interpreter must be in the same directory as the application.) TPS1100-Version 1.30...
  • Page 92: Executing A Geobasic Program On The Theodolite

    With the help of the Leica Survey Office Software Upload the two files can be loaded into TPS- memory and run automatically the install procedure of the GeoBASIC program.
  • Page 93 Hence, transferring of more than one program with the same application name may cause unwanted effects. TPS1100-Version 1.30...
  • Page 94: Executing A Geobasic Program On The Simulatior

    USER INTERFACE The TPS1100 simulation main window contains two windows and a dialog box on start-up: the „TPS1100“ window and the „Debug“ window (see below). The TPS1100 window contains a replication of the (hardware) TPS1100 theodolite‘s user interface.
  • Page 95 „Beep On” indicates whether it is turned on or off. The „Instr. Connection …“ entry opens a dialog to configure the communication parameters for GeoCOM mode and to switch between GeoCOM and SWTheo mode as shown in the following figure. TPS1100-Version 1.30...
  • Page 96 Connection …“ dialog (see above) of the simulation. Confirm with the „OK“ button. Start the simulation again using the „ON“ button of the TPS1100 window. The simulation now tries to communicate with the theodolite. If a connection can be established, and the port you have chosen was „COM1“, the title of the TPS1100 window will be „TPS 1100 <running, GeoCom on com1:>“.
  • Page 97: Loading And Executing Geobasic Programs

    TPS1100 window if it is not off already. Open the GeoCOM dialog via the „Configuration“ menu. Disable the GeoCOM enable box. Confirm with the „Ok“ button. Start the simulation using the „ON” button in the TPS1100 window. 5.4.2 Loading and executing GeoBASIC programs The procedure for loading a GeoBASIC application is as follows: Make sure the simulation is turned on.
  • Page 98 The values will be stored until they are changed. 5.4.3.2 SWTheo properties dialog The SWTheo properties dialog is a tabbed dialog as shown below. Here you can set some basic values. TPS1100-Version 1.30...
  • Page 99 The jittering amplitude increases from left to right position of the slider. If the sliders are in their leftmost position, there is no jittering applied to the virtual sensor data. TPS1100-Version 1.30...
  • Page 100: Commonly Asked Questions And Answers

    After loading a GeoBASIC program, the expected menu item does not appear in the dialog. What did I wrong? The menu manager needs an event to reread the menu definition. Press the ESC key to rebuild the menu. TPS1100-Version 1.30...
  • Page 101: Debugging Geobasic Programs

    For the simulator and the TPS: • MMI_PrintStr can be used to display and track results and errors. See also the list of return codes in the appendix of the Reference Manual. TPS1100-Version 1.30...
  • Page 102: Multiple Language Support

    Loading the derived lxx-files on the TPS system for enabling the user to choose between the provided languages. (‘xx’ stands for the language abbreviation.) sample.gbs GB-compiler sample.gba sample.lng Text Utility translate and edit text fragments sample.lge sampl100.mng sampl100.mge TPS1100 Diagram: Generate language files. TPS1100-Version 1.30...
  • Page 103: Text Utility

    See sample file "language.gbs". TEXT UTILITY The TPS1100/1000 Text Utility (Text Translation Tool) supports GeoBASIC text files. This section describes the most important steps of generating multiple language files. The following picture shows the Text Utility after the import of a GeoBASIC text file: 7.1.1...
  • Page 104 2. Press the -button and open the target language you want to update (i.e. sampl100.mge). Edit the target language text column (indicated with T1). After updating the whole column press -button to generate the new loadable language file. TPS1100-Version 1.30...
  • Page 105: Typical Geobasic Programming

    Dialog line Object name <BASIC\ Text Dialog Objects> Caption line: It is composed of the short caption ”BASIC” and the caption ”Text Dialog Objects”. <I am a text dialog object.> String <10587> Integer value TPS1100-Version 1.30...
  • Page 106 (up to 12 are possible) it is scrolled when necessary. For floating point input/output a kind (for instance horizontal angle, distance, etc.) can be specified. Data is automatically transformed to the unit associated to the TPS1100-Version 1.30...
  • Page 107 Input is roughly dual to the output, except that the input functions return the button id of the button that terminated the edit process. For all numeric values there are the minimum and maximum values defined. The value is only valid, if it is between them. TPS1100-Version 1.30...
  • Page 108 • Double (floating point) values with unit: MMI_InputVal(19, 4, 8, 2, 0, 399.99, MMI_DIM_ON, dValue, lValid, iButtonId) Parameters: column, line, iLen, decimals, minimum value, maximum value, mode, double variable, lValid, button TPS1100-Version 1.30...
  • Page 109: The Graphics Dialog

    A graphics dialog with short caption "BASIC" and caption "Graphics Dialog" is created. The help text is set to "My help text." — it is shown when the user presses Shift-F1 and the help functionality of the theodolite is enabled. TPS1100-Version 1.30...
  • Page 110 Such a text can be up to five characters long and is displayed centred above the button. Each button has an identification associated. This button id is needed An existing text dialog is deleted automatically if a new text dialog is created. TPS1100-Version 1.30...
  • Page 111 The second parameter to MMI_GetButton (the in-parameter bAllKey) determines what buttons are accepted: − If it is TRUE, any button is accepted. − If it is FALSE, only ESC, or a defined button (added with MMI_AddButton) are accepted. TPS1100-Version 1.30...
  • Page 112 F1 in configuration CONT Continues to the logically following dialog dialog. For instance, the user of a L theodolite assumes that DIST takes the distance EICA (with the common dialogs), ALL does DIST and then REC, etc. TPS1100-Version 1.30...
  • Page 113: Naming Conventions

    Note These naming conventions carry only a semantics for the programmer, not for the compiler. See "Naming Conventions for Microsoft Access, the Leszynski/Reddick Guidelines for Access", Microsoft Development Library 1995. TPS1100-Version 1.30...
  • Page 114 (as most of the predefined constants do) the underscore '_' is used to separate parts of the name. Often constants can be grouped together, then a prefix is used to denote their common criterion. For example the return codes use RC, as in RC_OK, RC_ABORT, etc. 8-10 TPS1100-Version 1.30...
  • Page 115 8.3.4 Keywords GeoBASIC keywords are all in upper case letters. For example, DIM, FOR, LOOP, FUNCTION, etc. 8.3.5 Labels For error labels (ON ERROR GOTO) we use the function/subprocedure name with the qualifier '_Err' appended. TPS1100-Version 1.30 8-11...
  • Page 116 To complete the discussion about naming conventions, we mention the use of program headers: In every function/subprocedure there should be a header describing, at a minimum, purpose, and parameters passed and/or returned. (In addition there might be comments, the author's name, last revision date, notes, etc.) 8-12 TPS1100-Version 1.30...
  • Page 117: Refined Geobasic Concepts

    (Note that we use the GetAngleHz routine from the MeanHz program (see 10.1), and we assume that a text dialog has been opened properly. The angle difference is normalised to the range 0 to 2×π.) TPS1100-Version 1.30...
  • Page 118: The User Measurement Dialog

    THE USER MEASUREMENT DIALOG The User Measurement Dialog (sometimes referred as MDlg) standardises the visualisation of the measurement values in GeoBASIC. Each value (i.e. vertical angle, horizontal distance) has a predefined output format. Thus the GeoBASIC TPS1100-Version 1.30...
  • Page 119 Thus all lines which are not configured by the GeoBASIC programmer shows the same parameters as the first system measurement dialog. For further explanations how to configure the user measurement dialog read the description of the 3 system functions (GSI_SetLineMDlg, GSI_SetLineMDlgText, GSI_SetLineMDlgPar) in the reference manual. TPS1100-Version 1.30...
  • Page 120 The routine GSI_UpdateMeasurement updates the measurement values in the theodolite data pool. GSI_UpdateMDlg updates the user measurement dialog with the new values and returns the pressed button. For further explanations read the description of these system routines in the reference manual. TPS1100-Version 1.30...
  • Page 121: Tps1100 Configurability

    TPS1100 CONFIGURABILITY In general, each part of an application, which should be accessible from outside, has to be of the form ‘GLOBAL SUB’.
  • Page 122 9.3.2 Import the program in a User Configuration The TPS1100 series theodolites support the concept of individual configurations. In a configuration the user can define his own dialogs or menus and link them to certain events (i.e. pressing the PROG key or Power ON). If the event occurs then the linked dialog or the menu will be displayed.
  • Page 123 END GlobalSub2 END AppInfoExample 'Application Information for Config Tool '--------------------------------------- APPINFO GENERAL SET Author "Leica AG, CH - Heerbrugg" SET Desc "AppInfo Example Application" SET TheoModel "TCA1100" END GENERAL ENTRYPOINT GlobalSub1 SET CapLg "Global Sub 1" SET CapSh "GSUB1"...
  • Page 124: Interapplication-Call

    Customi- sation Tool Theodolite Con- loader figuration files INTERAPPLICATION-CALL The inter-application-call makes it possible to call a subroutine in another GeoBASIC program. With this concept the GeoBASIC programmer can use the same subroutine in several programs. TPS1100-Version 1.30...
  • Page 125: System Function Call

    The GeoBASIC programmer has the same possibilities. With the routine CSV_SysCall he can call the system functions in his programs. Because some system functions do not run on every theodolite type, there is a routine TPS1100-Version 1.30...
  • Page 126: System Event Generation

    SYSTEM EVENT GENERATION Every configuration for a TPS1100 series theodolite is event driven. The user or the system itself generates an event (e.g. the user has pressed the PROG key or the initialisation sequence is finished) and the configuration functionality executes then the linked action (menu, dialog, macro, application or system function).
  • Page 127 GeoBASIC User Manual 9 — Refined GeoBASIC Concepts executed. For further explanations read the function description of CSV_SysCall and CSV_SysCallAvailable in the reference manual. In Appendix H of the reference manual there is a list with all system events. TPS1100-Version 1.30 9-11...
  • Page 128: Geobasic Sample Programs

    Now the user has the choice either to display the angles graphically, to move the theodolite to the computed mean angle or to quit the program. (The program can be terminated with the ESC button or the QUIT button on shift-F6 at any time.) TPS1100-Version 1.30 10-1...
  • Page 129 10 — GeoBASIC Sample Programs Start Input the number of angles to measure Measure the angles Compute and display mean angle Draw the angles Show Graphics ? Position theodolite Move theo to on mean angle mean angle ? 10-2 TPS1100-Version 1.30...
  • Page 130 ' Measures a user defined number of horizontal angles and calculate ' the mean angle. The measured and the mean angle can also be ' displayed graphically. ' GeoBASIC 1.0 for TPS1100 Series Instruments ' (c) Leica AG, CH - Heerbrugg 1998 '--------------------------------------------------------------------...
  • Page 131 SUB ShowGraphics( byVal iNoPoints AS Integer, angles AS TAngles, byVal dMean AS Angle ) ------------ ' Description Displays the measured and the mean horizontal angles graphically. ' Parameters IN: iNoPoints, angles, dMean DIM iX AS Integer 'x coordinate 10-4 TPS1100-Version 1.30...
  • Page 132 (if motorized) the TPS tocalulcated position. DIM iNoPoints AS Integer 'number of points to measure DIM iCurrNo AS Integer 'current point number DIM lNoOk AS Logical 'TRUE if no of points are valid TPS1100-Version 1.30 10-5...
  • Page 133 = 0.0 'get iNoPoints points (abort if ESC or QUIT is pressed) DO WHILE (iCurrNo <= iNoPoints) AND (iButton <> MMI_ESC_KEY) AND (iButton <> MMI_SHF6_KEY) MMI_PrintVal( 26, 1, 2, 0, iCurrNo, lNoOk, MMI_DEFAULT_MODE ) MMI_CheckButton( lKeyPressed ) 10-6 TPS1100-Version 1.30...
  • Page 134 = dMean / iNoPoints MMI_PrintStr( 0, 3, "Mean HZ :", TRUE ) MMI_PrintVal( 20, 3, 8, 3, dMean, TRUE, MMI_DEFAULT_MODE ) DO WHILE (iButton <> MMI_ESC_KEY) AND (iButton <> MMI_SHF6_KEY) AND (iButton <> MMI_F4_KEY) MMI_GetButton( iButton, FALSE ) TPS1100-Version 1.30 10-7...
  • Page 135: Sample Programs

    Take this program as an example to support multiple language applications. Two language files and its text databases are provided to see how multilingual support works. • meanhz.gbs This sample shows the calculation of the mean value of horizontal angle measurements, see Chapter 10.1. 10-8 TPS1100-Version 1.30...
  • Page 136 • dirlist.gbs This example shows how to get PC card information and how to read a directories content. • inclmain.gbs This example shows the usage of an include file. • iac.gbs An example for an interapplication call. TPS1100-Version 1.30 10-9...
  • Page 137: Porting Atps1000 Originated Program

    During the design phase of GeoBASIC for TPS1100 systems we took certain care to make the migration as smooth as possible. Although all programs’ source code has to be changed, the effort to port it will be for the most applications not that high.
  • Page 138: Changes To The Simulator

    See also the documentation of TPSSim for further explanations. 11.3 NEW CONSTRUCTS IN GB_1100 Due to some requests we added a few new constructs to GeoBASIC for TPS1100 instruments. 11.3.1 #include Statement It is now possible to include a GeoBASIC source file in another one.
  • Page 139: Geobasic Source Changes

    TPS1100 GeoBASIC. 11.4.1 General Dialog Changes The CONT key does not exist any more on the TPS1100 instruments. Scan your source code for MMI_CONT_KEY and replace it by a function key. The TPS1100 guidelines use MMI_F1_KEY normally for the CONT key functionality. This might make it necessary to change your function key layout.
  • Page 140 The other Text and MDlg are mutually way around is not possible At the exclusive. Only one can be same time a MeasDlg may be defined at once. All three dialog defined. types may have their own buttons. 11-4 TPS1100-Version 1.30...
  • Page 141 11.4.3 System Dialog Calls Replacements for old dialog invocation calls: GSI_CommDlg () CSV_SysCall ( CSV_EFNC_GeoComSetup, Caption ) GSI_SelectTemplateFiles() CSV_SysCall ( CSV_EFNC_Setup, GSI_Setup () Caption ) GSI_StationData () CSV_SysCall ( CSV_EFNC_SetStation, Caption ) GSI_TargetDlg () CSV_SysCall ( CSV_EFNC_TargetData, Caption ) TPS1100-Version 1.30 11-5...
  • Page 142 The following routines got a new interface. GSI_ImportCoordDlg () GSI_ManCoordDlg () Refer to the reference manual to get the new interfaces. 11.4.6 Deleted and Added Identifiers and Types: TPS1000 TPS1100 Deleted: New: CSV_MAX_USERS CSV_WITH_REFLECTOR CSV_ILLEGAL_USERNR CSV_WITHOUT_REFLECTOR RC_CSV_ILLEGAL_USERNR Deleted EDM_COMERR EDM_NOSIGNAL 11-6 TPS1100-Version 1.30...
  • Page 143 Changed to return code: MMI_UNDEF_LANG For MDlg routines: MMI_FFORMAT_STRING New date format: MMI_DATE_JP Deleted: New: MMI_MENU_EXTRA MMI_MENU_PROGRAMS MMI_MENU_CONFIG MMI_MENU_PROGMENU MMI_MENU_AUTOEXEC New GSI_ID values: GSI_ID_SHZ GSI_ID_CD_DSC GSI_ID_PTCD_DSC GSI_ID_PV_CD GSI_ID_PV_PTCD GSI_ID_ACT_PTID GSI_ID_BACKID GSI_ID_APP_DATA0 GSI_ID_APP_DATA1 GSI_ID_APP_DATA2 GSI_ID_APP_DATA3 GSI_ID_APP_DATA4 GSI_ID_APP_DATA5 GSI_ID_APP_DATA6 GSI_ID_APP_DATA7 TPS1100-Version 1.30 11-7...
  • Page 144 TPS1800 TPS1105 TPS5000 TPS2003 Old TPS_FAM_Type: New TPS_FAM_Type: iClass iClass lEDMBuiltIn lEDMBuiltIn (always TRUE) lEDMTypeII lEDMTypeII (always FALSE) lEDMTypeIII (always TRUE) lEDMReflectorless lMotorized lMotorized lATR lATR lEGL lEGL lDBVersion lDiodeLaser lLaserPlummet lLaserPlummet lAutoCollimation lSimulator lSimulator New: BAP_PRISM_MINI 11-8 TPS1100-Version 1.30...
  • Page 145 11 — Porting a TPS1000 Originated Program Deleted: GSI_DLG_ID_LIST New: TMC_RED_TRK_DIST 11.4.7 Changes in System Functions Deleted, because there is no equivalent function at the TPS1100 series instruments: BAP_GetFunctionality (), BAP_SetFunctionality () BAP_SetFunctionalityDlg () CSV_GetCurrentUser (), CSV_SetCurrentUser () CSV_GetDL (), CSV_SetDL ()
  • Page 146 CSV_SysCallAvailable () CSV_SysCall () CSV_LibCall () CSV_LibCallAvailable () 11.4.8 Returncodes Their definitions have been coupled totally to the definitions of the TPS1100 firmware. Please refer to the Appendix F in the reference manual for a detailed listing. 11-10 TPS1100-Version 1.30...
  • Page 147 1.30 HANGES IN ELEASE The Release 1.30 of GeoBASIC contains several new subroutines. It reflects user requests and improvements in the TPS1100 Series firmware Release 2.0. Note: This GeoBASIC Release needs at least the TPS1100 Series firmware Release 2.0. The following paragraph shows the changed items. For a detailed explanation, please see the “GeoBASIC Reference Manual”...
  • Page 148 (i.e. ready for recording) TMC_SetAtmCorr Sets the atmosphere part of distance measurement corrections TMC_SetGeomProjection Sets the projection part of distance measurement corrections TMC_SetGeomReduction Sets the reduction to the reference part of distance measurement corrections 12-2 TPS1100-Version 1.30...
  • Page 149 GSI_MAX_DLG_LINES GSI_MAX_MDLG_MASKS GSI_MAX_REC_MASKS GSI_MAX_REC_WI GSI_MULTI_REC GSI_NO_FILE_CHANGE GSI_SEARCH_FROM_END TPS1101 12.1.3 New datatypes in Release 1.30 HzAngle VAngle TMC_GEOM_PROJECTION_Type TMC_GEOM_REDUCTION_Type TMC_ATM_TEMPERATURE_Type 12.1.4 New CSV_SysCall constants in Release 1.30 CSV_SFNC_CheckOrientation CSV_SFNC_CurrentSetPpmDlg CSV_SFNC_DefSearchAreaDlg CSV_SFNC_LoadApplDlg CSV_SFNC_LoadSysLangDlg CSV_SFNC_SetDefaultSearchRange CSV_SFNC_ToggleMeasPrgFastRapidTrk CSV_SFNC_ToggleMeasPrgRefRL CSV_SFNC_ToggleMeasPrgStdTracking CSV_SFNC_ToggleSearchArea CSV_SFNC_ToggleVAngleMode TPS1100-Version 1.30 12-3...
  • Page 150 GeoB TPS1100 ASIC FOR Reference Manual Version 2.10 1997-2001 Leica Geosystems AG Heerbrugg, Switzerland...
  • Page 151 5.4 Configuration of the Simulator..............5-3 5.5 GeoCom Mode.................... 5-4 5.6 SWTheo Mode .................... 5-4 5.7 Commonly asked questions and answers............. 5-7 Additional Debugging Functions .............. 6-1 Multiple Language Support..............7-1 7.1 Text Utility....................7-2 Typical GeoBASIC Programming............8-1 TPS1100-Version 2.10...
  • Page 152 10.1 MeanHz — Mean Value of Horizontal Angle Measurements....10-1 10.2 Sample Programs ..................10-8 11 Porting a TPS1000 Originated Program ..........11-1 11.1 TPS1100 Hardware Related Changes ............11-1 11.2 Changes to the Simulator ................11-2 11.3 New constructs in GB_1100 ..............11-2 11.4 GeoBASIC Source Changes..............
  • Page 153 Moreover some introductory examples are given to tell how special problems can be treated. Note All the details of the GeoBASIC language and system functions are composed in the "GeoBASIC Reference Manual". TPS1100-Version 2.10...
  • Page 154: Installation

    Content of the directories (only the main objects are listed): • TPS1100Tools\ TPS Simulator for TPS1100 Series TPS1100.exe GeoBASIC IDE application GBStudio.exe GeoBASIC Interpreter for TPS1100 series *) GBI_1100_xxx.prg … and maybe several more tools, help files or DLL’s • CodeConverter\ CODE to GeoBASIC converter CGB_Dlg.exe...
  • Page 155 Loading the GeoBASIC Interpreter: The GeoBASIC Interpreter will be loaded automatically with the loading of the first application into the theodolite using the Software Upload for TPS1100. Hence you have to copy the GeoBASIC Interpreter (GBI_TPS1100_xxx.prg) into the same directory as the application before loading it. Otherwise you will get an error message.
  • Page 156: Creating A Geobasic Application

    GBStudio is an integrated development environment and includes a source editor, compiler, project handling and a source level debugger. It is able to debug GeoBASIC 2.10 applications for TPS1100 series total stations. Both, the TPS simulator and the TPS device as the execution platform are supported.
  • Page 157 Intellisense and Tooltip info, Bookmarks, indent and outdent of a block of source lines, and several other features. The ‘Workspace Preferences’-dialog can be used to customize the features, which should be active during debugging. TPS1100-Version 2.10...
  • Page 158 Use Ctrl-F1 to get a more descriptive explanation of what caused the failure of the compilation process. Depending on the compiler settings also the debug info file is generated which is necessary for debugging the application. TPS1100-Version 2.10...
  • Page 159 The character set on which the application is based on. The default character set is 0. Output File The name of the resulting applications file name. If it is empty, the resulting files get the same file base name as the source code file. TPS1100-Version 2.10...
  • Page 160 This feature is very valuable if a tested application shows error only after weeks or months of usage. Depending on the selected project, use either the “Default Project Preferences” dialog or the “Project Preferences” dialog to set the build options for the debugging session. TPS1100-Version 2.10...
  • Page 161 Is available only if one of the serial communication lines has been chosen. Choose an appropriate Baud rate. System Idents Determines the location of the system specific symbols file. Click on the “Browse…” button to get a file chooser dialog. TPS1100-Version 2.10...
  • Page 162: Typical Development Cycle

    GBStudio. TYPICAL DEVELOPMENT CYCLE 3.2.1 Open or Create a GeoBASIC main source file Use the Open File command to open an existing GeoBASIC main source file or create a new file with the document type GBS. TPS1100-Version 2.10...
  • Page 163 “BasicCodeProgram” type of application). Save your changes by using CTRL-S or the Save command from the File menu. 3.2.3 Build the application Press function key F7 or use the Build command from either the Build menu or Build toolbar. TPS1100-Version 2.10...
  • Page 164 Load the GeoBASIC interpreter. Load the application you want to debug. (For details, please see Chapter 4.1 Loading a GeoBASIC program or 5.3 Loading and executing GeoBASIC programs) Note: The application must have been build with ‘’Generate Debug Info’’ enabled. TPS1100-Version 2.10...
  • Page 165 In the watch variable view you will be able to edit either the identifier of the watch variable entry or the value itself, if the debugging process is in a HALT state. TPS1100-Version 2.10...
  • Page 166 Once added to the window it is possible to change either the identifier name or the value of it (if the point of execution is in the scope of the variable). Use a Double- Click on the identifier or the value to enter the edit mode. TPS1100-Version 2.10...
  • Page 167: Project Handling

    E.g., if the two source files have different application entry points, the user has to set it up accordingly. The default project is active if the user doesn’t choose a project explicitly. Instead the user will just open a plain GeoBASIC source code file. TPS1100-Version 2.10...
  • Page 168: Common Problems

    The second registering of a variable doesn’t show the associated value. Notice, a variable can be registered only once. • During debugging the code source cannot be edited. We disabled this during the debug session to keep the source and the loaded application TPS1100-Version 2.10...
  • Page 169 • An application may not have more than 64kB of string literal in total. • The number of global identifiers is limited to 3000. • The overall maximum number of identifiers limits the number of local identifiers, which are about 60000. TPS1100-Version 2.10...
  • Page 170: Executing A Geobasic Program On The Theodolite

    Before a program can be executed, these two files have to be loaded into the theodolite first. With the help of the Leica Survey Office Software Upload the two files can be loaded into TPS-memory and run automatically the install procedure of the GeoBASIC program.
  • Page 171 Note For the build-in loader from the PC-Card, the files (*.GBA und *.lng) must be stored in the PC-Card folder “\TPS\APPL”. If necessarily, the GeoBASIC interpreter (gbi_xxx.prg) is loaded automatically from the same folder. TPS1100-Version 2.10...
  • Page 172: Executing A Geobasic Program On The Simulatior

    USER INTERFACE The TPS1100 simulation main window contains two windows and a dialog box on start-up: the „TPS1100“ window and the „Debug“ window (see below). The TPS1100 window contains a replication of the (hardware) TPS1100 theodolite‘s user interface.
  • Page 173: Loading And Executing Geobasic Programs

    Refer to Chapter 9.3.2 for more information. If the menu item “Load Basic Application …” is disabled (grey) then make sure no GeoBASIC application is running and maybe it’s necessary to press once or twice the ESC button of the TPS simulator. TPS1100-Version 2.10...
  • Page 174: Configuration Of The Simulator

    It is highly recommended to set the paths, if they are not already set, to the following values: Path Recommended value TPS1100Tools\TextDB Language Files TPS1100Tools\GSI GSI and Log Files TPS1100Tools\CodeList Internal Code List TPS1100Tools\CodeListPcCard External Code List TPS1100Tools\GBSamples Basic Programs Path TPS1100Tools\Config Configuration Data Path TPS1100-Version 2.10...
  • Page 175: Geocom Mode

    Connection …“ dialog (see above) of the simulation. Confirm with the „OK“ button. Start the simulation again using the „ON“ button of the TPS1100 window. The simulation now tries to communicate with the theodolite. If a connection can be established, and the port you have chosen was „COM1“, the title of the TPS1100 window will be „TPS 1100 <running, GeoCom on com1:>“.
  • Page 176 TPS1100 window if it is not off already. Open the GeoCOM dialog via the „Configuration“ menu. Disable the GeoCOM enable box. Confirm with the „Ok“ button. Start the simulation using the „ON” button in the TPS1100 window. 5.6.2 User Interface There are two dialogs to access the SWTheo from the simulation.
  • Page 177 The jittering amplitude increases from left to right position of the slider. If the sliders are in their leftmost position, there is no jittering applied to the virtual sensor data. TPS1100-Version 2.10...
  • Page 178: Commonly Asked Questions And Answers

    After loading a GeoBASIC program, the expected menu item does not appear in the dialog. What did I wrong? The menu manager needs an event to reread the menu definition. Press the ESC key to rebuild the menu. TPS1100-Version 2.10...
  • Page 179: Additional Debugging Functions

    For the simulator and the TPS: • MMI_PrintStr can be used to display and track results and errors. See also the list of return codes in the appendix of the Reference Manual. TPS1100-Version 2.10...
  • Page 180: Multiple Language Support

    Loading the derived lxx-files on the TPS system for enabling the user to choose between the provided languages. (‘xx’ stands for the language abbreviation.) sample.gbs GB-compiler sample.gba sample.lng Text Utility translate and edit text fragments sample.lge sampl100.mng sampl100.mge TPS1100 Diagram: Generate language files. TPS1100-Version 2.10...
  • Page 181: Text Utility

    See sample file "language.gbs". TEXT UTILITY The TPS1100/1000 Text Utility (Text Translation Tool) supports GeoBASIC text files. This section describes the most important steps of generating multiple language files. The following picture shows the Text Utility after the import of a GeoBASIC text file: 7.1.1...
  • Page 182 2. Press the -button and open the target language you want to update (i.e. sampl100.mge). Edit the target language text column (indicated with T1). After updating the whole column press -button to generate the new loadable language file. TPS1100-Version 2.10...
  • Page 183: Typical Geobasic Programming

    Dialog line Object name <BASIC\ Text Dialog Objects> Caption line: It is composed of the short caption ”BASIC” and the caption ”Text Dialog Objects”. <I am a text dialog object.> String <10587> Integer value TPS1100-Version 2.10...
  • Page 184 (up to 12 are possible) it is scrolled when necessary. For floating point input/output a kind (for instance horizontal angle, distance, etc.) can be specified. Data is automatically transformed to the unit associated to the TPS1100-Version 2.10...
  • Page 185 Input is roughly dual to the output, except that the input functions return the button id of the button that terminated the edit process. For all numeric values there are the minimum and maximum values defined. The value is only valid, if it is between them. TPS1100-Version 2.10...
  • Page 186 • Double (floating point) values with unit: MMI_InputVal(19, 4, 8, 2, 0, 399.99, MMI_DIM_ON, dValue, lValid, iButtonId) Parameters: column, line, iLen, decimals, minimum value, maximum value, mode, double variable, lValid, button TPS1100-Version 2.10...
  • Page 187: The Graphics Dialog

    A graphics dialog with short caption "BASIC" and caption "Graphics Dialog" is created. The help text is set to "My help text." — it is shown when the user presses Shift-F1 and the help functionality of the theodolite is enabled. TPS1100-Version 2.10...
  • Page 188 Such a text can be up to five characters long and is displayed centred above the button. Each button has an identification associated. This button id is needed An existing text dialog is deleted automatically if a new text dialog is created. TPS1100-Version 2.10...
  • Page 189 The second parameter to MMI_GetButton (the in-parameter bAllKey) determines what buttons are accepted: − If it is TRUE, any button is accepted. − If it is FALSE, only ESC, or a defined button (added with MMI_AddButton) are accepted. TPS1100-Version 2.10...
  • Page 190 F1 in configuration CONT Continues to the logically following dialog dialog. For instance, the user of a L theodolite assumes that DIST takes the distance EICA (with the common dialogs), ALL does DIST and then REC, etc. TPS1100-Version 2.10...
  • Page 191: Naming Conventions

    Note These naming conventions carry only a semantics for the programmer, not for the compiler. See "Naming Conventions for Microsoft Access, the Leszynski/Reddick Guidelines for Access", Microsoft Development Library 1995. TPS1100-Version 2.10...
  • Page 192 (as most of the predefined constants do) the underscore '_' is used to separate parts of the name. Often constants can be grouped together, then a prefix is used to denote their common criterion. For example the return codes use RC, as in RC_OK, RC_ABORT, etc. 8-10 TPS1100-Version 2.10...
  • Page 193 8.3.4 Keywords GeoBASIC keywords are all in upper case letters. For example, DIM, FOR, LOOP, FUNCTION, etc. 8.3.5 Labels For error labels (ON ERROR GOTO) we use the function/subprocedure name with the qualifier '_Err' appended. TPS1100-Version 2.10 8-11...
  • Page 194 To complete the discussion about naming conventions, we mention the use of program headers: In every function/subprocedure there should be a header describing, at a minimum, purpose, and parameters passed and/or returned. (In addition there might be comments, the author's name, last revision date, notes, etc.) 8-12 TPS1100-Version 2.10...
  • Page 195: Refined Geobasic Concepts

    (Note that we use the GetAngleHz routine from the MeanHz program (see 10.1), and we assume that a text dialog has been opened properly. The angle difference is normalised to the range 0 to 2×π.) TPS1100-Version 2.10...
  • Page 196: The User Measurement Dialog

    THE USER MEASUREMENT DIALOG The User Measurement Dialog (sometimes referred as MDlg) standardises the visualisation of the measurement values in GeoBASIC. Each value (i.e. vertical angle, horizontal distance) has a predefined output format. Thus the GeoBASIC TPS1100-Version 2.10...
  • Page 197 Thus all lines which are not configured by the GeoBASIC programmer shows the same parameters as the first system measurement dialog. For further explanations how to configure the user measurement dialog read the description of the 3 system functions (GSI_SetLineMDlg, GSI_SetLineMDlgText, GSI_SetLineMDlgPar) in the reference manual. TPS1100-Version 2.10...
  • Page 198 The routine GSI_UpdateMeasurement updates the measurement values in the theodolite data pool. GSI_UpdateMDlg updates the user measurement dialog with the new values and returns the pressed button. For further explanations read the description of these system routines in the reference manual. TPS1100-Version 2.10...
  • Page 199: Tps1100 Configurability

    TPS1100 CONFIGURABILITY In general, each part of an application, which should be accessible from outside, has to be of the form ‘GLOBAL SUB’.
  • Page 200 9.3.2 Import the program in a User Configuration The TPS1100 series theodolites support the concept of individual configurations. In a configuration the user can define his own dialogs or menus and link them to certain events (i.e. pressing the PROG key or Power ON). If the event occurs then the linked dialog or the menu will be displayed.
  • Page 201 END GlobalSub2 END AppInfoExample 'Application Information for Config Tool '--------------------------------------- APPINFO GENERAL SET Author "Leica AG, CH - Heerbrugg" SET Desc "AppInfo Example Application" SET TheoModel "TCA1100" END GENERAL ENTRYPOINT GlobalSub1 SET CapLg "Global Sub 1" SET CapSh "GSUB1"...
  • Page 202: Interapplication-Call

    Customi- sation Tool Theodolite Con- loader figuration files INTERAPPLICATION-CALL The inter-application-call makes it possible to call a subroutine in another GeoBASIC program. With this concept the GeoBASIC programmer can use the same subroutine in several programs. TPS1100-Version 2.10...
  • Page 203: System Function Call

    The GeoBASIC programmer has the same possibilities. With the routine CSV_SysCall he can call the system functions in his programs. Because some system functions do not run on every theodolite type, there is a routine TPS1100-Version 2.10...
  • Page 204: System Event Generation

    SYSTEM EVENT GENERATION Every configuration for a TPS1100 series theodolite is event driven. The user or the system itself generates an event (e.g. the user has pressed the PROG key or the initialisation sequence is finished) and the configuration functionality executes then the linked action (menu, dialog, macro, application or system function).
  • Page 205 GeoBASIC User Manual 9 — Refined GeoBASIC Concepts executed. For further explanations read the function description of CSV_SysCall and CSV_SysCallAvailable in the reference manual. In Appendix H of the reference manual there is a list with all system events. TPS1100-Version 2.10 9-11...
  • Page 206: Geobasic Sample Programs

    Now the user has the choice either to display the angles graphically, to move the theodolite to the computed mean angle or to quit the program. (The program can be terminated with the ESC button or the QUIT button on shift-F6 at any time.) TPS1100-Version 2.10 10-1...
  • Page 207 10 — GeoBASIC Sample Programs Start Input the number of angles to measure Measure the angles Compute and display mean angle Draw the angles Show Graphics ? Position theodolite Move theo to on mean angle mean angle ? 10-2 TPS1100-Version 2.10...
  • Page 208 ' Measures a user defined number of horizontal angles and calculate ' the mean angle. The measured and the mean angle can also be ' displayed graphically. ' GeoBASIC 1.0 for TPS1100 Series Instruments ' (c) Leica AG, CH - Heerbrugg 1998 '--------------------------------------------------------------------...
  • Page 209 SUB ShowGraphics( byVal iNoPoints AS Integer, angles AS TAngles, byVal dMean AS Angle ) ------------ ' Description Displays the measured and the mean horizontal angles graphically. ' Parameters IN: iNoPoints, angles, dMean DIM iX AS Integer 'x coordinate 10-4 TPS1100-Version 2.10...
  • Page 210 (if motorized) the TPS tocalulcated position. DIM iNoPoints AS Integer 'number of points to measure DIM iCurrNo AS Integer 'current point number DIM lNoOk AS Logical 'TRUE if no of points are valid TPS1100-Version 2.10 10-5...
  • Page 211 = 0.0 'get iNoPoints points (abort if ESC or QUIT is pressed) DO WHILE (iCurrNo <= iNoPoints) AND (iButton <> MMI_ESC_KEY) AND (iButton <> MMI_SHF6_KEY) MMI_PrintVal( 26, 1, 2, 0, iCurrNo, lNoOk, MMI_DEFAULT_MODE ) MMI_CheckButton( lKeyPressed ) 10-6 TPS1100-Version 2.10...
  • Page 212 = dMean / iNoPoints MMI_PrintStr( 0, 3, "Mean HZ :", TRUE ) MMI_PrintVal( 20, 3, 8, 3, dMean, TRUE, MMI_DEFAULT_MODE ) DO WHILE (iButton <> MMI_ESC_KEY) AND (iButton <> MMI_SHF6_KEY) AND (iButton <> MMI_F4_KEY) MMI_GetButton( iButton, FALSE ) TPS1100-Version 2.10 10-7...
  • Page 213 Take this program as an example to support multiple language applications. Two language files and its text databases are provided to see how multilingual support works. • meanhz.gbs This sample shows the calculation of the mean value of horizontal angle measurements, see Chapter 10.1. 10-8 TPS1100-Version 2.10...
  • Page 214 • dirlist.gbs This example shows how to get PC card information and how to read a directories content. • inclmain.gbs This example shows the usage of an include file. • iac.gbs An example for an interapplication call. TPS1100-Version 2.10 10-9...
  • Page 215: Porting Atps1000 Originated Program

    During the design phase of GeoBASIC for TPS1100 systems we took certain care to make the migration as smooth as possible. Although all programs’ source code has to be changed, the effort to port it will be for the most applications not that high.
  • Page 216: Changes To The Simulator

    See also the documentation of TPSSim for further explanations. 11.3 NEW CONSTRUCTS IN GB_1100 Due to some requests we added a few new constructs to GeoBASIC for TPS1100 instruments. 11.3.1 #include Statement It is now possible to include a GeoBASIC source file in another one.
  • Page 217: Geobasic Source Changes

    TPS1100 GeoBASIC. 11.4.1 General Dialog Changes The CONT key does not exist any more on the TPS1100 instruments. Scan your source code for MMI_CONT_KEY and replace it by a function key. The TPS1100 guidelines use MMI_F1_KEY normally for the CONT key functionality. This might make it necessary to change your function key layout.
  • Page 218 The other Text and MDlg are mutually way around is not possible At the exclusive. Only one can be same time a MeasDlg may be defined at once. All three dialog defined. types may have their own buttons. 11-4 TPS1100-Version 2.10...
  • Page 219 11.4.3 System Dialog Calls Replacements for old dialog invocation calls: GSI_CommDlg () CSV_SysCall ( CSV_EFNC_GeoComSetup, Caption ) GSI_SelectTemplateFiles() CSV_SysCall ( CSV_EFNC_Setup, GSI_Setup () Caption ) GSI_StationData () CSV_SysCall ( CSV_EFNC_SetStation, Caption ) GSI_TargetDlg () CSV_SysCall ( CSV_EFNC_TargetData, Caption ) TPS1100-Version 2.10 11-5...
  • Page 220 The following routines got a new interface. GSI_ImportCoordDlg () GSI_ManCoordDlg () Refer to the reference manual to get the new interfaces. 11.4.6 Deleted and Added Identifiers and Types: TPS1000 TPS1100 Deleted: New: CSV_MAX_USERS CSV_WITH_REFLECTOR CSV_ILLEGAL_USERNR CSV_WITHOUT_REFLECTOR RC_CSV_ILLEGAL_USERNR Deleted EDM_COMERR EDM_NOSIGNAL 11-6 TPS1100-Version 2.10...
  • Page 221 Changed to return code: MMI_UNDEF_LANG For MDlg routines: MMI_FFORMAT_STRING New date format: MMI_DATE_JP Deleted: New: MMI_MENU_EXTRA MMI_MENU_PROGRAMS MMI_MENU_CONFIG MMI_MENU_PROGMENU MMI_MENU_AUTOEXEC New GSI_ID values: GSI_ID_SHZ GSI_ID_CD_DSC GSI_ID_PTCD_DSC GSI_ID_PV_CD GSI_ID_PV_PTCD GSI_ID_ACT_PTID GSI_ID_BACKID GSI_ID_APP_DATA0 GSI_ID_APP_DATA1 GSI_ID_APP_DATA2 GSI_ID_APP_DATA3 GSI_ID_APP_DATA4 GSI_ID_APP_DATA5 GSI_ID_APP_DATA6 GSI_ID_APP_DATA7 TPS1100-Version 2.10 11-7...
  • Page 222 TPS1800 TPS1105 TPS5000 TPS2003 Old TPS_FAM_Type: New TPS_FAM_Type: iClass iClass lEDMBuiltIn lEDMBuiltIn (always TRUE) lEDMTypeII lEDMTypeII (always FALSE) lEDMTypeIII (always TRUE) lEDMReflectorless lMotorized lMotorized lATR lATR lEGL lEGL lDBVersion lDiodeLaser lLaserPlummet lLaserPlummet lAutoCollimation lSimulator lSimulator New: BAP_PRISM_MINI 11-8 TPS1100-Version 2.10...
  • Page 223 11 — Porting a TPS1000 Originated Program Deleted: GSI_DLG_ID_LIST New: TMC_RED_TRK_DIST 11.4.7 Changes in System Functions Deleted, because there is no equivalent function at the TPS1100 series instruments: BAP_GetFunctionality (), BAP_SetFunctionality () BAP_SetFunctionalityDlg () CSV_GetCurrentUser (), CSV_SetCurrentUser () CSV_GetDL (), CSV_SetDL ()
  • Page 224 CSV_SysCallAvailable () CSV_SysCall () CSV_LibCall () CSV_LibCallAvailable () 11.4.8 Returncodes Their definitions have been coupled totally to the definitions of the TPS1100 firmware. Please refer to the Appendix F in the reference manual for a detailed listing. 11-10 TPS1100-Version 2.10...
  • Page 225 ELEASES 12.1 CHANGES IN GEOBASIC RELEASE 1.30 The Release 1.30 of GeoBASIC contains several new subroutines. It reflects user requests and improvements in the TPS1100 Series firmware Release 2.0. Note: This GeoBASIC Release 1.30 needs at least the TPS1100 Series firmware Release 2.0.
  • Page 226 (i.e. ready for recording) TMC_SetAtmCorr Sets the atmosphere part of distance measurement corrections TMC_SetGeomProjection Sets the projection part of distance measurement corrections TMC_SetGeomReduction Sets the reduction to the reference part of distance measurement corrections 12-2 TPS1100-Version 2.10...
  • Page 227 CSV_SFNC_LoadApplDlg CSV_SFNC_LoadSysLangDlg CSV_SFNC_SetDefaultSearchRange CSV_SFNC_ToggleMeasPrgFastRapidTrk CSV_SFNC_ToggleMeasPrgRefRL CSV_SFNC_ToggleMeasPrgStdTracking CSV_SFNC_ToggleSearchArea CSV_SFNC_ToggleVAngleMode 12.2 CHANGES IN GEOBASIC RELEASE 2.10 The Release 2.10 of GeoBASIC contains the first edition of the integrated development environment GBStudio. It contains also a few minor bug fixes. TPS1100-Version 2.10 12-3...
  • Page 228 GeoBASIC User Manual 12 — GeoBASIC Releases Note: This GeoBASIC Release 2.10 needs at least the TPS1100 Series firmware Release 2.10 or the TPS1100 Series Simulator 2.10. Note: GeoBASIC applications, compiled with GeoBASIC 1.30, are also executable on the TPS1100 Series firmware Releases 2. 10.
  • Page 229 1. C ONTENT OF EFERENCE MANUAL 1. Content of Reference manual 2. GeoB Constructs ASIC 3. TPS1100 system and GeoB ASIC 4. Remarks on the Description 5. Standard Functions 6. System Functions A — GEOBASIC SYNTAX B — GLOSSARY C — LIST OF RESERVED WORDS D —...
  • Page 230 2.4 Variables ....................2-20 2.5 Expressions ....................2-21 2.5.1 Type Compatibility..............2-23 2.6 Statements ....................2-25 2.6.1 Sequential Statements............... 2-26 2.6.2 Selection Statements..............2-27 2.6.3 Iteration Statements..............2-29 2.7 Routines ....................2-33 2.7.1 Routine Declaration..............2-33 2.7.2 Routine Calls ................2-36 TPS1100-Version 1.30...
  • Page 231 2.12.13 ChDir..................2-65 2.12.14 MkDir..................2-66 2.12.15 RmDir..................2-67 2.12.16 Kill ................... 2-68 2.12.17 GetMemoryCardInfo ..............2-69 2.12.18 GetFileStat................2-70 2.12.19 GetDirectoryList............... 2-71 2.12.20 FileCopy................... 2-72 2.12.21 RenameFile................2-73 2.12.22 RenameDir ................2-74 2.13 COmmunication Functions................ 2-75 2.13.1 Send..................2-75 TPS1100-Version 1.30...
  • Page 232: General

    They contain a list of alternatives separated by a vertical bar | , from which one has to be chosen. • The abstraction character ::= : This sign binds a concrete structure of syntactical elements to an abstract concept of it. For example see the following syntax description: TPS1100-Version 1.30...
  • Page 233: Examples

    Comments may be added at the end of a statement line. A comment is introduced by an apostrophe ( ' ), and all characters to the right of it up to the end of the line are ignored by the compiler. The comment is terminated by the end of the line; for TPS1100-Version 1.30...
  • Page 234 ♦ Comments may give additional information and structure the program code. '==================================================== 'Program name : Athletics Distance Measurement 'Creation date: April 2, 1996 'Copyright : Leica, Switzerland '==================================================== '---------------------------------------------------- 'this comment says that this is the last example 'for comments...
  • Page 235: Names

    This tool supports only names up to 18 characters for the application name. Hence the application name and global subroutine names have been limited to 18 characters. TPS1100-Version 1.30...
  • Page 236: Numbers

    E in it are of a floating point type. Hence 0 and 0.0 are of different types. Numbers which may get only positive values are not supported in GeoB . Hence distance variables may get negative values also. The ASIC programmer has to take care of that. TPS1100-Version 1.30...
  • Page 237: Strings And Tokens

    This feature is based on token processing. With GeoB we can simulate this by passing tokens to system ASIC software routines. In the documentation parameters of this type are denoted by the TPS1100-Version 1.30...
  • Page 238: Logical Values

    Logical Values Logical values are written as TRUE or FALSE. They are predefined names (not reserved words) and can be used wherever logical constants are allowed. As usual for names, upper and lower case letters are not distinguished. TPS1100-Version 1.30...
  • Page 239: Data Types

    A variable of type String can contain a string of some maximum length which is specified in the declaration of the variable (see Section 2.3.2 on Declaration of Variables). The values of type String are described in Section 2.1.7 on Strings. 2-10 TPS1100-Version 1.30...
  • Page 240: Declaration Of Arrays

    ♦ Declare a type for an array that contains two integers, and a variable of that type. TYPE DIM MyFirstArrayType ( 2 ) AS Integer END DIM MyFirstArray AS MyFirstArrayType ♦ Now we can access the two components as individual variables. MyFistArray(1) = 10 MyFistArray(2) = 20 MyFirstArray(1) = MyFirstArray(2) DIV MyFirstArray(1) TPS1100-Version 1.30 2-11...
  • Page 241 ♦ Array variables of the same type can be assigned as a whole, no matter how complex they are. This is equivalent to assigning all elements separately. DIM A1 AS MyFirstArrayType DIM A2 AS MyFirstArrayType A1(1) = 1 A1(2) = 2 A2 = A1 'equivalent to A2(1) = A1(1) 2-12 TPS1100-Version 1.30...
  • Page 242 IF lEqual THEN 'yes, they are equal ELSE 'no, they are not equal; 'the first difference is at position iIndex - 1 END IF ♦ Now declare some larger arrays. TYPE DIM DoubleArrayType ( 20 ) AS Double END TPS1100-Version 1.30 2-13...
  • Page 243: Declaration Of Structures

    DataTypeName } "END" [ Name ] • A variable of type "Name" will consist of elements (fields, components) which can be accessed by their element name as given in the type declaration (see Section 2.4 on Variables). 2-14 TPS1100-Version 1.30...
  • Page 244 ♦ Now we set Point2’s values. Since it is initialised we only need to say where it differs from Point1. Point2.iNumber Point2.dNorth = 1.0 Point2.dEast = 1.0 ♦ And we can, for instance, compute the distance between Point1 and Point2. (Sqr computes the square root, and ^2 squares its argument.) TPS1100-Version 1.30 2-15...
  • Page 245: Predefined Structured Types

    GeoB compiler and accessible to the ASIC programmer as any other defined types. One example is GM_Point_Type which denotes a GeoMath point data type. Normally they are explained at the beginning of a subsection. 2-16 TPS1100-Version 1.30...
  • Page 246: Data Declarations

    CONST Pi AS Double = 3.1415926 'declare Pi as Double ' explicitely ♦ Also string constants can be declared. They may even extend over several lines of code. CONST sProgramTitle = "ATHLETICS DISTANCE MEASURENENT" TPS1100-Version 1.30 2-17...
  • Page 247: Declaration Of Variables

    Variables are known only inside the unit where they are declared. For string variables and arrays of strings, "Length" specifies the maximum number of characters the variable or the array element is to hold and must be a positive 2-18 TPS1100-Version 1.30...
  • Page 248 If all bounds and the element type of two array variables match, they are considered to be of the same type, hence they can be assigned to each other. For example, the variables PointArray and PointArray2 can be assigned to each other. TPS1100-Version 1.30 2-19...
  • Page 249: Variables

    To access an element of a multidimensional array, as many subscript expressions are needed as there are dimensions. An element (field) of a structure is accessed by its name. Examples for valid variable access (assuming appropriate type definitions) 2-20 TPS1100-Version 1.30...
  • Page 250: Expressions

    ::= ( "+" | "-" ) Term ::= Factor { MultOperator Factor } MultOperator ::= ( "*" | "/" | "\" | "MOD" ) Factor ::= Primary [ "^" Factor ] Primary ::= ( Variable | Constant | FunctionCall | TPS1100-Version 1.30 2-21...
  • Page 251 DIM a AS Double DIM b AS Double DIM c AS Double DIM i AS Integer DIM j AS Integer DIM k AS Integer DIM x AS Logical DIM y AS Logical DIM z AS Logical DIM s AS String20 2-22 TPS1100-Version 1.30...
  • Page 252: Type Compatibility

    Double). If both are of the same type, the result is also of that type, otherwise it is of type Double. Note The + operator is also used for string concatenation, see below. The actual value depends on the hardware. TPS1100-Version 1.30 2-23...
  • Page 253 Note that strings of different length can never be equal, but a shorter string can be greater than a longer one. 2.5.1.6 Logical operations: 2-24 TPS1100-Version 1.30...
  • Page 254: Statements

    ExitStatement | IOStatement ) The error label is used in conjunction with the ON-ERROR-statement, see Section 2.8; it must be written on a line by itself, i.e. the statement following it must be on a new line. TPS1100-Version 1.30 2-25...
  • Page 255: Sequential Statements

    ♦ Next, the matrix is assigned to itself. (Note that it is an assignment, not a Boolean expression.) Matrix = Matrix ♦ Often a logical variable (lDone) has to be set according to some condition. x and y must be comparable. 2-26 TPS1100-Version 1.30...
  • Page 256: Selection Statements

    THEN is executed and no further conditions are evaluated. If no condition evaluates to TRUE, then the statement sequence after ELSE is executed, if there is an ELSE, otherwise nothing is done. In any case, execution continues with the statement following END IF. Examples: TPS1100-Version 1.30 2-27...
  • Page 257 SELECT-statement is irrelevant as far as the effect of the statement is concerned; however, the constants will be checked for equality in the order in which they appear, so if the most frequent case is put first, this will likely result in faster execution. 2-28 TPS1100-Version 1.30...
  • Page 258: Iteration Statements

    Iteration Statements Syntax: LoopStatement ::= ( WhileLoop | UntilLoop | ForLoop ) WhileLoop ::= "DO" [ "WHILE" Condition ] StatementSequence "LOOP" UntilLoop ::= "DO" StatementSequence "LOOP" [ "UNTIL" Condition ] ForLoop ::= "FOR" CounterName "=" Start "TO" TPS1100-Version 1.30 2-29...
  • Page 259 (see the note on the Exit-Statement at the end of this section), or through the occurrence of a run time error. The statement sequence is executed at least once. Examples: ♦ Assume, for instance, the following variable declarations. CONST iMaxIndex AS Integer = 10 2-30 TPS1100-Version 1.30...
  • Page 260 The three Integer expressions (Start, Finish, Step) are evaluated at the outset. If the Step part is omitted, Step is set to +1 by default. The values thus obtained for Finish and Step are used throughout execution of the FOR-loop, TPS1100-Version 1.30 2-31...
  • Page 261 'evaluate the bounds at the outset iIndex = iStart iFinishEvaluated = iFinish iDeltaEvaluated = iDelta DO WHILE (iDeltaEvaluated >= 0 AND iIndex <= iFinishEvaluated) OR (iDeltaEvaluated < 0 AND iIndex >= iFinishEvaluated) ' Statements iIndex = iIndex + iDeltaEvaluated LOOP Example: 2-32 TPS1100-Version 1.30...
  • Page 262: Routines

    SubroutineDeclaration ::= [ "GLOBAL" ] "SUB" SubroutineName [ ParameterList ] Body "END" [ SubroutineName ] FunctionDeclaration ::= "FUNCTION" FunctionName ParameterList "AS" DataTypeName Body "END" [ FunctionName ] ParameterList ::= "(" [ ParameterSpecification { "," ParameterSpecification } ] ")" TPS1100-Version 1.30 2-33...
  • Page 263 When control returns to the point of call, the value last assigned to the function name will be the value returned by the function. If no such assignment is made before control returns, the return value of the function is undefined. 2-34 TPS1100-Version 1.30...
  • Page 264 'return: the average of all its elements DIM dSum AS Angle 'sum of the angles DIM i AS Integer 'index in the first dimension DIM j AS Integer 'index in the second dimension dSum = 0 'init the sum to 0 TPS1100-Version 1.30 2-35...
  • Page 265: Routine Calls

    EXIT ' terminates the loop END IF NEXT i 'this will be executed after "EXIT" but ' not after "EXIT SUB" LOOP END RoutineWithExit 2.7.2 Routine Calls Syntax: SubroutineCall ::= [ "CALL" ] SubroutineName [ ActualParameterList ] 2-36 TPS1100-Version 1.30...
  • Page 266 A standard function is called like any user-defined function, as part of an expression, returning a value whose type depends on the function and sometimes on the parameters. Unlike user-defined functions, some standard functions are "overloaded", i.e. they can take parameters of different types, or a varying number TPS1100-Version 1.30 2-37...
  • Page 267: Error Handling

    2) A run-time error occurs during the execution of GeoB code (e.g. ASIC division by zero, illegal instruction). 3) The GeoB module explicitly assigns a value to Err. ASIC 2-38 TPS1100-Version 1.30...
  • Page 268 • If "GOTO label" (method a) has been chosen and an error occurs, control will be transferred to that label even when the label is inside a structured statement or in a different routine. TPS1100-Version 1.30 2-39...
  • Page 269 If the error occurs a second time, the program aborts immediately. SUB Dispatch LABEL ErrLab 'statements ON ERROR GOTO ErrLab CALL ExternalSystemRoutine (..) EXIT ErrLab: ... 'make changes ON ERROR GOTO 0 'abort next time CALL ExternalSystemRoutine (..) 'statements END Dispatch 2-40 TPS1100-Version 1.30...
  • Page 270: The Program

    Global routines (modules) with the names "Stop", "Init", and "Install" have a special function within the TPS-1100-System. ("Stop" and "Init" are reserved names for future using). From the GeoB viewpoint, however, they ASIC are declared like any other GLOBAL subroutine. TPS1100-Version 1.30 2-41...
  • Page 271: Output To The Display

    Strings are written as they are, without surrounding quotes or blanks. Output strings may contain any printable characters, including blanks and tabs. A WRITE-call closes the output with CR-LF automatically. Examples: ♦ We do some output. 2-42 TPS1100-Version 1.30...
  • Page 272: Appinfo-Definition

    String constant CapLg Caption Long: Application name for a menu item CapSh Caption Short: Application name for a button Desc Description in Customization Tool Help Help Text TheoModel Theodolite Model Author Author of the GeoB Program ASIC Syntax: TPS1100-Version 1.30 2-43...
  • Page 273 { GlobalSubSectionEntry } "END" [ GlobalSubName ] GeneralSectionEntry ::= "SET" GeneralSectionKey StringConstant GlobalSubSectionEntry ::= "SET" GlobalSubSectionKey StringConstant GeneralSectionKey ::= "AUTHOR" | "DESC" | "THEOMODEL" GlobalSubSectionKey ::= "CAPSH" | "DESC" | "HELP" Example: 'Application Information for Config Tool 2-44 TPS1100-Version 1.30...
  • Page 274: In-/Output To Files

    GeoBASIC Reference Manual 2.GeoBasic Constructs '--------------------------------------- APPINFO GENERAL SET Author "Leica AG, CH - Heerbrugg" SET Desc "AppInfo Example Application" SET TheoModel "TCA1100" END GENERAL ENTRYPOINT GlobalSub1 SET CapLg "Global Sub 1" SET CapSh "GSUB1" SET Desc "test of appinfo subroutine 1"...
  • Page 275: Summarising Lists Of Types And Procedures

    Let the user be warned that the card will not be removed during file operations. In the TPS1100 series theodolites 2 types of PC-Cards, SRAM- (static ram) and ATA-Flash-Cards, are supported. It is highly recommended to group file accesses together and keep a file open during the access only, immediately followed by a close of the file.
  • Page 276: File Operation Data Structures

    Renames a directory. RenameFile Renames a file. RmDir Removes the given directory. Seek Positions the file pointer to a specific byte location. Tell Delivers the current file pointer. 2.12.2 File Operation Data Structures 2.12.2.1 MEM_CARD_INFO_Type – PC Card information TPS1100-Version 1.30 2-47...
  • Page 277: Open

    TRUE if read only lSubDir AS Logical TRUE if entry is a subdirectory lArchive AS Logical TRUE if archive flag is set END FILE_STAT_Type 2.12.3 Open Description Opens a file. Record oriented file operations are not supported yet 2-48 TPS1100-Version 1.30...
  • Page 278 ("A:\\dir\\filename.ext", up to 100 characters). sMode Access mode − "Input" - Opens a text file for reading. The file must exist. − "Output" - Creates a text new file for writing or truncates it to zero if it TPS1100-Version 1.30 2-49...
  • Page 279 FULL RC_FIL_MEMORY_ Error in internal memory allocation. FAILED May be during open access of a non existing directory. RC_FIL_FATAL_ other fatal error ERROR device errors RC_FIL_FAT_ERROR fatal error in accessing the file allocation table 2-50 TPS1100-Version 1.30...
  • Page 280: Close

    Error Codes RC_OK file closed successfully RC_FIL_MEMORY_ Error in internal memory allocation. FAILED May be during open access of a non existing directory. RC_FIL_FATAL_ other fatal error ERROR device errors RC_FIL_FAT_ERROR Fatal error in accessing the file TPS1100-Version 1.30 2-51...
  • Page 281: Input

    The current file pointer will be set to the position after the terminator. The line terminator will never be included in the resulting string. The line terminator will be expected as "CR/LF". End-of-file (EOF) can be examined by 2-52 TPS1100-Version 1.30...
  • Page 282 BAS_FIL_ILL_OPER Illegal file operation. Operation and access mode do not correspond. RC_FIL_INVALID_ illegal file descriptor used FILE_DESCR Example Read a string from a file in "Input" access mode. FileId AS FileId DIM sFileinput AS String255 TPS1100-Version 1.30 2-53...
  • Page 283: Print

    Each Print prints the line terminator to the file automatically. Parameters FileId Unique file-id returned by Open. sData The data to be written (of the specified type). See Also Open Close Input Error Codes RC_OK data written 2-54 TPS1100-Version 1.30...
  • Page 284: Get - Values

    (used by Open): DIM FileId AS FileId FileId Open ( "A:\\test.txt", "OUTPUT", , 1 ) FileId Print( , "distance measuring" ) FileId Close( 2.12.7 Get – values Description Read a value from file in binary mode. TPS1100-Version 1.30 2-55...
  • Page 285 1 byte binary integer (will be expanded to an Integer), returns a value between 0 and 255. GetInt iVal 4 byte binary integer. GetDouble dVal 8 byte binary double float. GetLogical lVal 1 byte: 0 - FALSE else - TRUE 2-56 TPS1100-Version 1.30...
  • Page 286 InBin or UpdateBin mode. RC_FIL_INVALID_ illegal file descriptor used FILE_DESCR Example The example copies a file. iFId1 FileId iFId2 FileId Integer Open ( "A:\\source.txt", "InBin", iFId1, 1 ) Open ( "A:\\target.txt", "OutBin", iFId2, 1 ) IF EOF(iFileId1) THEN TPS1100-Version 1.30 2-57...
  • Page 287: Put - Values

    If iLen is greater than the actual length, then the string will be filled up with ‘\0’-characters. If iLen is greater than 255, then it will be reset to 255. If less than 0 then it will be reset to 0. 2-58 TPS1100-Version 1.30...
  • Page 288 See Also Open Close Get – values Error Codes RC_OK data written successfully RC_FIL_MEMORY_ Error in internal memory allocation. FAILED May be during open access of a non existing directory. device errors TPS1100-Version 1.30 2-59...
  • Page 289 Hence after opening a file in APPEND mode Tell will yield into 1, since the file pointer has not been set so far. Parameters FileId Unique file-id returned by Open. iPos The current byte file position. 2-60 TPS1100-Version 1.30...
  • Page 290: Seek

    The file pointer will be set to end-of-file. Note Seek may be used on files only which have been opened successfully with access modes "Input", "InBin" or "UpdateBin". Parameters TPS1100-Version 1.30 2-61...
  • Page 291 DIM nLen AS Integer Open ( "A:\\test.txt", "INPUT", FileId, 1 ) Seek (FileId , FIL_EOF) Tell (FileId , nLen) 'one more than the length nLen = nLen - 1 'the length of the file Close( FileId ) 2-62 TPS1100-Version 1.30...
  • Page 292: Eof() (Standard Function)

    RC_FIL_NO_ No memory card inserted or it has STORAGE_MEDIUM_ been removed and put in again. IN_DEVICE Further file operations are not save. file errors RC_FIL_INVALID_ illegal file descriptor used FILE_DESCR TPS1100-Version 1.30 2-63...
  • Page 293: Curdir

    The current directory and drive. See Also ChDir, MkDir Error Codes RC_OK operation successfully finished RC_FIL_MEMORY_ Error in internal memory allocation. FAILED May be during open access of a non existing directory. device errors RC_FIL_FAT_ERROR fatal error in accessing the file 2-64 TPS1100-Version 1.30...
  • Page 294: Chdir

    May be during open access of a non existing directory. device errors RC_FIL_FAT_ERROR fatal error in accessing the file allocation table RC_FIL_NO_ No memory card inserted or it has STORAGE_MEDIUM_ been removed and put in again. IN_DEVICE Further file operations are not save. TPS1100-Version 1.30 2-65...
  • Page 295: Mkdir

    RC_FIL_NO_ No memory card inserted or it has STORAGE_MEDIUM_ been removed and put in again. IN_DEVICE Further file operations are not save. RC_FIL_NO_ directory could not be created, MAKE_DIRECTORY because, for example, the directory 2-66 TPS1100-Version 1.30...
  • Page 296: Rmdir

    May be during open access of a non existing directory. device errors RC_FIL_FAT_ERROR fatal error in accessing the file allocation table RC_FIL_NO_ No memory card inserted or it has STORAGE_MEDIUM_ been removed and put in again. IN_DEVICE Further file operations are not save. TPS1100-Version 1.30 2-67...
  • Page 297: Kill

    RC_FIL_NO_ No memory card inserted or it has STORAGE_MEDIUM_ been removed and put in again. IN_DEVICE Further file operations are not save. RC_FIL_FILNAME_ the given file has not been found NOT_FOUND 2-68 TPS1100-Version 1.30...
  • Page 298: Getmemorycardinfo

    MCInfo Information about the current mounted PC card. See Also Error Codes RC_OK Successfully completed. device errors RC_FIL_NO_ No memory card inserted or it has STORAGE_MEDIUM_ been removed and put in again. IN_DEVICE Example see example dirlist.gbs TPS1100-Version 1.30 2-69...
  • Page 299: Getfilestat

    IN_DEVICE RC_FIL_INVALID_ The given file name pattern does not PATH conform to file path rules. RC_FIL_PATTERN_ The given file name pattern does not DOES_NOT_MACTH match against any directory entry. Example see example dirlist.gbs 2-70 TPS1100-Version 1.30...
  • Page 300: Getdirectorylist

    Parameters sPattern Pattern for the requested files. lInclDir TRUE: include subdirectories, FALSE: list files only. DirList List of directory entries. iItems Actual number of items, list length. See Also Error Codes RC_OK Successfully completed. TPS1100-Version 1.30 2-71...
  • Page 301: Filecopy

    Parameters sSrc Absolute path of source file. sDot Absolute path of destination file. See Also Error Codes RC_OK Successfully completed. 2-72 TPS1100-Version 1.30...
  • Page 302: Renamefile

    Successfully completed. RC_FIL_RENAME_ File sOldname not found or FILE_FAILED sNewName exists already. RC_FIL_MEMORY_ Error in internal memory allocation. FAILED Maybe because of an access of a non existing directory or drive. RC_FIL_INVALID_ If path is not existent. PATH TPS1100-Version 1.30 2-73...
  • Page 303: Renamedir

    Error Codes RC_OK Successfully completed. RC_FIL_RENAME_ Directory sOldname not found or DIR_FAILED sNewName exists already. RC_FIL_MEMORY_ Error in internal memory allocation. FAILED Maybe because of an access of a non existing directory or drive. Example RenameDir(“A:\\GSI”, “A:\\GSI_1”) 2-74 TPS1100-Version 1.30...
  • Page 304: Communication Functions

    The message string. See Also Receive COM_SetTimeOut Error Codes RC_OK Send has been completed successfully. Example The example uses the routine Send to send a message. Send("This is a message for the routine " + "Send." ) TPS1100-Version 1.30 2-75...
  • Page 305 TPS_Sim Calling Receive on the TPS-Simulator has no effects. Parameters sMessage The received message string. nLength inout In: The maximum number of characters to be received. Out: The actual number of characters received. See Also Send COM_SetTimeOut 2-76 TPS1100-Version 1.30...
  • Page 306 Then handling of input has to be done by the programmer. Note The data-link must be active. The time-out from the TPS system will be saved and set back when the GeoB program terminates. ASIC TPS1100-Version 1.30 2-77...
  • Page 307 GeoCOM RPC was either a ‘Go Local’ or ‘Stop’ command (RPC numbers 1 and 2). Once a GeoCOM has been recognised then the result will be sent back via the data link (conforming to the RPC format of GeoCOM). 2-78 TPS1100-Version 1.30...
  • Page 308 ON ERROR RESUME NEXT COM_SetTimeOut (0) ' do not wait iSize = 255 ' try to get whole string Receive (sIn, iSize) IF Err = RC_OK AND iSize > 0 THEN COM_ExecCmd( sIn, lStop ) END IF TPS1100-Version 1.30 2-79...
  • Page 309 3.6 Global Return Codes .................3-5 3.1 APPLICATIONS ON THE TPS SYSTEM The TPS1100 series have the possibility to store and execute external programs. Loading such a program stores it in the internal memory of the theodolite. After loading the program it has to be made accessible for the user. This has to be done by creating a menu item and associate it with a global subroutine.
  • Page 310: Coding'-Applications On The Tps System

    It must have the predefined names, otherwise it will not be recognised. 3.3 IMPORT OF THE APPLICATION IN A USER CONFIGURATION The TPS1100 series theodolites supports the loading of individual configurations, with it a user can define his own dialogs and menus. If the user imports a GeoB...
  • Page 311: Events

    ASIC 3.4 EVENTS The configuration functionality of the TPS1100 series is event driven. If a user has defined his own dialogs or menus in a configuration, he can link it with a special event (i.e. the user has pressed the PROG key or the initialisation sequence is finished).
  • Page 312 'program to test the examples ' GeoBASIC test frame ' ------------------- The example shows a small program frame for the beginning of a project. (c) Leica AG, CH - Heerbrugg 1999 '----------------------------------------------------- GLOBAL SUB Install ------- ' Description Install it in the program menu.
  • Page 313: Global Return Codes

    (for example TMC_… for measurement error codes like TMC_ANGLE_ERROR, TMC_DIST_ERROR, etc.), but some error codes are generally applicable, for example if there has been a fatal error, an abort, etc. A summary of all return codes is listed in Appendix F. TPS1100-Version 1.30...
  • Page 314 Invalid version of file, ... RC_BATT_EMPTY Battery empty RC_NO_EVENT no event pending RC_OUT_OF_TEMP out of temperature range RC_INSTRUMENT_TILT instrument tilting out of range RC_COM_SETTING communication error RC_NO_ACTION RC_TYPE Input 'do no action' RC_SLEEP_MODE Instrument run into sleep mode TPS1100-Version 1.30...
  • Page 315 In ASIC this chapter you will read how this description is organised. 4.1 Structure of the Description ..............4-2 4.1.1 The whole system................4-2 4.1.2 The Sections................4-2 4.1.3 The function/procedure descriptions ...........4-5 4.2 Example of a Description................4-8 4.2.1 TMC_GetAngle ................4-8 TPS1100-Version 1.30...
  • Page 316: Remarks On The Description

    4. Declaration of functions, procedures, and constants. We now explain these four parts in more detail. Note The identifiers in the examples of this section are stylised. Section 4.2 shows a “real“ example, annotated with some explanations given in this section. TPS1100-Version 1.30...
  • Page 317 Some_New_Type Brief description of the type. Some_Other_New_Type Brief description of the type. … … Functions function name description Some_New_Function Brief description of the function. … … Procedures procedure name description Some_New_Procedure Brief description of the procedure. … … TPS1100-Version 1.30...
  • Page 318 Component3 ItsType description of Component3 END New_Type 4.1.2.4 Function/procedure description Then the function/procedure descriptions follow. (See Section 4.1.3 below.) Note Not every section has all these four components. Only those parts will be given that actually have entries. (Empty ones are omitted.) TPS1100-Version 1.30...
  • Page 319: The Function/Procedure Descriptions

    7. Cross reference (see also). 8. An example. Details: ♦ Ad 1) First, the function/procedure name is given. For example, EXAMPLE_SomeFunction ♦ Ad 2) Then a description follows, describing the function’s/procedure’s task. For example, Description Here the function/procedure is described. TPS1100-Version 1.30...
  • Page 320 1 meaning 1 value 2 meaning 2 … … Error Codes ErrorCode1 description of ErrorCode1 ErrorCode2 description of ErrorCode2 … … TPS1100-Version 1.30...
  • Page 321 SomeOtherFunction1 SomeOtherFunction2 Some other chapter in the reference Example Description of the example. Example source code. Note Not every description has all these components. Only those parts will be given that actually have entries. (Empty ones are omitted.) TPS1100-Version 1.30...
  • Page 322: Example Of A Description

    Return Codes RC_OK angle OK constants for error codes TMC_ANGLE_ERROR no inclination measuring possible (no results) . . . Example Read the currently valid angle. example DIM Angle AS Double program DIM RetCode AS Integer TMC_GetAngle( Angle, RetCode ) TPS1100-Version 1.30...
  • Page 323 5.4.7 Mid$ - Substring anywhere ............5-14 5.5 Standard Mathematics Functions .............. 5-16 5.5.1 Summarising List of Mathematics Functions ......5-16 5.5.2 Remark on the Conversion of Angles.......... 5-16 5.5.3 Atn Function................5-17 5.5.4 Cos Function ................5-18 5.5.5 Exp Function ................5-18 TPS1100-Version 1.30...
  • Page 324 5.6.15 GM_CalcIntersectionLineLine............ 5-50 5.6.16 GM_CalcMean................5-52 5.6.17 GM_CalcMeanOfHz ..............5-54 5.6.18 GM_CalcMedianOfHz..............5-55 5.6.19 GM_CalcOrientationOfHz ............5-57 5.6.20 GM_CalcPointInLine..............5-59 5.6.21 GM_CalcPointInCircle ............... 5-60 5.6.22 GM_CalcTriangle ............... 5-61 5.6.23 GM_CalcVAndSlope ..............5-63 5.6.24 GM_ConvertAngle..............5-64 5.6.25 GM_ConvertDecSexa ..............5-65 TPS1100-Version 1.30...
  • Page 325 5.1 NUMERIC TO NUMERIC 5.1.1 Abs - Absolute value Abs(X) yields the absolute value of the expression X. The expression must be of a numeric type (Integer, Double or its variations). The result is of the same type as X. TPS1100-Version 1.30...
  • Page 326 Sgn(X) yields the sign of the value of the expression X. Positive values yield +1, negative values -1, and a zero value yields 0. The expression must be of a numeric type (Integer, Double or its variations). The result is of type Integer. TPS1100-Version 1.30...
  • Page 327 -> 0 InStr(K,S1,S2) works like InStr(S1,S2) but looks for S2 only at the K-th character and beyond. S1 and S2 must be string expressions, K must be an expression of type Integer. The result is of type Integer. TPS1100-Version 1.30...
  • Page 328 If S does not represent a number, the result of Val(S) is 0. The result is of always of type Double. Examples: Val ("1.5") -> Val (" +7.3e-4") -> 0.00073 Val ("-2E5xyz") -> -200000.0 Val ("X") -> Val (" -3") -> -3.0 TPS1100-Version 1.30...
  • Page 329: Numeric To String

    X. The expression must be of a numeric type (Integer, Double or its variations). The result is of type string * n, where n is the length of the resulting string. Examples: Str$ (6) -> "6" Str$ (-5.88) -> "-5.88" Str$ (0.00000042) -> "4.2e-07" TPS1100-Version 1.30...
  • Page 330: Sformat Function

    "%" are not allowed and may lead to unpredictable behaviour. Other than the here explained formatting sequences are not allowed and may lead to unpredictable behaviour. The computed result cannot be larger than 255 characters long in any case. TPS1100-Version 1.30...
  • Page 331 Optional number that specifies the minimum number of characters printed for all or part of the output field, or minimum number of digits printed for integer values. Can cause truncation of output. TPS1100-Version 1.30...
  • Page 332 E instead of e signed value printed in f or e format, whichever is more compact for the given value and precision identical to "lg", except that lG, rather than lg, introduces the exponent (where appropriate) 5-10 TPS1100-Version 1.30...
  • Page 333 8-byte value (double in ANSI-C), see description above "...%lf..." is recommended. Logical the following two formats are implemented: − "...%s...": Generate a string ("T" / "F") − "...%d...": Generate a number (1 / 0) See Also ANSI-C function sprintf format specifications. TPS1100-Version 1.30 5-11...
  • Page 334: String To String

    UCase$(S) yields the string expression S with all lower case letters "a" to "z" replaced by their upper case. Any other character is unchanged. The result is of type string * n, where n is the length of S. Examples: UCase$ ("Start") -> "START" UCase$ ("kürzer/länger?") -> "KüRZER/LäNGER?" (umlaut unchanged!) 5-12 TPS1100-Version 1.30...
  • Page 335: Lcase$ - Change To Lower Case

    RTrim$(S) yields the value of the string expression S with all trailing blanks removed. The result is of type string * n, where n = (length of S) - (number of blanks). Example: RTrim$ (" Stop ") -> " Stop" TPS1100-Version 1.30 5-13...
  • Page 336: Left$ - Left Substring

    If the length of T is higher than N, only the first N characters of T are set in S. Is parameter N omitted, the whole substring T will be inserted in S (if the length of S this allows). 5-14 TPS1100-Version 1.30...
  • Page 337 = "123456789" Mid$ (s, 2, 7) = "abcde" ' 5 characters (2..6) are replaced ' s -> "1abcde789" s = "123456789" Mid$ (s, 2) = "abcde" ' 5 characters (2..6) are replaced ' s -> "1abcde789" TPS1100-Version 1.30 5-15...
  • Page 338: Standard Mathematics Functions

    For example to convert dDegree decimal degrees to radians (the result will be in dRadian), use the following function call. (See section 5.6.24 for a detailed description.) GM_ConvertAngle( GM_DEGREE_DEZ, dDegree, GM_RADIANS, dRadian, iReturnCode ) See Also Geodesy Mathematical Formulas: Section on "Conversion of Angles". 5-16 TPS1100-Version 1.30...
  • Page 339: Atn Function

    The example uses Atn to compute Pi. By definition, Atn(1) is π radians (that equals 50 grad or 45 degrees). DIM dMyPi AS Double ' Declare variables. dMyPi = 4 * Atn(1) ' Calculate Pi. WRITE "Pi is equal to " + str$(dMyPi) TPS1100-Version 1.30 5-17...
  • Page 340: Cos Function

    Description Returns e (the base of natural logarithms) raised to a power. Declaration Exp( dPower AS Double ) AS Double Remarks The argument dPower can be any valid numeric expression. The return type of Exp is Double. 5-18 TPS1100-Version 1.30...
  • Page 341: Log Function

    (x) = Log(x) / Log(n) Log x It holds that The following example illustrates a function that calculates base- 10 logarithms: TPS1100-Version 1.30 5-19...
  • Page 342: Sin Function

    The result is in the floating point range -1.0 to 1.0. See Also Remark on the Conversion of Angles (5.5.2) 5-20 TPS1100-Version 1.30...
  • Page 343: Sqr Function

    The argument dNumber can be any valid numeric expression that denotes a value greater than or equal to zero. The return type of Sqr is Double. Example The example uses Sqr to calculate the square root of a user- supplied number. TPS1100-Version 1.30 5-21...
  • Page 344: Tan Function

    Mind that Tan is not defined for dAngle = π − dAngle = See Also Remark on the Conversion of Angles (5.5.2), Example The example uses Tan to calculate the tangent of an angle with a user-specified number of degrees. 5-22 TPS1100-Version 1.30...
  • Page 345: Rnd Function

    The example uses the Rnd function to generate 20 random values in the range from 0 to 10. Each time this program runs, the user can initialise the random-number generator by using SRnd to give a new seed value. TPS1100-Version 1.30 5-23...
  • Page 346: Srnd Function

    To have the sequence of random numbers change each time the program is run, place the SRnd function at the beginning of the program. The SRnd-function returns the value of its argument unchanged. See Also Example See Rnd function. 5-24 TPS1100-Version 1.30...
  • Page 347 Normalise angle to [0, 2*Pi]. GM_AngleFromThreePoints Calculate enclosed angle from three points. GM_CalcAreaOfCoord Calculation of area result from measurement. GM_CalcAreaOfMeas Calculation of area result from measurement. GM_CalcAziZenAndDist Convert a point given in Cartesian coordinates to polar coordinates. TPS1100-Version 1.30 5-25...
  • Page 348 Calculation of the average from several Hz-directions. GM_CalcMedianOfHz Calculation of Hz-directions and the average as median. GM_CalcOrientationOfHz Calculation of the circle-section orientation. GM_CalcPointInCircle Calculation of a point on a circle. GM_CalcPointInLine Calculation of a point on a line. 5-26 TPS1100-Version 1.30...
  • Page 349 GM_MathOrSurveyorsAngleConv Adjusts a math angle in radians to a surveyor's angle in radians or vice versa. GM_SamePoint Test if two points are equal. GM_TransformPoints Transformation of point. GM_Traverse3D Convert a point in polar coordinates to Cartesian coordinates. TPS1100-Version 1.30 5-27...
  • Page 350: Geomath Structures

    [m] dDHeight AS Double height difference excenter-centre END GM_Excenter_Elems_Type GM_4Transform_Param - Transformation parameters Description In this structure the transformation parameters are defined. TYPE GM_4Transform_Param_Type dPhi AS Double rotation angle dScal AS Double measure 5-28 TPS1100-Version 1.30...
  • Page 351 AS Double the unknown dA22 AS Double dA23 AS Double dA33 AS Double END GM_ QXX_Matrix_Type GM_Point - Definition of a point Description With this structure the point is defined. TYPE GM_Point_Type TPS1100-Version 1.30 5-29...
  • Page 352 GM_POINT_AND_AZI Line defined with point and azimut FirstPt AS GM_Point_Type first point on the line SecondPt AS GM_Point_Type second point on the line dAzi AS Double azimuth [rad] dParShift AS Double parallel displacement END GM_Line_Type 5-30 TPS1100-Version 1.30...
  • Page 353 2nd triangle side [m] dMeS3 AS Double mean error of the 3rd triangle side [m] dMeA1 AS Double mean error of the angle opposite side 1 [rad] dMeA2 AS Double mean error of the angle opposite TPS1100-Version 1.30 5-31...
  • Page 354: Gm_Calcareaofcoord

    The computation is done the plane, i.e. the height is ignored. Note For the used formula see Appendix, Geodesy Math. Formulas. Parameters StartPt start point of the polygon in Cartesian coordinates CurrPt current point to be added to the polygon in cart. coordinates 5-32 TPS1100-Version 1.30...
  • Page 355 GM_NO_SOLUTION current and start-point are not yet identical, point has been added to polygon Return Codes GM_RADIUS_NOT_POSSIBLE invalid value for dRadius; this is the case if 1) dRadius ≠ 0.0 and length of current edge Abs dRadius < TPS1100-Version 1.30 5-33...
  • Page 356 ) 'add the third point CurrPt.dE = 2.0 CurrPt.dN = 2.0 GM_CalcAreaOfCoord_Add( CurrPt, dRadius, dArea, iRetCode ) 'close the polygon: back to the first point CurrPt.dE = 1.0 CurrPt.dN = 1.0 GM_CalcAreaOfCoord_Add( CurrPt, dRadius, dArea, iRetCode ) 5-34 TPS1100-Version 1.30...
  • Page 357: Gm_Calcareaofmeas

    The area for the arc segment will be calculated as follows: = × × − dRadius where d is the angle change of the arc. dArea ² Superficies of the closed polygon [m TPS1100-Version 1.30 5-35...
  • Page 358 AS Double 'init CurrPt and dRadius with the first point Init_GM_Point_Type( CurrPt ) CurrPt.dHz CurrPt.dV 1.5707963 CurrPt.dSlopeDist = 10.0 GM_CalcAreaOfMeas_Start( CurrPt ) 'add the second point CurrPt.dHz 1.5707863 CurrPt.dV 1.5707963 CurrPt.dSlopeDist = GM_CalcAreaOfMeas_Add( CurrPt, dRadius, dArea, iRetCode ) 5-36 TPS1100-Version 1.30...
  • Page 359: Gm_Calcazianddist

    TargetPt coordinates and exactness of the target- point dAzi calculated azimuth [rad] dDist calculated distance [m] dStdvAzi set to 0 (reserved for future use) dStdvDist set to 0 (reserved for future use) TPS1100-Version 1.30 5-37...
  • Page 360 'initialize StationPt and TargetPt StationPt.dN = 3.0 StationPt.dE = 0.0 StationPt.dHeight = 0.0 TargetPt.dN = 0.0 TargetPt.dE = 5.0 TargetPt.dHeight = 0.0 'in GM_QXX_MATRIX set all values to 0.0 (for StationPt and TargetPt) GM_CalcAziAndDist( StationPt, TargetPt, dAzi, dDist, dStdvAzi, dStdvDist) 5-38 TPS1100-Version 1.30...
  • Page 361: Gm_Calccenterandradius

    [m] Center calculated coordinates and exactness of the centre dMRadius middle error of the radius [m] Return Codes GM_PTS_IN_LINE The 3 points are located on one line, the calculation not possible. All output values are undefined. TPS1100-Version 1.30 5-39...
  • Page 362: Gm_Calcclothcoord

    Clothoid point y-coordinate of the Clothoid point Return Codes RC_OK always OK Example Calculate the centre from the 3 given points. DIM dX AS Double DIM dY AS Double GM_CalcClothCoord( 3.1415, dX, dY ) 5-40 TPS1100-Version 1.30...
  • Page 363: Gm_Calccoord

    Return Codes RC_OK always OK Example Calculate the distance of a target from a station according to given azimuth and horizontal distance. DIM StationPt AS GM_Point_Type DIM TargetPt AS GM_Point_Type 'initialize StationPt GM_CalcCoord( StationPt, 0.5, 1000.0, TargetPt ) TPS1100-Version 1.30 5-41...
  • Page 364: Gm_Calcdistpointcircle

    Calculate the distance of a point to a circle. DIM Pt AS GM_Point_Type DIM Circle AS GM_Circle_Type DIM dDist AS Double DIM BasePt AS GM_Point_Type 'initialize Pt and circle with any values GM_CalcDistPointCircle( Pt, Circle, dDist, BasePt ) 5-42 TPS1100-Version 1.30...
  • Page 365: Gm_Calcdistpointcloth

    - parameter arc length [m] dDist distance point - Clothoid [m] dDistAlongSpiral distance along arc FootPoint coordinate of the base point of foot of a perpendicular observation Return Codes TPS1100-Version 1.30 5-43...
  • Page 366: Gm_Calcdistpointline

    This function is calculating the distance of one point to the line and his base point of the foot of a perpendicular observation. One effective definition of line is also possible result from one parallel (see predefined type GM_Line_Type). Note Used formula: see Appendix, Geodesy Math. Formulas. 5-44 TPS1100-Version 1.30...
  • Page 367 Calculate the distance of a point to a line. DIM Line AS GM_Line_Type DIM Point AS GM_Point_Type DIM dDistX AS Double DIM dDistY AS Double DIM BasePt AS GM_Point_Type 'initialize Line and Point adequatley GM_CalcDistPointLine( Line, Point, dDistX, dDistY, BasePt ) TPS1100-Version 1.30 5-45...
  • Page 368: Gm_Calchiddenpointobservation

    Return Codes GM_IDENTICAL_PTS Both measurement onto the same point. Calculation is not possible. The recovered values are not defined. GM_PLAUSIBILITY_ The distance to the reflectors does not correspond to the measurement. The recovered values are not defined . 5-46 TPS1100-Version 1.30...
  • Page 369: Gm_Calcintersectioncirclecircle

    Declaration GM_CalcIntersectionCircleCircle( FirstCircle AS GM_Circle_Type, SecondCircle AS GM_Circle_Type, FirstInters AS GM_Point_Type, SecondInters AS GM_Point_Type, iReturnCode AS Integer ) Remarks This function is calculating the intersection point(s) between two circles. Note Used formula: see Appendix, Geodesy Math. Formulas. TPS1100-Version 1.30 5-47...
  • Page 370 Calculate the intersection points between the circles. DIM Circle1 AS GM_Circle_Type DIM Circle2 AS GM_Circle_Type DIM Interspt1 AS GM_Point_Type DIM Interspt2 AS GM_Point_Type DIM iRetCode AS Integer 'initialize circle1 and circle2 adequatley GM_CalcIntersectionCircleCircle( Circle1, Circle2, Interspt1, Interspt2, iRetCode ) 5-48 TPS1100-Version 1.30...
  • Page 371: Gm_Calcintersectionlinecircle

    Coordinate and exactness of the 2. intersect. point. iReturnCode out indicates the number of solutions GM_NO_ no intersection SOLUTION point GM_ONE_ exactly one SOLUTION solution; the values for Second- Inters are nor defined GM_TWO_ two intersection SOLUTIONS points TPS1100-Version 1.30 5-49...
  • Page 372: Gm_Calcintersectionlineline

    Lines. The lines could show a transverse displacement and can be defined as a result from 2 points, or as result from one point and azimuth (see predefined type GM_Line). Note Used formula: see Appendix, Geodesy Math. Formulas. 5-50 TPS1100-Version 1.30...
  • Page 373 Example Calculate the intersection points between the 2 lines. DIM Line1 AS GM_Line_Type DIM Line2 AS GM_Line_Type DIM IntersPt AS GM_Point_Type DIM iRetCode AS Integer ' initialize Line1 and Line2 adequatley GM_CalcIntersectionLineLine( Line1, Line2, IntersPt, iRetCode ) TPS1100-Version 1.30 5-51...
  • Page 374: Gm_Calcmean

    (dObservation, dWeight) are the first in a new series (initialisation). The old series (belonging to this function) will be lost. FALSE: add the values to an existing data series. Mean out calculated results from the current data series 5-52 TPS1100-Version 1.30...
  • Page 375 GM_PLAUSIBILITY_ The sum of the weights is 0. Example Calculate the weighted average and standard deviation. DIM Mean AS GM_Mean_StdDev_Type GM_CalcMean_Add( 1.0, 0.5, TRUE GM_CalcMean_Add( 2.0, 1.0, FALSE ) GM_CalcMean_Add( 3.0, 1.5, FALSE ) GM_CalcMean( Mean ) TPS1100-Version 1.30 5-53...
  • Page 376 (dHzDirection) is the first in a new series (initialisation). The old series (belonging to this function) will be lost. FALSE: add the values to an existing data series. Mean out calculated results from the current data series. 5-54 TPS1100-Version 1.30...
  • Page 377 AS Logical ) GM_CalcMedianOfHz( dMedian AS Double ) Remarks The first function creates an internal data list and adds Hz- directions to it. The second is calculating the average as median evaluating the added Hz-directions in the list. TPS1100-Version 1.30 5-55...
  • Page 378 Too few observations to be able to OBSERVATIONS calculate the average. The recovered values are not defined. Example Calculate the median. DIM dMedian AS Double GM_CalcMedianOfHz_Add( 1.0, TRUE GM_CalcMedianOfHz_Add( 2.0, FALSE ) GM_CalcMedianOfHz_Add( 3.0, FALSE ) GM_CalcMedian( dMedian ) 5-56 TPS1100-Version 1.30...
  • Page 379 (initialisation). The old series (belonging to this function) will be lost. FALSE: add the values to an existing data series. out unknown -orientation -variable and the exactness dOriMedian out as median middle unknown - orientation - variable TPS1100-Version 1.30 5-57...
  • Page 380 DIM Target AS GM_Point_Type DIM Ori AS GM_Mean_StdDev_Type DIM dOriMedian AS Double 'initialize Station and Target GM_CalcOrientationOfHz_Add( Station, Target, 1.571, TRUE GM_CalcOrientationOfHz_Add( Station, Target, 3.109, FALSE ) GM_CalcOrientationOfHz_Add( Station, Target, 2.395, FALSE ) GM_CalcOrientationOfHz( Ori, dOriMedian ) 5-58 TPS1100-Version 1.30...
  • Page 381 Return Codes GM_IDENTICAL_PTS Start- and endpoint of a line are identical. Calculation is not possible. Example Calculate the point in the line. DIM Line AS GM_Line_Type DIM Point AS GM_Point_Type 'initialize line GM_CalcPointInLine( Line, 1.0, Point ) TPS1100-Version 1.30 5-59...
  • Page 382 Calculation is not possible. Example Calculate the point in the circle. DIM Arc1 AS GM_Point_Type DIM Arc2 AS GM_Point_Type DIM Point AS GM_Point_Type 'initialize Arc1 and Arc2 GM_CalcPointInLine( Arc1, Arc2, 1.0, Pi, Point ) 5-60 TPS1100-Version 1.30...
  • Page 383 MeanError The exactness of the corresponding sides respective angles have to be recorded in this structure. SecondSol out The calculated sides respective angles of the 2. solution (if existing) are recorded in this structure. TPS1100-Version 1.30 5-61...
  • Page 384 DIM SecondSol AS GM_Triangle_Values_Type DIM MeanError AS GM_Triangle_Accuracy_Type DIM iRetCode AS Integer 'initialize FirstSol.dSide1 = 3.0 FirstSol.dSide3 = 5.0 FirstSol.dAngle2 = Atn( 4.0/3.0 ) GM_CalcTriangle( GM_SIDE_ANGLE_SIDE, FirstSol, MeanError, SecondSol, iRetCode) 'iRetCode will be GM_ONE_SOLUTION for GM_SIDE_ANGLE_SIDE problems 5-62 TPS1100-Version 1.30...
  • Page 385 [m] dStdvVZenit out middle error of the V-direction [rad] dStdvSlopeDist out middle error of the slope-distance Return Codes GM_IDENTICAL_PTS StationPt and TargetPt are identical. Calculation is not possible. Example Calculate the values. TPS1100-Version 1.30 5-63...
  • Page 386 Note Used formula: see Appendix, Geodesy Math. Formulas. Parameters iOldSys standard system of the given angle GM_DEGREE_SEXA sexagesimal degrees GM_DEGREE_DEZ decimal degrees GM_GRAD grads (gons) GM_RADIANS radians GM_MIL mils dAngleOldSys angle to convert iNewSys standard system of the wanted 5-64 TPS1100-Version 1.30...
  • Page 387 Conversion of value from the decimal into the sexagesimal system. Declaration GM_ConvertDecSexa( byVal dValueDec AS Double, dValueSexa AS Double ) Remarks This function is converting the value from the decimal into the sexagesimal system. Note Used formula: see Appendix, Geodesy Math. Formulas. TPS1100-Version 1.30 5-65...
  • Page 388 Note Used formula: see Appendix, Geodesy Math. Formulas. Parameters iOldSys standard system of the given distance GM_METER meter GM_US_FOOT American feet GM_SURVEY_FOOT surveyor feet GM_INTER_FOOT international feet dDistOldSys distance to convert iNewSys standard system of the wanted distance dDistNewSys converted distance 5-66 TPS1100-Version 1.30...
  • Page 389 Centre. The difference to the function GM_ConvertExcentricHzVDist is that only the directions hz and v are measured and recorded to the structure GM_Measurements_Type. Note Used formula: see Appendix, Geodesy Math. Formulas. Parameters TPS1100-Version 1.30 5-67...
  • Page 390 AS GM_Measurements_Type, ExCentElems AS GM_Excenter_Elems_Type, CentMeas AS GM_Measurements_Type ) Remarks With this function, the measured values (which are measured to the excenter) could be re-centred to the centre. The difference to the function GM_ConvertExcentricHzV is, that in addition 5-68 TPS1100-Version 1.30...
  • Page 391 [m] and horizontal distance between the centre and the excenter [m] CentMeas onto the centre re-centred measurement-element Return Codes RC_OK always OK Example Calculate the point in the circle. TPS1100-Version 1.30 5-69...
  • Page 392 [mm] GM_M_BAR millibar GM_ATMOS atmosphere dPresOldSys pressure to convert iNewSys standard system of the wanted pressure dPresNewSys converted pressure Return Codes GM_INVALID_ One of the pressure standard systems PRES_SYSTEM was invalid. There was no conversion. The 5-70 TPS1100-Version 1.30...
  • Page 393 GM_ConvertTemp( byVal iOldSys AS Integer, byVal dTempOldSys AS Double byVal iNewSys AS Integer, dTempNewSys AS Double) Remarks This function is converting temperature-values from one standard system into the other. Note Used formula: see Appendix, Geodesy Math. Formulas. TPS1100-Version 1.30 5-71...
  • Page 394 Convert dTempOldSys from [Celsius] to [Fahrenheit]. DIM dTempOldSys AS Double DIM dTempNewSys AS Double DIM iOldsys AS Integer DIM iNewsys AS Integer 'initialize values iOldsys = GM_CELSIUS dTempOldSys = 1.8 iNewsys = GM_FAHRENHEIT GM_ConvertTemp( iOldsys, dTempOldSys, iNewsys, dTempNewSys ) 5-72 TPS1100-Version 1.30...
  • Page 395 Return Codes GM_INVALID_ One of the standard systems was invalid. V_SYSTEM There was no conversion. The recovered value was not defined TPS1100-Version 1.30 5-73...
  • Page 396 Note Used formula: see Appendix, Geodesy Math. Formulas. Parameters dValueSexa sexagesimal value dValueDec decimal value Return Codes RC_OK always OK Example Convert the angle. The following variables have to be defined: DIM dAngleDec AS Double GM_ConvertSexaDec( 99.9, dAngleDec ) 5-74 TPS1100-Version 1.30...
  • Page 397 DIM NewPt AS GM_Point_Type DIM Param AS GM_4Transform_Param_Type 'initialize OldPt, NewPt, Param GM_TransformPoints( OldPt, Param, NewPt ) 5.6.34 GM_SamePoint Description Test if two points are equal. Declaration GM_SamePoint( Point1 AS GM_Point_Type, Point2 AS GM_Point_Type, lSame AS Logical ) TPS1100-Version 1.30 5-75...
  • Page 398 5.6.35 GM_CopyPoint Description Copy the contents of a point. Declaration GM_CopyPoint( Pt1 AS GM_Point_Type, Pt2 AS GM_Point_Type ) Remarks Copy the contents of Pt1 to Pt2. Parameters point to be copied taken copy Return Codes RC_OK always OK 5-76 TPS1100-Version 1.30...
  • Page 399 (counter clockwise). Note The height is ignored. Parameters StartPoint 1. point for angle definition Vertex 2. point (middle) EndPoint 3. point dAngle calculated enclosed angle Return Codes GM_IDENTICAL_PTS at least 2 points are identical (GM_SamePoint), calculation not possible TPS1100-Version 1.30 5-77...
  • Page 400 This function adjusts the angle to be 0 ≤ pdAngle < 2×Pi. Remarks Parameters dAngle in out angle to be transformed Return Codes RC_OK always OK Example Convert angle. DIM dAngle AS Double 'initialize dAngle dAngle = 4∗Pi GM_AdjustAngleFromZeroToTwoPi( dAngle ) 5-78 TPS1100-Version 1.30...
  • Page 401 Adjusts a math angle in radians to a surveyors angle in radians or vice versa. Declaration GM_MathOrSurveyorsAngleConv( dAngle AS Double ) Remarks Converts the angle from surveyors convention (azimuth) to a math direction (x/y axis) or vice versa. Parameters dAngle in out angle to be transformed TPS1100-Version 1.30 5-79...
  • Page 402 This function converts a point given in polar coordinates relative to StartPt to Cartesian coordinates (NewPt). Note Used formula: see Appendix, Geodesy Math. Formulas. Parameters StartPt relative origin for Polar Polar point in polar coordinates NewPt transformed point in Cartesian coordinates Return Codes RC_OK always OK 5-80 TPS1100-Version 1.30...
  • Page 403 This function sets all values in the QXX-matrix of a point to zero. Parameters Point in out point of which the QXX-matrix is to be initialised Return Codes RC_OK always OK Example Initialise QXX-matrix of a point. DIM Point AS GM_Point_Type GM_InitQXXMatrix( Point ) 5.6.42 GM_CalcAziZenAndDist TPS1100-Version 1.30 5-81...
  • Page 404 Return Codes RC_OK always OK Example Convert a point in Cartesian to polar coordinates. DIM Point1 AS GM_Point_Type DIM Point2 AS GM_Point_Type DIM Polar AS GM_Measurements_Type 'initialize Point1, Point2 GM_CalcAziZenAndDist( Point1, Point2, Polar ) 5-82 TPS1100-Version 1.30...
  • Page 405 6.1.17 MMI_DeleteButton ..............6-28 6.1.18 MMI_PrintStr................6-29 6.1.19 MMI_PrintTok ................6-30 6.1.20 MMI_PrintVal................6-31 6.1.21 MMI_PrintInt ................6-33 6.1.22 MMI_InputStr ................6-34 6.1.23 MMI_InputVal ................6-36 6.1.24 MMI_InputInt ................6-39 6.1.25 MMI_InputList................6-41 6.1.26 MMI_FormatVal................. 6-43 6.1.27 MMI_WriteMsg ................6-45 TPS1100-Version 1.30...
  • Page 406 6.1.50 MMI_SetTempUnit..............6-68 6.1.51 MMI_GetTempUnit ..............6-69 6.1.52 MMI_SetDateFormat ..............6-70 6.1.53 MMI_GetDateFormat ..............6-71 6.1.54 MMI_SetTimeFormat ..............6-71 6.1.55 MMI_GetTimeFormat ..............6-72 6.1.56 MMI_SetCoordOrder..............6-73 6.1.57 MMI_GetCoordOrder ..............6-74 6.1.58 MMI_SetLanguage ..............6-74 6.1.59 MMI_GetLanguage..............6-75 6.1.60 MMI_GetLangName..............6-76 TPS1100-Version 1.30...
  • Page 407 6.3.8 TMC_QuickDist................ 6-113 6.3.9 TMC_GetSimpleMea..............6-116 6.3.10 TMC_Get/SetAngleFaceDef............. 6-119 6.3.11 TMC_Get/SetHzOffset ............. 6-120 6.3.12 TMC_Get/SetDistPpm .............. 6-121 6.3.13 TMC_Get/SetGeomProjection..........6-122 6.3.14 TMC_Get/SetGeomReduction ..........6-122 6.3.15 TMC_Get/SetAtmCorr.............. 6-123 6.3.16 TMC_Get/SetHeight ..............6-123 6.3.17 TMC_Get/SetRefractiveCorr ............ 6-124 6.3.18 TMC_Get/SetRefractiveMethod ..........6-124 TPS1100-Version 1.30...
  • Page 408 6.4.8 GSI_ GetIndivNr............... 6-149 6.4.9 GSI_SetIndivNr ................ 6-150 6.4.10 GSI_IsRunningNr ..............6-150 6.4.11 GSI_SetIvPtNrStatus ..............6-151 6.4.12 GSI_IncPNumber..............6-152 6.4.13 GSI_Coding ................6-152 6.4.14 GSI_SelectCode ................ 6-153 6.4.15 GSI_GetQCodeAvailable............6-153 6.4.16 GSI_SetQCodeMode ..............6-154 6.4.17 GSI_ExecQCoding..............6-154 6.4.18 GSI_SetRecOrder..............6-156 TPS1100-Version 1.30...
  • Page 409 6.4.43 GSI_UpdateMDlg ..............6-181 6.4.44 GSI_DefineMDlg..............6-182 6.4.45 GSI_UpdateMeasurment............6-182 6.4.46 GSI_Measure ................6-183 6.4.47 GSI_ExecuteAutoDist............... 6-184 6.4.48 GSI_CheckTracking..............6-184 6.4.49 GSI_RecordRecMask..............6-185 6.5 Central Service Functions CSV............... 6-187 6.5.1 Summarizing Lists of CSV Types and Procedures ....6-187 TPS1100-Version 1.30...
  • Page 410 6.5.24 CSV_SetTargetType ..............6-206 6.5.25 CSV_GetTargetType ..............6-207 6.5.26 CSV_SetPrismType ..............6-208 6.5.27 CSV_GetPrismType..............6-208 6.5.28 CSV_SetLaserPlummet............. 6-209 6.5.29 CSV_GetLaserPlummet............6-209 6.5.30 CSV_CheckAltUserTask ............6-210 6.5.31 CSV_ResetAltUserTask............6-210 6.5.32 CSV_SysCall ................6-211 6.5.33 CSV_SysCallAvailable ............. 6-212 6.5.34 CSV_LibCall................6-213 TPS1100-Version 1.30...
  • Page 411 GeoBASIC Reference Manual 6. System Functions 6.5.35 CSV_LibCallAvailable ............. 6-213 TPS1100-Version 1.30...
  • Page 412 Creates a menu item on the Theodolite menu. MMI_CreateMenuItem MMI_CreateTextDialog Create and show a text dialog. MMI_DeleteButton Delete a button from a dialog. MMI_DeleteDialog Deletes a dialog. MMI_DeleteGBMenu Deletes a menu MMI_DrawBusyField Shows or hides the Busy-Icon MMI_DrawCircle Draw a circle / ellipse. TPS1100-Version 1.30...
  • Page 413 Print a token on a text dialog. MMI_PrintTok MMI_PrintVal Print a value on a text dialog. MMI_SelectGBMenuItem Select a menu item MMI_SetAngleRelation Set the angle relationship. MMI_SetAngleUnit Set the displayed unit of angle. MMI_SetCoordOrder Set the co-ordinate order. TPS1100-Version 1.30...
  • Page 414 6.1.2.2 sLine – Display line Description This type is used to define a string with 29 characters, which is necessary to print variable strings on the display. The length depends on the actual display width, which is 29 for TPS1100 instruments. 6-10 TPS1100-Version 1.30...
  • Page 415 The name of the global function or subroutine to be called. iMenuNum Defines in which menu the menu-entry is generated. There are three possible menus where a menu item can be added. For multiple menu items the menus can be combined with ‘+’-operator. TPS1100-Version 1.30 6-11...
  • Page 416 "START THE PROGRAM" ) 6.1.4 MMI_CreateGBMenu Description Creates a menu. Declaration MMI_CreateGBMenu( BYVAL sMenuName AS _Token, iMenuId AS Integer ) Remarks This routine creates an empty menu and the caption sMenuName. The function MMI_CreateGBMenuItem adds items to a menu. 6-12 TPS1100-Version 1.30...
  • Page 417 MENU.GBS CONST MHELP = "Help for measurement type.." DIM iMenu AS Integer ' menu identifier DIM iSelection AS Integer ' selected item DIM iButton AS Integer ' used button 'Create main menu MMI_CreateGBMenu("MEASUREMENT TYPE", iMenu) TPS1100-Version 1.30 6-13...
  • Page 418 This function adds one menu item to an existing menu iMenuId. This item will be displayed as the last item. Parameters iMenuId in Menu identifier sMenuItemName in Displayed text sHelpText in Help text; only visible if the help functionality of theodolite is enabled Return-Codes 6-14 TPS1100-Version 1.30...
  • Page 419 The maximal number of menus for a GeoB program ASIC is 5. The maximal number of items / menu is 49. The maximal number of items over all menus plus menus is 254. Parameters sMenuName The caption of the menu. TPS1100-Version 1.30 6-15...
  • Page 420 ' generate menu item names MMI_GetLanguage(iLangNr, sLangName) sMenuItemName1 = "Polygon in " + sLangName sMenuItemName2 = "Border point in " + sLangName ' Create menu items - all items use ' the same help text MMI_CreateGBMenuItemStr(iMenu, sMenuItemName1, MHELP) MMI_CreateGBMenuItemStr(iMenu, sMenuItemName2, MHELP) 6-16 TPS1100-Version 1.30...
  • Page 421 Parameters iMenuId in Menu identifier in Displayed text sMenuItemName sHelpText in Help text; only visible if the help functionality of the theodolite is enabled Return-Codes Successful termination. RC_OK BAS_MENU_ Bad iMenuId ID_INVALID TPS1100-Version 1.30 6-17...
  • Page 422 Select a menu item. Declaration MMI_SelectGBMenuItem( BYVAL iMenuId AS Integer, BYVAL sCaptionLeft AS _Token, iSelItem AS Integer, iButtonId AS Integer ) Remarks This function shows and executes a menu iMenuId and returns the selected item iSelItem or pressed button iButtonId. 6-18 TPS1100-Version 1.30...
  • Page 423 Adds a button to a menu. Declaration MMI_AddGBMenuButton( BYVAL iMenuId AS Integer, BYVAL iButtonId AS Integer, BYVAL sCaption AS _Token ) Remarks This function adds a button with the identifier iButtonId to the menu iMenuId and shows the caption sCaption. TPS1100-Version 1.30 6-19...
  • Page 424 If MMI_CreateTextDialog is called while already a text dialog or a measurement dialog exists, the existing dialog (together with all attached buttons) is deleted and the new dialog is created. 6-20 TPS1100-Version 1.30...
  • Page 425 This text is shown, when the help button SHIFT-F1 is pressed and the help functionality of the theodolite is enabled. Return-Codes Successful termination. RC_OK See Also MMI_DeleteDialog, MMI_CreateGraphDialog, GSI_CreateMDlg, MMI_PrintVal, MMI_PrintStr, MMI_PrintTok, MMI_PrintInt, MMI_InputVal, MMI_InputStr, MMI_InputInt, MMI_InputList TPS1100-Version 1.30 6-21...
  • Page 426 Only a text dialog or a measurement dialog is valid at a time. They cannot be defined at the same time. A graphic dialog overrides a text or measurement dialog but does not delete the definition of it. 6-22 TPS1100-Version 1.30...
  • Page 427 By deleting the dialog all user defined buttons added with MMI_AddButton are deleted as well. Return-Codes RC_OK Successful termination. BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_CreateTextDialog, MMI_CreateGraphDialog, GSI_CreateMDlg TPS1100-Version 1.30 6-23...
  • Page 428 It only checks the keyboard buffer. Parameters lKeyPressed lKeyPressed = TRUE is returned, if a valid button was pressed. Otherwise the value of lKeyPressed is FALSE. Return-Codes RC_OK Successful termination. BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_AddButton MMI_GetButton 6-24 TPS1100-Version 1.30...
  • Page 429 Out The identifier of the pressed button. For values of iButtonId see the table below. lAllKeys Determines which keys exit the routine. If lAllKeys = TRUE any valid pressed key exit the routine, otherwise only normal ones. TPS1100-Version 1.30 6-25...
  • Page 430 "0..9", no MMI_NUM0_KEY.. no return focus MMI_NUM9_KEY "CE" MMI_UNASS_KEY no return cursor keys MMI_UP_KEY, no return MMI_DOWN_KEY, MMI_RIGHT_KEY, MMI_LEFT_KEY Return-Codes RC_OK Successful termination. No dialog exists for this operation. BAS_NO_DLG_EXIST See Also MMI_AddButton, MMI_CheckButton 6-26 TPS1100-Version 1.30...
  • Page 431 Then the functionality applies to the graphics dialog. The added buttons can be deleted with the routine MMI_DeleteButton while the dialog exists. Closing the dialog with MMI_DeleteDialog deletes all buttons attached to this dialog. TPS1100-Version 1.30 6-27...
  • Page 432 The routine MMI_DeleteButton deletes the button with the Identifier iButtonId from the actual dialog. Only a button that was added with MMI_AddButton can be deleted. Closing the dialog with MMI_DeleteDialog deletes all buttons attached to this dialog. 6-28 TPS1100-Version 1.30...
  • Page 433 Too long text strings are truncated, illegal co-ordinates are adjusted. Note A text dialog must already exist. Only display length number of character will be displayed, hence 29. Parameters iColumn in The horizontal position (0..28) TPS1100-Version 1.30 6-29...
  • Page 434 This routine may be used instead of MMI_PrintStr to support internationalisation of multiple language applications. Note A text dialog must already exist. Parameters iColumn in The horizontal position (0..28) iLine in The vertical position (0..number of lines defined with MMI_CreateTextDialog) 6-30 TPS1100-Version 1.30...
  • Page 435 "-----" are displayed. Too long value strings are truncated, illegal co- ordinates are adjusted. If iMode = MMI_DIM_ON, a dimension field is automatically displayed when the type of dVal has units. TPS1100-Version 1.30 6-31...
  • Page 436 No dialog exists for this operation. See Also MMI_PrintInt , MMI_InputVal Example The example uses the MMI_PrintVal routine to print the value of TestVal as distance (with corresponding dimension) in the first line on row 2 of the currently open text dialog. 6-32 TPS1100-Version 1.30...
  • Page 437 For double values a separate routine (MMI_PrintVal) exists. lValid Determines if the value should be shown as valid. If lValid = TRUE the value iVal is displayed, otherwise the symbols for invalid values are displayed. TPS1100-Version 1.30 6-33...
  • Page 438 Text is not edited and the routine exits. The string can be edited by pressing αEDIT or a numerical key. If iMode = MMI_DEFAULT_MODE the keys ESC, ENTER, 6-34 TPS1100-Version 1.30...
  • Page 439 The identifier of the pressed valid button to exit the edit process. Return-Codes RC_OK Successful termination. BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_PrintStr TPS1100-Version 1.30 6-35...
  • Page 440 The value within the bounds dMin and dMax can be edited by pressing EDIT or the numerical block keys. If iMode = MMI_DEFAULT_MODE the keys ESC, ENTER, ON/OFF or any user defined button (added with MMI_AddButton) terminates 6-36 TPS1100-Version 1.30...
  • Page 441 Modes can be added, i.e. MMI_SPECIALKEYS_ON + MMI_DIM_ON dVal inout The value to edit. Use this routine to edit double (and equal to double) values. For integer values a separate routine (MMI_InputInt) exists. TPS1100-Version 1.30 6-37...
  • Page 442 0..1000. CONST MODE = MMI_DEFAULT_MODE 'define editmode DIM TestVal AS Distance DIM iButton AS Integer DIM lValid AS Logical lValid = FALSE MMI_ InputVal( 2, 1, 8, -1, 0, 1000, MODE, TestVal, lValid, iButton ) 6-38 TPS1100-Version 1.30...
  • Page 443 A text dialog must already exist. Parameters iColumn The horizontal position (0..28). iLine The vertical position (0..number of lines defined with MMI_CreateTextDialog). iLen The length of the value plus the sign. iMin The lower and upper bounds. iMax TPS1100-Version 1.30 6-39...
  • Page 444 2 of the actual text dialog. The entered values must lie in the range 0..1000. CONST MODE = MMI_DEFAULT_MODE 'define editmode DIM iTestVal AS Integer DIM iButton AS Integer DIM lValid AS Logical lValid = FALSE MMI_InputInt( 2,1,5,0,1000, MODE,iTestVal,lValid,iButton ) 6-40 TPS1100-Version 1.30...
  • Page 445 MMI_InputList too. Note A text dialog must already exist. Parameters The horizontal position (0..28). iColumn iLine The vertical position (0..number of lines defined with MMI_CreateTextDialog). iLen The displayed length of the list elements. TPS1100-Version 1.30 6-41...
  • Page 446 The example uses the MMI_InputList routine to get the value of the selected list element (the selected line) of a list field displayed in the second line on row 2 of the actual text dialog. The first displayed line is the line with the number Index. 6-42 TPS1100-Version 1.30...
  • Page 447 AS String30 ) Remarks If lValid = TRUE then this routine converts a double value (or values with equal type, e.g. dimension) to a text string, otherwise the symbols for invalid values are returned. The returned string TPS1100-Version 1.30 6-43...
  • Page 448 The dimension field is not included. iDecimals in The number of decimals. If iDecimals = -1 the number of decimals set by the system is taken. 6-44 TPS1100-Version 1.30...
  • Page 449 BYVAL iMsgType AS Integer, iRetKey AS Integer ) Remarks The function opens a message window on the display, which shows the text specified by sText. Lines that are too long to fit into the window are split automatically. TPS1100-Version 1.30 6-45...
  • Page 450 MMI_MB_OK MMI_MB_ABORT MMI_MB_OK_ABORT MMI_MB_ABORT_RETRY_CONT MMI_MB_YES_NO_ABORT MMI_MB_YES_NO MMI_MB_RETRY_ABORT MMI_MB_ABORT_CONT MMI_MB_ABORT_RETRY_IGNORE MMI_MB_ABORT_IGNORE Returns the button pressed, i. e. iRetKey iRetKey: MMI_MB_RET_OK MMI_MB_RET_ABORT MMI_MB_RET_RETRY MMI_MB_RET_CONT MMI_MB_RET_YES MMI_MB_RET_NO MMI_MB_RET_IGNORE 6-46 TPS1100-Version 1.30...
  • Page 451 This routine is different to MMI_WriteMsg in such a way that sText may be computed. But, of course, sText will not be entered into the text token data base. Parameters sText Text string to be displayed in a message box. TPS1100-Version 1.30 6-47...
  • Page 452 MMI_MB_OK_ABORT MMI_MB_ABORT_RETRY_CONT MMI_MB_YES_NO_ABORT MMI_MB_YES_NO MMI_MB_RETRY_ABORT MMI_MB_ABORT_CONT MMI_MB_ABORT_RETRY_IGNORE MMI_MB_ABORT_IGNORE iRetKey Returns the button pressed, i. e. iRetKey: MMI_MB_RET_OK MMI_MB_RET_ABORT MMI_MB_RET_RETRY MMI_MB_RET_CONT MMI_MB_RET_YES MMI_MB_RET_NO MMI_MB_RET_IGNORE Return-Codes Successful termination. RC_OK BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_WriteMsg 6-48 TPS1100-Version 1.30...
  • Page 453 A graphics dialog has to be set up before. Parameters x-co-ordinate of the beginning of the line [pixel] y-co-ordinate of the beginning of the line [pixel] x-co-ordinate of the end of the line [pixel] y-co-ordinate of the end of the line [pixel] TPS1100-Version 1.30 6-49...
  • Page 454 BYVAL iBrush AS Integer, BYVAL iPen AS Integer ) Remarks This function draws a rectangle in the graphic field using the fill- style iBrush and the line-style iPen. Note A graphics dialog has to be set up before. 6-50 TPS1100-Version 1.30...
  • Page 455 No graphics dialog exists for this operation. See Also MMI_CreateGraphDialog, MMI_DrawLine, MMI_DrawCircle, MMI_DrawText Example The example uses the MMI_DrawRect routine to draw a rectangle with the specified attributes. MMI_ DrawRect( 10, 10, 100, 50, MMI_NO_BRUSH, MMI_PEN_BLACK ) TPS1100-Version 1.30 6-51...
  • Page 456 [pixel] in Radius of the circle, horizontal radius [pixel] in Radius of the circle, vertical radius [pixel] in Fill-style for the rectangle; possible values: iBrush MMI_BRUSH_WHITE MMI_BRUSH_BLACK MMI_NO_BRUSH in Line-style; possible values: iPen MMI_PEN_WHITE MMI_PEN_BLACK MMI_PEN_DASHED 6-52 TPS1100-Version 1.30...
  • Page 457 [pixel] y-co-ordinate at the upper left-hand corner of the first character [pixel] sText Pointer to the text string iAttr Text attribute normal text MMI_TXT_NORMAL MMI_TXT_INVERSE inverted text TPS1100-Version 1.30 6-53...
  • Page 458 DrawText( 10, 10, sOutput, MMI_TXT_NORMAL, MMI_PEN_BLACK ) 6.1.33 MMI_DrawBusyField Description Shows or hides the Busy-Icon. Declaration MMI_DrawBusyField( BYVAL lVisible as Logical ) Remarks This function controls the Busy-Icon (Hourglass). Parameters lVisible TRUE: Icon is visible Return-Codes RC_OK Successful termination. 6-54 TPS1100-Version 1.30...
  • Page 459 The example uses the MMI_BeepNormal to sound a signal beep. MMI_ BeepNormal() 6.1.35 MMI_StartVarBeep Description Start beep sequences with configurable interrupts. Declaration MMI_StartVarBeep( BYVAL iRate AS Integer ) Remarks The function creates sequences of beeps with configurable interrupts. TPS1100-Version 1.30 6-55...
  • Page 460 A continuous signal beep will be switched off immediately. Parameters switches the beep on or off meaning the beep is switched off generally FALSE TRUE beep is on; the functions MMI_BeepNormal etc. will only work if the beep is switched on. Return-Codes RC_OK Successful termination. 6-56 TPS1100-Version 1.30...
  • Page 461 Declaration MMI_GetVarBeepStatus( lOn AS Logical ) Remarks The function retrieves the state of the general signal beep switch. Parameters state of the switch meaning FALSE TRUE Return-Codes RC_OK Successful termination. See Also MMI_BeepNormal, MMI_BeepLong, MMI_BeepAlarm, MMI_StartVarBeep, MMI_SwitchVarBeep TPS1100-Version 1.30 6-57...
  • Page 462 FALSE Key is switched off generally TRUE Key is active Return-Codes RC_OK Successful termination. See Also BAP_MeasRec, BAP_MeasDistAng Example The example uses the MMI_SwitchAFKey to disable the aF… key. MMI_ SwitchAFKey( FALSE ) 6-58 TPS1100-Version 1.30...
  • Page 463 This is the normal state during a measurement dialog with continuos measurements. Return-Codes RC_OK Successful termination. See Also BAP_MeasRec BAP_MeasDistAng Example The example uses the MMI_SwitchIconsBeep to disable the icons and beeps. MMI_ SwitchIconsBeep( FALSE ) TPS1100-Version 1.30 6-59...
  • Page 464 Relationship of the horizontal angle; valid values: MMI_HANGLE_CLOCKWISE MMI_HANGLE_ANTICLOCKWISE MMI_HANGLE_CLOCKWISE_SOUTH MMI_HANGLE_BEARING Return Codes RC_OK Successful termination. The function has been called with an RC_IVPARAM invalid parameter See Also MMI_GetAngleRelation Example Set the angle relations (with internal default values). MMI_SetAngleRelation( MMI_VANGLE_IN_PERCENT, MMI_HANGLE_CLOCKWISE) 6-60 TPS1100-Version 1.30...
  • Page 465 This function sets the vertical angle mode. Normally (lAngleFree=FALSE), the vertical angle is fix if there is a valid distance available. If lAngleFree=TRUE, the vertical angle will be updated including all corresponding values (slope distance, vertical distance, coordinates etc) TPS1100-Version 1.30 6-61...
  • Page 466 If iDigits is greater than the maximal number it will be reset to it without notifying the user. A negative value of iDigits is not allowed. Note The maximal number of decimal digits depends on the Theodolite class. 6-62 TPS1100-Version 1.30...
  • Page 467 MMI_ANGLE_GON MMI_ANGLE_DEC MMI_ANGLE_SEXADEC MMI_ANGLE_MIL MMI_ANGLE_PERCENT don’t care Return Codes RC_OK Successful termination. RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetAngleUnit Example Set the angle unit. MMI_SetAngleUnit( MMI_ANGLE_GON, 3 ) TPS1100-Version 1.30 6-63...
  • Page 468 If iDigits is greater than the maximal number it will be reset to it without notifying the user. A negative value of iDigits is not allowed. Note The maximal number of decimal digits depends on the Theodolite class 6-64 TPS1100-Version 1.30...
  • Page 469 MMI_DIST_METER MMI_DIST_FOOT MMI_DIST_FOOT_INCH MMI_DIST_US_FOOT MMI_DIST_US_FOOT_INCH MMI_DIST_MM MMI_DIST_INCH Return Codes RC_OK Successful termination. RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetDistUnit Example Set the distance unit. MMI_SetDistUnit( MMI_DIST_METER, 4 ) TPS1100-Version 1.30 6-65...
  • Page 470 This function sets the display unit for pressure. Fields already displayed are not updated. If iDigits is greater than 1 it will be reset to it without notifying the user. A negative value of iDigits is not allowed. 6-66 TPS1100-Version 1.30...
  • Page 471 MMI_PRESS_MBAR MMI_PRESS_MMHG MMI_PRESS_INCHHG MMI_PRESS_HPA MMI_PRESS_PSI Return Codes RC_OK Successful termination. The function has been called with an RC_IVPARAM invalid parameter See Also MMI_GetPressUnit Example Set the pressure unit. MMI_SetPressUnit( MMI_PRESS_MBAR, 1 ) TPS1100-Version 1.30 6-67...
  • Page 472 This function sets the display unit for temperature. Fields already displayed are not updated. If iDigits is greater than 1 it will be reset to it without notifying the user. A negative value of iDigits is not allowed. 6-68 TPS1100-Version 1.30...
  • Page 473 6.1.51 MMI_GetTempUnit Description Return the currently displayed unit of temperature. Declaration MMI_GetTempUnit(iUnit AS Integer, iDigits AS Integer) Remarks This function returns the current unit of temperature. Parameters iUnit Specified unit of temperature iDigits Number of decimal places. TPS1100-Version 1.30 6-69...
  • Page 474 Existing fields remain unchanged. Parameters iFormat in Specified date format; possible values: value meaning MMI_DATE_EU European: DD.MM.YY MMI_DATE_US MM/DD/YY MMI_DATE_JP Japanese: YY/MM/DD Return Codes RC_OK Successful termination. RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetDateFormat 6-70 TPS1100-Version 1.30...
  • Page 475 MMI_SetTimeFormat(BYVAL iFormat AS Integer) Remarks This function sets the format in which the time is to be displayed. Existing fields remain unchanged. Parameters iFormat in Specified time format; possible values: value meaning MMI_TIME_12H 12 hour display MMI_TIME_24H 24 hour display TPS1100-Version 1.30 6-71...
  • Page 476 This function retrieves the format used to display the time. Parameters iFormat Specified time format Return Codes RC_OK Successful termination. The function has been called with an RC_IVPARAM invalid parameter See Also MMI_SetTimeFormat Example Get the time format. DIM iFormat AS Integer MMI_GetTimeFormat( iFormat ) 6-72 TPS1100-Version 1.30...
  • Page 477 MMI_COORD_N_E Order North East Order East North MMI_COORD_E_N Return Codes Successful termination. RC_OK RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetCoordOrder Example Set the co-ordinate order (internal default value). MMI_SetCoordOrder( MMI_COORD_N_E ) TPS1100-Version 1.30 6-73...
  • Page 478 Remarks This function sets the current language. All displayed text are immediately shown in the new language. Parameters iLanguageNr in Specifies the language number; possible values: Value Meaning MMI_REF_LANGUAGE Reference language (English) = 1 Language MMI_MAX_LANGUAGE numbers 6-74 TPS1100-Version 1.30...
  • Page 479 This function returns the current language and the associated character symbols. Parameters iLangNr Language number sLangName Language description Return Codes Successful termination. RC_OK See Also MMI_SetLanguage Example Get the current language. DIM iLangNr AS Integer DIM sLangName AS String20 MMI_GetLanguage( iLangNr, sLangName ) TPS1100-Version 1.30 6-75...
  • Page 480 This routine delivers the name associated with the number iLangNr. Parameters iLangNr Language number sLangName Language description Return Codes RC_OK Successful termination. RC_IVPARAM iLangNr is invalid See Also MMI_SetLanguage MMI_GetLanguage Example Get the name of a language. DIM sLangName AS String20 MMI_GetLangName( 2, sLangName ) 6-76 TPS1100-Version 1.30...
  • Page 481 BAP_SetHz Sets the horizontal angle to 0 or another given value. BAP_SetManDist Set the distance manually. BAP_SetMeasPrg Set the distance measure program. BAP_SetPpm Sets the ppm for distance measurements. Sets the current prism type and constant. BAP_SetPrism TPS1100-Version 1.30 6-77...
  • Page 482 BYVAL sCaptionLeft AS _Token ) Remarks Measures distance and angles and updates the data pool after correct measurements. It controls the special beep (Sector or Lost Lock) and switches measurement icons and disables the aF... key during tracking. 6-78 TPS1100-Version 1.30...
  • Page 483 BAP_TRK_DIST Depends on distance measurement. Can be changed during distance measurement. BAP_RTRK_DIST Depends on distance measurement. Can be changed during distance measurement. All other modes Returns BAP_DEF_DIST. dHz, dV out Angles [rad] , depends on TPS1100-Version 1.30 6-79...
  • Page 484 No prism has been found during TO_DIST distance measurement with ATR, command changed from " " to " " Dist Info, accuracy cannot be guaranteed TMC_ACCURACY_ GUARANTEE TMC_ANGLE_ Info, only angle measurement valid, ACCURACY_ accuracy cannot be guaranteed GUARANTEE 6-80 TPS1100-Version 1.30...
  • Page 485 The example uses the BAP_MeasDistAngle routine to measure a distance and angles. DIM iDistMode AS Integer DIM dHz AS Angle DIM dV AS Angle DIM dDist AS Distance iDistMode = BAP_DEF_DIST BAP_MeasDistAngle(iDistMode, dHz, dV, dDist, TRUE, "TEST") TPS1100-Version 1.30 6-81...
  • Page 486 BAP_STOP_TRK Stop tracking, no measurement and no recording BAP_CLEAR_DIST Clear distance (Theodolite data pool), no measurement and no recording. BAP_RED_TRK_ Use the tracking with red laser DIST measurement program and record values 6-82 TPS1100-Version 1.30...
  • Page 487 AUT_RC_CALACC ATR-calibration failed AUT_RC_ Error in target acquisition DETECTOR_ERROR AUT_RC_DETENT_ Positioning not possible due to ERROR mounted EDM AUT_RC_DEV_ Deviation measurement error ERROR AUT_RC_INCACC Position not exactly reached AUT_RC_MOTOR_ Motorization error ERROR Multiple targets detected AUT_RC_MULTIPLE_ TARGETS TPS1100-Version 1.30 6-83...
  • Page 488 Error, wrong setting of PPM or MM on EDM TMC_NO_FULL_ Warning, measurement without full CORRECTION correction TMC_SIGNAL_ERROR Error, no signal on EDM (only in signal mode) RC_ABORT Error, measurement aborted RC_IVPARAM Error, invalid DistMode See Also BAP_MeasDistAngle, GSI_SetRecMask 6-84 TPS1100-Version 1.30...
  • Page 489 Search range V Return Codes RC_OK Successful termination. AUT_RC_TIMEOUT Timeout while positioning of one or both axes. The position fault lies above 100[cc]. AUT_RC_MOTOR_ Instrument has no ‘motorization’. ERROR Fatal error. RC_FATAL RC_ABORT Function aborted. AUT_RC_NO_TARGET No target found. TPS1100-Version 1.30 6-85...
  • Page 490 This routine works only in ATR instruments and needs at least Firmware-Release 2.00 Parameters lShowMessages TRUE: show error-messages if there are problems to find the prism Return Codes RC_OK Successful termination. AUT_RC_TIMEOUT Timeout while positioning of one or both axes. The position fault lies above 100[cc]. 6-86 TPS1100-Version 1.30...
  • Page 491 Theodolite data pool. TPS_Sim Has no effect. iButtonId will be set to MMI_UNASS_KEY. Parameters sCaptionLeft left caption string of the dialog dDistance initial value for the distance. A negative value will be displayed as "----" TPS1100-Version 1.30 6-87...
  • Page 492 Sets the PPM for distance measurements. Declaration BAP_SetPpm() Remarks The BAP_SetPpm routine opens a dialog which the user can complete in order to calculate the PPM (parts per million) correction to be used to reduce the distance measured by the EDM. 6-88 TPS1100-Version 1.30...
  • Page 493 Return Codes RC_OK Successful termination. See Also BAP_SetManDist, BAP_SetPpm Example The example uses the BAP_SetPrism routine to open the Prism dialog. TPS1100-Version 1.30 6-89...
  • Page 494 BAP_CONT_RLESS_ Continuous measurement, VISIBLE reflectorless, with red laser BAP_AVG_REF_ Average measurement, with STANDARD reflector, standard speed BAP_AVG_REF_ Average measurement, with reflector VISIBLE and red laser BAP_AVG_RLESS_ Average measurement, reflectorless, VISIBLE with red laser See Also BAP_GetMeasPrg 6-90 TPS1100-Version 1.30...
  • Page 495 Continuous measurement, with BAP_CONT_REF_FAST reflector, fast BAP_CONT_RLESS_ Continuous measurement, VISIBLE reflectorless, with red laser BAP_AVG_REF_ Average measurement, with STANDARD reflector, standard speed BAP_AVG_REF_ Average measurement, with reflector VISIBLE and red laser BAP_AVG_RLESS_ Average measurement, reflectorless, VISIBLE with red laser TPS1100-Version 1.30 6-91...
  • Page 496 This procedure positions the telescope according to the specified mode and angles. TPS_Sim Has no effect. Parameters eMode Positioning mode. BAP_POSIT positioning on Hz and V angle BAP_POSIT_HZ positioning on Hz angle BAP_POSIT_V positioning on V angle BAP_CHANGE_FACE change face 6-92 TPS1100-Version 1.30...
  • Page 497 Theodolites. The tolerances (and speed) of the positioning will be defined separately. Return Codes RC_OK Positioning successful RC_ABORT Abnormal termination (No positioning possible, ESC-Key) See Also CSV_MakePositioning CSV_ChangeFace Example Position the telescope. BAP_PosTelescope(BAP_CHANGE_FACE, BAP_POS_DLG, 0, 0, .5, .5 ) TPS1100-Version 1.30 6-93...
  • Page 498 If the instrument is in Lock mode, then the instrument tries to lock first before it sets the angle to 0. Parameters sCaptionLeft Left caption text for dialog See Also Return Codes RC_OK Horizontal angular offset correct. Example Set the horizontal angle. BAP_SetHz("BASIC" ) 6-94 TPS1100-Version 1.30...
  • Page 499 PPM values of projection Corrections for distance measurement: to define TMC_GEOM_REDUCTION_ Type PPM values of reduction to the reference TMC_ATMOS_ Corrections for distance measurement: to define TEMPERATURE_Type PPM values of atmosphere TMC_REFRACTION_Type Refraction correction for distance measurement TMC_STATION_Type Station co-ordinates TPS1100-Version 1.30 6-95...
  • Page 500 Returns the distance measurement correction switches TMC_GetFace1 Get face information of current telescope position TMC_GetInclineStatus Returns the inclination compensator status. TMC_GetInclineSwitch Returns the compensator switch Returns the distance measurement offset TMC_GetOffsetDist TMC_GetPolar Calculate and read polar co-ordinates. 6-96 TPS1100-Version 1.30...
  • Page 501 TMC Data Structures 6.3.2.1 TMC_INCLINE - Data structure for the inclination measurement TYPE TMC_Incline_Type dCrossIncline AS Double cross inclination dLengthIncline AS Double alongside inclination dAccuracyIncline AS Double accuracy of measuring InclineTime AS Integer time of measuring END TMC_Incline_Type TPS1100-Version 1.30 6-97...
  • Page 502 AS Double dHeightDiff AS Double difference in altitude AngleCont AS TMC_ set of angles, measured Angle_Type continuously dSlopeDistCont AS Double slope distance, measured continuously dHeightDiffCont AS Double distance in altitude, measured continuously END TMC_Distance_Type 6-98 TPS1100-Version 1.30...
  • Page 503 AS Double projection contortion ppm END TMC_PPM_CORR_Type 6.3.2.7 TMC_GEOM_PROJECTION - to define PPM values of projection TYPE TMC_GEOM_PROJECTION_Type dProjectionSpace AS Double distance to the reference dProjectionScale AS Double factor of projection dEarthRadius AS Double earth radius TPS1100-Version 1.30 6-99...
  • Page 504 END TMC_STATION_Type 6.3.2.11 TMC_REFRACTION- Refraction correction for distance measurement TYPE TMC_REFRACTION_Type bOnOff AS Logical TRUE if refraction is valid earth radius dEarthRadius AS Double dRefractiveScale AS Double refraction coefficient END TMC_REFRACTION_Type 6.3.2.12 TMC_DIST_SWITCH_Type– Distance measurement switches TYPE TMC_DIST_SWITCHES_Type 6-100 TPS1100-Version 1.30...
  • Page 505 With this function a measure program is started. The commands start a distance measurement and / or a test mode. In addition an angle- and an inclination-measure are done (not at measurement). The tracking measure program performs e.g. as follows: Start the measure program with TMC_DoMeasure(TMC_TRK_DIST). TPS1100-Version 1.30 6-101...
  • Page 506 (test mode) TMC_RED_TRK_ do tracking distance DIST measure with red laser See Also TMC_GetPolar TMC_GetCoordinate Return Codes RC_OK measure program started RC_IVPARAM The function has been called with an invalid parameter TMC_BUSY Measurement system is busy 6-102 TPS1100-Version 1.30...
  • Page 507 As long as no new measure program is started, the results can be read. Additional to the normal return codes iReturnCode delivers also informational return codes which will not interrupt program execution. Note The measure program must have been started (see TMC_DoMeasure). TPS1100-Version 1.30 6-103...
  • Page 508 Co-ordinates are available. TMC_NO_FULL_ The results are not corrected by all CORRECTION active sensors. Co-ordinates are available. TMC_ANGLE_OK Angle values okay, but no valid distance. Co-ordinates are not available. 6-104 TPS1100-Version 1.30...
  • Page 509 RC_OK TMC_ANGLE_ERROR Problems with angle res. incline sensor. A valid angle could not be measured. At repeated occur call service. TMC_BUSY TMC resource is locked respectively TMC task is busy. Repeat measurement. RC_ABORT Measurement through customer aborted. TPS1100-Version 1.30 6-105...
  • Page 510 TMC_GetPolar( iWaitTime, Polar, iRetCode ) SELECT CASE iRetCode CASE RC_OK 'display all data 'e.g. set lDone here CASE else 'handle error lError = TRUE END SELECT LOOP UNTIL lError OR lDone 'stop distance measurement TMC_DoMeasure( TMC_CLEAR ) 6-106 TPS1100-Version 1.30...
  • Page 511 Coordinate point in Cartesian co-ordinates (output) iReturnCode return code, see Additional Codes See Also TMC_GetPolar Additional Codes in iReturnCode RC_OK measurement and values are OK TMC_ACCURACY_ Accuracy is not guaranteed, because the TPS1100-Version 1.30 6-107...
  • Page 512 Return Codes RC_OK measurement and values are OK TMC_ANGLE_ERROR Problems with angle res. incline sensor. A valid angle could not be measured. At repeated occur call service. TMC resource is locked respectively TMC_BUSY TMC task is busy. 6-108 TPS1100-Version 1.30...
  • Page 513 TMC_GetCoordinate( 5, Coord, iRetCode ) SELECT CASE iRetCode CASE RC_OK 'display all data 'e.g. set lDone CASE ANGLE_OK ' display coordinate CASE ELSE 'handle error lError = TRUE END SELECT LOOP UNTIL lError OR lDone TMC_DoMeasure( TMC_CLEAR ) TPS1100-Version 1.30 6-109...
  • Page 514 Angle data are available. You can a forced incline measurement perform or switch off the incline. This message is to be considers as info. Return Codes RC_OK angle OK 6-110 TPS1100-Version 1.30...
  • Page 515 Additional to the normal return codes iReturnCode delivers also informational return codes, which will not interrupt program execution. Parameters iIncProg The manner of incline compensation. Following settings are possible: Incline Program Meaning TMC_MEA_INC get inclination (apriori sigma) TMC_ get inclination with UTO IN TPS1100-Version 1.30 6-111...
  • Page 516 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. Example Read the currently valid angle. 6-112 TPS1100-Version 1.30...
  • Page 517 In order to abort the current measuring program use the function TMC_DoMeasure This function is very good suitable for target tracking, where high data transfers are required. TPS1100-Version 1.30 6-113...
  • Page 518 TMC_ANGLE_ERROR Problems with angle res. incline sensor. A valid angle could not be measured. Angle data are not available. At repeated occur call service. TMC_ANGLE_OK Angle measuring data are valid, but no distance data available. (Possible reasons are: 6-114 TPS1100-Version 1.30...
  • Page 519 RC_OK angle OK TMC_ANGLE_ERROR Problems with angle res. incline sensor. At repeated occur call service. TMC_BUSY TMC resource is locked respectively TMC task is busy. Angle data are not available. Repeat measurement. Measurement through customer aborted. RC_ABORT TPS1100-Version 1.30 6-115...
  • Page 520 AS Integer ) Remarks This function returns the angles and distance measurement data. The distance measurement will be set invalid afterwards. It is important to note that this command does not issue a new distance measurement. 6-116 TPS1100-Version 1.30...
  • Page 521 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.30 6-117...
  • Page 522 A valid angle could not be measured. Distance and angle data are not available. At repeated occur call service. TMC_BUSY TMC resource is locked respectively TMC task is busy. Distance and angle data are not available. Repeat measurement. RC_ABORT Measurement aborted. 6-118 TPS1100-Version 1.30...
  • Page 523 No distance may exist for setting the face definition. Call TMC_DoMeasure(TMC_CLEAR) before this function. Parameters eFaceDef out/in TMC_FACE_NORMAL or TMC_FACE_TURN See Also Return Codes RC_OK Completed successfully. TMC_BUSY measurement system is busy (no valid results) or a distance exists TPS1100-Version 1.30 6-119...
  • Page 524 Horizontal offset in radiant. See Also Return Codes RC_OK Completed successfully. TMC_BUSY measurement system is busy (no valid results) or a distance exists Example The example reads the current offsets and sets it to an increased value. 6-120 TPS1100-Version 1.30...
  • Page 525 Gets and sets the PPM values for distance measurement corrections. Declaration TMC_GetDistPpm( PpmCorr TMC_PPM_CORR_Type) TMC_SetDistPpm( PpmCorr TMC_PPM_CORR_Type) Parameters PpmCorr out/in PPM values for distance measurement corrections. Return Codes RC_OK Completed successfully. TMC_BUSY TMC is in use and can not be changed. Example TPS1100-Version 1.30 6-121...
  • Page 526 Declaration TMC_GetGeomReduction ( GeomRed TMC_GEOM_REDUCTION_Type) TMC_SetGeomReduction ( GeomRed TMC_GEOM_REDUCTION_Type) Parameters GeomRed out/in Reduction to the reference (reference height, earth radius) Return Codes RC_OK Completed successfully. TMC_BUSY TMC is in use and can not be changed. Example 6-122 TPS1100-Version 1.30...
  • Page 527 Height out/in Height of reflector in Meters. Return Codes RC_OK Completed successfully. TMC_BUSY measurement system is busy (no valid results) Example The example sets the reflectors height to the value of 1.0 m. TMC_SetHeight ( 1.0 ) TPS1100-Version 1.30 6-123...
  • Page 528 AS Integer ) TMC_SetRefractiveMethod ( byVal Method AS Integer ) Parameters Method out/in Method of refraction calculation: 1: method 1 2: method 2 else: undefined Return Codes RC_OK Completed successfully. measurement system is busy (no valid results) TMC_BUSY 6-124 TPS1100-Version 1.30...
  • Page 529 Gets information about manual measurement. Declaration TMC_IfDistTapeMeasured ( bTapeMeasured AS Logical ) Parameters bTapeMeasured out TRUE: if measurement has been done by hand. FALSE: if measurement has been done with EDM or if invalid. Return Codes RC_OK Completed successfully. Example TPS1100-Version 1.30 6-125...
  • Page 530 You can a forced incline measurement perform or switch off the incline. This message is to be considers as info. TMC_ANGLE_ERROR Problems with angle res. incline sensor. A valid angle could not be measured. At repeated occur call service. 6-126 TPS1100-Version 1.30...
  • Page 531 Distance switches Return-Codes Successful termination. RC_OK See Also TMC_GetDistSwitch 6.3.23 TMC_GetDistSwitch Description Returns the distance measurement correction switches. Declaration TMC_GetDistSwitch( Switches AS TMC_DIST_SWITCH_Type ) Remarks This procedure returns the distance measurement correction switches. Parameters Switches Distance switches TPS1100-Version 1.30 6-127...
  • Page 532 No distance may exist for offset setting.. Call TMC_DoMeasure(TMC_CLEAR) before this function. Parameters Target point offset Offsets Return-Codes Successful termination. RC_OK TMC_BUSY measurement system is busy (no valid results) or a distance exists. See Also TMC_GetOffsetDist, BAP_Offset, TMC_IfOffsetDistMeasured 6-128 TPS1100-Version 1.30...
  • Page 533 TMC_IfOffsetDistMeasured Description Returns the EDM measurement mode. Declaration TMC_IfOffsetDistMeasured( lOffset AS Logical ) Remarks This function returns TRUE if an offset is defined. Parameters lOffset Offset is valid Return-Codes RC_OK Successful termination. See Also TMC_SetOffsetDist, TMC_GetOffsetDist, BAP_Offset TPS1100-Version 1.30 6-129...
  • Page 534 This procedure sets the angle measurement correction switches. Note No distance may exist for setting the angle switches. Call TMC_DoMeasure( TMC_CLEAR ) before this function. Parameters Switches angular switches Return-Codes RC_OK Successful termination. TMC_BUSY A distance exists See Also TMC_GetAngSwitch 6-130 TPS1100-Version 1.30...
  • Page 535 Defines the compensator switch. Declaration TMC_SetAngSwitches( lOn AS Logical ) Remarks This procedure enables or disables the dual axis compensator correction. Note No distance may exist for a switch setting.. Call TMC_DoMeasure(TMC_CLEAR) before this function. Parameters Switch TPS1100-Version 1.30 6-131...
  • Page 536 Remarks This procedure returns status of the inclination sensor. Parameters iStatus out TMC_INC_OFF Incline-sensor is switched off TMC_INC_OK Inclination is ok, recording is allowed TMC_INC_TILT Incline-sensor is out of working area TMC_INC_OLD Incline-values are not yet updated 6-132 TPS1100-Version 1.30...
  • Page 537 GeoBASIC Reference Manual 6. System Functions TMC_INC_FAIL Inclination - measurement fails Return-Codes RC_OK Successful termination. See Also TMC_SetInclineSwitch Example See example file „meas.gbs“. TPS1100-Version 1.30 6-133...
  • Page 538 GSI_GetIndivNr Fetches the individual point number. GSI_GetLineSysMDlg Gets the definition of a line in the system measurement dialog. GSI_GetMDlgNr Returns the number of the system measurement dialog. This routine returns the status for Quick- GSI_GetQCodeAvailable C di 6-134 TPS1100-Version 1.30...
  • Page 539 Sets a line in the user definable measurement dialog to an application parameter. GSI_SetLineMDlgText Puts a textline into the user definable measurement dialog. GSI_SetLineSysMDlg Sets a line in the system measurement dialog. GSI_SetMDlgNr Sets the number of the system measurement di l TPS1100-Version 1.30 6-135...
  • Page 540 String First time art GSI_ID_TIME_2 String Second time art Double Horizontal angle GSI_ID_HZ GSI_ID_V Double Vertical angle GSI_ID_NHZ Double Nominal horizontal angle GSI_ID_DHZ Double Difference horizontal angle GSI_ID_NV Double Nominal vertical angle GSI_ID_DV Double Difference vertical angle 6-136 TPS1100-Version 1.30...
  • Page 541 Double GSI_ID_REM_1 String Remark 1 GSI_ID_REM_2 String Remark 2 GSI_ID_REM_3 String Remark 3 String Remark 4 GSI_ID_REM_4 GSI_ID_REM_5 String Remark 5 GSI_ID_REM_6 String Remark 6 GSI_ID_REM_7 String Remark 7 GSI_ID_REM_8 String Remark 8 GSI_ID_REM_9 String Remark 9 TPS1100-Version 1.30 6-137...
  • Page 542 Application data 4 String/Double Application data 5 GSI_ID_APPDATA5 GSI_ID_APPDATA6 String/Double Application data 6 GSI_ID_APPDATA7 String/Double Application data 7 GSI_ID_APPDATA8 String/Double Application data 8 GSI_ID_APPDATA9 String/Double Application data 9 GSI_ID_APPDATA10 String/Double Application data 10 String/Double Application data 11 GSI_ID_APPDATA11 6-138 TPS1100-Version 1.30...
  • Page 543 Application parameter 0 GSI_PAR_AppData1 Application parameter 1 GSI_PAR_AppData2 Application parameter 2 GSI_PAR_AppData3 Application parameter 3 GSI_PAR_AppData4 Application parameter 4 GSI_PAR_AppData5 Application parameter 5 GSI_PAR_AppData6 Application parameter 6 GSI_PAR_AppData7 Application parameter 7 GSI_PAR_AppData8 Application parameter 8 GSI_PAR_AppData9 Application parameter 9 TPS1100-Version 1.30 6-139...
  • Page 544 Select display mask for standard measuring dialog. Max. 3 displaymasks can be defined for this dialog. The displaymasks can also be changed with the system function "Next Displaymask". GSI_PAR_DataJob Data job management (select, create etc) Target point Easting GSI_PAR_TargetEast 6-140 TPS1100-Version 1.30...
  • Page 545 Last recorded target point identifier GSI_PAR_MeasJobSelect Measurement Job selection (of an existing Job or RS232 for online recording) GSI_PAR_MeasJob Measurement Job management (select, create, etc.) GSI_PAR_NS Number of measurements and standard deviation GSI_PAR_TargetNorth Target point Northing GSI_PAR_OffsetCross Cross Offset TPS1100-Version 1.30 6-141...
  • Page 546 GSI_PAR_StationId Identifies the Station GSI_PAR_StationEast Station Easting GSI_PAR_StationElev Station Elevation GSI_PAR_StationNorth Station Northing GSI_PAR_TargetType Definition of the target type (Reflector / reflectorless) GSI_PAR_Time Current time of the instrument. The displayed format depends on the setting of the 6-142 TPS1100-Version 1.30...
  • Page 547 Many of the GSI_IDs are record-able. Two types of record-able Ids can be distinguished: a) Measurement block (“Meas”) (has to start with a GSI_ID_PTNR) b) Code block (“Code”) (has to start with a GSI_ID_CODE) They may not be mixed. Record-able GSI_ID_-Ids GSI_PAR_-Ids GSI_ID_NHZ GSI_ID_DHZ GSI_ID_NV TPS1100-Version 1.30 6-143...
  • Page 548 GSI_ID_FNR GSI_PAR_SerialNr Meas (undefined) GSI_ID_TYPE GSI_PAR_InstrType Meas (undefined) GSI_ID_TIME_1 See GSI_PAR_Date Meas GSI_ID_TIME_2 See GSI_PAR_Time Meas Meas GSI_ID_HZ GSI_PAR_AngleHz GSI_ID_V GSI_PAR_AngleV Meas GSI_ID_SLOPE GSI_PAR_DistSlope Meas Meas GSI_ID_HOR GSI_PAR_DistHoriz GSI_ID_HGT GSI_PAR_ElevDiff Meas GSI_ID_PPMM GSI_PAR_PpmMm Meas GSI_ID_SIGMA GSI_PAR_NS Meas 6-144 TPS1100-Version 1.30...
  • Page 549 Code GSI_ID_CODE_6 GSI_PAR_Attrib7 Code GSI_ID_CODE_7 GSI_PAR_Attrib8 Code GSI_ID_CODE_8 GSI_PAR_Attrib9 Code are for the purpose of exchanging data between applications GSI_ID_APPDATA0 and between application and MDlg. They cannot be recorded. Both can be of the form GSI_ASCII GSI_DOUBLE. TPS1100-Version 1.30 6-145...
  • Page 550 Dialog entry information GSI_WiDlg_Entry_Type: Description This data structure is used to store information about the entries (data fields) of the WI dialog. TYPE GSI_WiDlg_Entry_Type AS Integer The identifier of the dialog entry. For possible value see WI constants. 6-146 TPS1100-Version 1.30...
  • Page 551 AS Double north co-ordinate dHeight AS Double height co-ordinate lPtNrValid AS Logical TRUE if point number is valid lEValid AS Logical TRUE if east co-ordinate is valid lNValid AS Logical TRUE if north co- ordinate is valid TPS1100-Version 1.30 6-147...
  • Page 552 Fetches the running point number and increment for it. Parameters the running point number sPntId the increment for the running point sPntIncr number See Also GSI_SetRunningNr, GSI_GetIndivNr, GSI_SetIndivNr, GSI_IsRunningNr Return-Codes RC_OK successful Example DIM sPntId AS String20 DIM sPntInc AS String20 GSI_GetRunningNr( sPntId, sPntInc ) 6-148 TPS1100-Version 1.30...
  • Page 553 GSI_SetRunningNr( sPntId, sPntInc ) 6.4.8 GSI_ GetIndivNr Description Fetches the individual point number. Declaration GSI_GetIndivNr( sPntId AS String20 ) Remarks Fetches the individual point number. Parameters sPntId The user-defined individual point number. See Also GSI_GetRunningNr, GSI_SetRunningNr, GSI_SetIndivNr, GSI_IsRunningNr TPS1100-Version 1.30 6-149...
  • Page 554 DIM sPntId AS String20 GSI_SetIndivNr( sPntId ) 6.4.10 GSI_IsRunningNr Description Queries if running number is being used. Declaration GSI_IsRunningNr( lRunningOn AS Logical ) Remarks If the running number is active the parameter will forced to TRUE otherwise to FALSE. 6-150 TPS1100-Version 1.30...
  • Page 555 Parameters lSwitch switch for the individual point-number (TRUE = on, FALSE = off ) See Also GSI_GetRunningNr, GSI_SetRunningNr, GSI_GetIndivNr, GSI_SetIndivNr, GSI_IsRunningNr Return-Codes RC_OK successful Example GSI_SetIvPtNrStatus( FALSE ) TPS1100-Version 1.30 6-151...
  • Page 556 If yes it will be executed, otherwise it examines the codelist management if a codelist is selected. If yes then the codelist will be opened, otherwise the standard coding will be activated. Parameters Caption The left caption string of the dialog. 6-152 TPS1100-Version 1.30...
  • Page 557 RC_ABORT_APPL Coding was aborted by pressing of the QUIT-button COD_RC_LIST_ No valid codelist selected NOT_VALID Example See example file „meas.gbs“. 6.4.15 GSI_GetQCodeAvailable Description This routine returns the status for Quick-Coding. Declaration GSI_GetQCodeAvailable(lAvailable As Logical, lEnabled As Logical) TPS1100-Version 1.30 6-153...
  • Page 558 This routine enables or disables the Quick-Coding. It can be only activated if a valid codelist is selected (see GSI_GetQCodeAvailable) Parameters lEnabled TRUE: enable Quick-Coding See Also GSI_GetQCodeAvailable, GSI_ExecQCoding Return-Codes RC_OK successful Example See example file „meas.gbs“. 6.4.17 GSI_ExecQCoding Description Executes the Quick-Coding. 6-154 TPS1100-Version 1.30...
  • Page 559 In: Pressed button. Out: If a Quick-Coding was possible, iButtonId is changed to MMI_NO_KEY, otherwise it is unchanged lNewCode TRUE: Quick-Coding was successful See Also GSI_GetQCodeAvailable, GSI_SetQCodeMode, GSI_SetRecOrder Return-Codes RC_OK successful Example See example files „meas.gbs“ and „meas_od.gbs“.. TPS1100-Version 1.30 6-155...
  • Page 560 This routine returns the recording order for Quick-Coding. If lCodeFirst=TRUE, then the code-block will be recorded before the measurement block. Parameters TRUE: code-block before measurement lCodeFirst block See Also GSI_SetRecOrder, GSI_ExecQCoding Return-Codes successful RC_OK Example See example file „meas_od.gbs“. 6-156 TPS1100-Version 1.30...
  • Page 561 If iPathInfo is set to GSI_EXTERNAL, then sFileName defines the filename i.e. "MeasJob.GSI" and sFilePath defines the file-path, i.e. "A:\\GSI". Parameters iPathInfo Defines where the data are recorded sFileName Valid Filename (8+3 format) sFilePath file-path TPS1100-Version 1.30 6-157...
  • Page 562 If iPathInfo = GSI_INTERFACE, then the measurements will be sent to the RS232 line and the other parameters are not valid. If iPathInfo = GSI_EXTERNAL, then sFileName defines the filename i.e. "MeasJob.GSI" and sFilePath defines the file- path, i.e. "A:\\GSI". 6-158 TPS1100-Version 1.30...
  • Page 563 "A:\\GSI". Parameters iPathInfo Device info (Only GSI_EXTERNAL is valid) sFileName Valid Filename (8+3 format) sFilePath File-path Return-Codes RC_OK Successful termination. See Also GSI_GetDataPath Example The example defines the file “A:\GSI\DataJob.GSI” as new import file. TPS1100-Version 1.30 6-159...
  • Page 564 The example fetches the name and the path of the standard import data file: DIM iPathInfo AS Integer DIM sFileName AS FileName DIM sFilePath AS FilePath GSI_GetDataPath(iPathInfo, sFileName, sFilePath) 6.4.25 GSI_GetWiEntryText Description Get coding text-data from the Theodolite data pool. 6-160 TPS1100-Version 1.30...
  • Page 565 GSI_GetWiEntry( WiIdentification AS Integer, WiEntry AS GSI_WiDlg_Entry_Type ) Remarks This routine is used to fetch data from the Theodolite data pool. All existing wi’s can be fetched (see the description of the WI constants for possible values). TPS1100-Version 1.30 6-161...
  • Page 566 Use a GSI_GetWiEntry() first, to be sure that all values of the GSI_WiDlg_Entry_Type are initialized correctly. See also the example for the definition of a measurement dialog. Save way: GSI_GetWiEntry ( GSI_ID_HR, Wi ) Wi.lValid = TRUE Wi.dValue = 2.12 GSI_SetWiEntry ( GSI_ID_HR, Wi ) 6-162 TPS1100-Version 1.30...
  • Page 567 Recording format Format (GSI_RECFORMAT_GSI , GSI_RECFORMAT_GSI16 ) lEditMask out Mask editable flag See Also GSI_SetRecMask, GSI_DefineRecMaskDlg Example The example uses the GSI_GetRecMask routine to fetch the definition and the format of the recording mask number 2. TPS1100-Version 1.30 6-163...
  • Page 568 2) Only GSI_MAX_REC_WI number of entries may be defined. 3) Only the first 16 characters of sMaskName are valid. Parameters Number of the recording mask. iMaskNr GSI_ACTUAL_RECMASK can be used to set the values of the currently active 6-164 TPS1100-Version 1.30...
  • Page 569 RecWiMask(4) = GSI_ID_HZ GSI_SetRecMask(GSI_ACTUAL_RECMASK, sMaskName, RecWiMask, iRecFormat, lEditMask) 6.4.30 GSI_SetRecMaskNr Description Set the used recording mask. Declaration GSI_SetRecMaskNr(BYVAL iMaskNr AS Integer) Parameters iMaskNr Number of the recording mask. Number must be in the range 1.. GSI_MAX_REC_MASKS. See Also GSI_GetRecMaskNr TPS1100-Version 1.30 6-165...
  • Page 570 This routine is an interactive equivalent to the routines GSI_GetRecMask and GSI_SetRecMask. See Also GSI_GetRecMask, GSI_SetRecMask, Example GSI_DefineRecMaskDlg () 6.4.33 GSI_ManCoordDlg Description Show the manual co-ordinate input dialog. 6-166 TPS1100-Version 1.30...
  • Page 571 For the values iPointType for PointType see table below Point Type Meaning station point GSI_STATION number GSI_INDIV_TG individual target number GSI_RUN_TG running target GSI_BACKSIGHT backside number (analog target, only changed prompts) TPS1100-Version 1.30 6-167...
  • Page 572 Flags can be combined with ‘+’- operator (iFlags = iFlag1 + iFlag2) sHelpText This text is shown, when the help button SHIFT-F1 is pressed and the help functionality of the theodolite is enabled. See Also GSI_ImportCoordDlg Example 6-168 TPS1100-Version 1.30...
  • Page 573 Rules for a valid point: - point number found - E- and N-coordinates (target or station) exists and are valid - if GSI_HEIGHT_MUST is included in iFlags, a valid TPS1100-Version 1.30 6-169...
  • Page 574 Only point number, the co-ordinates will be set to 0. Point point number and -co-ordinates. For further information see the description of GSI_Point_Coord_Type. iFlags defines functionality Valid Flags Meaning GSI_ALLOW_ allows recording and coding GSI_MULTI_ Allows multiple manual coord. entering 6-170 TPS1100-Version 1.30...
  • Page 575 Help text for manual input dialog. Only visible if the help functionality of the theodolite is enabled. sF2Button Text for activating F2 button. sF4Button Text for activating F4 button See Also GSI_ManCoordDlg TPS1100-Version 1.30 6-171...
  • Page 576 Possible values are: Value Meaning GSI_SYS_MDLG_1 Dialog 1 GSI_SYS_MDLG_2 Dialog 2 GSI_SYS_MDLG_3 Dialog 3 iLineNr The number of the line to set. Valid numbers: 1.. GSI_MAX_DLG_LINES iSysParamId Identification of the system parameter. Refer to the chapter 6-172 TPS1100-Version 1.30...
  • Page 577 AS Integer iSysParamId AS Integer ) Remarks This routine fetches the information about the setting of one line in the system measurement dialog. To set a line in the system measurement dialog the routine GSI_SetLineMDlg can be used. TPS1100-Version 1.30 6-173...
  • Page 578 Description Sets the number of the system measurement dialog. Declaration GSI_SetMDlgNr( BYVAL iMDlgNr AS Integer) Remarks Sets the number of the system measurement dialog. The content of these dialogs can by changed by using of DefineMDlg. Parameters 6-174 TPS1100-Version 1.30...
  • Page 579 BYVAL sCaptionRight AS _Token BYVAL sHelpText AS _Token ) Remarks This routine creates and shows the user definable measurement dialog with iFixLines fix lines, the left part of the title bar sCaptionLeft, the caption sCaptionRight, and the help text sHelpText. TPS1100-Version 1.30 6-175...
  • Page 580 GSI_CreateMDlg, GSI_UpdateMDlg and GSI_UpdateMeasurment to execute a measure process. DIM ValidForRec AS Logical DIM RetCodeForMsg AS Integer DIM WaitTime AS Integer DIM iButton AS Integer WaitTime = 10 'ms 'user definition of measurement dialog 'can be placed here 6-176 TPS1100-Version 1.30...
  • Page 581 GSI_SetLineMDlgPar. To add a line of text (e.g. separator line) to the dialog use GSI_SetLineMDlgText. Parameters The number of the line to set. iLineNr Valid numbers: 1.. GSI_MAX_DLG_LINES iSysParamId Identification of the system parameter. Refer to the chapter “Constants for Measurement Dialog Definition” TPS1100-Version 1.30 6-177...
  • Page 582 GSI_SetLineMDlgPar. To add a system parameter to the dialog use GSI_SetLineMDlg. Parameters iLineNr The number of the line to set. Valid numbers: 1.. GSI_MAX_DLG_LINES iParamId Id of the system parameter. sText Contents of the line. See Also GSI_SetLineMDlg GSI_SetLineMDlgPar GSI_CreateMDlg 6-178 TPS1100-Version 1.30...
  • Page 583 GSI_SetLineMDlgText. To add a system parameter to the dialog use GSI_SetLineMDlg. Parameters iLineNr The number of the line to set. Valid numbers: 1.. GSI_MAX_DLG_LINES Id of the application parameter. iApplParamId sLabel Description of parameter on display. TPS1100-Version 1.30 6-179...
  • Page 584 ANGLE vertical angle MMI_FFORMAT_ VANGLE MMI_FFORMAT_ horizontal HZANGLE angle MMI_FFORMAT_ temperature TEMPERATURE See Also GSI_SetLineMDlg GSI_SetLineMDlgText GSI_CreateMDlg Example See also sample file “meas.gbs”. This example uses GSI_SetLineMDlgPar and GSI_SetWiEntry to configure the user definable measurement dialog. 6-180 TPS1100-Version 1.30...
  • Page 585 Theodolite data pool and returns pressed buttons. Parameters iButton Contains pressed button identifier. For details see MMI_GetButton (lAllKeys = TRUE). See Also GSI_CreateMDlg GSI_UpdateMeasurement Example See example GSI_CreateMDlg and example file „meas.gbs“. TPS1100-Version 1.30 6-181...
  • Page 586 AS Integer, iWaitTime AS Integer, lValidForRec AS Logical, iRetCodeForMsg AS Integer, lChkIncRangeNow AS Logical ) Remarks This function updates the measurement values in the Theodolite data pool. The data are the incline program, angles, distances, time, reflector height. 6-182 TPS1100-Version 1.30...
  • Page 587 TRUE: check incline range immediate See Also GSI_CreateMDlg GSI_UpdateMDlg GSI_DeleteDialog Example See example GSI_CreateMDlg and example file „meas.gbs“. 6.4.46 GSI_Measure Description Measure and registration dialog. Declaration GSI_Measure ( ) Remarks This procedure opens the measure and registration dialog. Parameters none TPS1100-Version 1.30 6-183...
  • Page 588 An automatic start of distance tracking can be started on several conditions, i.e. by Quick-Coding, GSI_ExecuteAutoDist or by pressing buttons in the FNC-menu. Tracking can be terminated by the instrument itself due several reasons, i.e. for laser security reasons (US-configuration) 6-184 TPS1100-Version 1.30...
  • Page 589 Parameters RecList recording list eProgFunction program flag in the wi's (TRUE = ON, FALSE = OFF) bCheckStdMask testing the standard recording mask bIncAndSetRunPt in increment the point number Return Codes RC_OK Success RC_IVRESULT registration failure See Also TPS1100-Version 1.30 6-185...
  • Page 590 GeoBASIC Reference Manual 6. System Functions Example Record RecList. DIM RecList AS GSI_REC_ID_LIST ' initialize RecList with adequate values GSI_RecordRecMask ( RecList, TRUE, TRUE, TRUE ) 6-186 TPS1100-Version 1.30...
  • Page 591 Get information about the system. CSV_GetInstrumentFamily CSV_GetInstrumentName Get the L specific instrument name. EICA CSV_GetInstrumentNo Get the instrument number. CSV_GetLaserPlummet Returns the laser plummet state CSV_GetLockStatus Gets the current state of the locking facility. CSV_GetLRStatus Returns the status of the system. TPS1100-Version 1.30 6-187...
  • Page 592 Switch on / off the light guide. Sets the current state of the locking CSV_SetLockStatus facility. CSV_SetPrismType Sets the used prism CSV_SetTargetType Set the target type for distance measurements. CSV_SysCall Call a system function. CSV_SysCallAvailable Check if system function is available. 6-188 TPS1100-Version 1.30...
  • Page 593 AS Integer minutes as a 2 digit number iSecond AS Integer seconds as a 2 digit number END Time_Type Date_Time_Type Date AS Date_Type date (as defined above) Time AS Time_Type time (as defined above) END Date_Time_Type TPS1100-Version 1.30 6-189...
  • Page 594 Information about the system Description This data structure is used to store information about the hardware. Further information about the hardware can be obtained by your local Leica representative. TYPE TPS_Fam_Type iClass AS Integer The class of the system. Values:...
  • Page 595 4, 1, 3, DT.Time.iMinute, TRUE) MMI_PrintInt( 8, 1, 3, DT.Time.iSecond, TRUE) ELSEIF ERR = RC_UNDEFINED THEN MMI_PrintStr( 0, 0, "Date and time not set.", TRUE ) ELSE MMI_PrintStr( 0, 0, "Unexpected error code.", TRUE ) END IF TPS1100-Version 1.30 6-191...
  • Page 596 Return Codes none See Also CSV_GetInstrumentNo, CSV_GetInstrumentFamily Example The example uses the CSV_GetInstrumentName routine to get the instrument name and displays it. DIM sName AS String30 CSV_GetInstrumentName ( sName ) MMI_PrintStr ( 0, 0, sName, TRUE ) 6-192 TPS1100-Version 1.30...
  • Page 597 Get information about the system. Declaration CSV_GetInstrumentFamily( Family AS TPS_Fam_Type ) Remarks The CSV_GetInstrumentFamily routine returns the class and the instrument type of the system (see description of the data structure TPS_Fam for return values). TPS_Sim Always sets Familiy.lSimulator to TRUE. TPS1100-Version 1.30 6-193...
  • Page 598 Delivers the version of the simulator. Parameters value of the Release number can be in iRelease the range from 0 to 99 iVersion value of the version number can be in the range from 0 to 99 See Also 6-194 TPS1100-Version 1.30...
  • Page 599 Integer, iVersion as Integer, iSubVersion as Integer ) Remarks This function returns the release version of the running GeoB ASIC interpreter. Parameters iRelease Release number iVersion Version Number iSubVersion Subversion number Return-Codes RC_OK Successful termination. TPS1100-Version 1.30 6-195...
  • Page 600 Whenever the system starts up, the system time is reset. Parameters iRefTime The reference time. iElapse out The difference between iRefTime and the system time. The difference is returned in [ms]. See Also CSV_GetSysTime, CSV_GetDateTime 6-196 TPS1100-Version 1.30...
  • Page 601 CSV_GetLRStatus( iLRStatus AS Integer ) Remarks The routine CSV_GetLRStatus returns the mode of the system. The system can either be in local or in Remote mode. For Release 1.0 this function always delivers local mode as an answer. TPS1100-Version 1.30 6-197...
  • Page 602 Parameters iLight Guide light intensity Value Meaning CSV_EGL_OFF Switching off CSV_EGL_LOW Low intensity CSV_EGL_MID Middle intensity CSV_EGL_HIGH High intensity Return Codes RC_SYSBUSY EDM is busy. Guide light cannot be switched. RC_NOT_IMPL Guide light Hardware is not available 6-198 TPS1100-Version 1.30...
  • Page 603 When starting the positioning the calling application has to take care that a valid inclination plane is available for an angle measure, as it can normally not be redone during positioning. The positioning is done with the planes valid at the beginning of TPS1100-Version 1.30 6-199...
  • Page 604 When starting the positioning the calling application has to take care that a valid inclination plane is available for an angle measure, as it can normally not be redone during positioning. 6-200 TPS1100-Version 1.30...
  • Page 605 Sets the current state of the locking facility. CSV_SetLockStatus Declaration (BYVAL lOn AS Logical ) Remarks It switches the locking facility on or off. Parameters Switches on / off the locking facility (TRUE = on, FALSE = off) TPS1100-Version 1.30 6-201...
  • Page 606 Locking is switched on. Return Codes RC_FATAL fatal error RC_NOT_IMPL if ATR hardware is not available system abort RC_ABORT See Also CSV_GetLockStatus, CSV_LockIn, CSV_LockOut Example Perform an absolute positioning. DIM l AS Logical CSV_SetLockStatus( l ) ' queries locking 6-202 TPS1100-Version 1.30...
  • Page 607 Error at ATR AUT_RC_DETECTOR_ERROR AUT_RC_NO_TARGET No target at the detection range AUT_RC_BAD_ENVIRONMENT Bad environment at the detection range (bad light…) RC_NOT_IMPL if ATR hardware is not available See Also CSV_GetLockStatus, CSV_SetLockStatus, CSV_LockOut Example This example starts locking. CSV_LockIn( ) TPS1100-Version 1.30 6-203...
  • Page 608 Switches on / off the ATR facility (TRUE = on, FALSE = off) Return Codes RC_FATAL fatal error RC_ABORT system abort RC_NOT_IMPL if ATR hardware is not available Example Perform an absolute positioning. CSV_SetATRStatus( TRUE ) ' switches ATR on 6-204 TPS1100-Version 1.30...
  • Page 609 This routine delay using the operating system, that means that other Theodolite tasks can run during the delay (It is not a busy waiting). Note Avoid busy waiting using FOR - or WHILE loops. TPS_Sim Delay resolution is one second. iDelay < 500 means no delay TPS1100-Version 1.30 6-205...
  • Page 610 Parameters iTarget Target type Type Valid target Meaning types CSV_WITH_ With reflector REFLECTOR Without reflector CSV_WITHOUT _REFLECTOR Return-Codes RC_OK Successful termination. RC_IVPARAM Instrument don’t support this target type 6-206 TPS1100-Version 1.30...
  • Page 611 Target type Type Valid target Meaning types CSV_WITH_ With reflector REFLECTOR CSV_WITHOUT Without reflector _REFLECTOR Return-Codes RC_OK Successful termination. CSV_ SetTargetType, BAP_SetMeasPrg, BAP_GetMeasPrg Example The example fetches the target type. DIM iTargetType AS Integer CSV_GetTargetType(iTargetType) TPS1100-Version 1.30 6-207...
  • Page 612 The example sets the 360 degrees prism. BAP_PRISM_360 CSV_SetPrismType( 6.5.27 CSV_GetPrismType Description Returns the used prism. Declaration CSV_GetPrismType(iPrism as Integer) Remarks This routine returns the used prism iPrism. Parameters iPrism out Used prism Return-Codes RC_OK Successful termination. 6-208 TPS1100-Version 1.30...
  • Page 613 CSV_GetLaserPlumet, CSV_GetInstrumentFamily 6.5.29 CSV_GetLaserPlummet Description Returns the laser plummet state. Declaration CSV_GetLaserPlummet( lOn as Logical ) Remarks This function returns the state of the optional laser plummet. Parameters out TRUE: plummet is switched on Return-Codes RC_OK Successful termination. TPS1100-Version 1.30 6-209...
  • Page 614 The example checks if an alternative task was running. CSV_CheckAltUserTask( l ) IF l THEN send("AltUserTask: was running") ELSE send("AltUserTask: was NOT running") END IF CSV_ResetAltUserTask( ) 6.5.31 CSV_ResetAltUserTask Description Resets the “alternative user-task was running” flag. 6-210 TPS1100-Version 1.30...
  • Page 615 See description of the system functions and system events in the appendix H. Parameters System function or system event Return-Codes RC_OK Successful termination. No function defined to handle the event RC_IVPARAM RC_NOT_IMPL System function not available TPS1100-Version 1.30 6-211...
  • Page 616 Parameters System function or system event. lAvailable out TRUE: System function is available or function (dialog, menu, macro, application) to handle the event is defined and available. Return-Codes Successful termination. RC_OK 6-212 TPS1100-Version 1.30...
  • Page 617 CSV_LibCallAvailable Example See IAC.GBS and IAC2.GBS for an example. 6.5.35 CSV_LibCallAvailable Description Check if the GeoB routine from another program is available. ASIC Declaration CSV_LibCallAvailable( BYVAL PrgName AS String255, BYVAL FuncName AS String255, lAvailable AS Logical ) TPS1100-Version 1.30 6-213...
  • Page 618 Usually this means that it checks if the other program is loaded and the specified entry point exists. Parameters PrgName Program name FuncName Function name lAvailable out Routine is available Return-Codes RC_OK Successful termination. CSV_LibCall Example See IAC.GBS and IAC2.GBS for an example. 6-214 TPS1100-Version 1.30...
  • Page 619 { AddOperator Term } AddOperator ( "+" | "-" ) Term Factor { MultOperator Factor } MultOperator ( "*" | "/" | "\" | "MOD" ) Factor Primary [ "^" Factor ] Primary ( Variable | Constant | FunctionCall TPS1100-Version 1.30...
  • Page 620 TPS1100-Version 2.10...
  • Page 622 6.1.17 MMI_DeleteButton ..............6-27 6.1.18 MMI_PrintStr................6-28 6.1.19 MMI_PrintTok ................6-29 6.1.20 MMI_PrintVal................6-30 6.1.21 MMI_PrintInt ................6-32 6.1.22 MMI_InputStr ................6-33 6.1.23 MMI_InputVal ................6-35 6.1.24 MMI_InputInt ................6-38 6.1.25 MMI_InputList................6-40 6.1.26 MMI_FormatVal................. 6-42 6.1.27 MMI_WriteMsg ................6-44 TPS1100-Version 2.10...
  • Page 623 TPS1100-Version 2.10...
  • Page 625 6.1.17 MMI_DeleteButton ..............6-27 6.1.18 MMI_PrintStr................6-28 6.1.19 MMI_PrintTok ................6-29 6.1.20 MMI_PrintVal................6-30 6.1.21 MMI_PrintInt ................6-32 6.1.22 MMI_InputStr ................6-33 6.1.23 MMI_InputVal ................6-35 6.1.24 MMI_InputInt ................6-38 6.1.25 MMI_InputList................6-40 6.1.26 MMI_FormatVal................. 6-42 6.1.27 MMI_WriteMsg ................6-44 TPS1100-Version 2.10...
  • Page 626 6.1.50 MMI_SetTempUnit..............6-67 6.1.51 MMI_GetTempUnit ..............6-68 6.1.52 MMI_SetDateFormat ..............6-69 6.1.53 MMI_GetDateFormat ..............6-70 6.1.54 MMI_SetTimeFormat ..............6-70 6.1.55 MMI_GetTimeFormat ..............6-71 6.1.56 MMI_SetCoordOrder..............6-72 6.1.57 MMI_GetCoordOrder ..............6-73 6.1.58 MMI_SetLanguage ..............6-73 6.1.59 MMI_GetLanguage..............6-74 6.1.60 MMI_GetLangName..............6-75 TPS1100-Version 2.10...
  • Page 627 6.3.8 TMC_QuickDist................ 6-110 6.3.9 TMC_GetSimpleMea..............6-114 6.3.10 TMC_Get/SetAngleFaceDef............. 6-117 6.3.11 TMC_Get/SetHzOffset ............. 6-118 6.3.12 TMC_Get/SetDistPpm .............. 6-119 6.3.13 TMC_Get/SetHeight ..............6-119 6.3.14 TMC_Get/SetRefractiveCorr ............ 6-120 6.3.15 TMC_Get/SetRefractiveMethod ..........6-120 6.3.16 TMC_Get/SetStation..............6-121 6.3.17 TMC_IfDistTapeMeasured ............6-121 6.3.18 TMC_SetHandDist..............6-122 TPS1100-Version 2.10...
  • Page 628 6.4.11 GSI_SetIvPtNrStatus ..............6-147 6.4.12 GSI_IncPNumber..............6-148 6.4.13 GSI_Coding ................6-148 6.4.14 GSI_SelectCode ................ 6-149 6.4.15 GSI_GetQCodeAvailable............6-149 6.4.16 GSI_SetQCodeMode ..............6-150 6.4.17 GSI_ExecQCoding..............6-150 6.4.18 GSI_SetRecOrder..............6-152 6.4.19 GSI_GetRecOrder ..............6-152 6.4.20 GSI_QuickSet ................6-153 6.4.21 GSI_SetRecPath................ 6-153 TPS1100-Version 2.10...
  • Page 629 6.4.48 GSI_RecordRecMask..............6-181 6.5 Central Service Functions CSV............... 6-183 6.5.1 Summarizing Lists of CSV Types and Procedures ....6-183 6.5.2 Data Structures for the Central Service Functions ....6-185 6.5.3 CSV_GetDateTime ..............6-187 6.5.4 CSV_GetTemperature............... 6-188 6.5.5 CSV_GetInstrumentName ............6-188 TPS1100-Version 2.10...
  • Page 630 6.5.25 CSV_GetTargetType ..............6-203 6.5.26 CSV_SetPrismType ..............6-204 6.5.27 CSV_GetPrismType..............6-204 6.5.28 CSV_SetLaserPlummet............. 6-205 6.5.29 CSV_GetLaserPlummet............6-205 6.5.30 CSV_CheckAltUserTask ............6-206 6.5.31 CSV_ResetAltUserTask............6-206 6.5.32 CSV_SysCall ................6-207 6.5.33 CSV_SysCallAvailable ............. 6-208 6.5.34 CSV_LibCall................6-209 6.5.35 CSV_LibCallAvailable ............. 6-209 TPS1100-Version 2.10...
  • Page 631 Creates a menu item on the Theodolite menu. MMI_CreateMenuItem MMI_CreateTextDialog Create and show a text dialog. MMI_DeleteButton Delete a button from a dialog. MMI_DeleteDialog Deletes a dialog. MMI_DeleteGBMenu Deletes a menu MMI_DrawBusyField Shows or hides the Busy-Icon MMI_DrawCircle Draw a circle / ellipse. TPS1100-Version 2.10...
  • Page 632 Print a token on a text dialog. MMI_PrintTok MMI_PrintVal Print a value on a text dialog. MMI_SelectGBMenuItem Select a menu item MMI_SetAngleRelation Set the angle relationship. MMI_SetAngleUnit Set the displayed unit of angle. MMI_SetCoordOrder Set the co-ordinate order. TPS1100-Version 2.10...
  • Page 633 6.1.2.2 sLine – Display line Description This type is used to define a string with 29 characters, which is necessary to print variable strings on the display. The length depends on the actual display width, which is 29 for TPS1100 instruments. TPS1100-Version 2.10...
  • Page 634 The name of the global function or subroutine to be called. iMenuNum Defines in which menu the menu-entry is generated. There are three possible menus where a menu item can be added. For multiple menu items the menus can be combined with ‘+’-operator. 6-10 TPS1100-Version 2.10...
  • Page 635 "START THE PROGRAM" ) 6.1.4 MMI_CreateGBMenu Description Creates a menu. Declaration MMI_CreateGBMenu( BYVAL sMenuName AS _Token, iMenuId AS Integer ) Remarks This routine creates an empty menu and the caption sMenuName. The function MMI_CreateGBMenuItem adds items to a menu. TPS1100-Version 2.10 6-11...
  • Page 636 MENU.GBS CONST MHELP = "Help for measurement type.." DIM iMenu AS Integer ' menu identifier DIM iSelection AS Integer ' selected item DIM iButton AS Integer ' used button 'Create main menu MMI_CreateGBMenu("MEASUREMENT TYPE", iMenu) 6-12 TPS1100-Version 2.10...
  • Page 637 This function adds one menu item to an existing menu iMenuId. This item will be displayed as the last item. Parameters iMenuId in Menu identifier sMenuItemName in Displayed text sHelpText in Help text; only visible if the help functionality of theodolite is enabled Return-Codes TPS1100-Version 2.10 6-13...
  • Page 638 The maximal number of menus for a GeoB program ASIC is 5. The maximal number of items / menu is 49. The maximal number of items over all menus plus menus is 254. Parameters sMenuName The caption of the menu. 6-14 TPS1100-Version 2.10...
  • Page 639 ' generate menu item names MMI_GetLanguage(iLangNr, sLangName) sMenuItemName1 = "Polygon in " + sLangName sMenuItemName2 = "Border point in " + sLangName ' Create menu items - all items use ' the same help text MMI_CreateGBMenuItemStr(iMenu, sMenuItemName1, MHELP) MMI_CreateGBMenuItemStr(iMenu, sMenuItemName2, MHELP) TPS1100-Version 2.10 6-15...
  • Page 640 Parameters iMenuId in Menu identifier in Displayed text sMenuItemName sHelpText in Help text; only visible if the help functionality of the theodolite is enabled Return-Codes Successful termination. RC_OK BAS_MENU_ Bad iMenuId ID_INVALID 6-16 TPS1100-Version 2.10...
  • Page 641 Select a menu item. Declaration MMI_SelectGBMenuItem( BYVAL iMenuId AS Integer, BYVAL sCaptionLeft AS _Token, iSelItem AS Integer, iButtonId AS Integer ) Remarks This function shows and executes a menu iMenuId and returns the selected item iSelItem or pressed button iButtonId. TPS1100-Version 2.10 6-17...
  • Page 642 Adds a button to a menu. Declaration MMI_AddGBMenuButton( BYVAL iMenuId AS Integer, BYVAL iButtonId AS Integer, BYVAL sCaption AS _Token ) Remarks This function adds a button with the identifier iButtonId to the menu iMenuId and shows the caption sCaption. 6-18 TPS1100-Version 2.10...
  • Page 643 If MMI_CreateTextDialog is called while already a text dialog or a measurement dialog exists, the existing dialog (together with all attached buttons) is deleted and the new dialog is created. TPS1100-Version 2.10 6-19...
  • Page 644 This text is shown, when the help button SHIFT-F1 is pressed and the help functionality of the theodolite is enabled. Return-Codes Successful termination. RC_OK See Also MMI_DeleteDialog, MMI_CreateGraphDialog, GSI_CreateMDlg, MMI_PrintVal, MMI_PrintStr, MMI_PrintTok, MMI_PrintInt, MMI_InputVal, MMI_InputStr, MMI_InputInt, MMI_InputList 6-20 TPS1100-Version 2.10...
  • Page 645 Only a text dialog or a measurement dialog is valid at a time. They cannot be defined at the same time. A graphic dialog overrides a text or measurement dialog but does not delete the definition of it. TPS1100-Version 2.10 6-21...
  • Page 646 By deleting the dialog all user defined buttons added with MMI_AddButton are deleted as well. Return-Codes RC_OK Successful termination. BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_CreateTextDialog, MMI_CreateGraphDialog, GSI_CreateMDlg 6-22 TPS1100-Version 2.10...
  • Page 647 It only checks the keyboard buffer. Parameters lKeyPressed lKeyPressed = TRUE is returned, if a valid button was pressed. Otherwise the value of lKeyPressed is FALSE. Return-Codes RC_OK Successful termination. BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_AddButton MMI_GetButton TPS1100-Version 2.10 6-23...
  • Page 648 Out The identifier of the pressed button. For values of iButtonId see the table below. lAllKeys Determines which keys exit the routine. If lAllKeys = TRUE any valid pressed key exit the routine, otherwise only normal ones. 6-24 TPS1100-Version 2.10...
  • Page 649 "0..9", no MMI_NUM0_KEY.. no return focus MMI_NUM9_KEY "CE" MMI_UNASS_KEY no return cursor keys MMI_UP_KEY, no return MMI_DOWN_KEY, MMI_RIGHT_KEY, MMI_LEFT_KEY Return-Codes RC_OK Successful termination. No dialog exists for this operation. BAS_NO_DLG_EXIST See Also MMI_AddButton, MMI_CheckButton TPS1100-Version 2.10 6-25...
  • Page 650 Then the functionality applies to the graphics dialog. The added buttons can be deleted with the routine MMI_DeleteButton while the dialog exists. Closing the dialog with MMI_DeleteDialog deletes all buttons attached to this dialog. 6-26 TPS1100-Version 2.10...
  • Page 651 The routine MMI_DeleteButton deletes the button with the Identifier iButtonId from the actual dialog. Only a button that was added with MMI_AddButton can be deleted. Closing the dialog with MMI_DeleteDialog deletes all buttons attached to this dialog. TPS1100-Version 2.10 6-27...
  • Page 652 Too long text strings are truncated, illegal co-ordinates are adjusted. Note A text dialog must already exist. Only display length number of character will be displayed, hence 29. Parameters iColumn in The horizontal position (0..28) 6-28 TPS1100-Version 2.10...
  • Page 653 This routine may be used instead of MMI_PrintStr to support internationalisation of multiple language applications. Note A text dialog must already exist. Parameters iColumn in The horizontal position (0..28) iLine in The vertical position (0..number of lines defined with MMI_CreateTextDialog) TPS1100-Version 2.10 6-29...
  • Page 654 "-----" are displayed. Too long value strings are truncated, illegal co- ordinates are adjusted. If iMode = MMI_DIM_ON, a dimension field is automatically displayed when the type of dVal has units. 6-30 TPS1100-Version 2.10...
  • Page 655 No dialog exists for this operation. See Also MMI_PrintInt , MMI_InputVal Example The example uses the MMI_PrintVal routine to print the value of TestVal as distance (with corresponding dimension) in the first line on row 2 of the currently open text dialog. TPS1100-Version 2.10 6-31...
  • Page 656 For double values a separate routine (MMI_PrintVal) exists. lValid Determines if the value should be shown as valid. If lValid = TRUE the value iVal is displayed, otherwise the symbols for invalid values are displayed. 6-32 TPS1100-Version 2.10...
  • Page 657 Text is not edited and the routine exits. The string can be edited by pressing αEDIT or a numerical key. If iMode = MMI_DEFAULT_MODE the keys ESC, ENTER, TPS1100-Version 2.10 6-33...
  • Page 658 The identifier of the pressed valid button to exit the edit process. Return-Codes RC_OK Successful termination. BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_PrintStr 6-34 TPS1100-Version 2.10...
  • Page 659 The value within the bounds dMin and dMax can be edited by pressing EDIT or the numerical block keys. If iMode = MMI_DEFAULT_MODE the keys ESC, ENTER, ON/OFF or any user defined button (added with MMI_AddButton) terminates TPS1100-Version 2.10 6-35...
  • Page 660 Modes can be added, i.e. MMI_SPECIALKEYS_ON + MMI_DIM_ON dVal inout The value to edit. Use this routine to edit double (and equal to double) values. For integer values a separate routine (MMI_InputInt) exists. 6-36 TPS1100-Version 2.10...
  • Page 661 0..1000. CONST MODE = MMI_DEFAULT_MODE 'define editmode DIM TestVal AS Distance DIM iButton AS Integer DIM lValid AS Logical lValid = FALSE MMI_ InputVal( 2, 1, 8, -1, 0, 1000, MODE, TestVal, lValid, iButton ) TPS1100-Version 2.10 6-37...
  • Page 662 A text dialog must already exist. Parameters iColumn The horizontal position (0..28). iLine The vertical position (0..number of lines defined with MMI_CreateTextDialog). iLen The length of the value plus the sign. iMin The lower and upper bounds. iMax 6-38 TPS1100-Version 2.10...
  • Page 663 2 of the actual text dialog. The entered values must lie in the range 0..1000. CONST MODE = MMI_DEFAULT_MODE 'define editmode DIM iTestVal AS Integer DIM iButton AS Integer DIM lValid AS Logical lValid = FALSE MMI_InputInt( 2,1,5,0,1000, MODE,iTestVal,lValid,iButton ) TPS1100-Version 2.10 6-39...
  • Page 664 MMI_InputList too. Note A text dialog must already exist. Parameters The horizontal position (0..28). iColumn iLine The vertical position (0..number of lines defined with MMI_CreateTextDialog). iLen The displayed length of the list elements. 6-40 TPS1100-Version 2.10...
  • Page 665 The example uses the MMI_InputList routine to get the value of the selected list element (the selected line) of a list field displayed in the second line on row 2 of the actual text dialog. The first displayed line is the line with the number Index. TPS1100-Version 2.10 6-41...
  • Page 666 AS String30 ) Remarks If lValid = TRUE then this routine converts a double value (or values with equal type, e.g. dimension) to a text string, otherwise the symbols for invalid values are returned. The returned string 6-42 TPS1100-Version 2.10...
  • Page 667 The dimension field is not included. iDecimals in The number of decimals. If iDecimals = -1 the number of decimals set by the system is taken. TPS1100-Version 2.10 6-43...
  • Page 668 BYVAL iMsgType AS Integer, iRetKey AS Integer ) Remarks The function opens a message window on the display, which shows the text specified by sText. Lines that are too long to fit into the window are split automatically. 6-44 TPS1100-Version 2.10...
  • Page 669 MMI_MB_OK MMI_MB_ABORT MMI_MB_OK_ABORT MMI_MB_ABORT_RETRY_CONT MMI_MB_YES_NO_ABORT MMI_MB_YES_NO MMI_MB_RETRY_ABORT MMI_MB_ABORT_CONT MMI_MB_ABORT_RETRY_IGNORE MMI_MB_ABORT_IGNORE Returns the button pressed, i. e. iRetKey iRetKey: MMI_MB_RET_OK MMI_MB_RET_ABORT MMI_MB_RET_RETRY MMI_MB_RET_CONT MMI_MB_RET_YES MMI_MB_RET_NO MMI_MB_RET_IGNORE TPS1100-Version 2.10 6-45...
  • Page 670 This routine is different to MMI_WriteMsg in such a way that sText may be computed. But, of course, sText will not be entered into the text token data base. Parameters sText Text string to be displayed in a message box. 6-46 TPS1100-Version 2.10...
  • Page 671 MMI_MB_OK_ABORT MMI_MB_ABORT_RETRY_CONT MMI_MB_YES_NO_ABORT MMI_MB_YES_NO MMI_MB_RETRY_ABORT MMI_MB_ABORT_CONT MMI_MB_ABORT_RETRY_IGNORE MMI_MB_ABORT_IGNORE iRetKey Returns the button pressed, i. e. iRetKey: MMI_MB_RET_OK MMI_MB_RET_ABORT MMI_MB_RET_RETRY MMI_MB_RET_CONT MMI_MB_RET_YES MMI_MB_RET_NO MMI_MB_RET_IGNORE Return-Codes Successful termination. RC_OK BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_WriteMsg TPS1100-Version 2.10 6-47...
  • Page 672 A graphics dialog has to be set up before. Parameters x-co-ordinate of the beginning of the line [pixel] y-co-ordinate of the beginning of the line [pixel] x-co-ordinate of the end of the line [pixel] y-co-ordinate of the end of the line [pixel] 6-48 TPS1100-Version 2.10...
  • Page 673 BYVAL iBrush AS Integer, BYVAL iPen AS Integer ) Remarks This function draws a rectangle in the graphic field using the fill- style iBrush and the line-style iPen. Note A graphics dialog has to be set up before. TPS1100-Version 2.10 6-49...
  • Page 674 No graphics dialog exists for this operation. See Also MMI_CreateGraphDialog, MMI_DrawLine, MMI_DrawCircle, MMI_DrawText Example The example uses the MMI_DrawRect routine to draw a rectangle with the specified attributes. MMI_ DrawRect( 10, 10, 100, 50, MMI_NO_BRUSH, MMI_PEN_BLACK ) 6-50 TPS1100-Version 2.10...
  • Page 675 [pixel] in Radius of the circle, horizontal radius [pixel] in Radius of the circle, vertical radius [pixel] in Fill-style for the rectangle; possible values: iBrush MMI_BRUSH_WHITE MMI_BRUSH_BLACK MMI_NO_BRUSH in Line-style; possible values: iPen MMI_PEN_WHITE MMI_PEN_BLACK MMI_PEN_DASHED TPS1100-Version 2.10 6-51...
  • Page 676 [pixel] y-co-ordinate at the upper left-hand corner of the first character [pixel] sText Pointer to the text string iAttr Text attribute normal text MMI_TXT_NORMAL MMI_TXT_INVERSE inverted text 6-52 TPS1100-Version 2.10...
  • Page 677 DrawText( 10, 10, sOutput, MMI_TXT_NORMAL, MMI_PEN_BLACK ) 6.1.33 MMI_DrawBusyField Description Shows or hides the Busy-Icon. Declaration MMI_DrawBusyField( BYVAL lVisible as Logical ) Remarks This function controls the Busy-Icon (Hourglass). Parameters lVisible TRUE: Icon is visible Return-Codes RC_OK Successful termination. TPS1100-Version 2.10 6-53...
  • Page 678 The example uses the MMI_BeepNormal to sound a signal beep. MMI_ BeepNormal() 6.1.35 MMI_StartVarBeep Description Start beep sequences with configurable interrupts. Declaration MMI_StartVarBeep( BYVAL iRate AS Integer ) Remarks The function creates sequences of beeps with configurable interrupts. 6-54 TPS1100-Version 2.10...
  • Page 679 A continuous signal beep will be switched off immediately. Parameters switches the beep on or off meaning the beep is switched off generally FALSE TRUE beep is on; the functions MMI_BeepNormal etc. will only work if the beep is switched on. Return-Codes RC_OK Successful termination. TPS1100-Version 2.10 6-55...
  • Page 680 Declaration MMI_GetVarBeepStatus( lOn AS Logical ) Remarks The function retrieves the state of the general signal beep switch. Parameters state of the switch meaning FALSE TRUE Return-Codes RC_OK Successful termination. See Also MMI_BeepNormal, MMI_BeepLong, MMI_BeepAlarm, MMI_StartVarBeep, MMI_SwitchVarBeep 6-56 TPS1100-Version 2.10...
  • Page 681 FALSE Key is switched off generally TRUE Key is active Return-Codes RC_OK Successful termination. See Also BAP_MeasRec, BAP_MeasDistAng Example The example uses the MMI_SwitchAFKey to disable the aF… key. MMI_ SwitchAFKey( FALSE ) TPS1100-Version 2.10 6-57...
  • Page 682 This is the normal state during a measurement dialog with continuos measurements. Return-Codes RC_OK Successful termination. See Also BAP_MeasRec BAP_MeasDistAng Example The example uses the MMI_SwitchIconsBeep to disable the icons and beeps. MMI_ SwitchIconsBeep( FALSE ) 6-58 TPS1100-Version 2.10...
  • Page 683 Relationship of the horizontal angle; valid values: MMI_HANGLE_CLOCKWISE MMI_HANGLE_ANTICLOCKWISE MMI_HANGLE_CLOCKWISE_SOUTH MMI_HANGLE_BEARING Return Codes RC_OK Successful termination. The function has been called with an RC_IVPARAM invalid parameter See Also MMI_GetAngleRelation Example Set the angle relations (with internal default values). MMI_SetAngleRelation( MMI_VANGLE_IN_PERCENT, MMI_HANGLE_CLOCKWISE) TPS1100-Version 2.10 6-59...
  • Page 684 This function sets the vertical angle mode. Normally (lAngleFree=FALSE), the vertical angle is fix if there is a valid distance available. If lAngleFree=TRUE, the vertical angle will be updated including all corresponding values (slope distance, vertical distance, coordinates etc) 6-60 TPS1100-Version 2.10...
  • Page 685 If iDigits is greater than the maximal number it will be reset to it without notifying the user. A negative value of iDigits is not allowed. Note The maximal number of decimal digits depends on the Theodolite class. TPS1100-Version 2.10 6-61...
  • Page 686 MMI_ANGLE_GON MMI_ANGLE_DEC MMI_ANGLE_SEXADEC MMI_ANGLE_MIL MMI_ANGLE_PERCENT don’t care Return Codes RC_OK Successful termination. RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetAngleUnit Example Set the angle unit. MMI_SetAngleUnit( MMI_ANGLE_GON, 3 ) 6-62 TPS1100-Version 2.10...
  • Page 687 If iDigits is greater than the maximal number it will be reset to it without notifying the user. A negative value of iDigits is not allowed. Note The maximal number of decimal digits depends on the Theodolite class TPS1100-Version 2.10 6-63...
  • Page 688 MMI_DIST_METER MMI_DIST_FOOT MMI_DIST_FOOT_INCH MMI_DIST_US_FOOT MMI_DIST_US_FOOT_INCH MMI_DIST_MM MMI_DIST_INCH Return Codes RC_OK Successful termination. RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetDistUnit Example Set the distance unit. MMI_SetDistUnit( MMI_DIST_METER, 4 ) 6-64 TPS1100-Version 2.10...
  • Page 689 This function sets the display unit for pressure. Fields already displayed are not updated. If iDigits is greater than 1 it will be reset to it without notifying the user. A negative value of iDigits is not allowed. TPS1100-Version 2.10 6-65...
  • Page 690 MMI_PRESS_MBAR MMI_PRESS_MMHG MMI_PRESS_INCHHG MMI_PRESS_HPA MMI_PRESS_PSI Return Codes RC_OK Successful termination. The function has been called with an RC_IVPARAM invalid parameter See Also MMI_GetPressUnit Example Set the pressure unit. MMI_SetPressUnit( MMI_PRESS_MBAR, 1 ) 6-66 TPS1100-Version 2.10...
  • Page 691 This function sets the display unit for temperature. Fields already displayed are not updated. If iDigits is greater than 1 it will be reset to it without notifying the user. A negative value of iDigits is not allowed. TPS1100-Version 2.10 6-67...
  • Page 692 6.1.51 MMI_GetTempUnit Description Return the currently displayed unit of temperature. Declaration MMI_GetTempUnit(iUnit AS Integer, iDigits AS Integer) Remarks This function returns the current unit of temperature. Parameters iUnit Specified unit of temperature iDigits Number of decimal places. 6-68 TPS1100-Version 2.10...
  • Page 693 Existing fields remain unchanged. Parameters iFormat in Specified date format; possible values: value meaning MMI_DATE_EU European: DD.MM.YY MMI_DATE_US MM/DD/YY MMI_DATE_JP Japanese: YY/MM/DD Return Codes RC_OK Successful termination. RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetDateFormat TPS1100-Version 2.10 6-69...
  • Page 694 MMI_SetTimeFormat(BYVAL iFormat AS Integer) Remarks This function sets the format in which the time is to be displayed. Existing fields remain unchanged. Parameters iFormat in Specified time format; possible values: value meaning MMI_TIME_12H 12 hour display MMI_TIME_24H 24 hour display 6-70 TPS1100-Version 2.10...
  • Page 695 This function retrieves the format used to display the time. Parameters iFormat Specified time format Return Codes RC_OK Successful termination. The function has been called with an RC_IVPARAM invalid parameter See Also MMI_SetTimeFormat Example Get the time format. DIM iFormat AS Integer MMI_GetTimeFormat( iFormat ) TPS1100-Version 2.10 6-71...
  • Page 696 MMI_COORD_N_E Order North East Order East North MMI_COORD_E_N Return Codes Successful termination. RC_OK RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetCoordOrder Example Set the co-ordinate order (internal default value). MMI_SetCoordOrder( MMI_COORD_N_E ) 6-72 TPS1100-Version 2.10...
  • Page 697 Remarks This function sets the current language. All displayed text are immediately shown in the new language. Parameters iLanguageNr in Specifies the language number; possible values: Value Meaning MMI_REF_LANGUAGE Reference language (English) = 1 Language MMI_MAX_LANGUAGE numbers TPS1100-Version 2.10 6-73...
  • Page 698 This function returns the current language and the associated character symbols. Parameters iLangNr Language number sLangName Language description Return Codes Successful termination. RC_OK See Also MMI_SetLanguage Example Get the current language. DIM iLangNr AS Integer DIM sLangName AS String20 MMI_GetLanguage( iLangNr, sLangName ) 6-74 TPS1100-Version 2.10...
  • Page 699 This routine delivers the name associated with the number iLangNr. Parameters iLangNr Language number sLangName Language description Return Codes RC_OK Successful termination. RC_IVPARAM iLangNr is invalid See Also MMI_SetLanguage MMI_GetLanguage Example Get the name of a language. DIM sLangName AS String20 MMI_GetLangName( 2, sLangName ) TPS1100-Version 2.10 6-75...
  • Page 700 BAP_SetHz Sets the horizontal angle to 0 or another given value. BAP_SetManDist Set the distance manually. BAP_SetMeasPrg Set the distance measure program. BAP_SetPpm Sets the ppm for distance measurements. Sets the current prism type and constant. BAP_SetPrism 6-76 TPS1100-Version 2.10...
  • Page 701 BYVAL sCaptionLeft AS _Token ) Remarks Measures distance and angles and updates the data pool after correct measurements. It controls the special beep (Sector or Lost Lock) and switches measurement icons and disables the aF... key during tracking. TPS1100-Version 2.10 6-77...
  • Page 702 BAP_TRK_DIST Depends on distance measurement. Can be changed during distance measurement. BAP_RTRK_DIST Depends on distance measurement. Can be changed during distance measurement. All other modes Returns BAP_DEF_DIST. dHz, dV out Angles [rad] , depends on 6-78 TPS1100-Version 2.10...
  • Page 703 No prism has been found during TO_DIST distance measurement with ATR, command changed from " " to " " Dist Info, accuracy cannot be guaranteed TMC_ACCURACY_ GUARANTEE TMC_ANGLE_ Info, only angle measurement valid, ACCURACY_ accuracy cannot be guaranteed GUARANTEE TPS1100-Version 2.10 6-79...
  • Page 704 The example uses the BAP_MeasDistAngle routine to measure a distance and angles. DIM iDistMode AS Integer DIM dHz AS Angle DIM dV AS Angle DIM dDist AS Distance iDistMode = BAP_DEF_DIST BAP_MeasDistAngle(iDistMode, dHz, dV, dDist, TRUE, "TEST") 6-80 TPS1100-Version 2.10...
  • Page 705 BAP_STOP_TRK Stop tracking, no measurement and no recording BAP_CLEAR_DIST Clear distance (Theodolite data pool), no measurement and no recording. BAP_RED_TRK_ Use the tracking with red laser DIST measurement program and record values TPS1100-Version 2.10 6-81...
  • Page 706 AUT_RC_CALACC ATR-calibration failed AUT_RC_ Error in target acquisition DETECTOR_ERROR AUT_RC_DETENT_ Positioning not possible due to ERROR mounted EDM AUT_RC_DEV_ Deviation measurement error ERROR AUT_RC_INCACC Position not exactly reached AUT_RC_MOTOR_ Motorization error ERROR Multiple targets detected AUT_RC_MULTIPLE_ TARGETS 6-82 TPS1100-Version 2.10...
  • Page 707 Error, wrong setting of PPM or MM on EDM TMC_NO_FULL_ Warning, measurement without full CORRECTION correction TMC_SIGNAL_ERROR Error, no signal on EDM (only in signal mode) RC_ABORT Error, measurement aborted RC_IVPARAM Error, invalid DistMode See Also BAP_MeasDistAngle, GSI_SetRecMask TPS1100-Version 2.10 6-83...
  • Page 708 Search range V Return Codes RC_OK Successful termination. AUT_RC_TIMEOUT Timeout while positioning of one or both axes. The position fault lies above 100[cc]. AUT_RC_MOTOR_ Instrument has no ‘motorization’. ERROR Fatal error. RC_FATAL RC_ABORT Function aborted. AUT_RC_NO_TARGET No target found. 6-84 TPS1100-Version 2.10...
  • Page 709 This routine works only in ATR instruments and needs at least Firmware-Release 2.00 Parameters lShowMessages TRUE: show error-messages if there are problems to find the prism Return Codes RC_OK Successful termination. AUT_RC_TIMEOUT Timeout while positioning of one or both axes. The position fault lies above 100[cc]. TPS1100-Version 2.10 6-85...
  • Page 710 Theodolite data pool. Parameters sCaptionLeft left caption string of the dialog initial value for the distance. A dDistance negative value will be displayed as "----" iButtonId identifier of the pressed valid button to exit the dialog 6-86 TPS1100-Version 2.10...
  • Page 711 The BAP_SetPpm routine opens a dialog which the user can complete in order to calculate the PPM (parts per million) correction to be used to reduce the distance measured by the EDM. Return Codes RC_OK Successful termination. TPS1100-Version 2.10 6-87...
  • Page 712 Return Codes RC_OK Successful termination. See Also BAP_SetManDist, BAP_SetPpm Example The example uses the BAP_SetPrism routine to open the Prism dialog. BAP_SetPrism() 6.2.10 BAP_SetMeasPrg Description Set the distance measure program. Declaration BAP_SetMeasPrg( BYVAL iMeasPrg AS Integer ) 6-88 TPS1100-Version 2.10...
  • Page 713 BAP_CONT_RLESS_ Continuous measurement, VISIBLE reflectorless, with red laser BAP_AVG_REF_ Average measurement, with STANDARD reflector, standard speed BAP_AVG_REF_ Average measurement, with reflector VISIBLE and red laser BAP_AVG_RLESS_ Average measurement, reflectorless, VISIBLE with red laser See Also BAP_GetMeasPrg TPS1100-Version 2.10 6-89...
  • Page 714 Continuous measurement, with BAP_CONT_REF_FAST reflector, fast BAP_CONT_RLESS_ Continuous measurement, VISIBLE reflectorless, with red laser BAP_AVG_REF_ Average measurement, with STANDARD reflector, standard speed BAP_AVG_REF_ Average measurement, with reflector VISIBLE and red laser BAP_AVG_RLESS_ Average measurement, reflectorless, VISIBLE with red laser 6-90 TPS1100-Version 2.10...
  • Page 715 Remarks This procedure positions the telescope according to the specified mode and angles. Parameters eMode Positioning mode. BAP_POSIT positioning on Hz and V angle BAP_POSIT_HZ positioning on Hz angle BAP_POSIT_V positioning on V angle BAP_CHANGE_FACE change face TPS1100-Version 2.10 6-91...
  • Page 716 Theodolite, the tolerance will be the default accuracy. Return Codes RC_OK Positioning successful RC_ABORT Abnormal termination (No positioning possible, ESC-Key) See Also CSV_MakePositioning CSV_ChangeFace Example Position the telescope. BAP_PosTelescope(BAP_CHANGE_FACE, BAP_POS_DLG, 0, 0, .5, .5 ) 6-92 TPS1100-Version 2.10...
  • Page 717 If the instrument is in Lock mode, then the instrument tries to lock first before it sets the angle to 0. Parameters sCaptionLeft Left caption text for dialog See Also Return Codes RC_OK Horizontal angular offset correct. Example Set the horizontal angle. BAP_SetHz("BASIC" ) TPS1100-Version 2.10 6-93...
  • Page 718 TMC_OFFSET_DIST_ Target offset Type Correction for distance measurement TMC_PPM_CORR_Type TMC_REFRACTION_Type Refraction correction for distance measurement TMC_STATION_Type Station co-ordinates 6.3.1.2 Procedures procedure name description Start a measure program. TMC_DoMeasure TMC_Get/ Gets and sets the current face definition. SetAngleFaceDef 6-94 TPS1100-Version 2.10...
  • Page 719 Gets information about manual TMC_IfDistTapeMeasured measurement. TMC_IfOffsetDistMeasured Returns the EDM measurement mode Measure slope distance and angles TMC_QuickDist TMC_SetAngSwitch Defines the angle measurement correction switches TMC_SetDistSwitch Defines the distance measurement correction switches TMC_SetHandDist Sets distance manually. TPS1100-Version 2.10 6-95...
  • Page 720 AS Double vertical angle accuracy of angle dAngleAccuracy AS Double iAngleTime AS Integer time of measurement Incline AS TMC_ inclination belonging to the Incline_Type measurement iFace AS Integer information about position of the telescope END TMC_Angle_Type 6-96 TPS1100-Version 2.10...
  • Page 721 AS Double height co-ordinate, measured continuously iCoordContTime AS Integer time of continuous measurement END TMC_Coordinate_Type 6.3.2.5 TMC_HZ_V_ANG - Horizontal and vertical angle TYPE TMC_HZ_V_Ang_Type AS Double horizontal angle AS Double vertical angle END TMC_HZ_V_Ang_Type TPS1100-Version 2.10 6-97...
  • Page 722 AS Double END TMC_REFRACTION_Type 6.3.2.9 TMC_DIST_SWITCH_Type– Distance measurement switches TYPE TMC_DIST_SWITCHES_Type ' EDM to optical axis correction lAxisDifferCorr AS Logical ' Projection scale correction lProjectScaleCorr AS Logical ' Height reduction correction lHgtReductionCorr AS Logical END TMC_DIST_SWITCHES_Type 6-98 TPS1100-Version 2.10...
  • Page 723 TMC_DoMeasure(TMC_TRK_DIST). The electronic distance measuring device (EDM) begins to run. Now the co-ordinates can be read, e.g. with TMC_GetCoordinate(). Tracking can be stopped with TMC_DoMeasure(TMC_STOP). With TMC_DoMeasure(TMC_CLEAR) the function will be stopped and the distance cleared. TPS1100-Version 2.10 6-99...
  • Page 724 (test mode) TMC_RED_TRK_ do tracking distance DIST measure with red laser See Also TMC_GetPolar TMC_GetCoordinate Return Codes RC_OK measure program started RC_IVPARAM The function has been called with an invalid parameter TMC_BUSY Measurement system is busy 6-100 TPS1100-Version 2.10...
  • Page 725 Note The measure program must have been started (see TMC_DoMeasure). Parameters iWaitTime delay time [ms] until a result is available =0 returns results with an already measured distance. TPS1100-Version 2.10 6-101...
  • Page 726 Angle values okay, but no valid distance. Co-ordinates are not available. No distance data available but angle TMC_ANGLE_ ACCURACY_ data are valid. The return code is GUARANTEE equivalent to the TMC_ACCURACY_GUARANTEE relates to the angle data. Co-ordinates are not available. 6-102 TPS1100-Version 2.10...
  • Page 727 TMC task is busy. Repeat measurement. RC_ABORT Measurement through customer aborted. Example Start a distance measure, perform measure. DIM iRetCode AS Integer DIM iWaitTime AS Integer DIM Polar AS TMC_Distance_Type DIM lError AS Logical DIM lDone AS Logical TPS1100-Version 2.10 6-103...
  • Page 728 The result is a point in Cartesian co-ordinates. The system calculates co-ordinates and tracking co-ordinates. Simple and multiple measurements (distance-, altitude- and co- ordinate- tracking) are supported. The delay (iWaitTime) just works on the distance measure, not on the measuring of the angle. 6-104 TPS1100-Version 2.10...
  • Page 729 Angle values okay, but no valid distance. Co-ordinates are not available. TMC_ANGLE_ No distance data available but angle ACCURACY_ data are valid. The return code is GUARANTEE equivalent to the TMC_ACCURACY_GUARANTEE relates to the angle data. Co-ordinates are not available. TPS1100-Version 2.10 6-105...
  • Page 730 AS Integer DIM iWaitTime AS Integer DIM Coord AS TMC_COORDINATE_Type DIM lError AS Logical DIM lDone AS Logical ON ERROR RESUME NEXT ' to get valid angle data TMC_DoMeasure( TMC_DEF_DIST ) lDone = FALSE lError = FALSE 6-106 TPS1100-Version 2.10...
  • Page 731 As long as no new measure program is started, the results can be read. Additional to the normal return codes iReturnCode delivers also informational return codes which will not interrupt program execution. Parameters Angles result of measuring the angle iReturnCode return code, see Additional Codes See Also TMC_DoMeasure TPS1100-Version 2.10 6-107...
  • Page 732 TMC resource is locked respectively TMC task is busy. Angle data are not available. Repeat measurement. RC_ABORT Measurement through customer aborted. Example Read the currently valid angle. DIM Angles AS TMC_ANGLE_Type DIM RetCode AS Integer TMC_GetAngle( Angles, RetCode ) 6-108 TPS1100-Version 2.10...
  • Page 733 Additional Codes See Also TMC_DoMeasure, TMC_GetAngle Additional Codes in iReturnCode RC_OK Execution successful. TMC_NO_FULL_ The results are not corrected by all active CORRECTION sensors. Angle data are available. This message is to be considers as warning. TPS1100-Version 2.10 6-109...
  • Page 734 The function measures the horizontal and vertical angle and in dependence of the configuration, the inclination. The function waits until a new distance is measured and then it returns the angle and the slope-distance, but no co-ordinates. Is no 6-110 TPS1100-Version 2.10...
  • Page 735 (For the forced Angle) incline measurement, the instrument must be in stable state for more than 3sec.). Parameters Angle out measured Hz- and V-angle Distance out measured slope-distance iReturnCode out return code, see Additional Codes See Also TMC_DoMeasure, TMC_GetAngle TPS1100-Version 2.10 6-111...
  • Page 736 This message is to be considers as warning. TMC_ANGLE_NO_ Angle measuring data are valid, but not FULL_CORRECTION corrected by all active sensors. The distance data are not available. (Possible reasons are: -see return code TMC_ANGLE_OK This message is to be considers as warning. 6-112 TPS1100-Version 2.10...
  • Page 737 Repeat measurement. Measurement through customer aborted. RC_ABORT Example Fast tracking with QuickDist. See example program TRACKING for more details. DIM iRetCode AS Integer DIM HzV AS TMC_HZ_V_ANG_Type DIM dDist AS Distance TMC_DoMeasure( TMC_CLEAR ) ' clear distances TPS1100-Version 2.10 6-113...
  • Page 738 If no valid distance measurement is available and the distance measurement unit is not activated (by before the TMC_DoMeasure call) the is also ignored and the TMC_GetSimpleMea WaitTime angle measurement result is returned. Information about distance measurement is returned in the return- code. 6-114 TPS1100-Version 2.10...
  • Page 739 Perform a distance measurement. TMC_ANGLE_NO_ No distance data available but angle FULL_ data are valid. The return code is CORRECTION equivalent to the TMC_NO_FULL_CORRECTION relates to the angle data. Perform a distance measurement first before you call this function. TPS1100-Version 2.10 6-115...
  • Page 740 Distance and angle data are not available. Repeat measurement. RC_ABORT Measurement aborted. Example This example measures the slope distance and angles. DIM Angle AS Double DIM dSlope AS Double DIM RetCode AS Integer TMC_GetSimpleMea( Angle, dSlope, RetCode ) 6-116 TPS1100-Version 2.10...
  • Page 741 (no valid results) or a distance exists Example The example reads the current definition and sets the opposite one. DIM face AS TMC_FACE_DEF TMC_GetAngelFaceDef(face) IF (face = TMC_FACE_NORMAL) THEN TMC_SetAngelFaceDef(TMC_FACE_TURN) ELSE TMC_SetAngelFaceDef(TMC_FACE_NORMAL) END IF TPS1100-Version 2.10 6-117...
  • Page 742 (no valid results) or a distance exists Example The example reads the current offsets and sets it to an increased value. DIM off AS Double TMC_GetHzOffset ( off ) TMC_SetHzOffset ( off + 1.0 ) 6-118 TPS1100-Version 2.10...
  • Page 743 Height out/in Height of reflector in Meters. Return Codes RC_OK Completed successfully. TMC_BUSY measurement system is busy (no valid results) Example The example sets the reflectors height to the value of 1.0 m. TMC_SetHeight ( 1.0 ) TPS1100-Version 2.10 6-119...
  • Page 744 AS Integer ) TMC_SetRefractiveMethod ( byVal Method AS Integer ) Parameters Method out/in Method of refraction calculation: 1: method 1 2: method 2 else: undefined Return Codes RC_OK Completed successfully. measurement system is busy (no valid results) TMC_BUSY 6-120 TPS1100-Version 2.10...
  • Page 745 Gets information about manual measurement. Declaration TMC_IfDistTapeMeasured ( bTapeMeasured AS Logical ) Parameters bTapeMeasured out TRUE: if measurement has been done by hand. FALSE: if measurement has been done with EDM or if invalid. Return Codes RC_OK Completed successfully. Example TPS1100-Version 2.10 6-121...
  • Page 746 You can a forced incline measurement perform or switch off the incline. This message is to be considers as info. TMC_ANGLE_ERROR Problems with angle res. incline sensor. A valid angle could not be measured. At repeated occur call service. 6-122 TPS1100-Version 2.10...
  • Page 747 Distance switches Return-Codes Successful termination. RC_OK See Also TMC_GetDistSwitch 6.3.20 TMC_GetDistSwitch Description Returns the distance measurement correction switches. Declaration TMC_GetDistSwitch( Switches AS TMC_DIST_SWITCH_Type ) Remarks This procedure returns the distance measurement correction switches. Parameters Switches Distance switches TPS1100-Version 2.10 6-123...
  • Page 748 No distance may exist for offset setting.. Call TMC_DoMeasure(TMC_CLEAR) before this function. Parameters Target point offset Offsets Return-Codes Successful termination. RC_OK TMC_BUSY measurement system is busy (no valid results) or a distance exists. See Also TMC_GetOffsetDist, BAP_Offset, TMC_IfOffsetDistMeasured 6-124 TPS1100-Version 2.10...
  • Page 749 TMC_IfOffsetDistMeasured Description Returns the EDM measurement mode. Declaration TMC_IfOffsetDistMeasured( lOffset AS Logical ) Remarks This function returns TRUE if an offset is defined. Parameters lOffset Offset is valid Return-Codes RC_OK Successful termination. See Also TMC_SetOffsetDist, TMC_GetOffsetDist, BAP_Offset TPS1100-Version 2.10 6-125...
  • Page 750 This procedure sets the angle measurement correction switches. Note No distance may exist for setting the angle switches. Call TMC_DoMeasure( TMC_CLEAR ) before this function. Parameters Switches angular switches Return-Codes RC_OK Successful termination. TMC_BUSY A distance exists See Also TMC_GetAngSwitch 6-126 TPS1100-Version 2.10...
  • Page 751 Defines the compensator switch. Declaration TMC_SetAngSwitches( lOn AS Logical ) Remarks This procedure enables or disables the dual axis compensator correction. Note No distance may exist for a switch setting.. Call TMC_DoMeasure(TMC_CLEAR) before this function. Parameters Switch TPS1100-Version 2.10 6-127...
  • Page 752 Remarks This procedure returns status of the inclination sensor. Parameters iStatus out TMC_INC_OFF Incline-sensor is switched off TMC_INC_OK Inclination is ok, recording is allowed TMC_INC_TILT Incline-sensor is out of working area TMC_INC_OLD Incline-values are not yet updated 6-128 TPS1100-Version 2.10...
  • Page 753 GeoBASIC Reference Manual 6. System Functions TMC_INC_FAIL Inclination - measurement fails Return-Codes RC_OK Successful termination. See Also TMC_SetInclineSwitch Example See example file „meas.gbs“. TPS1100-Version 2.10 6-129...
  • Page 754 GSI_GetIndivNr Fetches the individual point number. GSI_GetLineSysMDlg Gets the definition of a line in the system measurement dialog. GSI_GetMDlgNr Returns the number of the system measurement dialog. This routine returns the status for Quick- GSI_GetQCodeAvailable C di 6-130 TPS1100-Version 2.10...
  • Page 755 Sets a line in the user definable measurement dialog to an application parameter. GSI_SetLineMDlgText Puts a textline into the user definable measurement dialog. GSI_SetLineSysMDlg Sets a line in the system measurement dialog. GSI_SetMDlgNr Sets the number of the system measurement dialog. TPS1100-Version 2.10 6-131...
  • Page 756 GSI_ID_TIME_2 String Second time art GSI_ID_HZ Double Horizontal angle Double Vertical angle GSI_ID_V GSI_ID_NHZ Double Nominal horizontal angle GSI_ID_DHZ Double Difference horizontal angle GSI_ID_NV Double Nominal vertical angle GSI_ID_DV Double Difference vertical angle GSI_ID_SLOPE Double Slope distance 6-132 TPS1100-Version 2.10...
  • Page 757 Remark 1 GSI_ID_REM_2 String Remark 2 GSI_ID_REM_3 String Remark 3 GSI_ID_REM_4 String Remark 4 String Remark 5 GSI_ID_REM_5 GSI_ID_REM_6 String Remark 6 GSI_ID_REM_7 String Remark 7 GSI_ID_REM_8 String Remark 8 GSI_ID_REM_9 String Remark 9 GSI_ID_E Double East co-ordinate TPS1100-Version 2.10 6-133...
  • Page 758 Application data 5 String/Double Application data 6 GSI_ID_APPDATA6 GSI_ID_APPDATA7 String/Double Application data 7 GSI_ID_APPDATA8 String/Double Application data 8 GSI_ID_APPDATA9 String/Double Application data 9 GSI_ID_APPDATA10 String/Double Application data 10 GSI_ID_APPDATA11 String/Double Application data 11 Double Free station scale GSI_ID_FS_SCALE 6-134 TPS1100-Version 2.10...
  • Page 759 Application parameter 1 GSI_PAR_AppData2 Application parameter 2 GSI_PAR_AppData3 Application parameter 3 GSI_PAR_AppData4 Application parameter 4 GSI_PAR_AppData5 Application parameter 5 GSI_PAR_AppData6 Application parameter 6 GSI_PAR_AppData7 Application parameter 7 GSI_PAR_AppData8 Application parameter 8 GSI_PAR_AppData9 Application parameter 9 GSI_PAR_AppData10 Application parameter 10 TPS1100-Version 2.10 6-135...
  • Page 760 Max. 3 displaymasks can be defined for this dialog. The displaymasks can also be changed with the system function "Next Displaymask". GSI_PAR_DataJob Data job management (select, create etc) GSI_PAR_TargetEast Target point Easting EDM measurement program selection. GSI_PAR_DistMeasProg il bl 6-136 TPS1100-Version 2.10...
  • Page 761 GSI_PAR_MeasJobSelect Measurement Job selection (of an existing Job or RS232 for online recording) GSI_PAR_MeasJob Measurement Job management (select, create, etc.) GSI_PAR_NS Number of measurements and standard deviation GSI_PAR_TargetNorth Target point Northing GSI_PAR_OffsetCross Cross Offset GSI_PAR_OffsetElev Offset Elevation TPS1100-Version 2.10 6-137...
  • Page 762 GSI_PAR_StationId GSI_PAR_StationEast Station Easting GSI_PAR_StationElev Station Elevation GSI_PAR_StationNorth Station Northing GSI_PAR_TargetType Definition of the target type (Reflector / reflectorless) GSI_PAR_Time Current time of the instrument. The displayed format depends on the setting of the parameter "Time form." 6-138 TPS1100-Version 2.10...
  • Page 763 Many of the GSI_IDs are record-able. Two types of record-able Ids can be distinguished: a) Measurement block (“Meas”) (has to start with a GSI_ID_PTNR) b) Code block (“Code”) (has to start with a GSI_ID_CODE) They may not be mixed. Record-able GSI_ID_-Ids GSI_PAR_-Ids GSI_ID_NHZ GSI_ID_DHZ GSI_ID_NV TPS1100-Version 2.10 6-139...
  • Page 764 GSI_ID_FNR GSI_PAR_SerialNr Meas (undefined) GSI_ID_TYPE GSI_PAR_InstrType Meas (undefined) GSI_ID_TIME_1 See GSI_PAR_Date Meas GSI_ID_TIME_2 See GSI_PAR_Time Meas Meas GSI_ID_HZ GSI_PAR_AngleHz GSI_ID_V GSI_PAR_AngleV Meas GSI_ID_SLOPE GSI_PAR_DistSlope Meas Meas GSI_ID_HOR GSI_PAR_DistHoriz GSI_ID_HGT GSI_PAR_ElevDiff Meas GSI_ID_PPMM GSI_PAR_PpmMm Meas GSI_ID_SIGMA GSI_PAR_NS Meas 6-140 TPS1100-Version 2.10...
  • Page 765 Code GSI_ID_CODE_6 GSI_PAR_Attrib7 Code GSI_ID_CODE_7 GSI_PAR_Attrib8 Code GSI_ID_CODE_8 GSI_PAR_Attrib9 Code are for the purpose of exchanging data between applications GSI_ID_APPDATA0 and between application and MDlg. They cannot be recorded. Both can be of the form GSI_ASCII GSI_DOUBLE. TPS1100-Version 2.10 6-141...
  • Page 766 Dialog entry information GSI_WiDlg_Entry_Type: Description This data structure is used to store information about the entries (data fields) of the WI dialog. TYPE GSI_WiDlg_Entry_Type AS Integer The identifier of the dialog entry. For possible value see WI constants. 6-142 TPS1100-Version 2.10...
  • Page 767 AS Double north co-ordinate dHeight AS Double height co-ordinate lPtNrValid AS Logical TRUE if point number is valid lEValid AS Logical TRUE if east co-ordinate is valid lNValid AS Logical TRUE if north co- ordinate is valid TPS1100-Version 2.10 6-143...
  • Page 768 Fetches the running point number and increment for it. Parameters the running point number sPntId the increment for the running point sPntIncr number See Also GSI_SetRunningNr, GSI_GetIndivNr, GSI_SetIndivNr, GSI_IsRunningNr Return-Codes RC_OK successful Example DIM sPntId AS String20 DIM sPntInc AS String20 GSI_GetRunningNr( sPntId, sPntInc ) 6-144 TPS1100-Version 2.10...
  • Page 769 GSI_SetRunningNr( sPntId, sPntInc ) 6.4.8 GSI_ GetIndivNr Description Fetches the individual point number. Declaration GSI_GetIndivNr( sPntId AS String20 ) Remarks Fetches the individual point number. Parameters sPntId The user-defined individual point number. See Also GSI_GetRunningNr, GSI_SetRunningNr, GSI_SetIndivNr, GSI_IsRunningNr TPS1100-Version 2.10 6-145...
  • Page 770 DIM sPntId AS String20 GSI_SetIndivNr( sPntId ) 6.4.10 GSI_IsRunningNr Description Queries if running number is being used. Declaration GSI_IsRunningNr( lRunningOn AS Logical ) Remarks If the running number is active the parameter will forced to TRUE otherwise to FALSE. 6-146 TPS1100-Version 2.10...
  • Page 771 Parameters lSwitch switch for the individual point-number (TRUE = on, FALSE = off ) See Also GSI_GetRunningNr, GSI_SetRunningNr, GSI_GetIndivNr, GSI_SetIndivNr, GSI_IsRunningNr Return-Codes RC_OK successful Example GSI_SetIvPtNrStatus( FALSE ) TPS1100-Version 2.10 6-147...
  • Page 772 If yes it will be executed, otherwise it examines the codelist management if a codelist is selected. If yes then the codelist will be opened, otherwise the standard coding will be activated. Parameters Caption The left caption string of the dialog. 6-148 TPS1100-Version 2.10...
  • Page 773 RC_ABORT_APPL Coding was aborted by pressing of the QUIT-button COD_RC_LIST_ No valid codelist selected NOT_VALID Example See example file „meas.gbs“. 6.4.15 GSI_GetQCodeAvailable Description This routine returns the status for Quick-Coding. Declaration GSI_GetQCodeAvailable(lAvailable As Logical, lEnabled As Logical) TPS1100-Version 2.10 6-149...
  • Page 774 This routine enables or disables the Quick-Coding. It can be only activated if a valid codelist is selected (see GSI_GetQCodeAvailable) Parameters lEnabled TRUE: enable Quick-Coding See Also GSI_GetQCodeAvailable, GSI_ExecQCoding Return-Codes RC_OK successful Example See example file „meas.gbs“. 6.4.17 GSI_ExecQCoding Description Executes the Quick-Coding. 6-150 TPS1100-Version 2.10...
  • Page 775 In: Pressed button. Out: If a Quick-Coding was possible, iButtonId is changed to MMI_NO_KEY, otherwise it is unchanged lNewCode TRUE: Quick-Coding was successful See Also GSI_GetQCodeAvailable, GSI_SetQCodeMode, GSI_SetRecOrder Return-Codes RC_OK successful Example See example files „meas.gbs“ and „meas_od.gbs“.. TPS1100-Version 2.10 6-151...
  • Page 776 This routine returns the recording order for Quick-Coding. If lCodeFirst=TRUE, then the code-block will be recorded before the measurement block. Parameters TRUE: code-block before measurement lCodeFirst block See Also GSI_SetRecOrder, GSI_ExecQCoding Return-Codes successful RC_OK Example See example file „meas_od.gbs“. 6-152 TPS1100-Version 2.10...
  • Page 777 If iPathInfo is set to GSI_EXTERNAL, then sFileName defines the filename i.e. "MeasJob.GSI" and sFilePath defines the file-path, i.e. "A:\\GSI". Parameters iPathInfo Defines where the data are recorded sFileName Valid Filename (8+3 format) sFilePath file-path TPS1100-Version 2.10 6-153...
  • Page 778 If iPathInfo = GSI_INTERFACE, then the measurements will be sent to the RS232 line and the other parameters are not valid. If iPathInfo = GSI_EXTERNAL, then sFileName defines the filename i.e. "MeasJob.GSI" and sFilePath defines the file- path, i.e. "A:\\GSI". 6-154 TPS1100-Version 2.10...
  • Page 779 "A:\\GSI". Parameters iPathInfo Device info (Only GSI_EXTERNAL is valid) sFileName Valid Filename (8+3 format) sFilePath File-path Return-Codes RC_OK Successful termination. See Also GSI_GetDataPath Example The example defines the file “A:\GSI\DataJob.GSI” as new import file. TPS1100-Version 2.10 6-155...
  • Page 780 The example fetches the name and the path of the standard import data file: DIM iPathInfo AS Integer DIM sFileName AS FileName DIM sFilePath AS FilePath GSI_GetDataPath(iPathInfo, sFileName, sFilePath) 6.4.25 GSI_GetWiEntry Description Get data from the Theodolite data pool. 6-156 TPS1100-Version 2.10...
  • Page 781 WI.iId. If that value is unequal to the first parameter value, then it comes to a conflict. Use a GSI_GetWiEntry() first, to be sure that all values TPS1100-Version 2.10 6-157...
  • Page 782 GSI_ACTUAL_RECMASK can be used to retrieve settings of the actual mask sMaskName out Name of the recording mask RecWiMask out The definition of the recording mask. The elements of the array are the identification numbers of the WI’s. See the description 6-158 TPS1100-Version 2.10...
  • Page 783 TRUE the elements of the recording mask can be changed in GSI_DefineRecMaskDlg. All unused elements should be set to GSI_ID_NONE. All values from 0 to 5 are valid for the mask number. Mask number 0 is predefined for the station recording mask. TPS1100-Version 2.10 6-159...
  • Page 784 The definition of the recording mask. The elements of the array are the identification numbers of the WI’s. See the description of the WI constants. Recording format iRec Format (GSI_RECFORMAT_GSI , GSI_RECFORMAT_GSI16 ) lEditMask in Mask editable flag See Also GSI_GetRecMask, GSI_DefineRecMaskDlg 6-160 TPS1100-Version 2.10...
  • Page 785 RecWiMask(4) = GSI_ID_HZ GSI_SetRecMask(GSI_ACTUAL_RECMASK, sMaskName, RecWiMask, iRecFormat, lEditMask) 6.4.29 GSI_SetRecMaskNr Description Set the used recording mask. Declaration GSI_SetRecMaskNr(BYVAL iMaskNr AS Integer) Parameters Number of the recording mask. iMaskNr Number must be in the range 1.. GSI_MAX_REC_MASKS. See Also GSI_GetRecMaskNr TPS1100-Version 2.10 6-161...
  • Page 786 This routine is an interactive equivalent to the routines GSI_GetRecMask and GSI_SetRecMask. See Also GSI_GetRecMask, GSI_SetRecMask, Example GSI_DefineRecMaskDlg () 6.4.32 GSI_ManCoordDlg Description Show the manual co-ordinate input dialog. 6-162 TPS1100-Version 2.10...
  • Page 787 For the values iPointType for PointType see table below Point Type Meaning station point GSI_STATION number GSI_INDIV_TG individual target number GSI_RUN_TG running target GSI_BACKSIGHT backside number (analog target, only changed prompts) TPS1100-Version 2.10 6-163...
  • Page 788 Flags can be combined with ‘+’- operator (iFlags = iFlag1 + iFlag2) sHelpText This text is shown, when the help button SHIFT-F1 is pressed and the help functionality of the theodolite is enabled. See Also GSI_ImportCoordDlg Example 6-164 TPS1100-Version 2.10...
  • Page 789 Rules for a valid point: - point number found - E- and N-coordinates (target or station) exists and are valid - if GSI_HEIGHT_MUST is included in iFlags, a valid TPS1100-Version 2.10 6-165...
  • Page 790 Only point number, the co-ordinates will be set to 0. Point point number and -co-ordinates. For further information see the description of GSI_Point_Coord_Type. iFlags defines functionality Valid Flags Meaning GSI_ALLOW_ allows recording and coding GSI_MULTI_ Allows multiple manual coord. entering 6-166 TPS1100-Version 2.10...
  • Page 791 Help text for manual input dialog. Only visible if the help functionality of the theodolite is enabled. sF2Button Text for activating F2 button. sF4Button Text for activating F4 button See Also GSI_ManCoordDlg TPS1100-Version 2.10 6-167...
  • Page 792 Possible values are: Value Meaning GSI_SYS_MDLG_1 Dialog 1 GSI_SYS_MDLG_2 Dialog 2 GSI_SYS_MDLG_3 Dialog 3 iLineNr The number of the line to set. Valid numbers: 1.. GSI_MAX_DLG_LINES iSysParamId Identification of the system parameter. Refer to the chapter 6-168 TPS1100-Version 2.10...
  • Page 793 AS Integer iSysParamId AS Integer ) Remarks This routine fetches the information about the setting of one line in the system measurement dialog. To set a line in the system measurement dialog the routine GSI_SetLineMDlg can be used. TPS1100-Version 2.10 6-169...
  • Page 794 Description Sets the number of the system measurement dialog. Declaration GSI_SetMDlgNr( BYVAL iMDlgNr AS Integer) Remarks Sets the number of the system measurement dialog. The content of these dialogs can by changed by using of DefineMDlg. Parameters 6-170 TPS1100-Version 2.10...
  • Page 795 BYVAL sCaptionRight AS _Token BYVAL sHelpText AS _Token ) Remarks This routine creates and shows the user definable measurement dialog with iFixLines fix lines, the left part of the title bar sCaptionLeft, the caption sCaptionRight, and the help text sHelpText. TPS1100-Version 2.10 6-171...
  • Page 796 GSI_CreateMDlg, GSI_UpdateMDlg and GSI_UpdateMeasurment to execute a measure process. DIM ValidForRec AS Logical DIM RetCodeForMsg AS Integer DIM WaitTime AS Integer DIM iButton AS Integer WaitTime = 10 'ms 'user definition of measurement dialog 'can be placed here 6-172 TPS1100-Version 2.10...
  • Page 797 GSI_SetLineMDlgPar. To add a line of text (e.g. separator line) to the dialog use GSI_SetLineMDlgText. Parameters The number of the line to set. iLineNr Valid numbers: 1.. GSI_MAX_DLG_LINES iSysParamId Identification of the system parameter. Refer to the chapter “Constants for Measurement Dialog Definition” TPS1100-Version 2.10 6-173...
  • Page 798 GSI_SetLineMDlgPar. To add a system parameter to the dialog use GSI_SetLineMDlg. Parameters iLineNr The number of the line to set. Valid numbers: 1.. GSI_MAX_DLG_LINES iParamId Id of the system parameter. sText Contents of the line. See Also GSI_SetLineMDlg GSI_SetLineMDlgPar GSI_CreateMDlg 6-174 TPS1100-Version 2.10...
  • Page 799 GSI_SetLineMDlgText. To add a system parameter to the dialog use GSI_SetLineMDlg. Parameters iLineNr The number of the line to set. Valid numbers: 1.. GSI_MAX_DLG_LINES Id of the application parameter. iApplParamId sLabel Description of parameter on display. TPS1100-Version 2.10 6-175...
  • Page 800 ANGLE vertical angle MMI_FFORMAT_ VANGLE MMI_FFORMAT_ horizontal HZANGLE angle MMI_FFORMAT_ temperature TEMPERATURE See Also GSI_SetLineMDlg GSI_SetLineMDlgText GSI_CreateMDlg Example See also sample file “meas.gbs”. This example uses GSI_SetLineMDlgPar and GSI_SetWiEntry to configure the user definable measurement dialog. 6-176 TPS1100-Version 2.10...
  • Page 801 Theodolite data pool and returns pressed buttons. Parameters iButton Contains pressed button identifier. For details see MMI_GetButton (lAllKeys = TRUE). See Also GSI_CreateMDlg GSI_UpdateMeasurement Example See example GSI_CreateMDlg and example file „meas.gbs“. TPS1100-Version 2.10 6-177...
  • Page 802 AS Integer, iWaitTime AS Integer, lValidForRec AS Logical, iRetCodeForMsg AS Integer, lChkIncRangeNow AS Logical ) Remarks This function updates the measurement values in the Theodolite data pool. The data are the incline program, angles, distances, time, reflector height. 6-178 TPS1100-Version 2.10...
  • Page 803 TRUE: check incline range immediate See Also GSI_CreateMDlg GSI_UpdateMDlg GSI_DeleteDialog Example See example GSI_CreateMDlg and example file „meas.gbs“. 6.4.45 GSI_Measure Description Measure and registration dialog. Declaration GSI_Measure ( ) Remarks This procedure opens the measure and registration dialog. Parameters none TPS1100-Version 2.10 6-179...
  • Page 804 An automatic start of distance tracking can be started on several conditions, i.e. by Quick-Coding, GSI_ExecuteAutoDist or by pressing buttons in the FNC-menu. Tracking can be terminated by the instrument itself due several reasons, i.e. for laser security reasons (US-configuration) 6-180 TPS1100-Version 2.10...
  • Page 805 Parameters RecList recording list eProgFunction program flag in the wi's (TRUE = ON, FALSE = OFF) bCheckStdMask testing the standard recording mask bIncAndSetRunPt in increment the point number Return Codes RC_OK Success RC_IVRESULT registration failure See Also TPS1100-Version 2.10 6-181...
  • Page 806 GeoBASIC Reference Manual 6. System Functions Example Record RecList. DIM RecList AS GSI_REC_ID_LIST ' initialize RecList with adequate values GSI_RecordRecMask ( RecList, TRUE, TRUE, TRUE ) 6-182 TPS1100-Version 2.10...
  • Page 807 Get information about the system. CSV_GetInstrumentFamily CSV_GetInstrumentName Get the L specific instrument name. EICA CSV_GetInstrumentNo Get the instrument number. CSV_GetLaserPlummet Returns the laser plummet state CSV_GetLockStatus Gets the current state of the locking facility. CSV_GetLRStatus Returns the status of the system. TPS1100-Version 2.10 6-183...
  • Page 808 Switch on / off the light guide. Sets the current state of the locking CSV_SetLockStatus facility. CSV_SetPrismType Sets the used prism CSV_SetTargetType Set the target type for distance measurements. CSV_SysCall Call a system function. CSV_SysCallAvailable Check if system function is available. 6-184 TPS1100-Version 2.10...
  • Page 809 AS Integer minutes as a 2 digit number iSecond AS Integer seconds as a 2 digit number END Time_Type Date_Time_Type Date AS Date_Type date (as defined above) Time AS Time_Type time (as defined above) END_Time_Type TPS1100-Version 2.10 6-185...
  • Page 810 Information about the system Description This data structure is used to store information about the hardware. Further information about the hardware can be obtained by your local Leica representative. TYPE TPS_Fam_Type iClass AS Integer The class of the system. Values:...
  • Page 811 4, 1, 3, DT.Time.iMinute, TRUE) MMI_PrintInt( 8, 1, 3, DT.Time.iSecond, TRUE) ELSEIF ERR = RC_UNDEFINED THEN MMI_PrintStr( 0, 0, "Date and time not set.", TRUE ) ELSE MMI_PrintStr( 0, 0, "Unexpected error code.", TRUE ) END IF TPS1100-Version 2.10 6-187...
  • Page 812 Return Codes none See Also CSV_GetInstrumentNo, CSV_GetInstrumentFamily Example The example uses the CSV_GetInstrumentName routine to get the instrument name and displays it. DIM sName AS String30 CSV_GetInstrumentName ( sName ) MMI_PrintStr ( 0, 0, sName, TRUE ) 6-188 TPS1100-Version 2.10...
  • Page 813 (see description of the data structure TPS_Fam for return values). TPS_Sim Always sets Familiy.lSimulator to TRUE. Parameters Contains the class and instrument type Family data. See description of the data structure TPS_Fam for return values. TPS1100-Version 2.10 6-189...
  • Page 814 Delivers the version of the simulator. Parameters iRelease value of the Release number can be in the range from 0 to 99 value of the version number can be in iVersion the range from 0 to 99 See Also 6-190 TPS1100-Version 2.10...
  • Page 815 Integer, iVersion as Integer, iSubVersion as Integer ) Remarks This function returns the release version of the running GeoB ASIC interpreter. Parameters iRelease Release number iVersion Version Number iSubVersion Subversion number Return-Codes RC_OK Successful termination. TPS1100-Version 2.10 6-191...
  • Page 816 Whenever the system starts up, the system time is reset. Parameters iRefTime The reference time. iElapse out The difference between iRefTime and the system time. The difference is returned in [ms]. See Also CSV_GetSysTime, CSV_GetDateTime 6-192 TPS1100-Version 2.10...
  • Page 817 CSV_GetLRStatus( iLRStatus AS Integer ) Remarks The routine CSV_GetLRStatus returns the mode of the system. The system can either be in local or in Remote mode. For Release 1.0 this function always delivers local mode as an answer. TPS1100-Version 2.10 6-193...
  • Page 818 Parameters iLight Guide light intensity Value Meaning CSV_EGL_OFF Switching off CSV_EGL_LOW Low intensity CSV_EGL_MID Middle intensity CSV_EGL_HIGH High intensity Return Codes RC_SYSBUSY EDM is busy. Guide light cannot be switched. RC_NOT_IMPL Guide light Hardware is not available 6-194 TPS1100-Version 2.10...
  • Page 819 When starting the positioning the calling application has to take care that a valid inclination plane is available for an angle measure, as it can normally not be redone during positioning. The positioning is done with the planes valid at the beginning of TPS1100-Version 2.10 6-195...
  • Page 820 When starting the positioning the calling application has to take care that a valid inclination plane is available for an angle measure, as it can normally not be redone during positioning. 6-196 TPS1100-Version 2.10...
  • Page 821 Sets the current state of the locking facility. CSV_SetLockStatus Declaration (BYVAL lOn AS Logical ) Remarks It switches the locking facility on or off. Parameters Switches on / off the locking facility (TRUE = on, FALSE = off) TPS1100-Version 2.10 6-197...
  • Page 822 Locking is switched on. Return Codes RC_FATAL fatal error RC_NOT_IMPL if ATR hardware is not available system abort RC_ABORT See Also CSV_GetLockStatus, CSV_LockIn, CSV_LockOut Example Perform an absolute positioning. DIM l AS Logical CSV_SetLockStatus( l ) ' queries locking 6-198 TPS1100-Version 2.10...
  • Page 823 Error at ATR AUT_RC_DETECTOR_ERROR AUT_RC_NO_TARGET No target at the detection range AUT_RC_BAD_ENVIRONMENT Bad environment at the detection range (bad light…) RC_NOT_IMPL if ATR hardware is not available See Also CSV_GetLockStatus, CSV_SetLockStatus, CSV_LockOut Example This example starts locking. CSV_LockIn( ) TPS1100-Version 2.10 6-199...
  • Page 824 Switches on / off the ATR facility (TRUE = on, FALSE = off) Return Codes RC_FATAL fatal error RC_ABORT system abort RC_NOT_IMPL if ATR hardware is not available Example Perform an absolute positioning. CSV_SetATRStatus( TRUE ) ' switches ATR on 6-200 TPS1100-Version 2.10...
  • Page 825 This routine delay using the operating system, that means that other Theodolite tasks can run during the delay (It is not a busy waiting). Note Avoid busy waiting using FOR - or WHILE loops. TPS_Sim Delay resolution is one second. iDelay < 500 means no delay TPS1100-Version 2.10 6-201...
  • Page 826 Parameters iTarget Target type Type Valid target Meaning types CSV_WITH_ With reflector REFLECTOR Without reflector CSV_WITHOUT _REFLECTOR Return-Codes RC_OK Successful termination. RC_IVPARAM Instrument don’t support this target type 6-202 TPS1100-Version 2.10...
  • Page 827 Target type Type Valid target Meaning types CSV_WITH_ With reflector REFLECTOR CSV_WITHOUT Without reflector _REFLECTOR Return-Codes RC_OK Successful termination. CSV_ SetTargetType, BAP_SetMeasPrg, BAP_GetMeasPrg Example The example fetches the target type. DIM iTargetType AS Integer CSV_GetTargetType(iTargetType) TPS1100-Version 2.10 6-203...
  • Page 828 The example sets the 360 degrees prism. BAP_PRISM_360 CSV_SetPrismType( 6.5.27 CSV_GetPrismType Description Returns the used prism. Declaration CSV_GetPrismType(iPrism as Integer) Remarks This routine returns the used prism iPrism. Parameters iPrism out Used prism Return-Codes RC_OK Successful termination. 6-204 TPS1100-Version 2.10...
  • Page 829 CSV_GetLaserPlumet, CSV_GetInstrumentFamily 6.5.29 CSV_GetLaserPlummet Description Returns the laser plummet state. Declaration CSV_GetLaserPlummet( lOn as Logical ) Remarks This function returns the state of the optional laser plummet. Parameters out TRUE: plummet is switched on Return-Codes RC_OK Successful termination. TPS1100-Version 2.10 6-205...
  • Page 830 The example checks if an alternative task was running. CSV_CheckAltUserTask( l ) IF l THEN send("AltUserTask: was running") ELSE send("AltUserTask: was NOT running") END IF CSV_ResetAltUserTask( ) 6.5.31 CSV_ResetAltUserTask Description Resets the “alternative user-task was running” flag. 6-206 TPS1100-Version 2.10...
  • Page 831 See description of the system functions and system events in the appendix H. Parameters System function or system event Return-Codes RC_OK Successful termination. No function defined to handle the event RC_IVPARAM RC_NOT_IMPL System function not available TPS1100-Version 2.10 6-207...
  • Page 832 Parameters System function or system event. lAvailable out TRUE: System function is available or function (dialog, menu, macro, application) to handle the event is defined and available. Return-Codes Successful termination. RC_OK 6-208 TPS1100-Version 2.10...
  • Page 833 CSV_LibCallAvailable Example See IAC.GBS and IAC2.GBS for an example. 6.5.35 CSV_LibCallAvailable Description Check if the GeoB routine from another program is available. ASIC Declaration CSV_LibCallAvailable( BYVAL PrgName AS String255, BYVAL FuncName AS String255, lAvailable AS Logical ) TPS1100-Version 2.10 6-209...
  • Page 834 Usually this means that it checks if the other program is loaded and the specified entry point exists. Parameters PrgName Program name FuncName Function name lAvailable out Routine is available Return-Codes RC_OK Successful termination. CSV_LibCall Example See IAC.GBS and IAC2.GBS for an example. 6-210 TPS1100-Version 2.10...
  • Page 835 6.1.50 MMI_SetTempUnit..............6-67 6.1.51 MMI_GetTempUnit ..............6-68 6.1.52 MMI_SetDateFormat ..............6-69 6.1.53 MMI_GetDateFormat ..............6-70 6.1.54 MMI_SetTimeFormat ..............6-70 6.1.55 MMI_GetTimeFormat ..............6-71 6.1.56 MMI_SetCoordOrder..............6-72 6.1.57 MMI_GetCoordOrder ..............6-73 6.1.58 MMI_SetLanguage ..............6-73 6.1.59 MMI_GetLanguage..............6-74 6.1.60 MMI_GetLangName..............6-75 TPS1100-Version 2.10...
  • Page 836 6.3.8 TMC_QuickDist................ 6-110 6.3.9 TMC_GetSimpleMea..............6-114 6.3.10 TMC_Get/SetAngleFaceDef............. 6-117 6.3.11 TMC_Get/SetHzOffset ............. 6-118 6.3.12 TMC_Get/SetDistPpm .............. 6-119 6.3.13 TMC_Get/SetHeight ..............6-119 6.3.14 TMC_Get/SetRefractiveCorr ............ 6-120 6.3.15 TMC_Get/SetRefractiveMethod ..........6-120 6.3.16 TMC_Get/SetStation..............6-121 6.3.17 TMC_IfDistTapeMeasured ............6-121 6.3.18 TMC_SetHandDist..............6-122 TPS1100-Version 2.10...
  • Page 837 6.4.11 GSI_SetIvPtNrStatus ..............6-147 6.4.12 GSI_IncPNumber..............6-148 6.4.13 GSI_Coding ................6-148 6.4.14 GSI_SelectCode ................ 6-149 6.4.15 GSI_GetQCodeAvailable............6-149 6.4.16 GSI_SetQCodeMode ..............6-150 6.4.17 GSI_ExecQCoding..............6-150 6.4.18 GSI_SetRecOrder..............6-152 6.4.19 GSI_GetRecOrder ..............6-152 6.4.20 GSI_QuickSet ................6-153 6.4.21 GSI_SetRecPath................ 6-153 TPS1100-Version 2.10...
  • Page 838 6.4.48 GSI_RecordRecMask..............6-181 6.5 Central Service Functions CSV............... 6-183 6.5.1 Summarizing Lists of CSV Types and Procedures ....6-183 6.5.2 Data Structures for the Central Service Functions ....6-185 6.5.3 CSV_GetDateTime ..............6-187 6.5.4 CSV_GetTemperature............... 6-188 6.5.5 CSV_GetInstrumentName ............6-188 TPS1100-Version 2.10...
  • Page 839 6.5.25 CSV_GetTargetType ..............6-203 6.5.26 CSV_SetPrismType ..............6-204 6.5.27 CSV_GetPrismType..............6-204 6.5.28 CSV_SetLaserPlummet............. 6-205 6.5.29 CSV_GetLaserPlummet............6-205 6.5.30 CSV_CheckAltUserTask ............6-206 6.5.31 CSV_ResetAltUserTask............6-206 6.5.32 CSV_SysCall ................6-207 6.5.33 CSV_SysCallAvailable ............. 6-208 6.5.34 CSV_LibCall................6-209 6.5.35 CSV_LibCallAvailable ............. 6-209 TPS1100-Version 2.10...
  • Page 840 Creates a menu item on the Theodolite menu. MMI_CreateMenuItem MMI_CreateTextDialog Create and show a text dialog. MMI_DeleteButton Delete a button from a dialog. MMI_DeleteDialog Deletes a dialog. MMI_DeleteGBMenu Deletes a menu MMI_DrawBusyField Shows or hides the Busy-Icon MMI_DrawCircle Draw a circle / ellipse. TPS1100-Version 2.10...
  • Page 841 Print a token on a text dialog. MMI_PrintTok MMI_PrintVal Print a value on a text dialog. MMI_SelectGBMenuItem Select a menu item MMI_SetAngleRelation Set the angle relationship. MMI_SetAngleUnit Set the displayed unit of angle. MMI_SetCoordOrder Set the co-ordinate order. TPS1100-Version 2.10...
  • Page 842 6.1.2.2 sLine – Display line Description This type is used to define a string with 29 characters, which is necessary to print variable strings on the display. The length depends on the actual display width, which is 29 for TPS1100 instruments. TPS1100-Version 2.10...
  • Page 843 The name of the global function or subroutine to be called. iMenuNum Defines in which menu the menu-entry is generated. There are three possible menus where a menu item can be added. For multiple menu items the menus can be combined with ‘+’-operator. 6-10 TPS1100-Version 2.10...
  • Page 844 "START THE PROGRAM" ) 6.1.4 MMI_CreateGBMenu Description Creates a menu. Declaration MMI_CreateGBMenu( BYVAL sMenuName AS _Token, iMenuId AS Integer ) Remarks This routine creates an empty menu and the caption sMenuName. The function MMI_CreateGBMenuItem adds items to a menu. TPS1100-Version 2.10 6-11...
  • Page 845 MENU.GBS CONST MHELP = "Help for measurement type.." DIM iMenu AS Integer ' menu identifier DIM iSelection AS Integer ' selected item DIM iButton AS Integer ' used button 'Create main menu MMI_CreateGBMenu("MEASUREMENT TYPE", iMenu) 6-12 TPS1100-Version 2.10...
  • Page 846 This function adds one menu item to an existing menu iMenuId. This item will be displayed as the last item. Parameters iMenuId in Menu identifier sMenuItemName in Displayed text sHelpText in Help text; only visible if the help functionality of theodolite is enabled Return-Codes TPS1100-Version 2.10 6-13...
  • Page 847 The maximal number of menus for a GeoB program ASIC is 5. The maximal number of items / menu is 49. The maximal number of items over all menus plus menus is 254. Parameters sMenuName The caption of the menu. 6-14 TPS1100-Version 2.10...
  • Page 848 ' generate menu item names MMI_GetLanguage(iLangNr, sLangName) sMenuItemName1 = "Polygon in " + sLangName sMenuItemName2 = "Border point in " + sLangName ' Create menu items - all items use ' the same help text MMI_CreateGBMenuItemStr(iMenu, sMenuItemName1, MHELP) MMI_CreateGBMenuItemStr(iMenu, sMenuItemName2, MHELP) TPS1100-Version 2.10 6-15...
  • Page 849 Parameters iMenuId in Menu identifier in Displayed text sMenuItemName sHelpText in Help text; only visible if the help functionality of the theodolite is enabled Return-Codes Successful termination. RC_OK BAS_MENU_ Bad iMenuId ID_INVALID 6-16 TPS1100-Version 2.10...
  • Page 850 Select a menu item. Declaration MMI_SelectGBMenuItem( BYVAL iMenuId AS Integer, BYVAL sCaptionLeft AS _Token, iSelItem AS Integer, iButtonId AS Integer ) Remarks This function shows and executes a menu iMenuId and returns the selected item iSelItem or pressed button iButtonId. TPS1100-Version 2.10 6-17...
  • Page 851 Adds a button to a menu. Declaration MMI_AddGBMenuButton( BYVAL iMenuId AS Integer, BYVAL iButtonId AS Integer, BYVAL sCaption AS _Token ) Remarks This function adds a button with the identifier iButtonId to the menu iMenuId and shows the caption sCaption. 6-18 TPS1100-Version 2.10...
  • Page 852 If MMI_CreateTextDialog is called while already a text dialog or a measurement dialog exists, the existing dialog (together with all attached buttons) is deleted and the new dialog is created. TPS1100-Version 2.10 6-19...
  • Page 853 This text is shown, when the help button SHIFT-F1 is pressed and the help functionality of the theodolite is enabled. Return-Codes Successful termination. RC_OK See Also MMI_DeleteDialog, MMI_CreateGraphDialog, GSI_CreateMDlg, MMI_PrintVal, MMI_PrintStr, MMI_PrintTok, MMI_PrintInt, MMI_InputVal, MMI_InputStr, MMI_InputInt, MMI_InputList 6-20 TPS1100-Version 2.10...
  • Page 854 Only a text dialog or a measurement dialog is valid at a time. They cannot be defined at the same time. A graphic dialog overrides a text or measurement dialog but does not delete the definition of it. TPS1100-Version 2.10 6-21...
  • Page 855 By deleting the dialog all user defined buttons added with MMI_AddButton are deleted as well. Return-Codes RC_OK Successful termination. BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_CreateTextDialog, MMI_CreateGraphDialog, GSI_CreateMDlg 6-22 TPS1100-Version 2.10...
  • Page 856 It only checks the keyboard buffer. Parameters lKeyPressed lKeyPressed = TRUE is returned, if a valid button was pressed. Otherwise the value of lKeyPressed is FALSE. Return-Codes RC_OK Successful termination. BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_AddButton MMI_GetButton TPS1100-Version 2.10 6-23...
  • Page 857 Out The identifier of the pressed button. For values of iButtonId see the table below. lAllKeys Determines which keys exit the routine. If lAllKeys = TRUE any valid pressed key exit the routine, otherwise only normal ones. 6-24 TPS1100-Version 2.10...
  • Page 858 "0..9", no MMI_NUM0_KEY.. no return focus MMI_NUM9_KEY "CE" MMI_UNASS_KEY no return cursor keys MMI_UP_KEY, no return MMI_DOWN_KEY, MMI_RIGHT_KEY, MMI_LEFT_KEY Return-Codes RC_OK Successful termination. No dialog exists for this operation. BAS_NO_DLG_EXIST See Also MMI_AddButton, MMI_CheckButton TPS1100-Version 2.10 6-25...
  • Page 859 Then the functionality applies to the graphics dialog. The added buttons can be deleted with the routine MMI_DeleteButton while the dialog exists. Closing the dialog with MMI_DeleteDialog deletes all buttons attached to this dialog. 6-26 TPS1100-Version 2.10...
  • Page 860 The routine MMI_DeleteButton deletes the button with the Identifier iButtonId from the actual dialog. Only a button that was added with MMI_AddButton can be deleted. Closing the dialog with MMI_DeleteDialog deletes all buttons attached to this dialog. TPS1100-Version 2.10 6-27...
  • Page 861 Too long text strings are truncated, illegal co-ordinates are adjusted. Note A text dialog must already exist. Only display length number of character will be displayed, hence 29. Parameters iColumn in The horizontal position (0..28) 6-28 TPS1100-Version 2.10...
  • Page 862 This routine may be used instead of MMI_PrintStr to support internationalisation of multiple language applications. Note A text dialog must already exist. Parameters iColumn in The horizontal position (0..28) iLine in The vertical position (0..number of lines defined with MMI_CreateTextDialog) TPS1100-Version 2.10 6-29...
  • Page 863 "-----" are displayed. Too long value strings are truncated, illegal co- ordinates are adjusted. If iMode = MMI_DIM_ON, a dimension field is automatically displayed when the type of dVal has units. 6-30 TPS1100-Version 2.10...
  • Page 864 No dialog exists for this operation. See Also MMI_PrintInt , MMI_InputVal Example The example uses the MMI_PrintVal routine to print the value of TestVal as distance (with corresponding dimension) in the first line on row 2 of the currently open text dialog. TPS1100-Version 2.10 6-31...
  • Page 865 For double values a separate routine (MMI_PrintVal) exists. lValid Determines if the value should be shown as valid. If lValid = TRUE the value iVal is displayed, otherwise the symbols for invalid values are displayed. 6-32 TPS1100-Version 2.10...
  • Page 866 Text is not edited and the routine exits. The string can be edited by pressing αEDIT or a numerical key. If iMode = MMI_DEFAULT_MODE the keys ESC, ENTER, TPS1100-Version 2.10 6-33...
  • Page 867 The identifier of the pressed valid button to exit the edit process. Return-Codes RC_OK Successful termination. BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_PrintStr 6-34 TPS1100-Version 2.10...
  • Page 868 The value within the bounds dMin and dMax can be edited by pressing EDIT or the numerical block keys. If iMode = MMI_DEFAULT_MODE the keys ESC, ENTER, ON/OFF or any user defined button (added with MMI_AddButton) terminates TPS1100-Version 2.10 6-35...
  • Page 869 Modes can be added, i.e. MMI_SPECIALKEYS_ON + MMI_DIM_ON dVal inout The value to edit. Use this routine to edit double (and equal to double) values. For integer values a separate routine (MMI_InputInt) exists. 6-36 TPS1100-Version 2.10...
  • Page 870 0..1000. CONST MODE = MMI_DEFAULT_MODE 'define editmode DIM TestVal AS Distance DIM iButton AS Integer DIM lValid AS Logical lValid = FALSE MMI_ InputVal( 2, 1, 8, -1, 0, 1000, MODE, TestVal, lValid, iButton ) TPS1100-Version 2.10 6-37...
  • Page 871 A text dialog must already exist. Parameters iColumn The horizontal position (0..28). iLine The vertical position (0..number of lines defined with MMI_CreateTextDialog). iLen The length of the value plus the sign. iMin The lower and upper bounds. iMax 6-38 TPS1100-Version 2.10...
  • Page 872 2 of the actual text dialog. The entered values must lie in the range 0..1000. CONST MODE = MMI_DEFAULT_MODE 'define editmode DIM iTestVal AS Integer DIM iButton AS Integer DIM lValid AS Logical lValid = FALSE MMI_InputInt( 2,1,5,0,1000, MODE,iTestVal,lValid,iButton ) TPS1100-Version 2.10 6-39...
  • Page 873 MMI_InputList too. Note A text dialog must already exist. Parameters The horizontal position (0..28). iColumn iLine The vertical position (0..number of lines defined with MMI_CreateTextDialog). iLen The displayed length of the list elements. 6-40 TPS1100-Version 2.10...
  • Page 874 The example uses the MMI_InputList routine to get the value of the selected list element (the selected line) of a list field displayed in the second line on row 2 of the actual text dialog. The first displayed line is the line with the number Index. TPS1100-Version 2.10 6-41...
  • Page 875 AS String30 ) Remarks If lValid = TRUE then this routine converts a double value (or values with equal type, e.g. dimension) to a text string, otherwise the symbols for invalid values are returned. The returned string 6-42 TPS1100-Version 2.10...
  • Page 876 The dimension field is not included. iDecimals in The number of decimals. If iDecimals = -1 the number of decimals set by the system is taken. TPS1100-Version 2.10 6-43...
  • Page 877 BYVAL iMsgType AS Integer, iRetKey AS Integer ) Remarks The function opens a message window on the display, which shows the text specified by sText. Lines that are too long to fit into the window are split automatically. 6-44 TPS1100-Version 2.10...
  • Page 878 MMI_MB_OK MMI_MB_ABORT MMI_MB_OK_ABORT MMI_MB_ABORT_RETRY_CONT MMI_MB_YES_NO_ABORT MMI_MB_YES_NO MMI_MB_RETRY_ABORT MMI_MB_ABORT_CONT MMI_MB_ABORT_RETRY_IGNORE MMI_MB_ABORT_IGNORE Returns the button pressed, i. e. iRetKey iRetKey: MMI_MB_RET_OK MMI_MB_RET_ABORT MMI_MB_RET_RETRY MMI_MB_RET_CONT MMI_MB_RET_YES MMI_MB_RET_NO MMI_MB_RET_IGNORE TPS1100-Version 2.10 6-45...
  • Page 879 This routine is different to MMI_WriteMsg in such a way that sText may be computed. But, of course, sText will not be entered into the text token data base. Parameters sText Text string to be displayed in a message box. 6-46 TPS1100-Version 2.10...
  • Page 880 MMI_MB_OK_ABORT MMI_MB_ABORT_RETRY_CONT MMI_MB_YES_NO_ABORT MMI_MB_YES_NO MMI_MB_RETRY_ABORT MMI_MB_ABORT_CONT MMI_MB_ABORT_RETRY_IGNORE MMI_MB_ABORT_IGNORE iRetKey Returns the button pressed, i. e. iRetKey: MMI_MB_RET_OK MMI_MB_RET_ABORT MMI_MB_RET_RETRY MMI_MB_RET_CONT MMI_MB_RET_YES MMI_MB_RET_NO MMI_MB_RET_IGNORE Return-Codes Successful termination. RC_OK BAS_NO_DLG_EXIST No dialog exists for this operation. See Also MMI_WriteMsg TPS1100-Version 2.10 6-47...
  • Page 881 A graphics dialog has to be set up before. Parameters x-co-ordinate of the beginning of the line [pixel] y-co-ordinate of the beginning of the line [pixel] x-co-ordinate of the end of the line [pixel] y-co-ordinate of the end of the line [pixel] 6-48 TPS1100-Version 2.10...
  • Page 882 BYVAL iBrush AS Integer, BYVAL iPen AS Integer ) Remarks This function draws a rectangle in the graphic field using the fill- style iBrush and the line-style iPen. Note A graphics dialog has to be set up before. TPS1100-Version 2.10 6-49...
  • Page 883 No graphics dialog exists for this operation. See Also MMI_CreateGraphDialog, MMI_DrawLine, MMI_DrawCircle, MMI_DrawText Example The example uses the MMI_DrawRect routine to draw a rectangle with the specified attributes. MMI_ DrawRect( 10, 10, 100, 50, MMI_NO_BRUSH, MMI_PEN_BLACK ) 6-50 TPS1100-Version 2.10...
  • Page 884 [pixel] in Radius of the circle, horizontal radius [pixel] in Radius of the circle, vertical radius [pixel] in Fill-style for the rectangle; possible values: iBrush MMI_BRUSH_WHITE MMI_BRUSH_BLACK MMI_NO_BRUSH in Line-style; possible values: iPen MMI_PEN_WHITE MMI_PEN_BLACK MMI_PEN_DASHED TPS1100-Version 2.10 6-51...
  • Page 885 [pixel] y-co-ordinate at the upper left-hand corner of the first character [pixel] sText Pointer to the text string iAttr Text attribute normal text MMI_TXT_NORMAL MMI_TXT_INVERSE inverted text 6-52 TPS1100-Version 2.10...
  • Page 886 DrawText( 10, 10, sOutput, MMI_TXT_NORMAL, MMI_PEN_BLACK ) 6.1.33 MMI_DrawBusyField Description Shows or hides the Busy-Icon. Declaration MMI_DrawBusyField( BYVAL lVisible as Logical ) Remarks This function controls the Busy-Icon (Hourglass). Parameters lVisible TRUE: Icon is visible Return-Codes RC_OK Successful termination. TPS1100-Version 2.10 6-53...
  • Page 887 The example uses the MMI_BeepNormal to sound a signal beep. MMI_ BeepNormal() 6.1.35 MMI_StartVarBeep Description Start beep sequences with configurable interrupts. Declaration MMI_StartVarBeep( BYVAL iRate AS Integer ) Remarks The function creates sequences of beeps with configurable interrupts. 6-54 TPS1100-Version 2.10...
  • Page 888 A continuous signal beep will be switched off immediately. Parameters switches the beep on or off meaning the beep is switched off generally FALSE TRUE beep is on; the functions MMI_BeepNormal etc. will only work if the beep is switched on. Return-Codes RC_OK Successful termination. TPS1100-Version 2.10 6-55...
  • Page 889 Declaration MMI_GetVarBeepStatus( lOn AS Logical ) Remarks The function retrieves the state of the general signal beep switch. Parameters state of the switch meaning FALSE TRUE Return-Codes RC_OK Successful termination. See Also MMI_BeepNormal, MMI_BeepLong, MMI_BeepAlarm, MMI_StartVarBeep, MMI_SwitchVarBeep 6-56 TPS1100-Version 2.10...
  • Page 890 FALSE Key is switched off generally TRUE Key is active Return-Codes RC_OK Successful termination. See Also BAP_MeasRec, BAP_MeasDistAng Example The example uses the MMI_SwitchAFKey to disable the aF… key. MMI_ SwitchAFKey( FALSE ) TPS1100-Version 2.10 6-57...
  • Page 891 This is the normal state during a measurement dialog with continuos measurements. Return-Codes RC_OK Successful termination. See Also BAP_MeasRec BAP_MeasDistAng Example The example uses the MMI_SwitchIconsBeep to disable the icons and beeps. MMI_ SwitchIconsBeep( FALSE ) 6-58 TPS1100-Version 2.10...
  • Page 892 Relationship of the horizontal angle; valid values: MMI_HANGLE_CLOCKWISE MMI_HANGLE_ANTICLOCKWISE MMI_HANGLE_CLOCKWISE_SOUTH MMI_HANGLE_BEARING Return Codes RC_OK Successful termination. The function has been called with an RC_IVPARAM invalid parameter See Also MMI_GetAngleRelation Example Set the angle relations (with internal default values). MMI_SetAngleRelation( MMI_VANGLE_IN_PERCENT, MMI_HANGLE_CLOCKWISE) TPS1100-Version 2.10 6-59...
  • Page 893 This function sets the vertical angle mode. Normally (lAngleFree=FALSE), the vertical angle is fix if there is a valid distance available. If lAngleFree=TRUE, the vertical angle will be updated including all corresponding values (slope distance, vertical distance, coordinates etc) 6-60 TPS1100-Version 2.10...
  • Page 894 If iDigits is greater than the maximal number it will be reset to it without notifying the user. A negative value of iDigits is not allowed. Note The maximal number of decimal digits depends on the Theodolite class. TPS1100-Version 2.10 6-61...
  • Page 895 MMI_ANGLE_GON MMI_ANGLE_DEC MMI_ANGLE_SEXADEC MMI_ANGLE_MIL MMI_ANGLE_PERCENT don’t care Return Codes RC_OK Successful termination. RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetAngleUnit Example Set the angle unit. MMI_SetAngleUnit( MMI_ANGLE_GON, 3 ) 6-62 TPS1100-Version 2.10...
  • Page 896 If iDigits is greater than the maximal number it will be reset to it without notifying the user. A negative value of iDigits is not allowed. Note The maximal number of decimal digits depends on the Theodolite class TPS1100-Version 2.10 6-63...
  • Page 897 MMI_DIST_METER MMI_DIST_FOOT MMI_DIST_FOOT_INCH MMI_DIST_US_FOOT MMI_DIST_US_FOOT_INCH MMI_DIST_MM MMI_DIST_INCH Return Codes RC_OK Successful termination. RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetDistUnit Example Set the distance unit. MMI_SetDistUnit( MMI_DIST_METER, 4 ) 6-64 TPS1100-Version 2.10...
  • Page 898 This function sets the display unit for pressure. Fields already displayed are not updated. If iDigits is greater than 1 it will be reset to it without notifying the user. A negative value of iDigits is not allowed. TPS1100-Version 2.10 6-65...
  • Page 899 MMI_PRESS_MBAR MMI_PRESS_MMHG MMI_PRESS_INCHHG MMI_PRESS_HPA MMI_PRESS_PSI Return Codes RC_OK Successful termination. The function has been called with an RC_IVPARAM invalid parameter See Also MMI_GetPressUnit Example Set the pressure unit. MMI_SetPressUnit( MMI_PRESS_MBAR, 1 ) 6-66 TPS1100-Version 2.10...
  • Page 900 This function sets the display unit for temperature. Fields already displayed are not updated. If iDigits is greater than 1 it will be reset to it without notifying the user. A negative value of iDigits is not allowed. TPS1100-Version 2.10 6-67...
  • Page 901 6.1.51 MMI_GetTempUnit Description Return the currently displayed unit of temperature. Declaration MMI_GetTempUnit(iUnit AS Integer, iDigits AS Integer) Remarks This function returns the current unit of temperature. Parameters iUnit Specified unit of temperature iDigits Number of decimal places. 6-68 TPS1100-Version 2.10...
  • Page 902 Existing fields remain unchanged. Parameters iFormat in Specified date format; possible values: value meaning MMI_DATE_EU European: DD.MM.YY MMI_DATE_US MM/DD/YY MMI_DATE_JP Japanese: YY/MM/DD Return Codes RC_OK Successful termination. RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetDateFormat TPS1100-Version 2.10 6-69...
  • Page 903 MMI_SetTimeFormat(BYVAL iFormat AS Integer) Remarks This function sets the format in which the time is to be displayed. Existing fields remain unchanged. Parameters iFormat in Specified time format; possible values: value meaning MMI_TIME_12H 12 hour display MMI_TIME_24H 24 hour display 6-70 TPS1100-Version 2.10...
  • Page 904 This function retrieves the format used to display the time. Parameters iFormat Specified time format Return Codes RC_OK Successful termination. The function has been called with an RC_IVPARAM invalid parameter See Also MMI_SetTimeFormat Example Get the time format. DIM iFormat AS Integer MMI_GetTimeFormat( iFormat ) TPS1100-Version 2.10 6-71...
  • Page 905 MMI_COORD_N_E Order North East Order East North MMI_COORD_E_N Return Codes Successful termination. RC_OK RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetCoordOrder Example Set the co-ordinate order (internal default value). MMI_SetCoordOrder( MMI_COORD_N_E ) 6-72 TPS1100-Version 2.10...
  • Page 906 Remarks This function sets the current language. All displayed text are immediately shown in the new language. Parameters iLanguageNr in Specifies the language number; possible values: Value Meaning MMI_REF_LANGUAGE Reference language (English) = 1 Language MMI_MAX_LANGUAGE numbers TPS1100-Version 2.10 6-73...
  • Page 907 This function returns the current language and the associated character symbols. Parameters iLangNr Language number sLangName Language description Return Codes Successful termination. RC_OK See Also MMI_SetLanguage Example Get the current language. DIM iLangNr AS Integer DIM sLangName AS String20 MMI_GetLanguage( iLangNr, sLangName ) 6-74 TPS1100-Version 2.10...
  • Page 908 This routine delivers the name associated with the number iLangNr. Parameters iLangNr Language number sLangName Language description Return Codes RC_OK Successful termination. RC_IVPARAM iLangNr is invalid See Also MMI_SetLanguage MMI_GetLanguage Example Get the name of a language. DIM sLangName AS String20 MMI_GetLangName( 2, sLangName ) TPS1100-Version 2.10 6-75...
  • Page 909 BAP_SetHz Sets the horizontal angle to 0 or another given value. BAP_SetManDist Set the distance manually. BAP_SetMeasPrg Set the distance measure program. BAP_SetPpm Sets the ppm for distance measurements. Sets the current prism type and constant. BAP_SetPrism 6-76 TPS1100-Version 2.10...
  • Page 910 BYVAL sCaptionLeft AS _Token ) Remarks Measures distance and angles and updates the data pool after correct measurements. It controls the special beep (Sector or Lost Lock) and switches measurement icons and disables the aF... key during tracking. TPS1100-Version 2.10 6-77...
  • Page 911 BAP_TRK_DIST Depends on distance measurement. Can be changed during distance measurement. BAP_RTRK_DIST Depends on distance measurement. Can be changed during distance measurement. All other modes Returns BAP_DEF_DIST. dHz, dV out Angles [rad] , depends on 6-78 TPS1100-Version 2.10...
  • Page 912 No prism has been found during TO_DIST distance measurement with ATR, command changed from " " to " " Dist Info, accuracy cannot be guaranteed TMC_ACCURACY_ GUARANTEE TMC_ANGLE_ Info, only angle measurement valid, ACCURACY_ accuracy cannot be guaranteed GUARANTEE TPS1100-Version 2.10 6-79...
  • Page 913 The example uses the BAP_MeasDistAngle routine to measure a distance and angles. DIM iDistMode AS Integer DIM dHz AS Angle DIM dV AS Angle DIM dDist AS Distance iDistMode = BAP_DEF_DIST BAP_MeasDistAngle(iDistMode, dHz, dV, dDist, TRUE, "TEST") 6-80 TPS1100-Version 2.10...
  • Page 914 BAP_STOP_TRK Stop tracking, no measurement and no recording BAP_CLEAR_DIST Clear distance (Theodolite data pool), no measurement and no recording. BAP_RED_TRK_ Use the tracking with red laser DIST measurement program and record values TPS1100-Version 2.10 6-81...
  • Page 915 AUT_RC_CALACC ATR-calibration failed AUT_RC_ Error in target acquisition DETECTOR_ERROR AUT_RC_DETENT_ Positioning not possible due to ERROR mounted EDM AUT_RC_DEV_ Deviation measurement error ERROR AUT_RC_INCACC Position not exactly reached AUT_RC_MOTOR_ Motorization error ERROR Multiple targets detected AUT_RC_MULTIPLE_ TARGETS 6-82 TPS1100-Version 2.10...
  • Page 916 Error, wrong setting of PPM or MM on EDM TMC_NO_FULL_ Warning, measurement without full CORRECTION correction TMC_SIGNAL_ERROR Error, no signal on EDM (only in signal mode) RC_ABORT Error, measurement aborted RC_IVPARAM Error, invalid DistMode See Also BAP_MeasDistAngle, GSI_SetRecMask TPS1100-Version 2.10 6-83...
  • Page 917 Search range V Return Codes RC_OK Successful termination. AUT_RC_TIMEOUT Timeout while positioning of one or both axes. The position fault lies above 100[cc]. AUT_RC_MOTOR_ Instrument has no ‘motorization’. ERROR Fatal error. RC_FATAL RC_ABORT Function aborted. AUT_RC_NO_TARGET No target found. 6-84 TPS1100-Version 2.10...
  • Page 918 This routine works only in ATR instruments and needs at least Firmware-Release 2.00 Parameters lShowMessages TRUE: show error-messages if there are problems to find the prism Return Codes RC_OK Successful termination. AUT_RC_TIMEOUT Timeout while positioning of one or both axes. The position fault lies above 100[cc]. TPS1100-Version 2.10 6-85...
  • Page 919 Theodolite data pool. Parameters sCaptionLeft left caption string of the dialog initial value for the distance. A dDistance negative value will be displayed as "----" iButtonId identifier of the pressed valid button to exit the dialog 6-86 TPS1100-Version 2.10...
  • Page 920 The BAP_SetPpm routine opens a dialog which the user can complete in order to calculate the PPM (parts per million) correction to be used to reduce the distance measured by the EDM. Return Codes RC_OK Successful termination. TPS1100-Version 2.10 6-87...
  • Page 921 Return Codes RC_OK Successful termination. See Also BAP_SetManDist, BAP_SetPpm Example The example uses the BAP_SetPrism routine to open the Prism dialog. BAP_SetPrism() 6.2.10 BAP_SetMeasPrg Description Set the distance measure program. Declaration BAP_SetMeasPrg( BYVAL iMeasPrg AS Integer ) 6-88 TPS1100-Version 2.10...
  • Page 922 BAP_CONT_RLESS_ Continuous measurement, VISIBLE reflectorless, with red laser BAP_AVG_REF_ Average measurement, with STANDARD reflector, standard speed BAP_AVG_REF_ Average measurement, with reflector VISIBLE and red laser BAP_AVG_RLESS_ Average measurement, reflectorless, VISIBLE with red laser See Also BAP_GetMeasPrg TPS1100-Version 2.10 6-89...
  • Page 923 Continuous measurement, with BAP_CONT_REF_FAST reflector, fast BAP_CONT_RLESS_ Continuous measurement, VISIBLE reflectorless, with red laser BAP_AVG_REF_ Average measurement, with STANDARD reflector, standard speed BAP_AVG_REF_ Average measurement, with reflector VISIBLE and red laser BAP_AVG_RLESS_ Average measurement, reflectorless, VISIBLE with red laser 6-90 TPS1100-Version 2.10...
  • Page 924 Remarks This procedure positions the telescope according to the specified mode and angles. Parameters eMode Positioning mode. BAP_POSIT positioning on Hz and V angle BAP_POSIT_HZ positioning on Hz angle BAP_POSIT_V positioning on V angle BAP_CHANGE_FACE change face TPS1100-Version 2.10 6-91...
  • Page 925 Theodolite, the tolerance will be the default accuracy. Return Codes RC_OK Positioning successful RC_ABORT Abnormal termination (No positioning possible, ESC-Key) See Also CSV_MakePositioning CSV_ChangeFace Example Position the telescope. BAP_PosTelescope(BAP_CHANGE_FACE, BAP_POS_DLG, 0, 0, .5, .5 ) 6-92 TPS1100-Version 2.10...
  • Page 926 If the instrument is in Lock mode, then the instrument tries to lock first before it sets the angle to 0. Parameters sCaptionLeft Left caption text for dialog See Also Return Codes RC_OK Horizontal angular offset correct. Example Set the horizontal angle. BAP_SetHz("BASIC" ) TPS1100-Version 2.10 6-93...
  • Page 927 TMC_OFFSET_DIST_ Target offset Type Correction for distance measurement TMC_PPM_CORR_Type TMC_REFRACTION_Type Refraction correction for distance measurement TMC_STATION_Type Station co-ordinates 6.3.1.2 Procedures procedure name description Start a measure program. TMC_DoMeasure TMC_Get/ Gets and sets the current face definition. SetAngleFaceDef 6-94 TPS1100-Version 2.10...
  • Page 928 Gets information about manual TMC_IfDistTapeMeasured measurement. TMC_IfOffsetDistMeasured Returns the EDM measurement mode Measure slope distance and angles TMC_QuickDist TMC_SetAngSwitch Defines the angle measurement correction switches TMC_SetDistSwitch Defines the distance measurement correction switches TMC_SetHandDist Sets distance manually. TPS1100-Version 2.10 6-95...
  • Page 929 AS Double vertical angle accuracy of angle dAngleAccuracy AS Double iAngleTime AS Integer time of measurement Incline AS TMC_ inclination belonging to the Incline_Type measurement iFace AS Integer information about position of the telescope END TMC_Angle_Type 6-96 TPS1100-Version 2.10...
  • Page 930 AS Double height co-ordinate, measured continuously iCoordContTime AS Integer time of continuous measurement END TMC_Coordinate_Type 6.3.2.5 TMC_HZ_V_ANG - Horizontal and vertical angle TYPE TMC_HZ_V_Ang_Type AS Double horizontal angle AS Double vertical angle END TMC_HZ_V_Ang_Type TPS1100-Version 2.10 6-97...
  • Page 931 AS Double END TMC_REFRACTION_Type 6.3.2.9 TMC_DIST_SWITCH_Type– Distance measurement switches TYPE TMC_DIST_SWITCHES_Type ' EDM to optical axis correction lAxisDifferCorr AS Logical ' Projection scale correction lProjectScaleCorr AS Logical ' Height reduction correction lHgtReductionCorr AS Logical END TMC_DIST_SWITCHES_Type 6-98 TPS1100-Version 2.10...
  • Page 932 TMC_DoMeasure(TMC_TRK_DIST). The electronic distance measuring device (EDM) begins to run. Now the co-ordinates can be read, e.g. with TMC_GetCoordinate(). Tracking can be stopped with TMC_DoMeasure(TMC_STOP). With TMC_DoMeasure(TMC_CLEAR) the function will be stopped and the distance cleared. TPS1100-Version 2.10 6-99...
  • Page 933 (test mode) TMC_RED_TRK_ do tracking distance DIST measure with red laser See Also TMC_GetPolar TMC_GetCoordinate Return Codes RC_OK measure program started RC_IVPARAM The function has been called with an invalid parameter TMC_BUSY Measurement system is busy 6-100 TPS1100-Version 2.10...
  • Page 934 Note The measure program must have been started (see TMC_DoMeasure). Parameters iWaitTime delay time [ms] until a result is available =0 returns results with an already measured distance. TPS1100-Version 2.10 6-101...
  • Page 935 Angle values okay, but no valid distance. Co-ordinates are not available. No distance data available but angle TMC_ANGLE_ ACCURACY_ data are valid. The return code is GUARANTEE equivalent to the TMC_ACCURACY_GUARANTEE relates to the angle data. Co-ordinates are not available. 6-102 TPS1100-Version 2.10...
  • Page 936 TMC task is busy. Repeat measurement. RC_ABORT Measurement through customer aborted. Example Start a distance measure, perform measure. DIM iRetCode AS Integer DIM iWaitTime AS Integer DIM Polar AS TMC_Distance_Type DIM lError AS Logical DIM lDone AS Logical TPS1100-Version 2.10 6-103...
  • Page 937 The result is a point in Cartesian co-ordinates. The system calculates co-ordinates and tracking co-ordinates. Simple and multiple measurements (distance-, altitude- and co- ordinate- tracking) are supported. The delay (iWaitTime) just works on the distance measure, not on the measuring of the angle. 6-104 TPS1100-Version 2.10...
  • Page 938 Angle values okay, but no valid distance. Co-ordinates are not available. TMC_ANGLE_ No distance data available but angle ACCURACY_ data are valid. The return code is GUARANTEE equivalent to the TMC_ACCURACY_GUARANTEE relates to the angle data. Co-ordinates are not available. TPS1100-Version 2.10 6-105...
  • Page 939 AS Integer DIM iWaitTime AS Integer DIM Coord AS TMC_COORDINATE_Type DIM lError AS Logical DIM lDone AS Logical ON ERROR RESUME NEXT ' to get valid angle data TMC_DoMeasure( TMC_DEF_DIST ) lDone = FALSE lError = FALSE 6-106 TPS1100-Version 2.10...
  • Page 940 As long as no new measure program is started, the results can be read. Additional to the normal return codes iReturnCode delivers also informational return codes which will not interrupt program execution. Parameters Angles result of measuring the angle iReturnCode return code, see Additional Codes See Also TMC_DoMeasure TPS1100-Version 2.10 6-107...
  • Page 941 TMC resource is locked respectively TMC task is busy. Angle data are not available. Repeat measurement. RC_ABORT Measurement through customer aborted. Example Read the currently valid angle. DIM Angles AS TMC_ANGLE_Type DIM RetCode AS Integer TMC_GetAngle( Angles, RetCode ) 6-108 TPS1100-Version 2.10...
  • Page 942 Additional Codes See Also TMC_DoMeasure, TMC_GetAngle Additional Codes in iReturnCode RC_OK Execution successful. TMC_NO_FULL_ The results are not corrected by all active CORRECTION sensors. Angle data are available. This message is to be considers as warning. TPS1100-Version 2.10 6-109...
  • Page 943 The function measures the horizontal and vertical angle and in dependence of the configuration, the inclination. The function waits until a new distance is measured and then it returns the angle and the slope-distance, but no co-ordinates. Is no 6-110 TPS1100-Version 2.10...
  • Page 944 (For the forced Angle) incline measurement, the instrument must be in stable state for more than 3sec.). Parameters Angle out measured Hz- and V-angle Distance out measured slope-distance iReturnCode out return code, see Additional Codes See Also TMC_DoMeasure, TMC_GetAngle TPS1100-Version 2.10 6-111...
  • Page 945 This message is to be considers as warning. TMC_ANGLE_NO_ Angle measuring data are valid, but not FULL_CORRECTION corrected by all active sensors. The distance data are not available. (Possible reasons are: -see return code TMC_ANGLE_OK This message is to be considers as warning. 6-112 TPS1100-Version 2.10...
  • Page 946 Repeat measurement. Measurement through customer aborted. RC_ABORT Example Fast tracking with QuickDist. See example program TRACKING for more details. DIM iRetCode AS Integer DIM HzV AS TMC_HZ_V_ANG_Type DIM dDist AS Distance TMC_DoMeasure( TMC_CLEAR ) ' clear distances TPS1100-Version 2.10 6-113...
  • Page 947 If no valid distance measurement is available and the distance measurement unit is not activated (by before the TMC_DoMeasure call) the is also ignored and the TMC_GetSimpleMea WaitTime angle measurement result is returned. Information about distance measurement is returned in the return- code. 6-114 TPS1100-Version 2.10...
  • Page 948 Perform a distance measurement. TMC_ANGLE_NO_ No distance data available but angle FULL_ data are valid. The return code is CORRECTION equivalent to the TMC_NO_FULL_CORRECTION relates to the angle data. Perform a distance measurement first before you call this function. TPS1100-Version 2.10 6-115...
  • Page 949 Distance and angle data are not available. Repeat measurement. RC_ABORT Measurement aborted. Example This example measures the slope distance and angles. DIM Angle AS Double DIM dSlope AS Double DIM RetCode AS Integer TMC_GetSimpleMea( Angle, dSlope, RetCode ) 6-116 TPS1100-Version 2.10...
  • Page 950 (no valid results) or a distance exists Example The example reads the current definition and sets the opposite one. DIM face AS TMC_FACE_DEF TMC_GetAngelFaceDef(face) IF (face = TMC_FACE_NORMAL) THEN TMC_SetAngelFaceDef(TMC_FACE_TURN) ELSE TMC_SetAngelFaceDef(TMC_FACE_NORMAL) END IF TPS1100-Version 2.10 6-117...
  • Page 951 (no valid results) or a distance exists Example The example reads the current offsets and sets it to an increased value. DIM off AS Double TMC_GetHzOffset ( off ) TMC_SetHzOffset ( off + 1.0 ) 6-118 TPS1100-Version 2.10...
  • Page 952 Height out/in Height of reflector in Meters. Return Codes RC_OK Completed successfully. TMC_BUSY measurement system is busy (no valid results) Example The example sets the reflectors height to the value of 1.0 m. TMC_SetHeight ( 1.0 ) TPS1100-Version 2.10 6-119...
  • Page 953 AS Integer ) TMC_SetRefractiveMethod ( byVal Method AS Integer ) Parameters Method out/in Method of refraction calculation: 1: method 1 2: method 2 else: undefined Return Codes RC_OK Completed successfully. measurement system is busy (no valid results) TMC_BUSY 6-120 TPS1100-Version 2.10...
  • Page 954 Gets information about manual measurement. Declaration TMC_IfDistTapeMeasured ( bTapeMeasured AS Logical ) Parameters bTapeMeasured out TRUE: if measurement has been done by hand. FALSE: if measurement has been done with EDM or if invalid. Return Codes RC_OK Completed successfully. Example TPS1100-Version 2.10 6-121...
  • Page 955 You can a forced incline measurement perform or switch off the incline. This message is to be considers as info. TMC_ANGLE_ERROR Problems with angle res. incline sensor. A valid angle could not be measured. At repeated occur call service. 6-122 TPS1100-Version 2.10...
  • Page 956 Distance switches Return-Codes Successful termination. RC_OK See Also TMC_GetDistSwitch 6.3.20 TMC_GetDistSwitch Description Returns the distance measurement correction switches. Declaration TMC_GetDistSwitch( Switches AS TMC_DIST_SWITCH_Type ) Remarks This procedure returns the distance measurement correction switches. Parameters Switches Distance switches TPS1100-Version 2.10 6-123...
  • Page 957 No distance may exist for offset setting.. Call TMC_DoMeasure(TMC_CLEAR) before this function. Parameters Target point offset Offsets Return-Codes Successful termination. RC_OK TMC_BUSY measurement system is busy (no valid results) or a distance exists. See Also TMC_GetOffsetDist, BAP_Offset, TMC_IfOffsetDistMeasured 6-124 TPS1100-Version 2.10...
  • Page 958 TMC_IfOffsetDistMeasured Description Returns the EDM measurement mode. Declaration TMC_IfOffsetDistMeasured( lOffset AS Logical ) Remarks This function returns TRUE if an offset is defined. Parameters lOffset Offset is valid Return-Codes RC_OK Successful termination. See Also TMC_SetOffsetDist, TMC_GetOffsetDist, BAP_Offset TPS1100-Version 2.10 6-125...
  • Page 959 This procedure sets the angle measurement correction switches. Note No distance may exist for setting the angle switches. Call TMC_DoMeasure( TMC_CLEAR ) before this function. Parameters Switches angular switches Return-Codes RC_OK Successful termination. TMC_BUSY A distance exists See Also TMC_GetAngSwitch 6-126 TPS1100-Version 2.10...
  • Page 960 Defines the compensator switch. Declaration TMC_SetAngSwitches( lOn AS Logical ) Remarks This procedure enables or disables the dual axis compensator correction. Note No distance may exist for a switch setting.. Call TMC_DoMeasure(TMC_CLEAR) before this function. Parameters Switch TPS1100-Version 2.10 6-127...
  • Page 961 Remarks This procedure returns status of the inclination sensor. Parameters iStatus out TMC_INC_OFF Incline-sensor is switched off TMC_INC_OK Inclination is ok, recording is allowed TMC_INC_TILT Incline-sensor is out of working area TMC_INC_OLD Incline-values are not yet updated 6-128 TPS1100-Version 2.10...
  • Page 962 GeoBASIC Reference Manual 6. System Functions TMC_INC_FAIL Inclination - measurement fails Return-Codes RC_OK Successful termination. See Also TMC_SetInclineSwitch Example See example file „meas.gbs“. TPS1100-Version 2.10 6-129...
  • Page 963 GSI_GetIndivNr Fetches the individual point number. GSI_GetLineSysMDlg Gets the definition of a line in the system measurement dialog. GSI_GetMDlgNr Returns the number of the system measurement dialog. This routine returns the status for Quick- GSI_GetQCodeAvailable C di 6-130 TPS1100-Version 2.10...
  • Page 964 Sets a line in the user definable measurement dialog to an application parameter. GSI_SetLineMDlgText Puts a textline into the user definable measurement dialog. GSI_SetLineSysMDlg Sets a line in the system measurement dialog. GSI_SetMDlgNr Sets the number of the system measurement dialog. TPS1100-Version 2.10 6-131...
  • Page 965 GSI_ID_TIME_2 String Second time art GSI_ID_HZ Double Horizontal angle Double Vertical angle GSI_ID_V GSI_ID_NHZ Double Nominal horizontal angle GSI_ID_DHZ Double Difference horizontal angle GSI_ID_NV Double Nominal vertical angle GSI_ID_DV Double Difference vertical angle GSI_ID_SLOPE Double Slope distance 6-132 TPS1100-Version 2.10...
  • Page 966 Remark 1 GSI_ID_REM_2 String Remark 2 GSI_ID_REM_3 String Remark 3 GSI_ID_REM_4 String Remark 4 String Remark 5 GSI_ID_REM_5 GSI_ID_REM_6 String Remark 6 GSI_ID_REM_7 String Remark 7 GSI_ID_REM_8 String Remark 8 GSI_ID_REM_9 String Remark 9 GSI_ID_E Double East co-ordinate TPS1100-Version 2.10 6-133...
  • Page 967 Application data 5 String/Double Application data 6 GSI_ID_APPDATA6 GSI_ID_APPDATA7 String/Double Application data 7 GSI_ID_APPDATA8 String/Double Application data 8 GSI_ID_APPDATA9 String/Double Application data 9 GSI_ID_APPDATA10 String/Double Application data 10 GSI_ID_APPDATA11 String/Double Application data 11 Double Free station scale GSI_ID_FS_SCALE 6-134 TPS1100-Version 2.10...
  • Page 968 Application parameter 1 GSI_PAR_AppData2 Application parameter 2 GSI_PAR_AppData3 Application parameter 3 GSI_PAR_AppData4 Application parameter 4 GSI_PAR_AppData5 Application parameter 5 GSI_PAR_AppData6 Application parameter 6 GSI_PAR_AppData7 Application parameter 7 GSI_PAR_AppData8 Application parameter 8 GSI_PAR_AppData9 Application parameter 9 GSI_PAR_AppData10 Application parameter 10 TPS1100-Version 2.10 6-135...
  • Page 969 Max. 3 displaymasks can be defined for this dialog. The displaymasks can also be changed with the system function "Next Displaymask". GSI_PAR_DataJob Data job management (select, create etc) GSI_PAR_TargetEast Target point Easting EDM measurement program selection. GSI_PAR_DistMeasProg il bl 6-136 TPS1100-Version 2.10...
  • Page 970 GSI_PAR_MeasJobSelect Measurement Job selection (of an existing Job or RS232 for online recording) GSI_PAR_MeasJob Measurement Job management (select, create, etc.) GSI_PAR_NS Number of measurements and standard deviation GSI_PAR_TargetNorth Target point Northing GSI_PAR_OffsetCross Cross Offset GSI_PAR_OffsetElev Offset Elevation TPS1100-Version 2.10 6-137...
  • Page 971 GSI_PAR_StationId GSI_PAR_StationEast Station Easting GSI_PAR_StationElev Station Elevation GSI_PAR_StationNorth Station Northing GSI_PAR_TargetType Definition of the target type (Reflector / reflectorless) GSI_PAR_Time Current time of the instrument. The displayed format depends on the setting of the parameter "Time form." 6-138 TPS1100-Version 2.10...
  • Page 972 Many of the GSI_IDs are record-able. Two types of record-able Ids can be distinguished: a) Measurement block (“Meas”) (has to start with a GSI_ID_PTNR) b) Code block (“Code”) (has to start with a GSI_ID_CODE) They may not be mixed. Record-able GSI_ID_-Ids GSI_PAR_-Ids GSI_ID_NHZ GSI_ID_DHZ GSI_ID_NV TPS1100-Version 2.10 6-139...
  • Page 973 GSI_ID_FNR GSI_PAR_SerialNr Meas (undefined) GSI_ID_TYPE GSI_PAR_InstrType Meas (undefined) GSI_ID_TIME_1 See GSI_PAR_Date Meas GSI_ID_TIME_2 See GSI_PAR_Time Meas Meas GSI_ID_HZ GSI_PAR_AngleHz GSI_ID_V GSI_PAR_AngleV Meas GSI_ID_SLOPE GSI_PAR_DistSlope Meas Meas GSI_ID_HOR GSI_PAR_DistHoriz GSI_ID_HGT GSI_PAR_ElevDiff Meas GSI_ID_PPMM GSI_PAR_PpmMm Meas GSI_ID_SIGMA GSI_PAR_NS Meas 6-140 TPS1100-Version 2.10...
  • Page 974 Code GSI_ID_CODE_6 GSI_PAR_Attrib7 Code GSI_ID_CODE_7 GSI_PAR_Attrib8 Code GSI_ID_CODE_8 GSI_PAR_Attrib9 Code are for the purpose of exchanging data between applications GSI_ID_APPDATA0 and between application and MDlg. They cannot be recorded. Both can be of the form GSI_ASCII GSI_DOUBLE. TPS1100-Version 2.10 6-141...
  • Page 975 Dialog entry information GSI_WiDlg_Entry_Type: Description This data structure is used to store information about the entries (data fields) of the WI dialog. TYPE GSI_WiDlg_Entry_Type AS Integer The identifier of the dialog entry. For possible value see WI constants. 6-142 TPS1100-Version 2.10...
  • Page 976 AS Double north co-ordinate dHeight AS Double height co-ordinate lPtNrValid AS Logical TRUE if point number is valid lEValid AS Logical TRUE if east co-ordinate is valid lNValid AS Logical TRUE if north co- ordinate is valid TPS1100-Version 2.10 6-143...
  • Page 977 Fetches the running point number and increment for it. Parameters the running point number sPntId the increment for the running point sPntIncr number See Also GSI_SetRunningNr, GSI_GetIndivNr, GSI_SetIndivNr, GSI_IsRunningNr Return-Codes RC_OK successful Example DIM sPntId AS String20 DIM sPntInc AS String20 GSI_GetRunningNr( sPntId, sPntInc ) 6-144 TPS1100-Version 2.10...
  • Page 978 GSI_SetRunningNr( sPntId, sPntInc ) 6.4.8 GSI_ GetIndivNr Description Fetches the individual point number. Declaration GSI_GetIndivNr( sPntId AS String20 ) Remarks Fetches the individual point number. Parameters sPntId The user-defined individual point number. See Also GSI_GetRunningNr, GSI_SetRunningNr, GSI_SetIndivNr, GSI_IsRunningNr TPS1100-Version 2.10 6-145...
  • Page 979 DIM sPntId AS String20 GSI_SetIndivNr( sPntId ) 6.4.10 GSI_IsRunningNr Description Queries if running number is being used. Declaration GSI_IsRunningNr( lRunningOn AS Logical ) Remarks If the running number is active the parameter will forced to TRUE otherwise to FALSE. 6-146 TPS1100-Version 2.10...
  • Page 980 Parameters lSwitch switch for the individual point-number (TRUE = on, FALSE = off ) See Also GSI_GetRunningNr, GSI_SetRunningNr, GSI_GetIndivNr, GSI_SetIndivNr, GSI_IsRunningNr Return-Codes RC_OK successful Example GSI_SetIvPtNrStatus( FALSE ) TPS1100-Version 2.10 6-147...
  • Page 981 If yes it will be executed, otherwise it examines the codelist management if a codelist is selected. If yes then the codelist will be opened, otherwise the standard coding will be activated. Parameters Caption The left caption string of the dialog. 6-148 TPS1100-Version 2.10...
  • Page 982 RC_ABORT_APPL Coding was aborted by pressing of the QUIT-button COD_RC_LIST_ No valid codelist selected NOT_VALID Example See example file „meas.gbs“. 6.4.15 GSI_GetQCodeAvailable Description This routine returns the status for Quick-Coding. Declaration GSI_GetQCodeAvailable(lAvailable As Logical, lEnabled As Logical) TPS1100-Version 2.10 6-149...
  • Page 983 This routine enables or disables the Quick-Coding. It can be only activated if a valid codelist is selected (see GSI_GetQCodeAvailable) Parameters lEnabled TRUE: enable Quick-Coding See Also GSI_GetQCodeAvailable, GSI_ExecQCoding Return-Codes RC_OK successful Example See example file „meas.gbs“. 6.4.17 GSI_ExecQCoding Description Executes the Quick-Coding. 6-150 TPS1100-Version 2.10...
  • Page 984 In: Pressed button. Out: If a Quick-Coding was possible, iButtonId is changed to MMI_NO_KEY, otherwise it is unchanged lNewCode TRUE: Quick-Coding was successful See Also GSI_GetQCodeAvailable, GSI_SetQCodeMode, GSI_SetRecOrder Return-Codes RC_OK successful Example See example files „meas.gbs“ and „meas_od.gbs“.. TPS1100-Version 2.10 6-151...
  • Page 985 This routine returns the recording order for Quick-Coding. If lCodeFirst=TRUE, then the code-block will be recorded before the measurement block. Parameters TRUE: code-block before measurement lCodeFirst block See Also GSI_SetRecOrder, GSI_ExecQCoding Return-Codes successful RC_OK Example See example file „meas_od.gbs“. 6-152 TPS1100-Version 2.10...
  • Page 986 If iPathInfo is set to GSI_EXTERNAL, then sFileName defines the filename i.e. "MeasJob.GSI" and sFilePath defines the file-path, i.e. "A:\\GSI". Parameters iPathInfo Defines where the data are recorded sFileName Valid Filename (8+3 format) sFilePath file-path TPS1100-Version 2.10 6-153...
  • Page 987 If iPathInfo = GSI_INTERFACE, then the measurements will be sent to the RS232 line and the other parameters are not valid. If iPathInfo = GSI_EXTERNAL, then sFileName defines the filename i.e. "MeasJob.GSI" and sFilePath defines the file- path, i.e. "A:\\GSI". 6-154 TPS1100-Version 2.10...
  • Page 988 "A:\\GSI". Parameters iPathInfo Device info (Only GSI_EXTERNAL is valid) sFileName Valid Filename (8+3 format) sFilePath File-path Return-Codes RC_OK Successful termination. See Also GSI_GetDataPath Example The example defines the file “A:\GSI\DataJob.GSI” as new import file. TPS1100-Version 2.10 6-155...
  • Page 989 The example fetches the name and the path of the standard import data file: DIM iPathInfo AS Integer DIM sFileName AS FileName DIM sFilePath AS FilePath GSI_GetDataPath(iPathInfo, sFileName, sFilePath) 6.4.25 GSI_GetWiEntry Description Get data from the Theodolite data pool. 6-156 TPS1100-Version 2.10...
  • Page 990 WI.iId. If that value is unequal to the first parameter value, then it comes to a conflict. Use a GSI_GetWiEntry() first, to be sure that all values TPS1100-Version 2.10 6-157...
  • Page 991 GSI_ACTUAL_RECMASK can be used to retrieve settings of the actual mask sMaskName out Name of the recording mask RecWiMask out The definition of the recording mask. The elements of the array are the identification numbers of the WI’s. See the description 6-158 TPS1100-Version 2.10...
  • Page 992 TRUE the elements of the recording mask can be changed in GSI_DefineRecMaskDlg. All unused elements should be set to GSI_ID_NONE. All values from 0 to 5 are valid for the mask number. Mask number 0 is predefined for the station recording mask. TPS1100-Version 2.10 6-159...
  • Page 993 The definition of the recording mask. The elements of the array are the identification numbers of the WI’s. See the description of the WI constants. Recording format iRec Format (GSI_RECFORMAT_GSI , GSI_RECFORMAT_GSI16 ) lEditMask in Mask editable flag See Also GSI_GetRecMask, GSI_DefineRecMaskDlg 6-160 TPS1100-Version 2.10...
  • Page 994 RecWiMask(4) = GSI_ID_HZ GSI_SetRecMask(GSI_ACTUAL_RECMASK, sMaskName, RecWiMask, iRecFormat, lEditMask) 6.4.29 GSI_SetRecMaskNr Description Set the used recording mask. Declaration GSI_SetRecMaskNr(BYVAL iMaskNr AS Integer) Parameters Number of the recording mask. iMaskNr Number must be in the range 1.. GSI_MAX_REC_MASKS. See Also GSI_GetRecMaskNr TPS1100-Version 2.10 6-161...
  • Page 995 This routine is an interactive equivalent to the routines GSI_GetRecMask and GSI_SetRecMask. See Also GSI_GetRecMask, GSI_SetRecMask, Example GSI_DefineRecMaskDlg () 6.4.32 GSI_ManCoordDlg Description Show the manual co-ordinate input dialog. 6-162 TPS1100-Version 2.10...
  • Page 996 For the values iPointType for PointType see table below Point Type Meaning station point GSI_STATION number GSI_INDIV_TG individual target number GSI_RUN_TG running target GSI_BACKSIGHT backside number (analog target, only changed prompts) TPS1100-Version 2.10 6-163...
  • Page 997 Flags can be combined with ‘+’- operator (iFlags = iFlag1 + iFlag2) sHelpText This text is shown, when the help button SHIFT-F1 is pressed and the help functionality of the theodolite is enabled. See Also GSI_ImportCoordDlg Example 6-164 TPS1100-Version 2.10...
  • Page 998 Rules for a valid point: - point number found - E- and N-coordinates (target or station) exists and are valid - if GSI_HEIGHT_MUST is included in iFlags, a valid TPS1100-Version 2.10 6-165...
  • Page 999 Only point number, the co-ordinates will be set to 0. Point point number and -co-ordinates. For further information see the description of GSI_Point_Coord_Type. iFlags defines functionality Valid Flags Meaning GSI_ALLOW_ allows recording and coding GSI_MULTI_ Allows multiple manual coord. entering 6-166 TPS1100-Version 2.10...
  • Page 1000 Help text for manual input dialog. Only visible if the help functionality of the theodolite is enabled. sF2Button Text for activating F2 button. sF4Button Text for activating F4 button See Also GSI_ManCoordDlg TPS1100-Version 2.10 6-167...
  • Page 1001 Possible values are: Value Meaning GSI_SYS_MDLG_1 Dialog 1 GSI_SYS_MDLG_2 Dialog 2 GSI_SYS_MDLG_3 Dialog 3 iLineNr The number of the line to set. Valid numbers: 1.. GSI_MAX_DLG_LINES iSysParamId Identification of the system parameter. Refer to the chapter 6-168 TPS1100-Version 2.10...
  • Page 1002 AS Integer iSysParamId AS Integer ) Remarks This routine fetches the information about the setting of one line in the system measurement dialog. To set a line in the system measurement dialog the routine GSI_SetLineMDlg can be used. TPS1100-Version 2.10 6-169...

Table of Contents