Leica tps1100 User Manual Download Page 1

 

GeoB

ASIC FOR 

TPS1100 

User Manual 

Version 2.10 

 
 

 
 
 

 
 
 

 

1997-2001 Leica Geosystems AG 

Heerbrugg, Switzerland 

Summary of Contents for tps1100

Page 1: ...GeoBASIC FOR TPS1100 User Manual Version 2 10 1997 2001 Leica Geosystems AG Heerbrugg Switzerland ...

Page 2: ...imitations 3 5 4 Executing a GeoBASIC Program on the theodolite 4 6 4 1 Loading a GeoBASIC program 4 6 5 Executing a GeoBASIC Program on the Simulatior 5 1 5 1 General 5 1 5 2 User Interface 5 1 5 3 Loading and executing GeoBASIC programs 5 2 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 6 Additional Debugging Functions ...

Page 3: ...9 5 System Function Call 9 9 9 6 System Event Generation 9 10 10 GeoBASIC Sample Programs 10 1 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 11 3 12 GeoBASIC Releases 12 1...

Page 4: ...eoBASIC on a PC Chapter 2 Then after learning how to create an GeoBASIC application Chapter 3 it will be shown how to actually load and execute a program on a LEICA theodolite Chapter 4 and on the Windows simulation Chapter 5 As these technicalities are mastered the main topic is programming in GeoBASIC This manual will give you several hints on typical GeoBASIC programming Chapter 8 and introduce...

Page 5: ...irectory tree is user definable Hence it is not a granted to be exactly that location Notice also that the CodeConverter application is installed in a separate Setup installation procedure SurveyOffice UserTools TPS1100Tools CodeConverter GBSamples Content of the directories only the main objects are listed TPS1100Tools TPS1100 exe TPS Simulator for TPS1100 Series GBStudio exe GeoBASIC IDE applica...

Page 6: ...rpreter 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 For details please see Chapter 4 1 Loading a GeoBASIC program or 5 3 ...

Page 7: ...compile the program 3 load the program either onto the simulation or the theodolite and 4 start the execution of it 5 if the execution fails start a debugging session 3 1 GBSTUDIO DEVELOPMENT ENVIRONMENT 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 seri...

Page 8: ...debugging session for the user Use the integrated help system to get more descriptive explanations of what can be done with GBStudio You can invoke the Help documentation by either using the context help cursor Edit toolbar or the shortcut F1 which opens the content page 3 1 1 The Editor It establishes a modern programming language editor which supports syntax and keyword highlighting multilevel u...

Page 9: ...debug info file file extension gbd i e sample gbd The first two files are necessary to execute the program either on a LEICA theodolite or with the simulator on a personal computer The debug info file is necessary for debugging a program using GBStudio See the following diagram sample gbs GBStudio sample gba sample lng sample gbd Diagram Compiling a GeoBASIC program The compiler is fully integrate...

Page 10: ...er The compiler understands the following options Setting Meaning Language The language on which the resulting application is based on The default is ENGLISH other languages are FRENCH GERMAN etc Character Set 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 ...

Page 11: ...mplemented To find errors in the source code an error catcher has been implemented which stops the execution of the application once the Err variable changes its value The error catching mechanism can be enabled and disabled during the debugging session at the needs of the developer The generated files include time stamp information With this information GBStudio is able to check if all involved o...

Page 12: ...determines the execution platform and if TPS over a serial line is served which COM port should be used for communication Baud Rate 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 ...

Page 13: ...certain debug operations If you don t a big number then choose a smaller number for better performance Size of Shadow Memory Select a value between 100 and 10000 Bytes This will be the size of the shadow memory where the server will keep a backup copy of the registered variables 3 1 4 The Interpreter and the Firmware Both have been adapted to provide all the additional functionality Hence only fir...

Page 14: ...s can be used to quickly select a system function When the opening parenthesis is typed the parameter list will be showed as a tool tip and a reminder what the compiler expects Use SHIFT CTRL SPACE anytime to open up this tool tip again The displayed parameter list depends on the cursor position and moreover on the system function identifier just before the current cursor Note Define also an entry...

Page 15: ...y 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 3 2 4 Start debugging To start the debug session choose the platform TPS simulator or TPS instrument and specific settings you want to use in the Project Preferences dialog Make also sure the entry point of the application is set properly in the p...

Page 16: ...lication has been built cannot be debugged Start debugging by pressing the Start button on the Build toolbar or use the corresponding menu located command Start the application on the platform The editor should now get a small mark in the shape of an right sided arrow on the left edge of the main source file window which points to the very first executable statement of this entry point of the appl...

Page 17: ... system function then the debug server will not be able to terminate the application immediately Instead the application will be terminated after the system call returns Nevertheless GBStudio can terminate the debugging session on the client side 3 2 7 Watch Variables and Quick Watches Watch variables can be added to the Watch Variable view by selecting a variable identifier and pressing the short...

Page 18: ...ion therefore Include exclusively expressions with numerical constants 3 3 PROJECT HANDLING GBStudio knows two different categories of projects which are valid exclusively First the default project which is valid for any valid GBS file And second the so called named projects which have the application specific information stored in a file It should be emphasized that the default project only store...

Page 19: ...ug Session cannot be started because the system predefined symbol file could not be found Solution Use the Project Preferences dialog Debug Tab to specify path and file name of the system predefined symbols The Debug Session cannot be started because no valid entry point has been chosen Solution Use the Project Preferences dialog Debug Tab to specify a valid entry point Valid entry points are defi...

Page 20: ...se the Break button to check the current state If the last command has been finished and above situation was the reason then this initiate a new notification of the current state 3 5 COMPILER LIMITATIONS The GeoBASIC programmer has to keep some limitations for his applications One simple procedure or function may not contain more than 10 kB of code The maximum size of an application including memo...

Page 21: ...ible concept to install an application via a user definable configuration For further explanations how to install an GeoBASIC application read Chapter 9 3 If the menu item is added to a menu you can choose it to run a GeoBASIC program 4 1 LOADING A GEOBASIC PROGRAM GeoBASIC programs can be loaded into the theodolite using the Software Upload program from the Open Survey Suite The procedure for loa...

Page 22: ... with identical names for module and external procedures as an already loaded program replaces this program and all its associated text modules in memory and the items in the menu list Hence transferring of more than one program with the same application name may cause unwanted effects 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...

Page 23: ...edirected to the software simulation of the theodolite 5 2 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 In the Debug window debug information are displayed It is recommended to have always the debug wi...

Page 24: ...en button If the application could be loaded successfully it can be executed by choosing the menu item or in the special case of a code program the CODE button in MEAS mode which has been added by the Install routine of the application There is also a more flexible possibility to install the application via a user definable configuration Refer to Chapter 9 3 2 for more information If the menu item...

Page 25: ...ion parameters for GeoCOM mode and to switch between GeoCOM and SWTheo mode as shown in the following figure Paths can be set for text management GSI data code list GeoBASIC programs and configuration data in the dialog opened by the Data Path menu entry It is highly recommended to set the paths if they are not already set to the following values Path Recommended value Language Files TPS1100Tools ...

Page 26: ...dow 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 Otherwise a dialog enables the user to choose whether other communication configurations should be tested or not Notice that this may take up to one minute If no connection could be establish...

Page 27: ...ell as station data This dialog is opened from the Configuration menu as stated above The second dialog called SWTheo properties dialog caption Virtual Theodolite Properties may be triggered from the SWTheo dialog 5 6 2 1 SWTheo Dialog The dialog acts as the connection between the SWTheo and its virtual environment Here horizontal angle Hz vertical angle V and slope distance Dist to a virtual refl...

Page 28: ...tween several display units for the SWTheo dialogs Please notice these values do not change the settings of the simulation Jittering is supported for angles and distances This functionality is applied by alternately adding and subtracting random values in a range depending on the angle and distance sliders respectively The jittering amplitude increases from left to right position of the slider If ...

Page 29: ... all of the function buttons How can I avoid this problem A Some or all of the text data base files are not contained in the directory referenced by Text Management Data Path Use the Data Paths entry of the Configuration menu to set it accordingly Q After loading a GeoBASIC program the expected menu item does not appear in the dialog What did I wrong A The menu manager needs an event to reread the...

Page 30: ...will have no effects on the TPS The same is valid for Send because it will be redirected to the debug window But of course on TPS it will send data over the data link If an error occurs then a message will be written to the debug window showing the error code and the name of the system routine which caused the error For the simulator and the TPS MMI_PrintStr can be used to display and track result...

Page 31: ...this token will be added to the text token database The compiler handles this automatically for the programmer and produces the already mentioned lng file This text token database is the basis for supporting multiple languages With the Text Utility you can produce new text token databases mxx files in other languages Loading the derived lxx files on the TPS system for enabling the user to choose b...

Page 32: ...lowing picture shows the Text Utility after the import of a GeoBASIC text file 7 1 1 Generating new language files For creating a multiple language application the following steps are necessary 1 After starting the Text Utility press the button select GeoBASIC Text Files l in the choice list File of type and open the generated lng file i e sample lng Answer the question Do you want to convert this...

Page 33: ... loadable language file and press OK to start the generation of the file i e sample lge 7 1 2 Updating translated language files After changing the GeoBASIC source file and re compiling it the following steps for updating the translated language files are necessary 1 Press the button again and open the generated lng file i e sample lng The version of the text database which is generated must be in...

Page 34: ...rs is given Note To make programs easy and intuitive to use the programmer should follow the given standards rather strictly Moreover s he should have a basic understanding of the way how topographical surveying and mapping is actually performed 8 1 THE TEXT DIALOG 8 1 1 The objects of the text dialog The following text dialog is not a practical example it shows only the most important text dialog...

Page 35: ...t caption separation character printed automatically and caption 6 lines start counting from the first line below the caption which is 0 up to line 5 can be used All lines are empty after the creation 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 8 1 3 Representation of the dialog objects For every input and ...

Page 36: ...resentation of the numeric value the field will be filled with the character x 8 1 4 Output in text dialog Strings MMI_PrintStr 0 0 I am a text dialog object TRUE Parameters column line string lValid Integer values MMI_PrintInt 10 1 10 10578 TRUE Parameters column line iLen integer value lValid Double floating point values without unit MMI_PrintVal 10 2 10 3 90478 568 TRUE MMI_DEFAULT_MODE Paramet...

Page 37: ... minimum value maximum value integer variable lValid button Double floating point values without unit MMI_InputVal 19 4 8 2 0 399 99 MMI_DEFAULT_MODE dValue lValid iButtonId Parameters column line iLen decimals minimum value maximum value mode double variable lValid button Double floating point values with unit MMI_InputVal 19 4 8 2 0 399 99 MMI_DIM_ON dValue lValid iButtonId Parameters column lin...

Page 38: ...iLen number of items mode list variable index lValid button 8 2 THE GRAPHICS DIALOG 8 2 1 Positioning on the display Every graphics function needs the position on the display The graphics display is organized in x horizontal and y pixels vertical The left upper position has x pixel and y pixel number 0 The x pixel number is rising to the right and the y pixel number is rising down The size of the ...

Page 39: ...cedures But a graphics dialog may be opened while a text dialog is active Note The reverse is not the case a text dialog may not be opened while a graphics dialog is open If a text dialog and a graphics dialog are open the graphics dialog has priority i e all future function calls are related to the graphics dialog until it is closed For example MMI_AddButton see below will add the button to the g...

Page 40: ...ote The button id s are defined as constants in the compiler 8 2 7 Responding to buttons There are two procedures for coping with button presses MMI_CheckButton queries whether there was a button pressed or not and MMI_GetButton retrieves a pressed button If there was no button pressed it waits until one is pressed The second parameter to MMI_GetButton the in parameter bAllKey determines what butt...

Page 41: ...CASE here go the other handled keys ELSE here go the unhandled keys END SELECT update the display LOOP 8 2 8 Standard key binding It is clear that for the user it is important that the same name2 and moreover the same key always has the same meaning associated at least conceptually An exception is the F1 key its meaning is not the same in a measurement dialog and in a configuration dialog In the f...

Page 42: ...e naming conventions for GeoBASIC More extensive conventions can be found in the naming conventions for Microsoft Access which are tied closely to Visual Basic conventions 3 8 3 1 Variable names Variable names of simple types i e all the scalar types and strings may be tagged to indicate their type Prefixes are always lowercase so your eye goes past them to the first uppercase letter where the bas...

Page 43: ...there are several similar object names a qualifier may follow the name and further clarify it For example if we kept two special point numbers one for the first point and one for the last the variable names would be the qualified variables iPointNoFirst and iPointNoLast Structure types do not have a default prefix if needed the abbreviated type name could be used For arrays the base name itself co...

Page 44: ...is a type Date no variable can be named date If the type has the name TDate or Date_Type or DateType there can As for local constants local types might be prefixed with loc 8 3 3 Procedures A procedure name begins with an upper case letter and succinctly describes the action that is performed Variables that denote parameters passed to a function or subroutine in the parentheses after the function ...

Page 45: ...es Formulating learning and applying a consistent naming style require a significant initial investment of time and energy However you will be amply rewarded when you return to your application a year later to do maintenance or when you share your code with others Once you implement standardised names you will quickly grow to appreciate the initial effort you made To complete the discussion about ...

Page 46: ...yed specify what kind of value it is a horizontal angle a vertical angle a distance a temperature etc All the formatting together with choice of the right representation the user may define this in his theodolite system configuration with which the GeoBASIC programmer is not concerned and displaying the unit after the value are handled automatically Of course the programmer can also decide not to ...

Page 47: ...angle will be formatted in an 8 character wide field with 3 decimals afterwards the unit according the theodolite system configuration will be displayed Assume that gon is set and the angle difference was 1 5473452 radians then at position 20 in line 0 the output will be 98 507 g If the angle returned from GetAngleHz was not valid five dashes will be displayed g 9 1 2 What the user surveyor has to...

Page 48: ...nual for a list of all system and application parameters which can be used in a measurement dialog 9 2 1 Configuration of the User Measurement Dialog Before using the measurement dialog we have to define its contents There are 3 types of possible entries System parameters The routine GSI_SetLineMDlg places a system parameter measurement value or measurement settings on a line Pure text line The ro...

Page 49: ...PAR_AngleHz GSI_CreateMDlg 2 MEAS Measurement Test Measurement Help Addition of buttons MMI_AddButton MMI_F2_KEY DIST MMI_AddButton MMI_SHF6_KEY QUIT lDone FALSE DO WHILE NOT lDone GSI_UpdateMeasurement TMC_AUTO_INC WAITTIME lRecValid iCode FALSE GSI_UpdateMDlg iButton SELECT CASE iButton CASE MMI_F2_KEY DIST Button meas a distance and angles BAP_MeasDistAngle iDistMode dHz dV dDist TRUE MEAS CASE...

Page 50: ... active Note The reverse is not the case a user measurement dialog may not be opened while a graphics dialog is open If a user measurement dialog and a graphics dialog are open the graphics dialog has priority i e all future function calls are related to the graphics dialog until it is closed 9 3 TPS1100 CONFIGURABILITY In general each part of an application which should be accessible from outside...

Page 51: ...APPInfo file with the necessary information about the program The usage of the APPInfo file in the Customisation Tool Start the Customisation Tool Open a configuration file appropriate text and definition files Choose Import Application from the file menu Check the box named with the program name i e AppInfoExample Press the OK button Now the globally accessible subroutines may be added to menus b...

Page 52: ...ication 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 SET Desc test of appinfo subroutine 1 END GlobalSub1 ENTRYPOINT GlobalSub2 SET CapLg Global Sub 2 SET CapSh GSUB2 SET Help displays a message and exits END GlobalSub2 END APPINFO The ...

Page 53: ...ion to the loading of the configuration into the theodolite 9 4 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 GeoBASIC source file AppInfo GeoBASIC compiler AppInfo file Other generated files Customi sation Tool Con figuration files Theodol...

Page 54: ...broutine is available CSV_LibCallAvailable IAC2 InterAppEntry lAvailable IF lAvailable available call global subroutine CSV_LibCall IAC2 InterAppEntry BASIC END IF See the example program IAC GBS and IAC2 GBS for a typical usage of inter application call For further explanations read the description of CSV_LibCall and CSV_LibCallAvailable in the reference manual 9 5 SYSTEM FUNCTION CALL If a theod...

Page 55: ... 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 A GeoBASIC program can generate all events which can occur in the theodolite system software also To generate a system event the same functions can be used as for calling system functions The routine CSV_SysCall is use...

Page 56: ... Concepts TPS1100 Version 2 10 9 11 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 ...

Page 57: ...flow First the user may enter the number of horizontal angles he wants to measure The number of angles must be within a certain range Then the angles are measured each time the REC key is pressed the current horizontal angle is recorded As soon as the requested number of angles is measured the mean angle is computed and displayed Now the user has the choice either to display the angles graphically...

Page 58: ...ple Programs 10 2 TPS1100 Version 2 10 Input the number of angles to measure Compute and display mean angle Draw the angles Measure the angles Start Show Graphics Move theo to mean angle Position theodolite on mean angle End No No Yes Yes ...

Page 59: ... CONST MaxNoHz 9 Maximum number of angles that can be measured CONST CaptionShort MEAN Short caption displayed lefthand in top line Type to store the angles for graphics TYPE DIM TAngles MaxNoHz AS Angle END DIM fId AS FileId File identification GLOBAL SUB Install Description Adds the program into the theodolite s PROG menu The program s application s name is Mean the global routine to start is Ma...

Page 60: ...AngleHz dHz AS Angle lValid AS Logical Description Measures the horizontal angle valid indicates if the dHz is valid Parameters OUT dHzOUT lValid DIM theoAngle AS TMC_Angle_Type The measured values DIM iInfo AS Integer Return code ON Error Resume Next Ignore all errors get angle TMC_GetAngle theoAngle iInfo IF Err RC_OK THEN lValid TRUE dHz theoAngle dHz ELSE lValid FALSE END IF END GetAngleHz SUB...

Page 61: ...s there are iNoPoints angles DO WHILE iNoPoints 0 compute the line iX INT DL SIN angles INT iNoPoints iY INT DL COS angles INT iNoPoints MMI_DrawLine CX CY CX iX CY iY MMI_PEN_BLACK iNoPoints iNoPoints 1 LOOP Draw line for dMean iX INT DL 4 SIN dMean iY INT DL 4 COS dMean MMI_DrawLine CX CY CX iX CY iY MMI_PEN_DASHED Wait for key press and finish dialog MMI_AddButton MMI_F5_KEY END MMI_GetButton i...

Page 62: ...xt Append fId 0 ELSE Open A results txt Append fId 0 END IF set up dialog and input iNoPoints MMI_CreateTextDialog 6 MEAN HZ MEAN VALUE Compute mean HZ for a number of measurements read in iNoPoints iNoPoints 3 lNoOk TRUE MMI_PrintStr 0 0 No of points TRUE MMI_AddButton MMI_F1_KEY CONT MMI_AddButton MMI_SHF6_KEY QUIT MMI_InputInt 26 0 2 1 MaxNoHz MMI_DEFAULT_MODE iNoPoints lNoOk iButton setup rest...

Page 63: ...y GetAngleHz dHz lHzOk MMI_PrintVal 20 2 8 3 dHz lHzOk MMI_DEFAULT_MODE END IF LOOP show results if execution should procede IF iButton MMI_ESC_KEY AND iButton MMI_SHF6_KEY THEN setup new buttons MMI_DeleteButton MMI_F1_KEY MMI_DeleteButton MMI_F3_KEY MMI_AddButton MMI_F3_KEY SHOW MMI_AddButton MMI_F4_KEY EXIT MMI_AddButton MMI_F5_KEY GOTOM compute mean value dMean dMean iNoPoints MMI_PrintStr 0 3...

Page 64: ... of them should give you some hints in a specific problem domain appinfotest gbs This example shows the use of the application information section in the GeoBASIC source file codefunc gbs An example of a program which will be called when the Code key has been pressed cursor gbs Cursor control in a dialog error_ha gbs This program shows how error handling changes execution of a program language gbs...

Page 65: ...nger gbs This example shows in which situations typical errors may occur test gbs An empty frame for building up a GeoBASIC application tracking gbs This program shows possible techniques to take advantage of the measurement facilities menu gbs A simple menu handler dirlist gbs This example shows how to get PC card information and how to read a directories content inclmain gbs This example shows t...

Page 66: ...hanged the effort to port it will be for the most applications not that high In the very end this means also that the developer has to maintain two source code bases 11 1 TPS1100 HARDWARE RELATED CHANGES 11 1 1 Display Line Length The TPS1100 series instruments use a different liquid crystal display The difference means also that one can use only 29 characters per line To be independent of the dis...

Page 67: ...e final test of an application has to be done on an instrument 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 Nevertheless only one level of inclusion is allowed 11 3 2 MID s...

Page 68: ...compilable and executable for 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 Look at the existing dialogs to get an idea a...

Page 69: ... situation from another where the text dialog will be deleted before the graphical dialog will be created In the former case one can go back to the text dialog without recreating it In the latter the text dialog has to be rebuilt In GB_TPS1100 text and measurement dialog are mutually exclusive See the following scheme for a graphical explanation denotes a dialog TPS1000 TPS1100 Text and MeasDlg Gr...

Page 70: ...eMDlgPar GSI_SetLineMDlgText GSI_GetLineSysMDlg GSI_SetLineSysMDlg GSI_CreateMDlg GSI_UpdateMDlg 11 4 2 Recording Format Settings Deleted GSI_GetRecFormat GSI_SetRecFormat Replaced by extended GSI_GetRecMask GSI_SetRecMask 11 4 3 System Dialog Calls Replacements for old dialog invocation calls GSI_CommDlg CSV_SysCall CSV_EFNC_GeoComSetup Caption GSI_SelectTemplateFiles and GSI_Setup CSV_SysCall CS...

Page 71: ...RK_DIST BAP_SINGLE_REF_STANDARD BAP_SINGLE_REF_FAST BAP_SINGLE_REF_VISIBLE BAP_SINGLE_RLESS_VISIBLE BAP_CONT_REF_STANDARD BAP_CONT_REF_FAST BAP_CONT_RLESS_VISIBLE BAP_AVG_REF_STANDARD BAP_AVG_REF_VISIBLE BAP_AVG_RLESS_VISIBLE 11 4 5 Interface Changes 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 ...

Page 72: ...e MMI_UNDEF_LANG For MDlg routines MMI_FFORMAT_STRING New date format MMI_DATE_JP Deleted MMI_MENU_EXTRA MMI_MENU_CONFIG New MMI_MENU_PROGRAMS 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 GS...

Page 73: ...AR_ parameters see GSI system functions Deleted TPS1100 TPS1700 TPS1800 TPS5000 TPS2003 New TPS1102 TPS1103 TPS1105 Old TPS_FAM_Type iClass lEDMBuiltIn lEDMTypeII lMotorized lATR lEGL lDBVersion lDiodeLaser lLaserPlummet lSimulator New TPS_FAM_Type iClass lEDMBuiltIn always TRUE lEDMTypeII always FALSE lEDMTypeIII always TRUE lEDMReflectorless lMotorized lATR lEGL lLaserPlummet lAutoCollimation lS...

Page 74: ...SV_SetDL CSV_GetUserInstrumentName CSV_SetUserInstrumentName CSV_GetUserName CSV_SetUserName GSI_GetStdRecMask GSI_GetStdRecMaskAll GSI_GetStdRecMaskCartesian Replaced by equivalent functions GSI_WiDlg GSI_StartDisplay GSI_GetStdDialogMask Enhanced in certain ways See the extended identifiers and constants above or refer to the reference manual WI values CSV_GetPrismType CSV_SetPrismType CSV_GetIn...

Page 75: ...taPath GSI_GetDataPath CSV_SetTargetType CSV_GetTargetType Interapplication and system calls 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 ...

Page 76: ...k returns if an alternative user task was running i e FNC or PROG was pressed CSV_GetTemperature returns the internal instrument temperature CSV_ResetAltUserTask resets the WasRunning flag GSI_CheckTracking returns if distance tracking is running GSI_ExecQCoding executes Quick Coding with without recording GSI_ExecuteAutoDist starts a distance measurement after changing the distance mode new butto...

Page 77: ... is available MMI_SetVangleMode defines the V angle mode TMC_GetAtmCorr Gets the atmosphere part of distance measurement corrections TMC_GetGeomProjection Gets the projection part of distance measurement corrections TMC_GetGeomReduction Gets the reduction to the reference part of distance measurement corrections TMC_GetInclineStatus returns the inclination status i e ready for recording TMC_SetAtm...

Page 78: ...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 12 2 CHANGES IN GEOBASIC RE...

Page 79: ...r 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 For running these applications the GeoBASIC interpreter 1 30 must be loaded There is no debugging support for GBStudio Different Releases of GeoBASIC applications on the same instrument are not supported ...

Page 80: ...imitations 3 5 4 Executing a GeoBASIC Program on the theodolite 4 6 4 1 Loading a GeoBASIC program 4 6 5 Executing a GeoBASIC Program on the Simulatior 5 1 5 1 General 5 1 5 2 User Interface 5 1 5 3 Loading and executing GeoBASIC programs 5 2 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 6 Additional Debugging Functions ...

Page 81: ...m on the theodolite 4 1 4 1 Loading a GeoBASIC program 4 1 5 Executing a GeoBASIC Program on the Simulation 5 1 5 1 General 5 1 5 2 User Interface 5 1 5 3 GeoCom Mode 5 3 5 4 SWTheo Mode 5 4 5 5 Commonly asked questions and answers 5 7 6 Debugging GeoBASIC Programs 6 1 7 Multiple Language Support 7 1 7 1 Text Utility 7 2 8 Typical GeoBASIC Programming 8 1 8 1 The Text Dialog 8 1 8 2 The Graphics D...

Page 82: ...System Function Call 9 9 9 6 System Event Generation 9 10 10 GeoBASIC Sample Programs 10 1 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 11 3 12 Changes in GeoBASIC Releas...

Page 83: ...eoBASIC on a PC Chapter 2 Then after learning how to create an GeoBASIC application Chapter 3 it will be shown how to actually load and execute a program on a LEICA theodolite Chapter 4 and on the Windows simulation Chapter 5 As these technicalities are mastered the main topic is programming in GeoBASIC This manual will give you several hints on typical GeoBASIC programming Chapter 8 and introduce...

Page 84: ...n of this directory tree is user definable Hence it is not a granted to be exactly that location Notice also that the CodeConverter application is installed in a separate Setup installation procedure SurveyOffice UserTools TPS1100Tools CodeConverter GBSamples Content of the directories only the main objects are listed TPS1100Tools TPS1100 exe TPS Simulator for TPS1100 Series GB_IDE exe GeoBASIC ID...

Page 85: ...s like that 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: ...IDE While processing step 1 write the program and step2 compile the program the programmer is supported by the windows tool GeoBASIC IDE Integrated Development Environment 3 1 1 Writing a GeoBASIC source file The GeoBASIC IDE offers a simple text editor with it the programmer can work on the source files directly without using an external editor After starting the GeoBASIC IDE application select t...

Page 87: ...th the GeoBASIC compiler results into two files one for the executable object itself file extension gba i e sample gba and one for the language data file extension lng i e sample lng These two files are necessary to execute the program either on a LEICA theodolite or with the simulator on a personal computer See the following diagram Diagram Compiling a GeoBASIC program sample gbs sample gba sampl...

Page 88: ...ow and the compilation is stopped The following window shows a stop during compilation of Test gbs because of the undefined identifier Rectangle In the output window the line i e 33 and column i e 18 of the program where the error occurred is displayed Additional the cursor is moved on this position in the program The error identification number i e 61 references to further explanations Set cursor...

Page 89: ...tions One simple procedure or function may not contain more than 10 kB of code The maximum size of an application including memory space is limited by the free memory size of the theodolite only If no other applications are loaded there should be free memory up to several hundred kB on a theodolite An application may not have more than 64kB of string literal in total The number of global identifie...

Page 90: ... normally Output Path Set the path where the compiler places the generated application files The default is the source directory where the compiler gets the GeoBASIC source program The path has to be absolute and has to end with a character Include Path Set one or more directory paths of include files The directory path must not have a character at the end The IDE is capable to remember the last s...

Page 91: ...uding the string table The total of all memory sizes will give the size of the necessary memory to run the application Note Your GeoBASIC source files must have been compiled without errors in order to be loadable 3 2 THE GEOBASIC INTERPRETER The GeoBASIC interpreter is a program that understands the compiler generated object file and executes it In the windows simulation the interpreter is alread...

Page 92: ...t to install an application via a user definable configuration For further explanations how to install an GeoBASIC application read Chapter 9 3 If the menu item is added to a menu you can choose it to run a GeoBASIC program 4 1 LOADING A GEOBASIC PROGRAM GeoBASIC programs can be loaded into the theodolite using the Software Upload program from the Open Survey Suite The procedure for loading a GeoB...

Page 93: ...oading a program with identical names for module and external procedures as an already loaded program replaces this program and all its associated text modules in memory and the items in the menu list Hence transferring of more than one program with the same application name may cause unwanted effects ...

Page 94: ...edirected to the software simulation of the theodolite 5 2 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 In the Debug window debug information are displayed It is recommended to have always the debug wi...

Page 95: ...tion menu of the simulation main window Here the beep may be toggled using the Beep On entry A check mark left to the 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 ...

Page 96: ...ff or switch into GeoCOM online mode 4 Select the appropriate communication parameters and GeoCom in Instr Connection dialog see above of the simulation Confirm with the OK button 5 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...

Page 97: ...enu 3 Disable the GeoCOM enable box Confirm with the Ok button 4 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 1 Make sure the simulation is turned on 2 Choose the Load Basic Application entry from the File menu 3 Choose a desired GeoBASIC executable extension gba and press...

Page 98: ...g 5 4 3 1 SWTheo Dialog The dialog acts as the connection between the SWTheo and its virtual environment Here horizontal angle Hz vertical angle V and slope distance Dist to a virtual reflector as well as station data N0 H0 E0 reflector Hr and instrument height Hi may be set User input has to be confirmed using the Set Data button to take effect Pressing the Properties button opens the Subsystems ...

Page 99: ...hese values do not change the settings of the simulation Jittering is supported for angles and distances This functionality is applied by alternately adding and subtracting random values in a range depending on the angle and distance sliders respectively The jittering amplitude increases from left to right position of the slider If the sliders are in their leftmost position there is no jittering a...

Page 100: ... all of the function buttons How can I avoid this problem A Some or all of the text data base files are not contained in the directory referenced by Text Management Data Path Use the Data Paths entry of the Configuration menu to set it accordingly Q After loading a GeoBASIC program the expected menu item does not appear in the dialog What did I wrong A The menu manager needs an event to reread the...

Page 101: ...iven argument to the debug window This will have no effects on the TPS The same is valid for Send because it will be redirected to the debug window But of course on TPS it will send data over the data link If an error occurs then a message will be written to the debug window showing the error code and the name of the system routine which caused the error For the simulator and the TPS MMI_PrintStr ...

Page 102: ...this token will be added to the text token database The compiler handles this automatically for the programmer and produces the already mentioned lng file This text token database is the basis for supporting multiple languages With the Text Utility you can produce new text token databases mxx files in other languages Loading the derived lxx files on the TPS system for enabling the user to choose b...

Page 103: ...lowing picture shows the Text Utility after the import of a GeoBASIC text file 7 1 1 Generating new language files For creating a multiple language application the following steps are necessary 1 After starting the Text Utility press the button select GeoBASIC Text Files l in the choice list File of type and open the generated lng file i e sample lng Answer the question Do you want to convert this...

Page 104: ... loadable language file and press OK to start the generation of the file i e sample lge 7 1 2 Updating translated language files After changing the GeoBASIC source file and re compiling it the following steps for updating the translated language files are necessary 1 Press the button again and open the generated lng file i e sample lng The version of the text database which is generated must be in...

Page 105: ...rs is given Note To make programs easy and intuitive to use the programmer should follow the given standards rather strictly Moreover s he should have a basic understanding of the way how topographical surveying and mapping is actually performed 8 1 THE TEXT DIALOG 8 1 1 The objects of the text dialog The following text dialog is not a practical example it shows only the most important text dialog...

Page 106: ...t caption separation character printed automatically and caption 6 lines start counting from the first line below the caption which is 0 up to line 5 can be used All lines are empty after the creation 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 8 1 3 Representation of the dialog objects For every input and ...

Page 107: ...resentation of the numeric value the field will be filled with the character x 8 1 4 Output in text dialog Strings MMI_PrintStr 0 0 I am a text dialog object TRUE Parameters column line string lValid Integer values MMI_PrintInt 10 1 10 10578 TRUE Parameters column line iLen integer value lValid Double floating point values without unit MMI_PrintVal 10 2 10 3 90478 568 TRUE MMI_DEFAULT_MODE Paramet...

Page 108: ... minimum value maximum value integer variable lValid button Double floating point values without unit MMI_InputVal 19 4 8 2 0 399 99 MMI_DEFAULT_MODE dValue lValid iButtonId Parameters column line iLen decimals minimum value maximum value mode double variable lValid button Double floating point values with unit MMI_InputVal 19 4 8 2 0 399 99 MMI_DIM_ON dValue lValid iButtonId Parameters column lin...

Page 109: ...iLen number of items mode list variable index lValid button 8 2 THE GRAPHICS DIALOG 8 2 1 Positioning on the display Every graphics function needs the position on the display The graphics display is organized in x horizontal and y pixels vertical The left upper position has x pixel and y pixel number 0 The x pixel number is rising to the right and the y pixel number is rising down The size of the ...

Page 110: ...cedures But a graphics dialog may be opened while a text dialog is active Note The reverse is not the case a text dialog may not be opened while a graphics dialog is open If a text dialog and a graphics dialog are open the graphics dialog has priority i e all future function calls are related to the graphics dialog until it is closed For example MMI_AddButton see below will add the button to the g...

Page 111: ...ote The button id s are defined as constants in the compiler 8 2 7 Responding to buttons There are two procedures for coping with button presses MMI_CheckButton queries whether there was a button pressed or not and MMI_GetButton retrieves a pressed button If there was no button pressed it waits until one is pressed The second parameter to MMI_GetButton the in parameter bAllKey determines what butt...

Page 112: ...CASE here go the other handled keys ELSE here go the unhandled keys END SELECT update the display LOOP 8 2 8 Standard key binding It is clear that for the user it is important that the same name2 and moreover the same key always has the same meaning associated at least conceptually An exception is the F1 key its meaning is not the same in a measurement dialog and in a configuration dialog In the f...

Page 113: ...e naming conventions for GeoBASIC More extensive conventions can be found in the naming conventions for Microsoft Access which are tied closely to Visual Basic conventions 3 8 3 1 Variable names Variable names of simple types i e all the scalar types and strings may be tagged to indicate their type Prefixes are always lowercase so your eye goes past them to the first uppercase letter where the bas...

Page 114: ...there are several similar object names a qualifier may follow the name and further clarify it For example if we kept two special point numbers one for the first point and one for the last the variable names would be the qualified variables iPointNoFirst and iPointNoLast Structure types do not have a default prefix if needed the abbreviated type name could be used For arrays the base name itself co...

Page 115: ...is a type Date no variable can be named date If the type has the name TDate or Date_Type or DateType there can As for local constants local types might be prefixed with loc 8 3 3 Procedures A procedure name begins with an upper case letter and succinctly describes the action that is performed Variables that denote parameters passed to a function or subroutine in the parentheses after the function ...

Page 116: ...es Formulating learning and applying a consistent naming style require a significant initial investment of time and energy However you will be amply rewarded when you return to your application a year later to do maintenance or when you share your code with others Once you implement standardised names you will quickly grow to appreciate the initial effort you made To complete the discussion about ...

Page 117: ...yed specify what kind of value it is a horizontal angle a vertical angle a distance a temperature etc All the formatting together with choice of the right representation the user may define this in his theodolite system configuration with which the GeoBASIC programmer is not concerned and displaying the unit after the value are handled automatically Of course the programmer can also decide not to ...

Page 118: ...angle will be formatted in an 8 character wide field with 3 decimals afterwards the unit according the theodolite system configuration will be displayed Assume that gon is set and the angle difference was 1 5473452 radians then at position 20 in line 0 the output will be 98 507 g If the angle returned from GetAngleHz was not valid five dashes will be displayed g 9 1 2 What the user surveyor has to...

Page 119: ...nual for a list of all system and application parameters which can be used in a measurement dialog 9 2 1 Configuration of the User Measurement Dialog Before using the measurement dialog we have to define its contents There are 3 types of possible entries System parameters The routine GSI_SetLineMDlg places a system parameter measurement value or measurement settings on a line Pure text line The ro...

Page 120: ...PAR_AngleHz GSI_CreateMDlg 2 MEAS Measurement Test Measurement Help Addition of buttons MMI_AddButton MMI_F2_KEY DIST MMI_AddButton MMI_SHF6_KEY QUIT lDone FALSE DO WHILE NOT lDone GSI_UpdateMeasurement TMC_AUTO_INC WAITTIME lRecValid iCode FALSE GSI_UpdateMDlg iButton SELECT CASE iButton CASE MMI_F2_KEY DIST Button meas a distance and angles BAP_MeasDistAngle iDistMode dHz dV dDist TRUE MEAS CASE...

Page 121: ... active Note The reverse is not the case a user measurement dialog may not be opened while a graphics dialog is open If a user measurement dialog and a graphics dialog are open the graphics dialog has priority i e all future function calls are related to the graphics dialog until it is closed 9 3 TPS1100 CONFIGURABILITY In general each part of an application which should be accessible from outside...

Page 122: ...APPInfo file with the necessary information about the program The usage of the APPInfo file in the Customisation Tool Start the Customisation Tool Open a configuration file appropriate text and definition files Choose Import Application from the file menu Check the box named with the program name i e AppInfoExample Press the OK button Now the globally accessible subroutines may be added to menus b...

Page 123: ...ication 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 SET Desc test of appinfo subroutine 1 END GlobalSub1 ENTRYPOINT GlobalSub2 SET CapLg Global Sub 2 SET CapSh GSUB2 SET Help displays a message and exits END GlobalSub2 END APPINFO The ...

Page 124: ...ion to the loading of the configuration into the theodolite 9 4 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 GeoBASIC source file AppInfo GeoBASIC compiler AppInfo file Other generated files Customi sation Tool Con figuration files Theodol...

Page 125: ...broutine is available CSV_LibCallAvailable IAC2 InterAppEntry lAvailable IF lAvailable available call global subroutine CSV_LibCall IAC2 InterAppEntry BASIC END IF See the example program IAC GBS and IAC2 GBS for a typical usage of inter application call For further explanations read the description of CSV_LibCall and CSV_LibCallAvailable in the reference manual 9 5 SYSTEM FUNCTION CALL If a theod...

Page 126: ... 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 A GeoBASIC program can generate all events which can occur in the theodolite system software also To generate a system event the same functions can be used as for calling system functions The routine CSV_SysCall is use...

Page 127: ... Concepts TPS1100 Version 1 30 9 11 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 ...

Page 128: ...flow First the user may enter the number of horizontal angles he wants to measure The number of angles must be within a certain range Then the angles are measured each time the REC key is pressed the current horizontal angle is recorded As soon as the requested number of angles is measured the mean angle is computed and displayed Now the user has the choice either to display the angles graphically...

Page 129: ...ple Programs 10 2 TPS1100 Version 1 30 Input the number of angles to measure Compute and display mean angle Draw the angles Measure the angles Start Show Graphics Move theo to mean angle Position theodolite on mean angle End No No Yes Yes ...

Page 130: ... CONST MaxNoHz 9 Maximum number of angles that can be measured CONST CaptionShort MEAN Short caption displayed lefthand in top line Type to store the angles for graphics TYPE DIM TAngles MaxNoHz AS Angle END DIM fId AS FileId File identification GLOBAL SUB Install Description Adds the program into the theodolite s PROG menu The program s application s name is Mean the global routine to start is Ma...

Page 131: ...AngleHz dHz AS Angle lValid AS Logical Description Measures the horizontal angle valid indicates if the dHz is valid Parameters OUT dHzOUT lValid DIM theoAngle AS TMC_Angle_Type The measured values DIM iInfo AS Integer Return code ON Error Resume Next Ignore all errors get angle TMC_GetAngle theoAngle iInfo IF Err RC_OK THEN lValid TRUE dHz theoAngle dHz ELSE lValid FALSE END IF END GetAngleHz SUB...

Page 132: ...s there are iNoPoints angles DO WHILE iNoPoints 0 compute the line iX INT DL SIN angles INT iNoPoints iY INT DL COS angles INT iNoPoints MMI_DrawLine CX CY CX iX CY iY MMI_PEN_BLACK iNoPoints iNoPoints 1 LOOP Draw line for dMean iX INT DL 4 SIN dMean iY INT DL 4 COS dMean MMI_DrawLine CX CY CX iX CY iY MMI_PEN_DASHED Wait for key press and finish dialog MMI_AddButton MMI_F5_KEY END MMI_GetButton i...

Page 133: ...xt Append fId 0 ELSE Open A results txt Append fId 0 END IF set up dialog and input iNoPoints MMI_CreateTextDialog 6 MEAN HZ MEAN VALUE Compute mean HZ for a number of measurements read in iNoPoints iNoPoints 3 lNoOk TRUE MMI_PrintStr 0 0 No of points TRUE MMI_AddButton MMI_F1_KEY CONT MMI_AddButton MMI_SHF6_KEY QUIT MMI_InputInt 26 0 2 1 MaxNoHz MMI_DEFAULT_MODE iNoPoints lNoOk iButton setup rest...

Page 134: ...y GetAngleHz dHz lHzOk MMI_PrintVal 20 2 8 3 dHz lHzOk MMI_DEFAULT_MODE END IF LOOP show results if execution should procede IF iButton MMI_ESC_KEY AND iButton MMI_SHF6_KEY THEN setup new buttons MMI_DeleteButton MMI_F1_KEY MMI_DeleteButton MMI_F3_KEY MMI_AddButton MMI_F3_KEY SHOW MMI_AddButton MMI_F4_KEY EXIT MMI_AddButton MMI_F5_KEY GOTOM compute mean value dMean dMean iNoPoints MMI_PrintStr 0 3...

Page 135: ... of them should give you some hints in a specific problem domain appinfotest gbs This example shows the use of the application information section in the GeoBASIC source file codefunc gbs An example of a program which will be called when the Code key has been pressed cursor gbs Cursor control in a dialog error_ha gbs This program shows how error handling changes execution of a program language gbs...

Page 136: ...nger gbs This example shows in which situations typical errors may occur test gbs An empty frame for building up a GeoBASIC application tracking gbs This program shows possible techniques to take advantage of the measurement facilities menu gbs A simple menu handler dirlist gbs This example shows how to get PC card information and how to read a directories content inclmain gbs This example shows t...

Page 137: ...hanged the effort to port it will be for the most applications not that high In the very end this means also that the developer has to maintain two source code bases 11 1 TPS1100 HARDWARE RELATED CHANGES 11 1 1 Display Line Length The TPS1100 series instruments use a different liquid crystal display The difference means also that one can use only 29 characters per line To be independent of the dis...

Page 138: ...e final test of an application has to be done on an instrument 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 Nevertheless only one level of inclusion is allowed 11 3 2 MID s...

Page 139: ...compilable and executable for 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 Look at the existing dialogs to get an idea a...

Page 140: ... situation from another where the text dialog will be deleted before the graphical dialog will be created In the former case one can go back to the text dialog without recreating it In the latter the text dialog has to be rebuilt In GB_TPS1100 text and measurement dialog are mutually exclusive See the following scheme for a graphical explanation denotes a dialog TPS1000 TPS1100 Text and MeasDlg Gr...

Page 141: ...eMDlgPar GSI_SetLineMDlgText GSI_GetLineSysMDlg GSI_SetLineSysMDlg GSI_CreateMDlg GSI_UpdateMDlg 11 4 2 Recording Format Settings Deleted GSI_GetRecFormat GSI_SetRecFormat Replaced by extended GSI_GetRecMask GSI_SetRecMask 11 4 3 System Dialog Calls Replacements for old dialog invocation calls GSI_CommDlg CSV_SysCall CSV_EFNC_GeoComSetup Caption GSI_SelectTemplateFiles and GSI_Setup CSV_SysCall CS...

Page 142: ...RK_DIST BAP_SINGLE_REF_STANDARD BAP_SINGLE_REF_FAST BAP_SINGLE_REF_VISIBLE BAP_SINGLE_RLESS_VISIBLE BAP_CONT_REF_STANDARD BAP_CONT_REF_FAST BAP_CONT_RLESS_VISIBLE BAP_AVG_REF_STANDARD BAP_AVG_REF_VISIBLE BAP_AVG_RLESS_VISIBLE 11 4 5 Interface Changes 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 ...

Page 143: ...e MMI_UNDEF_LANG For MDlg routines MMI_FFORMAT_STRING New date format MMI_DATE_JP Deleted MMI_MENU_EXTRA MMI_MENU_CONFIG New MMI_MENU_PROGRAMS 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 GS...

Page 144: ...AR_ parameters see GSI system functions Deleted TPS1100 TPS1700 TPS1800 TPS5000 TPS2003 New TPS1102 TPS1103 TPS1105 Old TPS_FAM_Type iClass lEDMBuiltIn lEDMTypeII lMotorized lATR lEGL lDBVersion lDiodeLaser lLaserPlummet lSimulator New TPS_FAM_Type iClass lEDMBuiltIn always TRUE lEDMTypeII always FALSE lEDMTypeIII always TRUE lEDMReflectorless lMotorized lATR lEGL lLaserPlummet lAutoCollimation lS...

Page 145: ...SV_SetDL CSV_GetUserInstrumentName CSV_SetUserInstrumentName CSV_GetUserName CSV_SetUserName GSI_GetStdRecMask GSI_GetStdRecMaskAll GSI_GetStdRecMaskCartesian Replaced by equivalent functions GSI_WiDlg GSI_StartDisplay GSI_GetStdDialogMask Enhanced in certain ways See the extended identifiers and constants above or refer to the reference manual WI values CSV_GetPrismType CSV_SetPrismType CSV_GetIn...

Page 146: ...taPath GSI_GetDataPath CSV_SetTargetType CSV_GetTargetType Interapplication and system calls 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 ...

Page 147: ...rns if an alternative user task was running i e FNC or PROG was pressed CSV_GetTemperature returns the internal instrument temperature CSV_ResetAltUserTask resets the WasRunning flag GSI_CheckTracking returns if distance tracking is running GSI_ExecQCoding executes Quick Coding with without recording GSI_ExecuteAutoDist starts a distance measurement after changing the distance mode new buttons in ...

Page 148: ...istance is available MMI_SetVangleMode defines the V angle mode TMC_GetAtmCorr Gets the atmosphere part of distance measurement corrections TMC_GetGeomProjection Gets the projection part of distance measurement corrections TMC_GetGeomReduction Gets the reduction to the reference part of distance measurement corrections TMC_GetInclineStatus returns the inclination status i e ready for recording TMC...

Page 149: ... 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_Toggl...

Page 150: ...GeoBASIC FOR TPS1100 Reference Manual Version 2 10 1997 2001 Leica Geosystems AG Heerbrugg Switzerland ...

Page 151: ...imitations 3 5 4 Executing a GeoBASIC Program on the theodolite 4 6 4 1 Loading a GeoBASIC program 4 6 5 Executing a GeoBASIC Program on the Simulatior 5 1 5 1 General 5 1 5 2 User Interface 5 1 5 3 Loading and executing GeoBASIC programs 5 2 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 6 Additional Debugging Functions ...

Page 152: ...9 5 System Function Call 9 9 9 6 System Event Generation 9 10 10 GeoBASIC Sample Programs 10 1 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 11 3 12 GeoBASIC Releases 12 1...

Page 153: ...eoBASIC on a PC Chapter 2 Then after learning how to create an GeoBASIC application Chapter 3 it will be shown how to actually load and execute a program on a LEICA theodolite Chapter 4 and on the Windows simulation Chapter 5 As these technicalities are mastered the main topic is programming in GeoBASIC This manual will give you several hints on typical GeoBASIC programming Chapter 8 and introduce...

Page 154: ...irectory tree is user definable Hence it is not a granted to be exactly that location Notice also that the CodeConverter application is installed in a separate Setup installation procedure SurveyOffice UserTools TPS1100Tools CodeConverter GBSamples Content of the directories only the main objects are listed TPS1100Tools TPS1100 exe TPS Simulator for TPS1100 Series GBStudio exe GeoBASIC IDE applica...

Page 155: ...rpreter 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 For details please see Chapter 4 1 Loading a GeoBASIC program or 5 3 ...

Page 156: ...compile the program 3 load the program either onto the simulation or the theodolite and 4 start the execution of it 5 if the execution fails start a debugging session 3 1 GBSTUDIO DEVELOPMENT ENVIRONMENT 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 seri...

Page 157: ...debugging session for the user Use the integrated help system to get more descriptive explanations of what can be done with GBStudio You can invoke the Help documentation by either using the context help cursor Edit toolbar or the shortcut F1 which opens the content page 3 1 1 The Editor It establishes a modern programming language editor which supports syntax and keyword highlighting multilevel u...

Page 158: ...debug info file file extension gbd i e sample gbd The first two files are necessary to execute the program either on a LEICA theodolite or with the simulator on a personal computer The debug info file is necessary for debugging a program using GBStudio See the following diagram sample gbs GBStudio sample gba sample lng sample gbd Diagram Compiling a GeoBASIC program The compiler is fully integrate...

Page 159: ...er The compiler understands the following options Setting Meaning Language The language on which the resulting application is based on The default is ENGLISH other languages are FRENCH GERMAN etc Character Set 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 ...

Page 160: ...mplemented To find errors in the source code an error catcher has been implemented which stops the execution of the application once the Err variable changes its value The error catching mechanism can be enabled and disabled during the debugging session at the needs of the developer The generated files include time stamp information With this information GBStudio is able to check if all involved o...

Page 161: ...determines the execution platform and if TPS over a serial line is served which COM port should be used for communication Baud Rate 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 ...

Page 162: ...certain debug operations If you don t a big number then choose a smaller number for better performance Size of Shadow Memory Select a value between 100 and 10000 Bytes This will be the size of the shadow memory where the server will keep a backup copy of the registered variables 3 1 4 The Interpreter and the Firmware Both have been adapted to provide all the additional functionality Hence only fir...

Page 163: ...s can be used to quickly select a system function When the opening parenthesis is typed the parameter list will be showed as a tool tip and a reminder what the compiler expects Use SHIFT CTRL SPACE anytime to open up this tool tip again The displayed parameter list depends on the cursor position and moreover on the system function identifier just before the current cursor Note Define also an entry...

Page 164: ...y 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 3 2 4 Start debugging To start the debug session choose the platform TPS simulator or TPS instrument and specific settings you want to use in the Project Preferences dialog Make also sure the entry point of the application is set properly in the p...

Page 165: ...lication has been built cannot be debugged Start debugging by pressing the Start button on the Build toolbar or use the corresponding menu located command Start the application on the platform The editor should now get a small mark in the shape of an right sided arrow on the left edge of the main source file window which points to the very first executable statement of this entry point of the appl...

Page 166: ... system function then the debug server will not be able to terminate the application immediately Instead the application will be terminated after the system call returns Nevertheless GBStudio can terminate the debugging session on the client side 3 2 7 Watch Variables and Quick Watches Watch variables can be added to the Watch Variable view by selecting a variable identifier and pressing the short...

Page 167: ...ion therefore Include exclusively expressions with numerical constants 3 3 PROJECT HANDLING GBStudio knows two different categories of projects which are valid exclusively First the default project which is valid for any valid GBS file And second the so called named projects which have the application specific information stored in a file It should be emphasized that the default project only store...

Page 168: ...ug Session cannot be started because the system predefined symbol file could not be found Solution Use the Project Preferences dialog Debug Tab to specify path and file name of the system predefined symbols The Debug Session cannot be started because no valid entry point has been chosen Solution Use the Project Preferences dialog Debug Tab to specify a valid entry point Valid entry points are defi...

Page 169: ...se the Break button to check the current state If the last command has been finished and above situation was the reason then this initiate a new notification of the current state 3 5 COMPILER LIMITATIONS The GeoBASIC programmer has to keep some limitations for his applications One simple procedure or function may not contain more than 10 kB of code The maximum size of an application including memo...

Page 170: ...ible concept to install an application via a user definable configuration For further explanations how to install an GeoBASIC application read Chapter 9 3 If the menu item is added to a menu you can choose it to run a GeoBASIC program 4 1 LOADING A GEOBASIC PROGRAM GeoBASIC programs can be loaded into the theodolite using the Software Upload program from the Open Survey Suite The procedure for loa...

Page 171: ... with identical names for module and external procedures as an already loaded program replaces this program and all its associated text modules in memory and the items in the menu list Hence transferring of more than one program with the same application name may cause unwanted effects 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...

Page 172: ...edirected to the software simulation of the theodolite 5 2 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 In the Debug window debug information are displayed It is recommended to have always the debug wi...

Page 173: ...en button If the application could be loaded successfully it can be executed by choosing the menu item or in the special case of a code program the CODE button in MEAS mode which has been added by the Install routine of the application There is also a more flexible possibility to install the application via a user definable configuration Refer to Chapter 9 3 2 for more information If the menu item...

Page 174: ...ion parameters for GeoCOM mode and to switch between GeoCOM and SWTheo mode as shown in the following figure Paths can be set for text management GSI data code list GeoBASIC programs and configuration data in the dialog opened by the Data Path menu entry It is highly recommended to set the paths if they are not already set to the following values Path Recommended value Language Files TPS1100Tools ...

Page 175: ...dow 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 Otherwise a dialog enables the user to choose whether other communication configurations should be tested or not Notice that this may take up to one minute If no connection could be establish...

Page 176: ...ell as station data This dialog is opened from the Configuration menu as stated above The second dialog called SWTheo properties dialog caption Virtual Theodolite Properties may be triggered from the SWTheo dialog 5 6 2 1 SWTheo Dialog The dialog acts as the connection between the SWTheo and its virtual environment Here horizontal angle Hz vertical angle V and slope distance Dist to a virtual refl...

Page 177: ...tween several display units for the SWTheo dialogs Please notice these values do not change the settings of the simulation Jittering is supported for angles and distances This functionality is applied by alternately adding and subtracting random values in a range depending on the angle and distance sliders respectively The jittering amplitude increases from left to right position of the slider If ...

Page 178: ... all of the function buttons How can I avoid this problem A Some or all of the text data base files are not contained in the directory referenced by Text Management Data Path Use the Data Paths entry of the Configuration menu to set it accordingly Q After loading a GeoBASIC program the expected menu item does not appear in the dialog What did I wrong A The menu manager needs an event to reread the...

Page 179: ...will have no effects on the TPS The same is valid for Send because it will be redirected to the debug window But of course on TPS it will send data over the data link If an error occurs then a message will be written to the debug window showing the error code and the name of the system routine which caused the error For the simulator and the TPS MMI_PrintStr can be used to display and track result...

Page 180: ...this token will be added to the text token database The compiler handles this automatically for the programmer and produces the already mentioned lng file This text token database is the basis for supporting multiple languages With the Text Utility you can produce new text token databases mxx files in other languages Loading the derived lxx files on the TPS system for enabling the user to choose b...

Page 181: ...lowing picture shows the Text Utility after the import of a GeoBASIC text file 7 1 1 Generating new language files For creating a multiple language application the following steps are necessary 1 After starting the Text Utility press the button select GeoBASIC Text Files l in the choice list File of type and open the generated lng file i e sample lng Answer the question Do you want to convert this...

Page 182: ... loadable language file and press OK to start the generation of the file i e sample lge 7 1 2 Updating translated language files After changing the GeoBASIC source file and re compiling it the following steps for updating the translated language files are necessary 1 Press the button again and open the generated lng file i e sample lng The version of the text database which is generated must be in...

Page 183: ...rs is given Note To make programs easy and intuitive to use the programmer should follow the given standards rather strictly Moreover s he should have a basic understanding of the way how topographical surveying and mapping is actually performed 8 1 THE TEXT DIALOG 8 1 1 The objects of the text dialog The following text dialog is not a practical example it shows only the most important text dialog...

Page 184: ...t caption separation character printed automatically and caption 6 lines start counting from the first line below the caption which is 0 up to line 5 can be used All lines are empty after the creation 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 8 1 3 Representation of the dialog objects For every input and ...

Page 185: ...resentation of the numeric value the field will be filled with the character x 8 1 4 Output in text dialog Strings MMI_PrintStr 0 0 I am a text dialog object TRUE Parameters column line string lValid Integer values MMI_PrintInt 10 1 10 10578 TRUE Parameters column line iLen integer value lValid Double floating point values without unit MMI_PrintVal 10 2 10 3 90478 568 TRUE MMI_DEFAULT_MODE Paramet...

Page 186: ... minimum value maximum value integer variable lValid button Double floating point values without unit MMI_InputVal 19 4 8 2 0 399 99 MMI_DEFAULT_MODE dValue lValid iButtonId Parameters column line iLen decimals minimum value maximum value mode double variable lValid button Double floating point values with unit MMI_InputVal 19 4 8 2 0 399 99 MMI_DIM_ON dValue lValid iButtonId Parameters column lin...

Page 187: ...iLen number of items mode list variable index lValid button 8 2 THE GRAPHICS DIALOG 8 2 1 Positioning on the display Every graphics function needs the position on the display The graphics display is organized in x horizontal and y pixels vertical The left upper position has x pixel and y pixel number 0 The x pixel number is rising to the right and the y pixel number is rising down The size of the ...

Page 188: ...cedures But a graphics dialog may be opened while a text dialog is active Note The reverse is not the case a text dialog may not be opened while a graphics dialog is open If a text dialog and a graphics dialog are open the graphics dialog has priority i e all future function calls are related to the graphics dialog until it is closed For example MMI_AddButton see below will add the button to the g...

Page 189: ...ote The button id s are defined as constants in the compiler 8 2 7 Responding to buttons There are two procedures for coping with button presses MMI_CheckButton queries whether there was a button pressed or not and MMI_GetButton retrieves a pressed button If there was no button pressed it waits until one is pressed The second parameter to MMI_GetButton the in parameter bAllKey determines what butt...

Page 190: ...CASE here go the other handled keys ELSE here go the unhandled keys END SELECT update the display LOOP 8 2 8 Standard key binding It is clear that for the user it is important that the same name2 and moreover the same key always has the same meaning associated at least conceptually An exception is the F1 key its meaning is not the same in a measurement dialog and in a configuration dialog In the f...

Page 191: ...e naming conventions for GeoBASIC More extensive conventions can be found in the naming conventions for Microsoft Access which are tied closely to Visual Basic conventions 3 8 3 1 Variable names Variable names of simple types i e all the scalar types and strings may be tagged to indicate their type Prefixes are always lowercase so your eye goes past them to the first uppercase letter where the bas...

Page 192: ...there are several similar object names a qualifier may follow the name and further clarify it For example if we kept two special point numbers one for the first point and one for the last the variable names would be the qualified variables iPointNoFirst and iPointNoLast Structure types do not have a default prefix if needed the abbreviated type name could be used For arrays the base name itself co...

Page 193: ...is a type Date no variable can be named date If the type has the name TDate or Date_Type or DateType there can As for local constants local types might be prefixed with loc 8 3 3 Procedures A procedure name begins with an upper case letter and succinctly describes the action that is performed Variables that denote parameters passed to a function or subroutine in the parentheses after the function ...

Page 194: ...es Formulating learning and applying a consistent naming style require a significant initial investment of time and energy However you will be amply rewarded when you return to your application a year later to do maintenance or when you share your code with others Once you implement standardised names you will quickly grow to appreciate the initial effort you made To complete the discussion about ...

Page 195: ...yed specify what kind of value it is a horizontal angle a vertical angle a distance a temperature etc All the formatting together with choice of the right representation the user may define this in his theodolite system configuration with which the GeoBASIC programmer is not concerned and displaying the unit after the value are handled automatically Of course the programmer can also decide not to ...

Page 196: ...angle will be formatted in an 8 character wide field with 3 decimals afterwards the unit according the theodolite system configuration will be displayed Assume that gon is set and the angle difference was 1 5473452 radians then at position 20 in line 0 the output will be 98 507 g If the angle returned from GetAngleHz was not valid five dashes will be displayed g 9 1 2 What the user surveyor has to...

Page 197: ...nual for a list of all system and application parameters which can be used in a measurement dialog 9 2 1 Configuration of the User Measurement Dialog Before using the measurement dialog we have to define its contents There are 3 types of possible entries System parameters The routine GSI_SetLineMDlg places a system parameter measurement value or measurement settings on a line Pure text line The ro...

Page 198: ...PAR_AngleHz GSI_CreateMDlg 2 MEAS Measurement Test Measurement Help Addition of buttons MMI_AddButton MMI_F2_KEY DIST MMI_AddButton MMI_SHF6_KEY QUIT lDone FALSE DO WHILE NOT lDone GSI_UpdateMeasurement TMC_AUTO_INC WAITTIME lRecValid iCode FALSE GSI_UpdateMDlg iButton SELECT CASE iButton CASE MMI_F2_KEY DIST Button meas a distance and angles BAP_MeasDistAngle iDistMode dHz dV dDist TRUE MEAS CASE...

Page 199: ... active Note The reverse is not the case a user measurement dialog may not be opened while a graphics dialog is open If a user measurement dialog and a graphics dialog are open the graphics dialog has priority i e all future function calls are related to the graphics dialog until it is closed 9 3 TPS1100 CONFIGURABILITY In general each part of an application which should be accessible from outside...

Page 200: ...APPInfo file with the necessary information about the program The usage of the APPInfo file in the Customisation Tool Start the Customisation Tool Open a configuration file appropriate text and definition files Choose Import Application from the file menu Check the box named with the program name i e AppInfoExample Press the OK button Now the globally accessible subroutines may be added to menus b...

Page 201: ...ication 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 SET Desc test of appinfo subroutine 1 END GlobalSub1 ENTRYPOINT GlobalSub2 SET CapLg Global Sub 2 SET CapSh GSUB2 SET Help displays a message and exits END GlobalSub2 END APPINFO The ...

Page 202: ...ion to the loading of the configuration into the theodolite 9 4 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 GeoBASIC source file AppInfo GeoBASIC compiler AppInfo file Other generated files Customi sation Tool Con figuration files Theodol...

Page 203: ...broutine is available CSV_LibCallAvailable IAC2 InterAppEntry lAvailable IF lAvailable available call global subroutine CSV_LibCall IAC2 InterAppEntry BASIC END IF See the example program IAC GBS and IAC2 GBS for a typical usage of inter application call For further explanations read the description of CSV_LibCall and CSV_LibCallAvailable in the reference manual 9 5 SYSTEM FUNCTION CALL If a theod...

Page 204: ... 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 A GeoBASIC program can generate all events which can occur in the theodolite system software also To generate a system event the same functions can be used as for calling system functions The routine CSV_SysCall is use...

Page 205: ... Concepts TPS1100 Version 2 10 9 11 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 ...

Page 206: ...flow First the user may enter the number of horizontal angles he wants to measure The number of angles must be within a certain range Then the angles are measured each time the REC key is pressed the current horizontal angle is recorded As soon as the requested number of angles is measured the mean angle is computed and displayed Now the user has the choice either to display the angles graphically...

Page 207: ...ple Programs 10 2 TPS1100 Version 2 10 Input the number of angles to measure Compute and display mean angle Draw the angles Measure the angles Start Show Graphics Move theo to mean angle Position theodolite on mean angle End No No Yes Yes ...

Page 208: ... CONST MaxNoHz 9 Maximum number of angles that can be measured CONST CaptionShort MEAN Short caption displayed lefthand in top line Type to store the angles for graphics TYPE DIM TAngles MaxNoHz AS Angle END DIM fId AS FileId File identification GLOBAL SUB Install Description Adds the program into the theodolite s PROG menu The program s application s name is Mean the global routine to start is Ma...

Page 209: ...AngleHz dHz AS Angle lValid AS Logical Description Measures the horizontal angle valid indicates if the dHz is valid Parameters OUT dHzOUT lValid DIM theoAngle AS TMC_Angle_Type The measured values DIM iInfo AS Integer Return code ON Error Resume Next Ignore all errors get angle TMC_GetAngle theoAngle iInfo IF Err RC_OK THEN lValid TRUE dHz theoAngle dHz ELSE lValid FALSE END IF END GetAngleHz SUB...

Page 210: ...s there are iNoPoints angles DO WHILE iNoPoints 0 compute the line iX INT DL SIN angles INT iNoPoints iY INT DL COS angles INT iNoPoints MMI_DrawLine CX CY CX iX CY iY MMI_PEN_BLACK iNoPoints iNoPoints 1 LOOP Draw line for dMean iX INT DL 4 SIN dMean iY INT DL 4 COS dMean MMI_DrawLine CX CY CX iX CY iY MMI_PEN_DASHED Wait for key press and finish dialog MMI_AddButton MMI_F5_KEY END MMI_GetButton i...

Page 211: ...xt Append fId 0 ELSE Open A results txt Append fId 0 END IF set up dialog and input iNoPoints MMI_CreateTextDialog 6 MEAN HZ MEAN VALUE Compute mean HZ for a number of measurements read in iNoPoints iNoPoints 3 lNoOk TRUE MMI_PrintStr 0 0 No of points TRUE MMI_AddButton MMI_F1_KEY CONT MMI_AddButton MMI_SHF6_KEY QUIT MMI_InputInt 26 0 2 1 MaxNoHz MMI_DEFAULT_MODE iNoPoints lNoOk iButton setup rest...

Page 212: ...y GetAngleHz dHz lHzOk MMI_PrintVal 20 2 8 3 dHz lHzOk MMI_DEFAULT_MODE END IF LOOP show results if execution should procede IF iButton MMI_ESC_KEY AND iButton MMI_SHF6_KEY THEN setup new buttons MMI_DeleteButton MMI_F1_KEY MMI_DeleteButton MMI_F3_KEY MMI_AddButton MMI_F3_KEY SHOW MMI_AddButton MMI_F4_KEY EXIT MMI_AddButton MMI_F5_KEY GOTOM compute mean value dMean dMean iNoPoints MMI_PrintStr 0 3...

Page 213: ... of them should give you some hints in a specific problem domain appinfotest gbs This example shows the use of the application information section in the GeoBASIC source file codefunc gbs An example of a program which will be called when the Code key has been pressed cursor gbs Cursor control in a dialog error_ha gbs This program shows how error handling changes execution of a program language gbs...

Page 214: ...nger gbs This example shows in which situations typical errors may occur test gbs An empty frame for building up a GeoBASIC application tracking gbs This program shows possible techniques to take advantage of the measurement facilities menu gbs A simple menu handler dirlist gbs This example shows how to get PC card information and how to read a directories content inclmain gbs This example shows t...

Page 215: ...hanged the effort to port it will be for the most applications not that high In the very end this means also that the developer has to maintain two source code bases 11 1 TPS1100 HARDWARE RELATED CHANGES 11 1 1 Display Line Length The TPS1100 series instruments use a different liquid crystal display The difference means also that one can use only 29 characters per line To be independent of the dis...

Page 216: ...e final test of an application has to be done on an instrument 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 Nevertheless only one level of inclusion is allowed 11 3 2 MID s...

Page 217: ...compilable and executable for 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 Look at the existing dialogs to get an idea a...

Page 218: ... situation from another where the text dialog will be deleted before the graphical dialog will be created In the former case one can go back to the text dialog without recreating it In the latter the text dialog has to be rebuilt In GB_TPS1100 text and measurement dialog are mutually exclusive See the following scheme for a graphical explanation denotes a dialog TPS1000 TPS1100 Text and MeasDlg Gr...

Page 219: ...eMDlgPar GSI_SetLineMDlgText GSI_GetLineSysMDlg GSI_SetLineSysMDlg GSI_CreateMDlg GSI_UpdateMDlg 11 4 2 Recording Format Settings Deleted GSI_GetRecFormat GSI_SetRecFormat Replaced by extended GSI_GetRecMask GSI_SetRecMask 11 4 3 System Dialog Calls Replacements for old dialog invocation calls GSI_CommDlg CSV_SysCall CSV_EFNC_GeoComSetup Caption GSI_SelectTemplateFiles and GSI_Setup CSV_SysCall CS...

Page 220: ...RK_DIST BAP_SINGLE_REF_STANDARD BAP_SINGLE_REF_FAST BAP_SINGLE_REF_VISIBLE BAP_SINGLE_RLESS_VISIBLE BAP_CONT_REF_STANDARD BAP_CONT_REF_FAST BAP_CONT_RLESS_VISIBLE BAP_AVG_REF_STANDARD BAP_AVG_REF_VISIBLE BAP_AVG_RLESS_VISIBLE 11 4 5 Interface Changes 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 ...

Page 221: ...e MMI_UNDEF_LANG For MDlg routines MMI_FFORMAT_STRING New date format MMI_DATE_JP Deleted MMI_MENU_EXTRA MMI_MENU_CONFIG New MMI_MENU_PROGRAMS 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 GS...

Page 222: ...AR_ parameters see GSI system functions Deleted TPS1100 TPS1700 TPS1800 TPS5000 TPS2003 New TPS1102 TPS1103 TPS1105 Old TPS_FAM_Type iClass lEDMBuiltIn lEDMTypeII lMotorized lATR lEGL lDBVersion lDiodeLaser lLaserPlummet lSimulator New TPS_FAM_Type iClass lEDMBuiltIn always TRUE lEDMTypeII always FALSE lEDMTypeIII always TRUE lEDMReflectorless lMotorized lATR lEGL lLaserPlummet lAutoCollimation lS...

Page 223: ...SV_SetDL CSV_GetUserInstrumentName CSV_SetUserInstrumentName CSV_GetUserName CSV_SetUserName GSI_GetStdRecMask GSI_GetStdRecMaskAll GSI_GetStdRecMaskCartesian Replaced by equivalent functions GSI_WiDlg GSI_StartDisplay GSI_GetStdDialogMask Enhanced in certain ways See the extended identifiers and constants above or refer to the reference manual WI values CSV_GetPrismType CSV_SetPrismType CSV_GetIn...

Page 224: ...taPath GSI_GetDataPath CSV_SetTargetType CSV_GetTargetType Interapplication and system calls 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 ...

Page 225: ...k returns if an alternative user task was running i e FNC or PROG was pressed CSV_GetTemperature returns the internal instrument temperature CSV_ResetAltUserTask resets the WasRunning flag GSI_CheckTracking returns if distance tracking is running GSI_ExecQCoding executes Quick Coding with without recording GSI_ExecuteAutoDist starts a distance measurement after changing the distance mode new butto...

Page 226: ... is available MMI_SetVangleMode defines the V angle mode TMC_GetAtmCorr Gets the atmosphere part of distance measurement corrections TMC_GetGeomProjection Gets the projection part of distance measurement corrections TMC_GetGeomReduction Gets the reduction to the reference part of distance measurement corrections TMC_GetInclineStatus returns the inclination status i e ready for recording TMC_SetAtm...

Page 227: ...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 12 2 CHANGES IN GEOBASIC RE...

Page 228: ...r 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 For running these applications the GeoBASIC interpreter 1 30 must be loaded There is no debugging support for GBStudio Different Releases of GeoBASIC applications on the same instrument are not supported ...

Page 229: ... and GeoBASIC 4 Remarks on the Description 5 Standard Functions 6 System Functions A GEOBASIC SYNTAX B GLOSSARY C LIST OF RESERVED WORDS D DERIVED MATHEMATICAL FUNCTIONS E GEOFONT F SYSTEM RETURN CODES G GEODESY MATHEMATICAL FORMULAS H CSV_SYSCALL CONSTANTS I CALLABLE C APPLICATION FUNCTIONS J LIST OF PREDEFINED IDENTIFIERS ...

Page 230: ... 2 10 2 2 2 Composite data types 2 10 2 2 3 Declaration of Arrays 2 11 2 2 4 Declaration of Structures 2 14 2 2 5 Predefined Structured Types 2 16 2 3 Data Declarations 2 17 2 3 1 Declaration of Constants 2 17 2 3 2 Declaration of Variables 2 18 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...

Page 231: ... Operation Data Structures 2 47 2 12 3 Open 2 48 2 12 4 Close 2 51 2 12 5 Input 2 52 2 12 6 Print 2 54 2 12 7 Get values 2 55 2 12 8 Put values 2 58 2 12 9 Tell 2 60 2 12 10 Seek 2 61 2 12 11 Eof standard function 2 63 2 12 12 CurDir 2 64 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 ...

Page 232: ...finition Reserved words operators and delimiters They are printed in BOLD letters and enclosed in double quotes They have to be written as given except that upper and lower case letters are equivalent Square brackets They designate an optional part hence such a part may be omitted Curly braces Enclose elements which may occur 0 or more times Round parentheses They contain a list of alternatives se...

Page 233: ...s definitions made in preceding examples are used Variable declarations are used before they are introduced formally details can be found in Section 2 3 2 on Declaration of Variables 2 1 3 Declarations and Statements Declarations and statements are normally terminated by end of line carriage return or by a comment see next Section 2 1 4 nevertheless long declarations and statements may be spread o...

Page 234: ...er in this manual declare variables DIM iFirstPoint AS Integer the number of the first point DIM lButtonPressed AS Logical indicates whether a button was pressed initialize the variables iFirstPoint 1 the first point has the number 1 Comments may give additional information and structure the program code Program name Athletics Distance Measurement Creation date April 2 1996 Copyright Leica Switzer...

Page 235: ... the same name as local objects are hidden by the local objects and not visible within the local scope Despite this rule variable and constant names may not get the same name as global type names Field names within structures are local to the structure and can be accessed only through the name of the structure variable thus for field names there can never be a name conflict with either globally or...

Page 236: ...gned integer value Examples Integer integer meaning 0 0 4711 4711 49882 49882 0001 1 Floating point floating point meaning 0 0 0 0 3 141593 3 141593 25 0 25 6 6 0 Floating point E format floating point E meaning 6E3 6000 0 7 2e 5 0 000072 62e 3 620 0 3 E2 300 0 Note Numbers without a comma are of type Integer numbers with a comma or E in it are of a floating point type Hence 0 and 0 0 are of diffe...

Page 237: ...between 1 and 255 are supported Due to the notation of special characters a has to be written as Examples The smallest string is the empty string Then follow one character strings the empty string a string containing one blank a a string containing the character a Normally strings are somewhat larger This is a string a string with 17 characters Strings can contain special characters Slope distance...

Page 238: ...log GRAPH Graphical Sit Help_Token Variables and string expressions are not allowed as actual parameters Therefore the following example is multiple erroneous in the call of CreateGraphDialog because there are tokenizable strings allowed only DIM Help_Token AS String255 DIM capt AS String20 capt GRAPH HelpToken This function defines the standard graph dialog a string constant MMI_CreateGraphDialog...

Page 239: ...an be assigned and they can be passed as parameters The other predefined simple types are all the same as Double their values are the floating point numbers The different names are provided for correct displaying of its units and dimension Within the theodolite Firmware SI units are used Meter radians hPa and Celsius 2 2 2 Composite data types In addition to the predefined simple types there are t...

Page 240: ...e positive integer constants Subscripting starts at 1 thus each dimension has UpperBound entries Each element of the array will be of the data type specified An individual element is accessed by giving its subscripts coordinates as expressions see Section 2 4 on Variables For assignment and parameter passing the variable may also be used as a whole Other operations can only be performed on the ind...

Page 241: ...tArray MyFirstArray iIndex Note For keeping track of value changes it is often convenient to draw a table with pencil and paper But as a rule a program should always be written and commented so well that is immediately clear what is done when reading the program State MyFirstArray 1 MyFirstArray 2 iIndex 1 10 20 2 2 20 3 2 20 2 4 2 5 2 5 2 5 1 6 5 5 1 Array variables of the same type can be assign...

Page 242: ... to have 10 heights TYPE DIM HeightArrayType MaxNoOfHeights AS Double END DIM HeightArray1 AS HeightArrayType first array of heights DIM HeightArray2 AS HeightArrayType second array of heights DIM iIndex AS Integer index for comparing DIM lEqual AS Logical indicator for comparing now compare the arrays lEqual TRUE so far everything was equal iIndex 1 start with the first element compare the elemen...

Page 243: ... us compare the access to elements of the two multidimensional arrays DIM ArrayArray AS ArrayArrayType DIM Matrix AS MatrixType ArrayArray 1 1 1 0 ArrayArray 1 20 20 0 ArrayArray 5 20 100 0 Matrix 1 1 1 0 Matrix 1 20 20 0 Matrix 5 20 100 0 2 2 4 Declaration of Structures A structure a structured type also known as a record in other languages consists of a number of values of possibly different typ...

Page 244: ...er for a point number the others are floating point values doubles for the coordinates in the space We declare two variables of CartesianPointType and initialise the first point s components to the origin DIM Point1 AS CartesianPointType DIM Point2 AS CartesianPointType Point1 iNumber 1 Point1 dNorth 0 0 Point1 dEast 0 0 Point1 dHeight 0 0 As with arrays we can assign a whole structure at once Thi...

Page 245: ...is done as follows DIM Measurement AS SomeMeasurementType set the base line Measurement BaseLine StartPoint Point1 Measurement BaseLine EndPoint Point2 set the first point of the measurement Measurement MeasuredPoint 1 iNumber 1 Measurement MeasuredPoint 1 dNorth 1 6 Measurement MeasuredPoint 1 iEast 5 3 Measurement MeasuredPoint 1 iHeight 3 9 2 2 5 Predefined Structured Types GeoBASIC provides fo...

Page 246: ...ne of the specialities of Double In the definitions in the remainder of this document wherever Constant is used in a term either alone or with a qualifier such as IntegerConstant etc either an explicitly written constant as defined in Sections 2 1 6 on Numbers 2 1 7 on Strings 2 1 8 on Logical Values or the name of a declared constant is required Examples In GeoBASIC the constant Pi is predefined ...

Page 247: ... may be one of the predefined types see Section 2 2 on Data Types or a previously declared array or structure type name see Section 2 2 3 on Declaration of Arrays and 2 2 4 on Declaration of Structures Alternatively array variables may be declared directly as explained in the following paragraph If a subscript list is specified with the variable name the variable will denote an array of as many di...

Page 248: ...ntered Note The declaration of a variable does not assign any value to it The value of a variable that is read before the first assignment to it has been performed is undefined Examples First we declare and initialise variables of simple types DIM iSum AS Integer DIM dDistance AS Distance DIM dHz AS Angle iSum 0 dDistance 0 0 dHz 100 0 Then we declare variables composite types DIM StartPoint AS Ca...

Page 249: ...on 2 6 1 1 on The Assignment Statement or parameter passing see Section 2 7 2 on Routine Calls Often however their individual constituents will be selected and operated one by one of the operations available for data of that type Syntax Variable VariableName Selector Selector ArraySelector FieldSelector ArraySelector SubscriptExpression SubscriptExpression FieldSelector ElementName SubscriptExpres...

Page 250: ...Type Matrix 1 1 Double Matrix x y Double with x and y integer variables within the bounds For further examples see Sections 2 2 3 on Declaration of Arrays 2 2 4 on Declaration of Structures and 2 3 2 on Declaration of Variables 2 5 EXPRESSIONS Syntax Expression LogicalTerm OR LogicalTerm LogicalTerm LogicalFactor AND LogicalFactor LogicalFactor NOT LogicalPrimary LogicalPrimary SimpleExpression Re...

Page 251: ...s are evaluated before the or takes place The parameters of function calls are evaluated before the function itself Functions and parenthesised expressions are evaluated before any operations involving them All operations on the same level are evaluated from left to right with the exception of powers which are evaluated from right to left i e x 3 2 is the same as x 3 2 x 9 and not x 3 2 x 6 Multip...

Page 252: ...ow we show some examples for the type conversion Expression value result type 7 3 2 333333331 Double 7 3 2 Integer 7 mod 3 1 Integer Geo BASIC GeoBASIC String 2 5 1 Type Compatibility Note that not all types of operands can be combined with all operations The rules are as follows 2 5 1 1 Addition subtraction multiplication Both operands must be of a numeric type Integer Double or any of the variou...

Page 253: ...ays of type Double If the exponent is 0 the result is 1 0 for all values of the base If the base is negative the exponent must have an integer value otherwise a domain error occurs 2 5 1 5 Relational operators Both operands must be either of a numeric type Integer Double or any of the various specialities of Double or both Logical or both strings The result is always of type Logical For numerical ...

Page 254: ...string expressions all intermediate results from concatenation or string generation must be less than 256 characters long Examples Now we show some examples for string comparison expression value Sun Sunny TRUE Sun Moon TRUE Sun Sun TRUE Sun Sun FALSE Sun Sun FALSE Sun Sun FALSE Sun Sun TRUE TRUE 2 6 STATEMENTS Syntax StatementSequence ErrorLabel Statement ErrorLabel HandlerLabel Statement Sequent...

Page 255: ...ript expression is evaluated before the expression on the right hand side This will matter only if functions with side effects are evaluated which should be avoided A structure variable can be assigned to another one provided they are both of the same structure type same name An array variable can be assigned to another one if both are of the same type same name or if they have the same shape the ...

Page 256: ...ession SelectStatement SELECT CASE Expression CASE ConstantList StatementSequence CASE ELSE StatementSequence END SELECT ConstantList Constant Constant 2 6 2 1 The IF Statement The conditions are evaluated one after the other As soon as one is found that results in the value TRUE the statement sequence following the corresponding THEN is executed and no further conditions are evaluated If no condi...

Page 257: ...alue is negative The empty ELSE case can be omitted IF x 0 THEN x x END IF Another example is given in the next Section 2 6 2 2 on The SELECT Statement 2 6 2 2 The SELECT Statement The expression is evaluated and compared to the constants If a constant equal to the value of the expression is found the corresponding statement sequence is executed If no constant equals the expression and there is a ...

Page 258: ... at all SELECT CASE a b CASE 2 3 5 7 Stat1 CASE 11 13 17 19 Stat2 CASE ELSE Stat3 END SELECT Note that if had used a nested IF statement we would have to write a lot of comparisons that make the code much less readable Further if we do a straight forward transformation from SELECT to IF the selection expression is evaluated more than once in the general case IF a b 2 OR a b 3 OR a b 5 OR a b 7 THE...

Page 259: ...p If there is no condition specified the loop can only be left through an EXIT statement see the note on the Exit Statement at the end of this section or through the occurrence of a run time error An example is given after the description of the UNTIL loop below 2 6 3 2 The UNTIL Loop The statement sequence is executed then the condition if there is one is evaluated If this yields FALSE the statem...

Page 260: ...ormed in an equivalent UNTIL loop and vice versa Have a look at the following UNTIL version of the summation dSum 0 so far the sum is zero iIndex 1 the first index is 1 DO loop dSum dSum NumberArray iIndex add the current element iIndex iIndex 1 next index LOOP UNTIL iIndex iLastIndex until we exceed the last index These two loops the WHILE and UNTIL version perform exactly the same computation fo...

Page 261: ...minates and the statement following it is executed At the end of each iteration the counter is incremented by Step which means a decrement for a negative value of Step Like the WHILE loop a FOR loop may be executed zero times Note The counter name must be an Integer variable declared in the same routine as the FOR loop i e it must be a local variable Within the loop it can be accessed for reading ...

Page 262: ...ement following it is executed An EXIT statement always exits only the innermost loop containing it 2 7 ROUTINES 2 7 1 Routine Declaration Routines come in two flavours subroutines and functions Functions return a value and normally cause no change to the variables of their environment while subroutines often change their environment Because they are quite similar they are described together Synta...

Page 263: ...pecified as byVal must not be a structure or an array and can be replaced by a variable or an expression the parameter behaves like a variable initialised to the value of the expression Parameters not specified as byVal must be replaced by a variable of the correct type any manipulations performed on the parameter are actually performed on the substituted variable Functions usually have one or mor...

Page 264: ...e subroutine SquareAndCube takes a Double as first argument the parameter variable dX and returns the square and cube of this first argument in the second dSquare and third dCube one SUB SquareAndCube byVal dX AS Double dSquare AS Double dCube AS Double description the argument dX is squared and cubed and returned in dSquare and dCube respectively dSquare dX dX dCube dX dSquare END SquareAndCube T...

Page 265: ...e use of the EXIT SUB statement and the difference to the loop EXIT statement SUB RoutineWithExit description demonstrates EXIT SUB and EXIT DIM i AS Integer DIM lOk AS Logical DIM lCond AS Logical lOk TRUE DO WHILE lOk FOR i 1 TO n do something IF Error THEN EXIT SUB terminates the subroutine END IF IF lCond then EXIT terminates the loop END IF NEXT i this will be executed after EXIT but not afte...

Page 266: ...r this call it takes the place of the parameter in the routine Any assignment to the parameter becomes an assignment to the actual variable Note once again that variables including local ones are not initialised by the compiler The value of a variable that has not been explicitly assigned a value is undefined Note Generic string parameters which are passed by reference are not checked for overwrit...

Page 267: ... NEXT GOTO HandlerLabel 0 HandlerLabel Name ErrorLabel HandlerLabel An ErrorLabel is used to mark a part of the code and is written on a separate line before the first statement that is to be executed as part of that particular error handler see also Section 2 6 on Statements All labels must be declared in the routine in which they label a statement i e the scope of the label is the routine code A...

Page 268: ...returns to the caller In methods a and c the variable Err is set to the return code and can be inspected by the program In method b Err is set as well but the program terminates execution Control and the error code will be passed to the point of the TPS 1100 system where the interpreter has been called The activation of an error handler takes place when the execution of an ON ERROR condition has b...

Page 269: ...An error will be ignored and passed to the caller SUB ABC ON ERROR RESUME NEXT statements CALL ExternalSystemRoutine statements END ABC The next example shows an external system routine call If an error occurs then the statements in ErrLab may make some changes and try the execution again If the error occurs a second time the program aborts immediately SUB Dispatch LABEL ErrLab statements ON ERROR...

Page 270: ...nts types and variables and it contains routine declarations among them at least one GLOBAL subroutine module Syntax Program PROGRAM ProgramName CVTDeclaration RoutineDeclaration END ProgramName The constant type and variable declarations CVTDeclaration that are global to the entire program are written on this level as are all routine declarations These comprise the GLOBAL subroutines i e the GeoB...

Page 271: ...GeoBASIC program on TPS 1100 system a WRITE statement has no effect at all The described behaviour can be observed only if the program is executed on the TPS Simulator Syntax IOStatement WRITE Expression On output the evaluated expression is written on one line terminated by return new line Numeric values are written in a standard format which for doubles depends on the value No blanks are output ...

Page 272: ...ce code Refer to chapter 9 3 2 in the user manual for a description of the AppInfo functionality 2 11 1 Syntax in BNF All entries embraced by curly braces are optional Also the AppInfo section as a whole is optional Abbreviations used in the following Syntax Abbreviation Meaning GlobalSubName Name of a global subroutine StringConstant String constant CapLg Caption Long Application name for a menu ...

Page 273: ...L GeneralSectionEntry END GENERAL GlobalSubSection ENTRYPOINT GlobalSubName 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 ...

Page 274: ...SET CapSh GSUB1 SET Desc test of appinfo subroutine 1 END GlobalSub1 ENTRYPOINT GlobalSub2 SET CapLg Global Sub 2 SET CapSh GSUB2 SET Help displays a message and exits END GlobalSub2 END APPINFO See explanations of the example in section 9 3 2 of the user manual 2 12 IN OUTPUT TO FILES The I O routines to files are realised as external routines Therefore all the rules explained in chapter 2 have t...

Page 275: ...ur of subsequent file operations 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 This will lead to a less vulnerable ap...

Page 276: ...Reads a value in binary mode from a file GetMemoryCardInfo Get information about the current mounted PC card Input Reads ASCII text from a file in sequential mode Kill Removes a given file MkDir Creates a directory in the current directory Open Open a file in a specific mode Print Writes ASCII text into a file in sequential mode PutInt PutDouble PutLogical PutString Writes a value in binary mode i...

Page 277: ...ected AS Logical TRUE if write protected END MEM_CARD_INFO_Type 2 12 2 2 FILE_STAT_Type File specific data TYPE FILE_STAT_Type sFileName AS FILE_EXT_Type file name inclusive extension DateTime AS Date_Time_ Type structure with date and time for the definition refer to CSV_GetDateTime iSize AS Integer file size lReadOnly AS Logical TRUE if read only lSubDir AS Logical TRUE if entry is a subdirector...

Page 278: ...ed in sFileName must exist already The FileId will be determined automatically There is no need at all to handle the value of FileId directly No white spaces spaces tabs etc may be included in sFileName Note If the device is not mounted an error code will be returned The iRecLen parameter will be ignored hence it has no effect at all Its usage is reserved for future purposes Access modes may not b...

Page 279: ...the beginning of the file If the file does not exist it will be created FileId out Unique file id output iRecLen in The record length is set to a default of 1 byte in any case See Also Close Input Print Error Codes RC_OK file opened successfully BAS_FIL_INV_MODE invalid access mode see par sMode BAS_FIL_ILL_NAME illegal file name specified BAS_FIL_TABLE_ FULL the internal file id table is full RC_...

Page 280: ...Open a file in Output access mode for writing DIM FileId AS FileId Open A test dat Output FileId 0 2 12 4 Close Description Closes a file Declaration Close byVal fileId AS FileId Remarks Closes the file as represented by the file descriptor Parameters FileId in Unique file id returned by Open See Also Open Print Input Error Codes RC_OK file closed successfully RC_FIL_MEMORY_ FAILED Error in intern...

Page 281: ...leId AS FileId Open A test dat Output FileId 0 do some work Close FileId 2 12 5 Input Description Read a string from file Declaration Input byVal FileId AS FileId sData AS String255 iSize AS Integer Remarks The functions read a string from the file identified by FileId iSize determines how many characters have to be read from the file at a maximum If the line terminator occurs before iSize charact...

Page 282: ... Error Codes RC_OK data read successfully RC_FIL_MEMORY_ FAILED Error in internal memory allocation 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_ STORAGE_MEDIUM_ IN_DEVICE No memory card inserted or it has been removed and put in again Further file operations are not save file errors BAS_FIL_ILL_OP...

Page 283: ...Id AS FileId byVal sData AS String255 Remarks The function writes a string to the file specified by FileId The actual string determines the numbers of characters which will be written to the file The printed string will include the line terminator at the end which will be in any case CR LF Note The file must have been opened in access modes Output or Append Each Print prints the line terminator to...

Page 284: ...FIL_NO_ STORAGE_MEDIUM_ IN_DEVICE No memory card inserted or it has been removed and put in again Further file operations are not save file errors RC_FIL_INVALID_ FILE_DESCR illegal file descriptor used BAS_FIL_ILL_OPER illegal file operation hence using it on a file which has not been opened in sequential OUTPUT or APPEND mode Example Write a string to an Output file The FileId has to be defined ...

Page 285: ...cters without notification to the caller End of file can be recognised by calling Eof If end of file has been reached then it is not guaranteed that the returned value is valid Note The file must have been opened successfully in access mode InBin or UpdateBin The binary values will be interpreted in standard DOS format GetString reads as many characters as asked If the read string contains a 0x00 ...

Page 286: ...existing directory device errors RC_FIL_FAT_ERROR fatal error in accessing the file allocation table RC_FIL_NO_ STORAGE_MEDIUM_ IN_DEVICE No memory card inserted or it has been removed and put in again Further file operations are not save file errors BAS_FIL_ILL_OPER illegal file operation hence using it on a file which has not been opened in InBin or UpdateBin mode RC_FIL_INVALID_ FILE_DESCR ille...

Page 287: ...ouble byVal FileId AS FileId dVal AS Double PutLogical byVal FileId AS FileId lVal AS Logical PutString byVal FileId AS FileId szVal AS String255 iLen AS Integer Remarks These functions write a value to the file identified by FileId The values will not be interpreted at all Only logical values will be transformed to the external coding iLen gives the maximum number of characters to be written If i...

Page 288: ...be taken of the input parameter PutInt iVal in 4 byte binary integer PutDouble dVal in 8 byte binary double float PutLogical lVal in 1 byte FALSE 0 TRUE 1 PutString szVal in String to be written iLen characters will Note if len szVal iLen then szVal will be cut off If Len szVal iLen then szVal will filled up with 0x00 characters iLen in iLen characters to be written See Also Open Close Get values ...

Page 289: ...used RC_FIL_NO_MORE_ ROOM_ON_MEDIUM memory device is full Example see Get values example 2 12 9 Tell Description Delivers the current position of the file pointer Declaration Tell byVal FileId AS FileId iPos AS Integer Remarks The procedure returns the current byte position of the file pointer which has been set by the last read or write operation iPos will get 1 for the first byte Note Other than...

Page 290: ...tions are not save file errors RC_FIL_INVALID_ FILE_DESCR illegal file descriptor used 2 12 10 Seek Description Sets the current position of the file pointer Declaration Seek byVal FileId AS FileId byVal iPos AS Integer Remarks The procedure sets the current byte position of the file pointer where the next file operation has to take place FIL_EOF may be used for iPos to set the file pointer to end...

Page 291: ...essing the file allocation table RC_FIL_NO_ STORAGE_MEDIUM_ IN_DEVICE No memory card inserted or it has been removed and put in again Further file operations are not save file errors RC_FIL_INVALID_ FILE_DESCR illegal file descriptor used BAS_FIL_ILLEGAL_ POSITION illegal file position hence 1 BAS_FIL_ILL_OPER illegal file operation hence using it on a file opened in sequential OUTPUT or APPEND mo...

Page 292: ...file id returned by Open Eof return TRUE if end of file See Also Open Input Error Codes RC_OK operation successfully finished RC_FIL_MEMORY_ FAILED Error in internal memory allocation 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_ STORAGE_MEDIUM_ IN_DEVICE No memory card inserted or it has been remo...

Page 293: ... CurDir Description Get current directory Declaration CurDir szcurDir AS FileName Remarks The procedure gets the absolute path of the current directory Note Since on TPS only memory card device A will be supported only paths with drive A will be returned Parameters szcurDir out The current directory and drive See Also ChDir MkDir Error Codes RC_OK operation successfully finished RC_FIL_MEMORY_ FAI...

Page 294: ... current directory if no absolute path is given Note On TPS only the memory card device will be supported Hence only paths with drive A will be supported Parameters szName in Name of the next directory See Also CurDir MkDir RmDir Error Codes RC_OK current directory changed RC_FIL_MEMORY_ FAILED Error in internal memory allocation May be during open access of a non existing directory device errors ...

Page 295: ...ly the memory card device will be supported Parameters szName in Name of the file to be created See Also CurDir ChDir RmDir Error Codes RC_OK directory created RC_FIL_MEMORY_ FAILED Error in internal memory allocation 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_ STORAGE_MEDIUM_ IN_DEVICE No memory...

Page 296: ...ectory or absolute Note The directory must exist and must be empty Parameters szName in Name of the directory See Also CurDir MkDir Error Codes RC_OK directory removed RC_FIL_MEMORY_ FAILED Error in internal memory allocation 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_ STORAGE_MEDIUM_ IN_DEVICE N...

Page 297: ...Name in Name of the file to be deleted See Also Open RmDir Error Codes RC_OK file removed RC_FIL_MEMORY_ FAILED Error in internal memory allocation 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_ STORAGE_MEDIUM_ IN_DEVICE No memory card inserted or it has been removed and put in again Further file op...

Page 298: ...ent mounted PC card is write protected or not TPS_Sim On the simulator the requested drive will be derived from the current setting of GSI data path Since Win95 WinNT support disk sizes larger than 2GB any capacity between 2 and 4 GB will returned as a negative number Any capacity above 4GB will be returned as 1 Parameters MCInfo out Information about the current mounted PC card See Also Error Cod...

Page 299: ... will cause an error on the simulator Parameters sFileName in Pattern for the requested file FStat out Specific data of a file which matches the pattern given in sFileName See Also Error Codes RC_OK Successfully completed RC_FIL_MEMORY_ FAILED Error in internal memory allocation Maybe because of an access of a non existing directory or drive device errors RC_FIL_NO_ STORAGE_MEDIUM_ IN_DEVICE No me...

Page 300: ...AY_MAX_ELEMENT elements If the directory contains more entries then the last list entry will have more assigned to Pattern matching characters are all valid file name characters and The former matches one or more characters and the latter matches exactly one character For further information please refer to a DOS reference guide For the definition of ListArray refer to MMI_InputList Note As a vali...

Page 301: ...t gbs 2 12 20 FileCopy Description Copies a file s contents to another Declaration FileCopy byVal sSrc As FileName byVal sDot AS FileName Remarks This function copies the contents of the source file first parameter to the destination file The source and destination patterns must be absolute for it to be guaranteed to work No wildcards are allowed in the names of the source or destination paths The...

Page 302: ...Remarks This function renames the file sOldName to sNewName There should be no previous object file or directory with the new name Absolute and relative paths can be used A file cannot be moved from one directory to another Parameters sOldname in Existing file name with path sNewName in New name for file with path See Also Error Codes RC_OK Successfully completed RC_FIL_RENAME_ FILE_FAILED File sO...

Page 303: ...ile or directory with the new name Absolute and relative paths can be used but they must be already in existence A directory cannot be moved from one root path to another Parameters sOldname in Existing directory name with path sNewName in New name for directory with path See Also Error Codes RC_OK Successfully completed RC_FIL_RENAME_ DIR_FAILED Directory sOldname not found or sNewName exists alr...

Page 304: ...No formatting at all will be done but a TPS predefined terminator at the end will be added automatically to the message Note The data link must be active The parameters for the transmission can be set in the GSI communications dialog TPS_Sim Executing a GeoBASIC program on the TPS Simulator redirects the communication stream to the debug window Parameters sMessage in The message string See Also Re...

Page 305: ... pre set terminator has been received or the pre set time out has been reached An eventually received terminator will be excluded in the received message Note The data link must be active The parameters for the transmission can be set in the GSI communications dialog If time out is reached less characters than requested even Zero may be received If nLength 255 then it will be limited to 255 automa...

Page 306: ... be set to 1 second DIM iSize AS Integer DIM sIn AS String255 ON ERROR RESUME NEXT COM_SetTimeOut 1 iSize 255 Receive sIn iSize IF Err RC_OK THEN ProcessString sIn END IF 2 13 3 COM_SetTimeOut Description Sets the current time out value for Receive operations Declaration COM_SetTimeOut byVal nSec AS Integer Remarks nSec will be interpreted as seconds The time out value will be valid until it will ...

Page 307: ...iption Executes a defined GeoCOM Remote Procedure Declaration COM_ExecCmd byVal szPacket AS String255 lStop AS Logical Remarks The string szPacket will be parsed and executed The format has to follow the text format of a GeoCOM Remote Procedure Call See the dedicated documentation for further format information szPacket can be a string which has been previously received via the data link lStop wil...

Page 308: ...essfully parsed and if it is a Go Local 1 command See Also Receive Error Codes RC_OK Completed successfully RC_INVPARAM The string in szPacket does not contain a valid Remote procedure call Example This example polls the serial line and if it receives a Command then it executes it DIM iSize AS Integer DIM sIn AS String255 DIM lStop AS Integer ON ERROR RESUME NEXT COM_SetTimeOut 0 do not wait iSize...

Page 309: ...y 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 In general this will be done during the finalisation process of loading the program by executing the Install routine of a program The Install routine is reserved for such purposes and will be called automatically by the loader...

Page 310: ... there is an appropriate set up GeoBASIC program 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 Note At any time only one GeoBASIC Coding program can be loaded on the TPS system It must have the predefined names otherwise it will not be recognised 3 3 IMPORT O...

Page 311: ...stem functions are described Almost every such description contains a small example However most examples are not ready to compile and run on your LEICA theodolite or PC simulation without setting up a proper program environment To keep the examples small but nevertheless demonstrate some functionality we now give a general schema for running most of the examples Just insert the example code at th...

Page 312: ...l it in the program menu MMI_CreateMenuItem TestExample Main MMI_MENU_PROGRAMS EXAMPLE END Install SUB Test INSERT YOUR SAMPLE CODE HERE END Test GLOBAL SUB Main Description Small program frame with an empty text dialog CONST iLines AS Integer 5 display 5 lines can be used DIM iButton AS Integer for the button pressed MMI_CreateTextDialog iLines BASIC EXAMPLE No Help Test call the test routine MMI...

Page 313: ...orresponding error code Therefore we will rather use the term ERROR CODES for values other than RC_OK 2 Every function may have a set of possible error codes defined If the result of a function is not RC_OK the variable ERR will contain one of those error codes describing the function s termination condition 3 If the error handling is active ON ERROR GOTO see Chapter Error Handling any error code ...

Page 314: ...implemented RC_TIME_OUT 6 time out RC_SET_INCOMPL 7 parameter setup for subsystem is incomplete RC_ABORT 8 function aborted RC_NOMEMORY 9 not enough memory RC_NOTINIT 10 subsystem not initialized RC_SHUT_DOWN 12 subsystem is down RC_SYSBUSY 13 system busy RC_HWFAILURE 14 hardware failure fatal RC_ABORT_APPL 15 Abort Application Shift Esc RC_LOW_POWER 16 Insufficient power level RC_IVVERSION 17 Inv...

Page 315: ...nctions known to GeoBASIC are described In 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 ...

Page 316: ...rd functions extensions to GeoBASIC such as Section Geodesy Mathematics or a theodolite subsystem such as the whole Chapter System Functions for example Section MMI Functions describing the man machine interface 4 1 2 The Sections A section description consists of at most four parts 1 The name of the section 2 Lists of types functions procedures and constants defined in the section 3 Definition of...

Page 317: ...s of all identifiers that are defined in the section are given First for types then for functions procedures and at last for the constants All lists are sorted by name The schema is as follows Summarising Lists of Types Procedures and Constants Types type name description Some_New_Type Brief description of the type Some_Other_New_Type Brief description of the type Functions function name descripti...

Page 318: ... in words Then its definition follows giving every component its type and a more detailed description New_Type Here stands what it is used for Description Here the new type is described TYPE New_Type Component1 ItsType description of Component1 Component2 ItsType description of Component2 Component3 ItsType description of Component3 END New_Type 4 1 2 4 Function procedure description Then the func...

Page 319: ...ction procedure description consists of at most eight parts 1 The function procedure name 2 The description 3 The declaration 4 Remarks 5 A detailed parameter description 6 Listing of the error codes 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 t...

Page 320: ...ncerning EXAMPLE_Some_Function Note Here come some important notes TPS_Sim Has no effect Ad 5 6 Now more details of the interface are described the parameters and the error codes see also Section Global Return Codes While doing so also predefined constants for parameter values or error codes are mentioned For example Parameters dParameter in description of dParameter sParameter in description of s...

Page 321: ...fined function is given see also Section Putting the examples to work For example See Also 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 ...

Page 322: ...l angle Note The measure program must have been started Parameters Angle out result of measuring the angle iReturnCode out return code see Error Codes See Also TMC_DoMeasure Return Codes RC_OK angle OK TMC_ANGLE_ERROR no inclination measuring possible no results Example Read the currently valid angle DIM Angle AS Double DIM RetCode AS Integer TMC_GetAngle Angle RetCode name of function function de...

Page 323: ... code 5 7 5 3 2 String String from fill character 5 7 5 3 3 Str String from a numerical value 5 7 5 3 4 SFormat Function 5 8 5 4 String to string 5 12 5 4 1 UCase Change to upper case 5 12 5 4 2 LCase Change to lower case 5 13 5 4 3 LTrim Trim blanks from the left 5 13 5 4 4 RTrim Trim blanks from the right 5 13 5 4 5 Left Left substring 5 14 5 4 6 Right Right substring 5 14 5 4 7 Mid Substring an...

Page 324: ...enterAndRadius 5 39 5 6 7 GM_CalcClothCoord 5 40 5 6 8 GM_CalcCoord 5 41 5 6 9 GM_CalcDistPointCircle 5 42 5 6 10 GM_CalcDistPointCloth 5 43 5 6 11 GM_CalcDistPointLine 5 44 5 6 12 GM_CalcHiddenPointObservation 5 46 5 6 13 GM_CalcIntersectionCircleCircle 5 47 5 6 14 GM_CalcIntersectionLineCircle 5 49 5 6 15 GM_CalcIntersectionLineLine 5 50 5 6 16 GM_CalcMean 5 52 5 6 17 GM_CalcMeanOfHz 5 54 5 6 18...

Page 325: ...omZeroToTwoPi 5 78 5 6 38 GM_LineAzi 5 79 5 6 39 GM_MathOrSurveyorsAngleConv 5 79 5 6 40 GM_Traverse3D 5 80 5 6 41 GM_InitQXXMatrix 5 81 5 6 42 GM_CalcAziZenAndDist 5 81 All but one of the standard functions available in GeoBASIC belong to one of four groups numeric to numeric string to numeric numeric to string and string to string Note Where string subscripts are used indexing always starts at 1...

Page 326: ...e expression X rounded to the nearest integer Values halfway between two integers are always rounded away from zero The expression must be of a numeric type Integer Double or its variations The result is of type Integer Examples Round 5 2 5 Round 5 8 6 Round 5 5 6 Round 6 5 7 Round 5 2 5 Round 5 8 6 Round 5 5 6 Round 6 5 7 5 1 4 Sgn Sign Sgn X yields the sign of the value of the expression X Posit...

Page 327: ... InStr S1 S2 looks for the substring S2 inside the string S1 and yields either the index of the first character where S2 starts in S1 or 0 if S2 cannot be found Upper and lower case characters are considered distinct Both parameters must be string expressions The result is of type Integer Examples InStr Bananas na 3 InStr Bananas nas 5 InStr Bananas Na 0 InStr K S1 S2 works like InStr S1 S2 but lo...

Page 328: ...n 0 5 2 4 Val Numerical value of a string Val S yields the value of the string expression S interpreted as a numeric constant S may contain leading blanks one sign a decimal point and a power of ten part with or without sign Blanks within the number are not allowed Interpretation ends with the first character that cannot be part of a legal GeoBASIC numeric constant representation If S does not rep...

Page 329: ...identical characters This character is either the first character of the string expression X or the character whose ASCII code is the value of the integer expression X The result is of type String Examples String 6 42 String 5 String 4 abc aaaa 5 3 3 Str String from a numerical value Str X yields the string representing in a fixed format the value of the expression X The expression must be of a nu...

Page 330: ... for value It has to follow the general rules of GeoBASIC strings and may be of any string type The second argument value can be any valid numeric integer double or logical expression A double value larger than 10250 with f formatting will result in the string xxxxxxxxxx since the value can be transformed to a maximum of 250 characters only Note The format string and the value argument must match ...

Page 331: ... padding blank for sign when used with e E or f format type the flag forces the output value to contain a decimal point in all cases for g G format type it prevents in addition the truncation of trailing zeros default decimal point appears only if digits follow for g G trailing zeros are truncated ignored for decimal types width Optional number that specifies the minimum number of characters print...

Page 332: ...BCDEF Double types character output format lf signed value having the form dddd dddd where dddd is one or more digits Only values in between 10250 can be formatted le signed value having the form d dddd e sign ddd where d is a single digit ddd are exactly 3 digits lE identical to le exponent character E instead of e lg signed value printed in f or e format whichever is more compact for the given v...

Page 333: ...n ANSI C see description above For more detailed descriptions please refer to the format spec in the description of the ANSI C function sprintf ld is recommended Double 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 ...

Page 334: ... 15 sFormatVal Hex F sFormatVal SFormat Octal lo 15 sFormatVal Octal 17 sFormatVal SFormat Double 6lf 1111 12345 sFormatVal Double 1111 123450 sFormatVal SFormat Double 6lf 1111 12345 sFormatVal Double 1111 123450 5 4 STRING TO STRING 5 4 1 UCase Change to upper case UCase S yields the string expression S with all lower case letters a to z replaced by their upper case Any other character is unchan...

Page 335: ... S Examples LCase START start LCase GRÖSSER grÖsser umlaut unchanged 5 4 3 LTrim Trim blanks from the left LTrim S yields the value of the string expression S with all leading blanks removed The result is of type string n where n length of S number of blanks Example LTrim Stop Stop 5 4 4 RTrim Trim blanks from the right RTrim S yields the value of the string expression S with all trailing blanks r...

Page 336: ...waytrack 5 track 5 4 7 Mid Substring anywhere Mid S K N yields the substring consisting of N characters of the string expression S starting at the K th character K and N must be expressions of type Integer The length of the resulting string is N If parameter N is omitted the substring runs to the end of S Examples Mid Railwaytrack 5 3 way Mid Railwaytrack 9 rack Mid can also be used to assign a ch...

Page 337: ...ns TPS1100 Version 1 30 5 15 Examples s 123456789 Mid s 2 3 abcde 3 characters 2 4 are replaced s 1abc56789 s 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 ...

Page 338: ...gle 5 5 2 Remark on the Conversion of Angles GeoBASIC computes in SI units for angles this means in radians The conversion from grad to radians and vice versa is described next Let the variable halfCircle be 200 gon For decimal degrees halfCircle is 180 degrees The value in the variable grad must be in the corresponding degree units radians halfCircle radians halfCircle grad grad π π Another way t...

Page 339: ...of the side opposite to the angle divided by the length of the side adjacent to the angle The hypotenuse is not involved The result s unit is radians It is in the floating point range π 2 to π 2 Note Atn is the inverse trigonometric function of Tan Do not confuse arcus tangent with the cotangent which is simply the multiplicative inverse of a tangent i e 1 Tan See Also Cos Sin Tan Remark on the Co...

Page 340: ...hypotenuse The result is in the floating point range 1 0 to 1 0 See Also Atn Sin Tan Remark on the Conversion of Angles 5 5 2 Example The example uses Cos to calculate the cosine of an angle with a user specified number of degrees DIM dDegrees AS Double Declare variables DIM dRadians AS Double dDegrees 45 0 dRadians dDegrees Pi 180 0 Convert to radians WRITE The cosine of a Str dDegrees degree ang...

Page 341: ...of e is Str dValueOfE 5 5 6 Log Function Description Returns the natural logarithm of a number Declaration Log dNumber AS Double AS Double Remarks The argument dNumber can be any valid numeric expression that denotes a value greater than zero The return type of Log function is Double The natural logarithm is the logarithm to the base e e is the exponential constant base of natural logarithms with ...

Page 342: ...rithm of e to the third power DIM dValueOfE AS Double Declare variables dValueOfE Exp 1 WRITE Str Log dValueOfE 3 5 5 7 Sin Function Description Returns the sine of an angle Declaration Sin dAngle AS Double AS Double Remarks The argument dAngle can be any valid numeric expression measured in radians The return type of Sin is Double The Sin function takes an angle and returns the ratio of two sides...

Page 343: ...al 19 0 MMI_FFORMAT_DISTANCE 8 2 dSlopeDist TRUE 0 0 10000 0 iButton PrintStr 0 1 Zenith angle InputVal 19 1 MMI_FFORMAT_ANGLE 8 3 dZenith TRUE 0 0 2 Pi iButton dHorizDist dSlopeDist Sin dZenith PrintStr 0 2 Horiz Dist PrintVal 19 2 8 2 dHorizDist TRUE MMI_DIM_ON 5 5 8 Sqr Function Description Returns the square root of a number Declaration Sqr dNumber AS Double AS Double Remarks The argument dNum...

Page 344: ... dAngle AS Double AS Double Remarks The argument dAngle can be any valid numeric expression measured in radians The return type of Tan is Double The Tan function takes an angle and returns the ratio of two sides of a right triangle of the length of the side opposite the angle to the length of the side adjacent to the angle Mind that Tan is not defined for dAngle π 2 and dAngle π 2 See Also Atn Cos...

Page 345: ...y valid numeric expression The Rnd function returns a pseudo random value in the range 0 to dNumber The SRnd function can be used to seed the pseudo random number generator before calling Rnd Note The same random number sequence is generated each time the program runs To have the program generate a different random number sequence each time it is run use the SRnd function to initialise the random ...

Page 346: ...Declaration SRnd dNumber AS Double AS Double SRnd iNumber AS Integer AS Integer Remarks The argument number can be any valid numeric expression both Integer and Double works iNumber or dNumber is used to initialise the pseudo random number generator by giving it a new seed value If SRnd is not used the Rnd function returns the same sequence of random numbers every time the program runs To have the...

Page 347: ...nts_Type Structure used for measurement polar coordinates GM_Point_Type Definition of a point GM_QXX_Matrix_Type Coefficients of the cofactor matrix of the unknown GM_Triangle_Accuracy_Type Accuracy of angle and side of the triangle GM_Triangle_Values_Type Sides and angles of a triangle 5 6 1 6 Procedures procedure name description GM_AdjustAngleFromZeroToTwoPi Normalise angle to 0 2 Pi GM_AngleFr...

Page 348: ... distance point line and the base point of plumb line GM_CalcHiddenPointObservation Calculated measurement to the hidden point GM_CalcIntersectionCircleCircle Calculation of intersection point circle circle GM_CalcIntersectionLineCircle Calculation of intersection point line circle GM_CalcIntersectionLineLine Calculation of intersection point line line GM_CalcMean Calculation of the average result...

Page 349: ... of hz and v direction and distance GM_ConvertPressure Conversion of pressure from one system into the other GM_ConvertSexaDec Conversion of value from the sexagesimal into the decimal system GM_ConvertTemp Conversion of temperature from one system into the other GM_ConvertVDirection Conversion of v directions from one system into the other GM_CopyPoint Copy the contents of a point GM_InitQXXMatri...

Page 350: ...Double middle Error of any observation m END GM_Mean_StdDev_Type GM_Excentr_Elems Eccentric Elements Description Elements of the eccentric observation TYPE GM_Excenter_Elems_Type dHzCent AS Double horizontal angle to centre rad dExDist AS Double horizontal distance to centre m dDHeight AS Double height difference excenter centre END GM_Excenter_Elems_Type GM_4Transform_Param Transformation paramet...

Page 351: ...g rad dSlopeDist AS Double slope distance m END GM_Measurements_Type GM_QXX_Matrix Co Factor Matrix of the Unknown Description With this structure the coefficients of the cofactor matrix of the unknown are defined TYPE GM_QXX_Matrix_Type dM0 AS Double middle weight unit error dA11 AS Double dA11 to dA33 are the dA12 AS Double coefficient of the co factor matrix of dA13 AS Double the unknown dA22 A...

Page 352: ...rix of the unknown END GM_Point_Type GM_Line Definition of a line Description With this structure a line is defined TYPE GM_Line_Type iType AS Integer defines the line type Valid values Meaning GM_POINT_AND_ POINT Line defined with two points 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 ...

Page 353: ... Double 2nd triangle side m dSide3 AS Double 3rd triangle side m dAngle1 AS Double angle opposite side 1 rad dAngle2 AS Double angle opposite side 2 rad dAngle3 AS Double angle opposite side 3 rad END GM_Triangle_Values_Type GM_Triangle_ Accuracy Accuracy of angle and side of the triangle Description With this structure the exactness of the sides and angles are defined TYPE GM_Triangle_Accuracy_Ty...

Page 354: ...urnCode AS Integer Remarks With the first function the calculation of the area of an arbitrary polygon can be started by defining the start point StartPt cartesian coordinates The second function allows to extend the polygon by adding new points When CurrPt equates to the start point the area of the now closed polygon will be calculated Note The computation is done the plane i e the height is igno...

Page 355: ... segment will be calculated as follows F dRadius d d 1 2 2 sin where d is the angle change of the arc dArea out superficies of the closed polygon m iReturnCode out return code value meaning 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 2 Abs dRadius len...

Page 356: ...adius with the first point Init_GM_Point_Type CurrPt CurrPt dE 1 0 CurrPt dN 1 0 GM_CalcAreaOfCoord_Start CurrPt add the second point CurrPt dE 3 0 CurrPt dN 1 0 GM_CalcAreaOfCoord_Add CurrPt dRadius dArea iRetCode 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_CalcAreaOfC...

Page 357: ...end the polygon by adding new points When currPt equates the start point the area of the now closed polygon will be calculated Note The computation is done the plane i e the horizontal distance is computed and the height is ignored For the used formula see Appendix Geodesy Math Formulas Parameters StartPt in start point of the polygon in polar coordinates CurrPt in current point to be added to the...

Page 358: ...ue for dRadius this is the case if 1 dRadius 0 0 and 2 Abs dRadius length of current edge 2 Example Calculate the area from 3 given edges DIM iRetCode AS Integer DIM CurrPt AS GM_Measurements_Type DIM dRadius AS Double DIM dArea AS Double init CurrPt and dRadius with the first point Init_GM_Point_Type CurrPt CurrPt dHz 0 0 CurrPt dV 1 5707963 CurrPt dSlopeDist 10 0 GM_CalcAreaOfMeas_Start CurrPt a...

Page 359: ...distance result from coordinates Declaration GM_CalcAziAndDist StationPt AS GM_Point_Type TargetPt AS GM_Point_Type dAzi AS Double dDist AS Double dStdvAzi AS Double dStdvDist AS Double Remarks This function is calculating azimuth and distance result from coordinates Note Used formula see Appendix Geodesy Math Formulas Parameters StationPt in coordinates and exactness of the station point TargetPt...

Page 360: ... of a target from a station according to given StationPt and TargetPt DIM StationPt AS GM_Point_Type DIM TargetPt AS GM_Point_Type DIM dAzi AS Double DIM dDist AS Double DIM dStdvAzi AS Double DIM dStdvDist AS Double 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 f...

Page 361: ...ordinate of the centre and the radius result from 3 given points Note Used formula see Appendix Geodesy Math Formulas Parameters Pt0 in contains the coordinate and the exactness of the 1 point Pt1 in contains the coordinate and the exactness of the 2 point Pt2 in contains the coordinate and the exactness of the 3 point dRadius out calculated radius m Center out calculated coordinates and exactness...

Page 362: ...alculation of coordinate on the unitary clothoid A 1 Declaration GM_CalcClothCoord byVal dTau AS Double dX AS Double dY AS Double Remarks This function is calculating the coordinate dependent from the tangent angle of one point on the unitary clothoid Note Used formula see Appendix Geodesy Math Formulas Parameters dTau in tangent angle rad dX out x coordinate of the Clothoid point dY out y coordin...

Page 363: ...ate result from azimuth and distance Note Used formula see Appendix Geodesy Math Formulas Parameters StationPt in coordinates and exactness of the station point dAzi in azimuth rad dHorizDist in horizontal distance m TargetPt out coordinates and exactness of the target point Return Codes RC_OK always OK Example Calculate the distance of a target from a station according to given azimuth and horizo...

Page 364: ...t to a circle and his base point of the foot of a perpendicular observation Note Used formula see Appendix Geodesy Math Formulas Parameters Point in coordinates and exactness of the point to be plumbed Circle in circle dDist out distance point circle m FootPoint out coordinate of the base point of plumb line Return Codes RC_OK always OK Example Calculate the distance of a point to a circle DIM Pt ...

Page 365: ...g the distance of one point to the clothoid and his base point of plumb line in the area of 0 2 τ π Prerequisite that the Clothoid is placed in the country coordinate system Note Used formula see Appendix Geodesy Math Formulas Parameters BA in beginning of the arc in the country coordinate system BE in end of the arc in the country coordinate system Point in point to be plumbed out in the country ...

Page 366: ... dL adequatley GM_CalcDistCloth BA BE Point dA dL dDist dDist2 BasePt 5 6 11 GM_CalcDistPointLine Description Calculation of the distance point line and the base point of foot of a perpendicular observation Declaration GM_CalcDistPointLine Line AS GM_Line_Type Point AS GM_Point_Type dDistX AS Double dDistY AS Double FootPoint AS GM_Point_Type Remarks This function is calculating the distance of on...

Page 367: ...se point of plumb line Return Codes RC_OK successful calculation GM_IDENTICAL_PTS Start and endpoint of the line are identical Calculation is not possible The recovered values are not defined Example 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 adequatl...

Page 368: ...lectors of the hidden point staff Note Used formula see Appendix Geodesy Math Formulas Parameters Point1 in contains the measurement of the reflector 1 of hidden point staff Point2 in contains the measurement of the reflector 2 of hidden point staff dDistP1P2 in Distance of both reflectors m dDistP1HP in Distance of reflectors 1 and the hidden point s m HiddenPt out calculated measurement to the h...

Page 369: ...ey GM_CalcHiddenPointObservation Point1 Point2 dDistP1P2 dDistP1Hd HiddenPt 5 6 13 GM_CalcIntersectionCircleCircle Description Calculation of intersection point circle circle 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 t...

Page 370: ... solutions GM_NO_ SOLUTION no intersection point GM_ONE_ SOLUTION exactly one solution The values for Second Inters are nor defined GM_TWO_ SOLUTIONS two intersection points Return Codes RC_OK successful calculation Example 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 ...

Page 371: ...The line 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 Parameters Line in Definition of the line Circle in Definition of the circle FirstInters out Coordinate and exactness of the 1 intersect point SecondInters out Coordinate and exactness of ...

Page 372: ...rcle adequatley GM_CalcIntersectionLineCircle Line Circle Interspt1 Interspt2 iRetCode 5 6 15 GM_CalcIntersectionLineLine Description Calculation of intersection point line line Declaration GM_CalcIntersectionLineLine FirstLine AS GM_Line_Type SecondLine AS GM_Line_Type Intersection AS GM_Point_Type iReturnCode AS Integer Remarks This function is calculating the intersection point between two Line...

Page 373: ...e the lines are parallel GM_ANGLE_ SMALLER_ 15GON Warning the intersect Angle of the line is smaller than 15 gon The intersect point was still calculated Return Codes GM_IDENTICAL_PTS Start and endpoint of a line are identical Calculation is not possible 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 D...

Page 374: ... adds the values dObservation dWeight to it The second is calculating the average the middle error of the average the middle error of the observations stored in the data list Note Used formula see Appendix Geodesy Math Formulas Parameters dObservation in observation to be averaged dWeight in weight for averaging lStartNew in TRUE the given values dObservation dWeight are the first in a new series ...

Page 375: ...s RC_IV_RESULT When calling GM_CalcMean with no successful previous call of GM_CalcMean_Add GM_TOO_FEW_ OBSERVATIONS Too few observations to be able to calculate the average The recovered values are not defined GM_PLAUSIBILITY_ ERR 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...

Page 376: ...rnal data list and adds Hz directions to it The second is calculating the average the middle error of the average the middle error of any direction evaluating the added Hz directions in the list Note Used formula see Appendix Geodesy Math Formulas Parameters dHzDirection in Hz direction lStartNew in TRUE the given value dHzDirection is the first in a new series initialisation The old series belong...

Page 377: ...e the average The recovered values are not defined Example Calculate the weighted average etc DIM Mean AS GM_Mean_StdDev_Type GM_CalcMeanOfHz_Add 1 0 TRUE GM_CalcMeanOfHz_Add 2 0 FALSE GM_CalcMeanOfHz_Add 3 0 FALSE GM_CalcMean Mean 5 6 18 GM_CalcMedianOfHz Description Calculation of Hz directions and the average as median Declaration GM_CalcMedianOfHz_Add byVal dHzDirection AS Double byVal lStartN...

Page 378: ...ad Return Codes RC_OK successful creation adding and evaluation RC_IV_RESULT When calling GM_CalcMedianOfHz with no successful previous call of GM_CalcMedianOfHz_Add GM_OUT_OF_RANGE This may occur when calling GM_CalcMedianOfHz_Add FALSE Two reasons 1 no data series exists 2 too many data items GM_TOO_FEW_ OBSERVATIONS Too few observations to be able to calculate the average The recovered values a...

Page 379: ...tes an internal data list and adds the data to it The second is calculating the orientation of graduated circle evaluating the added data in the list Note Used formula see Appendix Geodesy Math Formulas Parameters Station in Coordinate of the station point Target in measured point dHz in observed Hz direction lStartNew in TRUE the given value dHzDirection is the first in a new series initialisatio...

Page 380: ...o data series exists 2 too many data items GM_TOO_FEW_ OBSERVATIONS Too few observations to be able to calculate the average The recovered values are not defined Example Calculate the average etc DIM Station AS GM_Point_Type 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_CalcO...

Page 381: ...st point of the line definition see predefined structure GM_Line_Type on the line Note Used formula see Appendix Geodesy Math Formulas Parameters Line in Definition of the line dDist in Distance of the point on the line to be calculated from the 1 point of the line m Point out Calculated point on the line Return Codes GM_IDENTICAL_PTS Start and endpoint of a line are identical Calculation is not p...

Page 382: ... of the circle definition see predefined structure GM_Circle_Type on the circle Note Used formula see Appendix Geodesy Math Formulas Parameters StartOfArc in beginning of the arc EndOfArc in end of the arc dRadius in radius dLengthOfArc in arc length clockwise relative to StartOfArc are positive Point out Calculated point on the arc Return Codes GM_IDENTICAL_PTS Startpoint and endpoint of the arc ...

Page 383: ...d and the recovered code will be returned Subsequently following the calculation of the exactness Note Used formula see Appendix Geodesy Math Formulas Parameters iProblemKind in Shows the function which triangle type has to be used possible values GM_SIDE_ANGLE_SIDE Case Side Angle Side GM_SIDE_SIDE_SIDE GM_SIDE_SIDE_ANGLE GM_ANGLE_SIDE_SIDE GM_ANGLE_ANGLE_SIDE GM_SIDE_ANGLE_ANGLE GM_ANGLE_SIDE_AN...

Page 384: ...alid triangle type There was no calculation The recovered values are not defined Example Calculate the distance of a target from a station according to given StationPt and TargetPt DIM FirstSol AS GM_Triangle_Values_Type 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...

Page 385: ...enith and slope distance from given points cart coordinates Note Used formula see Appendix Geodesy Math Formulas Parameters StationPt in coordinates and exactness of the station point TargetPt in coordinates and exactness of the target point dInstrHeight in instrument height m dRefHeight in reflector height m dVZenit out calculated V direction zenith distance rad dSlopeDist out calculated slope di...

Page 386: ...e Description Conversion of angle from one system into the other Declaration GM_ConvertAngle byVal iOldSys AS Integer byVal dAngleOldSys AS Angle byVal iNewSys AS Integer dAngleNewSys AS Angle Remarks This function is converting angle value from one standard system into the other Note Used formula see Appendix Geodesy Math Formulas Parameters iOldSys in standard system of the given angle GM_DEGREE...

Page 387: ...IM iOldsys AS Integer DIM iNewsys AS Integer initialize values iOldsys GM_GRAD the old angle is given in grad dAngleOldSys 200 0 its value is 200 0 gon iNewSys GM_RADIANS the new angle should be in radians GM_ConvertAngle iOldsys dAngleOldSys iNewsys dAngleNewSys 5 6 25 GM_ConvertDecSexa Description Conversion of value from the decimal into the sexagesimal system Declaration GM_ConvertDecSexa byVa...

Page 388: ...r Declaration GM_ConvertDist byVal iOldSys AS Integer byVal dDistOldSys AS Double byVal iNewSys AS Integer dDistNewSys AS Double Remarks This function is converting distance values from one standard system into the other 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 ...

Page 389: ...st iOldsys dDistOldSys iNewsys dDistNewSys 5 6 27 GM_ConvertExcentricHzV Description Re centration of hz and v direction Declaration GM_ConvertExcentricHzV ExCentMeas AS GM_Measurements_Type ExCentElems AS GM_Excenter_Elems_Type Center AS GM_Point_Type Target AS GM_Point_Type CentMeas AS GM_Measurements_Type Remarks With this function the measured values which are measured to the excenter couldbe ...

Page 390: ...Point_Type DIM TargetPt AS GM_Point_Type DIM ExcElems AS GM_Excenter_Elems_Type DIM ExcenterMeas AS GM_Measurements_Type DIM CenterMeas AS GM_Measurements_Type initialize StationPt TargetPt ExcElems ExcenterMeas GM_ConvertExcentricHzV StationPt TargetPt ExcElems ExcenterMeas CenterMeas 5 6 28 GM_ConvertExcentricHzVDist Description Re centration of hz and v direction and distance Declaration GM_Con...

Page 391: ...M_Measurements_Type Note Used formula see Appendix Geodesy Math Formulas Parameters ExCentMeas in eccentric observation ExCentElems in height difference between the centre and the excenter m and horizontal distance between the centre and the excenter m CentMeas out onto the centre re centred measurement element Return Codes RC_OK always OK Example Calculate the point in the circle ...

Page 392: ...re byVal iOldSys AS Integer byVal dPresOldSys AS Double byVal iNewSys AS Integer dPresNewSys AS Double Remarks This function is converting pressure values from one standard system into the other Note Used formula see Appendix Geodesy Math Formulas Parameters iOldSys in standard system of the given pressure GM_MM_HG mercury column mm GM_M_BAR millibar GM_ATMOS atmosphere dPresOldSys in pressure to ...

Page 393: ...s iOldsys GM_ATMOS dPresOldSys 1 0 iNewsys GM_M_BAR GM_ConvertPressure iOldsys dPresOldSys iNewsys dPresNewSys 5 6 30 GM_ConvertTemp Description Conversion of temperature from one system into the other Declaration 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 standar...

Page 394: ...mperature dTempNewSys out converted temperature Return Codes GM_INVALID_ TEMP_SYSTEM One of the temperature standard systems was invalid There was no conversion The recovered value was not defined Example 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...

Page 395: ...values from one standard system into the other Note Used formula see Appendix Geodesy Math Formulas Parameters iOldSys in standard system of the given v direction GM_ZENITH zenith direction rad GM_NADIR nadir direction radians GM_V_ANGLE_RAD height angle rad GM_V_ANGLE_ PERCENT height angle dVOldSys in v distance to convert iNewSys in standard system of the wanted v distance dVNewSys out converted...

Page 396: ...rtSexaDec Description Conversion of value from the sexagesimal into the decimal system Declaration GM_ConvertSexaDec byVal dValueSexa AS Double dValueDec AS Double Remarks This function is converting the value from the sexagesimal into the decimal system Note Used formula see Appendix Geodesy Math Formulas Parameters dValueSexa in sexagesimal value dValueDec out decimal value Return Codes RC_OK al...

Page 397: ... the coordinate systems have to be in the same sense Note Used formula see Appendix Geodesy Math Formulas Parameters OldPt in point to be transformed Param in transformation parameters NewPt out transformed point Return Codes RC_OK always OK Example Calculate the point in the circle DIM OldPt AS GM_Point_Type DIM NewPt AS GM_Point_Type DIM Param AS GM_4Transform_Param_Type initialize OldPt NewPt P...

Page 398: ... difference of each coordinate GM_THRESHOLD Return Codes RC_OK always OK Example Test if the 2 points are the same DIM Pt1 AS GM_Point_Type DIM Pt2 AS GM_Point_Type DIM lSame AS Logical initialize Pt1 Pt2 GM_TransformPoints Pt1 Pt2 lSame 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 t...

Page 399: ...ion GM_AngleFromThreePoints StartPoint AS GM_Point_Type Vertex AS GM_Point_Type EndPoint AS GM_Point_Type dAngle AS Double Remarks This function calculates the angle enclosed by the 3 given points counter clockwise Note The height is ignored Parameters StartPoint in 1 point for angle definition Vertex in 2 point middle EndPoint in 3 point dAngle out calculated enclosed angle Return Codes GM_IDENTI...

Page 400: ...tex EndPt GM_AngleFromThreePoints StartPt Vertex EndPt dAngle 5 6 37 GM_AdjustAngleFromZeroToTwoPi Description Normalise angle to 0 2 Pi Declaration GM_AdjustAngleFromZeroToTwoPi dAngle AS Double Remarks This function adjusts the angle to be 0 pdAngle 2 Pi Parameters dAngle in out angle to be transformed Return Codes RC_OK always OK Example Convert angle DIM dAngle AS Double initialize dAngle dAng...

Page 401: ... Return Codes GM_IDENTICAL_PTS The points in the line are identical Calculation not possible Example Calculate the azimuth of the line DIM Line AS GM_Line_Type DIM dAzi AS Double initialize Line GM_LineAzi Line dAzi 5 6 39 GM_MathOrSurveyorsAngleConv Description Adjusts a math angle in radians to a surveyors angle in radians or vice versa Declaration GM_MathOrSurveyorsAngleConv dAngle AS Double Re...

Page 402: ...rdinates to Cartesian coordinates Declaration GM_Traverse3D StartPt AS GM_Point_Type Polar AS GM_Measurements_Type NewPt AS GM_Point_Type Remarks 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 in relative origin for Polar Polar in point in polar coordinates NewPt ou...

Page 403: ...e3D StartPt Polar NewPt 5 6 41 GM_InitQXXMatrix Description Initialise the QXX Matrix for a point structure Declaration GM_InitQXXMatrix Point AS GM_Point_Type Remarks 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_Poin...

Page 404: ...ven in Cartesian coordinates relative to Pt1 to polar coordinates Polar Note Used formula see Appendix Geodesy Math Formulas Parameters Point1 in relative origin for Point2 Point2 in point in Cartesian coordinates Polar out transformed point in polar coordinates 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...

Page 405: ...DeleteGBMenu 6 18 6 1 9 MMI_SelectGBMenuItem 6 18 6 1 10 MMI_AddGBMenuButton 6 19 6 1 11 MMI_CreateTextDialog 6 20 6 1 12 MMI_CreateGraphDialog 6 22 6 1 13 MMI_DeleteDialog 6 23 6 1 14 MMI_CheckButton 6 24 6 1 15 MMI_GetButton 6 25 6 1 16 MMI_AddButton 6 27 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_In...

Page 406: ...Beep 6 59 6 1 40 MMI_SetAngleRelation 6 60 6 1 41 MMI_GetAngleRelation 6 61 6 1 42 MMI_SetVAngleMode 6 61 6 1 43 MMI_GetVAngleMode 6 62 6 1 44 MMI_SetAngleUnit 6 62 6 1 45 MMI_GetAngleUnit 6 64 6 1 46 MMI_SetDistUnit 6 64 6 1 47 MMI_GetDistUnit 6 66 6 1 48 MMI_SetPressUnit 6 66 6 1 49 MMI_GetPressUnit 6 68 6 1 50 MMI_SetTempUnit 6 68 6 1 51 MMI_GetTempUnit 6 69 6 1 52 MMI_SetDateFormat 6 70 6 1 53...

Page 407: ...2 13 BAP_SetHz 6 94 6 3 Measurement Functions TMC 6 95 6 3 1 Summarizing Lists of TMC Types and Procedures 6 95 6 3 2 TMC Data Structures 6 97 6 3 3 TMC_DoMeasure 6 101 6 3 4 TMC_GetPolar 6 103 6 3 5 TMC_GetCoordinate 6 107 6 3 6 TMC_GetAngle 6 110 6 3 7 TMC_GetAngle_WInc 6 111 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 ...

Page 408: ...6 3 32 TMC_GetInclineStatus 6 132 6 4 Functions for GSI 6 134 6 4 1 Summarizing Lists of GSI Types and Procedures 6 134 6 4 2 Constants for WI values 6 136 6 4 3 Constants for Measurement Dialog Definition 6 139 6 4 4 Relationship of GSI_ID s to GSI_PAR s 6 143 6 4 5 Data Structures for GSI Functions 6 146 6 4 6 GSI_GetRunningNr 6 148 6 4 7 GSI_SetRunningNr 6 149 6 4 8 GSI_ GetIndivNr 6 149 6 4 9 ...

Page 409: ... 6 4 32 GSI_DefineRecMaskDlg 6 166 6 4 33 GSI_ManCoordDlg 6 166 6 4 34 GSI_ImportCoordDlg 6 169 6 4 35 GSI_SetLineSysMDlg 6 172 6 4 36 GSI_GetLineSysMDlg 6 173 6 4 37 GSI_SetMDlgNr 6 174 6 4 38 GSI_GetMDlgNr 6 175 6 4 39 GSI_CreateMDlg 6 175 6 4 40 GSI_SetLineMDlg 6 177 6 4 41 GSI_SetLineMDlgText 6 178 6 4 42 GSI_SetLineMDlgPar 6 179 6 4 43 GSI_UpdateMDlg 6 181 6 4 44 GSI_DefineMDlg 6 182 6 4 45 G...

Page 410: ...3 CSV_SetGuideLight 6 198 6 5 14 CSV_Laserpointer 6 199 6 5 15 CSV_MakePositioning 6 199 6 5 16 CSV_ChangeFace 6 200 6 5 17 CSV_SetLockStatus 6 201 6 5 18 CSV_GetLockStatus 6 202 6 5 19 CSV_LockIn 6 203 6 5 20 CSV_LockOut 6 204 6 5 21 CSV_SetATRStatus 6 204 6 5 22 CSV_GetATRStatus 6 205 6 5 23 CSV_Delay 6 205 6 5 24 CSV_SetTargetType 6 206 6 5 25 CSV_GetTargetType 6 207 6 5 26 CSV_SetPrismType 6 2...

Page 411: ...GeoBASIC Reference Manual 6 System Functions TPS1100 Version 1 30 6 7 6 5 35 CSV_LibCallAvailable 6 213 ...

Page 412: ... Create an alert beep MMI_CheckButton Checks if a button was pressed MMI_CreateGBMenu Creates a menu MMI_CreateGBMenuItem Creates an item to an existing menu MMI_CreateGBMenuItem Str Creates an item with a variable string MMI_CreateGBMenuStr Creates a menu with variable strings MMI_CreateGraphDialog Create and show a graphics dialog MMI_CreateMenuItem Creates a menu item on the Theodolite menu MMI...

Page 413: ...Return the currently displayed unit of pressure MMI_GetTempUnit Return the currently displayed unit of temperature MMI_GetTimeFormat This function retrieves the format used to display the time MMI_GetVAngleMode Returns the V Angle mode MMI_GetVarBeepStatus Read the switch status for a variable signal beep MMI_InputInt Get an integer input value in a text dialog MMI_InputList Shows a list field in ...

Page 414: ... aF key MMI_SwitchIconsBeep Switches measurement icons and special beeps MMI_SwitchVarBeep Switch a varying beep MMI_WriteMsg Output to a message window Parameter is a token MMI_WriteMsgStr Output to a message window Parameter is a string 6 1 2 MMI Data Types 6 1 2 1 ListArray List field data structure Description This array is used for list fields and consists of LIST_ARRAY_MAX_ELEMENT 200 elemen...

Page 415: ...ded at a time are limited to 25 The maximum number of entry points over all applications C and GeoBASIC applications is 50 All GLOBAL declared subroutines count as entry points Be aware of the fact that the interpreter and a possible Coding function also count for the number of application The same is true for any C application which has been loaded onto the TPS Note The subroutine denoted in sFun...

Page 416: ...y error handling Only the loader will report an error which may be caused by an erroneous call Example The example uses the MMI_CreateMenuItem routine to create a menu entry named START THE PROGRAM under the main menu The function Main in the GeoBASIC program ExampleProgram will be called when this menu item is selected MMI_CreateMenuItem ExampleProgram Main MMI_MENU_PROGRAMS START THE PROGRAM 6 1...

Page 417: ... The caption of the menu iMenuId out Returned menu identifier It is the handle for using this menu Return Codes RC_OK Successful termination MMI_NOMORE_ MENUS No more menus available See Also MMI_CreateGBMenuItem MMI_DeleteGBMenu MMI_SelectGBMenuItem MMI_AddGBMenuButton Example The example creates a menu with a button For a complete example see sample program MENU GBS CONST MHELP Help for measurem...

Page 418: ...TEST iSelection iButton SELECT CASE iSelection CASE 1 Polygon CASE ELSE MMI_BeepAlarm END SELECT MMI_DeleteGBMenu iMenu 6 1 5 MMI_CreateGBMenuItem Description Creates an item in an existing menu Declaration MMI_CreateGBMenuItem BYVAL iMenuId AS Integer BYVAL sMenuItemName AS _Token BYVAL sHelpText AS _Token Remarks This function adds one menu item to an existing menu iMenuId This item will be disp...

Page 419: ...reateGBMenuStr BYVAL sMenuName AS sLine iMenuId AS Integer Remarks This routine creates an empty menu and the caption sMenuName sMenuName need not be constant it can be generated during the execution of the program The function MMI_CreateGBMenuItemStr adds items to this kind of menu Note Before terminating a GeoBASIC program all menus must be deleted The GeoBASIC menus system has the following lim...

Page 420: ...menu identifier DIM iSelection AS Integer selected item DIM iButton AS Integer used button DIM sMenuName AS sLine menu name DIM sMenuItemName1 AS sLine menu item 1 name DIM sMenuItemName2 AS sLine menu item 2 name DIM iLangNr AS Integer language number DIM sLangName AS String20 language name DIM sInstrumentName AS String30 instrument name generate menu name CSV_GetInstrumentName sInstrumentName sM...

Page 421: ...ting menu Declaration MMI_CreateGBMenuItemStr BYVAL iMenuId AS Integer BYVAL sMenuItemName AS sLine BYVAL sHelpText AS _Token Remarks This routine adds one menu item to an existing menu iMenuId This item will be displayed as the last item The menu must be created with MMI_CreateGBMenuStr sMenuItemName need not be constant it can be generated during the execution of the program Parameters iMenuId i...

Page 422: ...deletes the menu iMenuId Parameters iMenuId in Menu identifier Return Codes RC_OK Successful termination BAS_MENU_ ID_INVALID Bad iMenuId See Also MMI_CreateGBMenu MMI_CreateGBMenuItem MMI_SelectGBMenuItem MMI_AddGBMenuButton Example see MMI_CreateGBMenu 6 1 9 MMI_SelectGBMenuItem Description Select a menu item Declaration MMI_SelectGBMenuItem BYVAL iMenuId AS Integer BYVAL sCaptionLeft AS _Token ...

Page 423: ...sed button Return Codes RC_OK Successful termination BAS_MENU_ ID_INVALID Bad iMenuId See Also MMI_CreateGBMenu MMI_CreateGBMenuItem MMI_DeleteGBMenu MMI_AddGBMenuButton Example see MMI_CreateGBMenu 6 1 10 MMI_AddGBMenuButton Description 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 ...

Page 424: ...tem Example see MMI_CreateGBMenu 6 1 11 MMI_CreateTextDialog Description Create and show a text dialog Declaration MMI_CreateTextDialog BYVAL iLines AS Integer BYVAL sCaptionLeft AS _Token BYVAL sCaptionRight AS _Token BYVAL sHelptext AS _Token Remarks The routine creates and shows a dialog with iLines lines the left part of the title bar sCaptionLeft the caption sCaptionRight and the help text sH...

Page 425: ...ber of lines of the dialog There are up to 12 lines possible If the dialog has more than 6 lines a scrollbar on the right side appear and it is possible to scroll up and down with the cursor keys sCaptionLeft in The maximal five character long part of the title bar displayed left of the CaptionRight with a separation symbol sCaptionRight in The caption of the dialog sHelpText in This text is shown...

Page 426: ...text AS _Token Remarks The routine creates and shows a graphics dialog filled with the left part of the title bar sCaptionLeft the caption sCaptionRight and the help text sHelpText for later use of MMI graphics functions The size of the field is the whole dialog display area 232 x 48 pixels Only one graphics dialog can exist at the same time If CreateGraphDialog is called while already a graphics ...

Page 427: ...tDialog GSI_CreateMDlg MMI Graphic Functions Example The example uses the MMI_CreateGraphDialog routine to create and display a graphic dialog field MMI_CreateGraphDialog GRAPH DIALOG CAPTION This is a help text 6 1 13 MMI_DeleteDialog Description Deletes a dialog Declaration MMI_DeleteDialog Remarks The routine deletes the currently active dialog It makes no distinction between graphic measure an...

Page 428: ...CheckButton checks the keyboard buffer for pressed buttons If a button was pressed the routine returns KeyPressed TRUE otherwise KeyPressed FALSE is returned Note The routine MMI_CheckButton does not wait until a button was pressed It only checks the keyboard buffer Parameters lKeyPressed In lKeyPressed TRUE is returned if a valid button was pressed Otherwise the value of lKeyPressed is FALSE Retu...

Page 429: ...ressed and returns the button Identifier iButtonId of the pressed button If lAllKeys FALSE the keys ESC ENTER ON OFF or any assigned button added with MMI_AddButton terminates this function and the iButtonId of the pressed button is returned If lAllKeys TRUE additional keys i e the cursor keys terminates this routine too For details see table below Note This function relates to the currently activ...

Page 430: ...TER within dialog focus on a field MMI_UNASS_KEY no return ENTER within dialog no focus MMI_UNASS_KEY no return ENTER after editing MMI_EDIT_ ENTER_KEY MMI_EDIT_ ENTER_KEY ESC within dialog MMI_ESC_KEY MMI_ESC_KEY ESC after editing MMI_EDIT_ ESC_KEY no return SHIFT MMI_UNASS_KEY no return 0 9 focus on spin list field MMI_UNASS_KEY no return 0 9 no focus MMI_NUM0_KEY MMI_NUM9_KEY no return CE MMI_U...

Page 431: ...en Remarks The routine MMI_AddButton adds the button with the Identifier iButtonId to the actual dialog and places the text sCaption onto the button These added buttons are valid for the routines MMI_CheckButton and MMI_GetButton and the input routines MMI_InputStr MMI_InputVal MMI_InputInt and MMI_InputList which means the according button identifier can be returned from this routines Note Either...

Page 432: ...DLG_EXIST No dialog exists for this operation MMI_BUTTON_ID_EXISTS This button has been defined already See Also MMI_GetButton MMI_CheckButton MMI_DeleteButton Example The example uses the MMI_AddButton routine to add the F2 KEY with the caption EXIT to the dialog MMI_AddButton MMI_F2_KEY EXIT 6 1 17 MMI_DeleteButton Description Delete a button from a dialog Declaration MMI_DeleteButton iButtonId ...

Page 433: ...leteButton routine to delete the F2 KEY from the dialog MMI_DeleteButton MMI_F2_KEY 6 1 18 MMI_PrintStr Description Print a string on a text dialog Declaration MMI_PrintStr BYVAL iColumn AS Integer BYVAL iLine AS Integer BYVAL sText AS String30 BYVAL lValid AS Logical Remarks The text string sText is placed on position iColumn and iLine on the text dialog If lValid is not TRUE then the symbols for...

Page 434: ...int the text string Hello World in the first line on row 2 of the actual text dialog MMI_PrintStr 2 0 Hello World TRUE 6 1 19 MMI_PrintTok Description Print a string on a text dialog Declaration MMI_PrintTok BYVAL iColumn AS Integer BYVAL iLine AS Integer BYVAL sText AS _Token Remarks The text token sText is placed on position iColumn and iLine on the text dialog Too long text strings are truncate...

Page 435: ...t line on row 2 of the actual text dialog MMI_PrintTok 2 0 Hello World 6 1 20 MMI_PrintVal Description Print a value on a text dialog Declaration MMI_PrintVal BYVAL iColumn AS Integer BYVAL iLine AS Integer BYVAL iLen AS Integer BYVAL iDecimals AS Integer BYVAL dVal AS Double BYVAL lValid AS Logical BYVAL iMode AS Integer Remarks This routine can be used to display double values or values with equ...

Page 436: ...lue to display Use this routine to display double and equal to double values with the correct units For integer values a separate routine MMI_PrintInt exists lValid in Determines if the value should be shown as valid If lValid TRUE the value dVal is displayed otherwise the symbols for invalid values are displayed iMode in Determines the display of the dimension If Mode MMI_DIM_ON a dimension field...

Page 437: ...e value iVal is placed on position iColumn and iLine on the text dialog otherwise the symbols for invalid values are displayed If the iVal can not be displayed in iLen characters then xxx will be displayed instead 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 iLen in The le...

Page 438: ...VAL iLine AS Integer BYVAL iLen AS Integer BYVAL iMode AS Integer sText AS String30 lValid AS Logical iButtonId AS Integer Remarks If lValid TRUE the text string sText is placed on position iColumn and iLine on the text dialog otherwise the symbols for invalid values are displayed Illegal co ordinates are adjusted If the length of the string exceeds the given length iLen the string is truncated at...

Page 439: ...ertical position 0 number of lines defined with MMI_CreateTextDialog iLen in The length of the input field iMode in Defines the editing mode MMI_DEFAULT_MODE defines normal editing MMI_SPECIALKEYS_ON allows editing with full cursor control sText inout The text string to edit lValid inout Determines if the value should be shown as valid If lValid TRUE the string sText is displayed otherwise the sym...

Page 440: ...teger BYVAL iDecimals AS Integer BYVAL dMin AS Double BYVAL dMax AS Double BYVAL iMode AS Integer dVal AS Double lValid AS Logical iButtonId AS Integer Remarks If lValid TRUE then the value dVal is placed on position iColumn and iLine on the text dialog otherwise the symbols for invalid values are displayed Illegal co ordinates are adjusted If iMode MMI_DIM_ON a dimension field is automatically di...

Page 441: ...alog iLen in The length of the value inclusive decimals sign and the comma exclusive the dimension field iDecimals in The number of decimals If iDecimals 1 the number of decimals set by the system is taken dMin dMax in The lower and upper bounds iMode in Defines the editing mode MMI_DEFAULT_MODE defines normal editing MMI_SPECIALKEYS_ON allows editing with full cursor control MMI_DIM_ON shows a di...

Page 442: ...ermination BAS_NO_DLG_EXIST No dialog exists for this operation See Also MMI_InputInt MMI_PrintVal Example See example file cursor gbs too The example uses the MMI_InputVal routine to get the distance of TestVal with default decimal places Input field is placed in the second line on row 2 of the actual text dialog The entered values must lie in the range 0 1000 CONST MODE MMI_DEFAULT_MODE define e...

Page 443: ... no part of the field is in the dialog area the value is not edited and the routine exits The integer value within the bounds iMin and iMax 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 the edit process and the iButtonId of the pressed button is returned If iMode MMI_SPEC...

Page 444: ...the symbols for invalid values are displayed iButtonId out 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_PrintInt MMI_InputVal Example See example file cursor gbs too The example uses the MMI_InputInt routine to get the value of iTestVal in the second line on row 2 of t...

Page 445: ...rst iElements are displayed The value of iIndex defines which element is shown first The list can be edited by pressing F6 LIST With the cursor keys UP and DOWN a field element can be selected If the list elements are numbered begins with a number then the elements can be selected directly by pressing numerical buttons If iMode MMI_DEFAULT_MODE the keys ESC ENTER ON OFF or any user defined button ...

Page 446: ...are in the range of 1 up to Elements lValid inout Determines if the value should be shown as valid If lValid TRUE the a value is displayed otherwise the symbols for invalid values are displayed iButtonId out The identifier of the pressed valid button to exit the list process Return Codes RC_OK Successful termination BAS_NO_DLG_EXIST No dialog exists for this operation Example See example file curs...

Page 447: ...ne No 2 List 3 3 Line No 3 List 4 4 Line No 4 List 5 5 Line No 5 List 6 6 Line No 6 List 7 7 Line No 7 InputList 5 1 iLen iElements MODE List iIndex lValid iButton 6 1 26 MMI_FormatVal Description Convert a value to a string and use TPS system formatting rules Declaration MMI_FormatVal BYVAL iType AS Integer BYVAL iLen AS Integer BYVAL iDecimals AS Integer BYVAL dVal AS Double BYVAL lValid AS Logi...

Page 448: ...ation Parameters iType in The type of the numerical field The type defines if a dimension field is available Following values for the type can be used Type Meaning MMI_FFORMAT_DOUBLE double MMI_FFORMAT_DISTANCE distance MMI_FFORMAT_ SUBDISTANCE sub distance mm MMI_FFORMAT_ANGLE angle MMI_FFORMAT_VANGLE vertical angle MMI_FFORMAT_HZANGLE horizontal angle MMI_FFORMAT_ TEMPERATURE temperature MMI_FFO...

Page 449: ...due to an illegal input value See Also sFormatVal Example The example uses the MMI_FormatVal routine to convert the value dTestVal as distance with corresponding dimension DIM dTestVal AS Distance DIM sVString AS String30 dTestVal 287 47 MMI_FormatVal MMI_FFORMAT_DISTANCE 10 1 dTestVal TRUE MMI_DIM_ON sVString 6 1 27 MMI_WriteMsg Description Output to a message window Declaration MMI_WriteMsg BYVA...

Page 450: ...either font attributes nor type information Parameters sText in Text token to be displayed on the window on the Theodolite sCaption in Text token that will be displayed as title of the window iMsgType in Defines the type of the message window to be displayed with the corresponding text on the buttons possible types MMI_MB_OK MMI_MB_ABORT MMI_MB_OK_ABORT MMI_MB_ABORT_RETRY_CONT MMI_MB_YES_NO_ABORT ...

Page 451: ...he function opens a message window on the display which shows the text specified by sText Lines which are too long to fit into the window are split automatically sText may contain a carriage return character code 10 which breaks a line explicitly The predefined constants MMI_INVERSE_ON and MMI_INVERSE_OFF can be used for inverse text Text lines that exceed the size of the window are not displayed ...

Page 452: ...pes 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 iRetKey out 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 RC_OK Successful termination BAS_NO_DLG_E...

Page 453: ...tr iTimeOut seconds MMI_WriteMsgStr Warning sMessage MMI_MB_RETRY_ABORT iMBRetKey 6 1 29 MMI_DrawLine Description Draw a line Declaration MMI_DrawLine BYVAL iX1 AS Integer BYVAL iY1 AS Integer BYVAL iX2 AS Integer BYVAL iY2 AS Integer BYVAL iPen AS Integer Remarks The function draws a line within the graphic field using the line style iPen Note A graphics dialog has to be set up before Parameters ...

Page 454: ... MMI_DrawText Example The example uses the MMI_DrawLine routine to draw a line with the specified attributes MMI_DrawLine 10 10 100 50 MMI_PEN_BLACK 6 1 30 MMI_DrawRect Description Draw a rectangle Declaration MMI_DrawRect BYVAL iX1 AS Integer BYVAL iY1 AS Integer BYVAL iX2 AS Integer BYVAL iY2 AS Integer BYVAL iBrush AS Integer BYVAL iPen AS Integer Remarks This function draws a rectangle in the ...

Page 455: ...ottom right hand corner of the rectangle pixel iBrush in Fill style for the rectangle possible values MMI_BRUSH_WHITE MMI_BRUSH_BLACK MMI_NO_BRUSH iPen in Line style MMI_PEN_WHITE MMI_PEN_BLACK MMI_PEN_DASHED Return Codes RC_OK Successful termination BAS_NO_DLG_EXIST No graphics dialog exists for this operation See Also MMI_CreateGraphDialog MMI_DrawLine MMI_DrawCircle MMI_DrawText Example The exa...

Page 456: ...he line style iPen as long as iRx iRy Otherwise an ellipse is drawn where iRx and iRy are the lengths of the perpendicular radii Note A graphics dialog has to be set up before Parameters iX in x co ordinate at the centre of the circle ellipse pixel iY in y co ordinate at the centre of the circle ellipse pixel iRx in Radius of the circle horizontal radius pixel iRy in Radius of the circle vertical ...

Page 457: ...AS Integer BYVAL sText AS String20 BYVAL iAttr AS Integer BYVAL iPen AS Integer Remarks This function either draws iPen MMI_PEN_BLACK or deletes iPen MMI_PEN_WHITE a text string in graphic field The co ordinates iX iY correspond to the upper left hand corner of the first character The character size is 6 x 8 pixel Note A graphics dialog has to be set up before Parameters iX in x co ordinate at the...

Page 458: ...eGraphDialog MMI_DrawLine MMI_DrawRect MMI_DrawCircle Example Print a text at position 10 10 DIM sOutput AS String20 sOutput distance MMI_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 in TRUE Icon ...

Page 459: ...unctions create one or a sequence of alert beeps with configurable volume if the boxes are turned on Any previously set continuous signal beep will be finished Return Codes RC_OK Successful termination See Also MMI_StartVarBeep MMI_SwitchVarBeep MMI_GetVarBeepStatus Example The example uses the MMI_BeepNormal to sound a signal beep MMI_BeepNormal 6 1 35 MMI_StartVarBeep Description Start beep sequ...

Page 460: ...ple uses the MMI_StartVarBeep to create a very fast sequence of signal beeps MMI_StartVarBeep 100 6 1 36 MMI_SwitchVarBeep Description Switch a varying beep Declaration MMI_SwitchVarBeep BYVAL lOn AS Logical Remarks The function allows the general switching on off of a signal beep A continuous signal beep will be switched off immediately Parameters lOn in switches the beep on or off lOn meaning FA...

Page 461: ...MMI_SwitchVarBeep TRUE 6 1 37 MMI_GetVarBeepStatus Description Read the switch status for a variable signal beep Declaration MMI_GetVarBeepStatus lOn AS Logical Remarks The function retrieves the state of the general signal beep switch Parameters lOn out state of the switch lOn meaning FALSE off TRUE on Return Codes RC_OK Successful termination See Also MMI_BeepNormal MMI_BeepLong MMI_BeepAlarm MM...

Page 462: ...ion Switch the aF key on or off Declaration MMI_SwitchAFKEY BYVAL lOn AS Logical Remarks The function allows the switching on off off the aF key Normally it is enabled but during tracking distances it is disabled Parameters lOn in switches the beep on or off lOn meaning FALSE Key is switched off generally TRUE Key is active Return Codes RC_OK Successful termination See Also BAP_MeasRec BAP_MeasDis...

Page 463: ...ns and special beeps sector and lost lock Parameters lOn in switches the icons and beep on or off lOn meaning FALSE no measurement icons and no special beep TRUE the measurement icons will be updated and the beeps are enabled 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 ex...

Page 464: ...ameters iVertRel in Relationship of the vertical angle valid values MMI_VANGLE_IN_PERCENT MMI_VANGLE_REL_HORIZON MMI_VANGLE_REL_ZENIT iHorzRel in 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 RC_IVPARAM The function has been called with an invalid parameter See ...

Page 465: ...ship of the horizontal angle Return Codes none See Also MMI_SetAngleRelation Example Get the angle relations DIM iVertRel AS Integer DIM iHorzRel AS Integer MMI_GetAngleRelation iVertRel iHorzRel 6 1 42 MMI_SetVAngleMode Description Set the V Angle mode Declaration MMI_SetVAngleMode BYVAL lAngleFree AS Logical Remarks This function sets the vertical angle mode Normally lAngleFree FALSE the vertica...

Page 466: ...ters lAngleFree in TRUE V Angle is free running Return Codes RC_OK Successful termination See Also MMI_SetVAngleMode Example See example file meas gbs 6 1 44 MMI_SetAngleUnit Description Set the displayed unit of angle Declaration MMI_SetAngleUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the displayed unit of angle Existing display fields are not updated If iDigit...

Page 467: ...x 300 only for vertical angles iDigits in Number of decimal places The maximum number of decimal places iDigits for each unit is set to the following values angle unit places MMI_ANGLE_GON 0 4 MMI_ANGLE_DEC 0 4 MMI_ANGLE_SEXADEC 0 4 MMI_ANGLE_MIL 0 3 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...

Page 468: ...nation See Also MMI_SetAngleUnit Example Get the angle unit DIM iUnit AS Integer DIM iDigits AS Integer MMI_GetAngleUnit iUnit iDigits 6 1 46 MMI_SetDistUnit Description Set the displayed unit of distance Declaration MMI_SetDistUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the display unit for distance Fields already displayed are not updated If iDigits is greater...

Page 469: ...T_MM Millimetre MMI_DIST_INCH inches iDigits in Number of decimal places The maximum number of decimal places iDigits for each unit is set to the following values angle unit places MMI_DIST_METER 0 4 MMI_DIST_FOOT 0 4 MMI_DIST_FOOT_INCH 0 1 MMI_DIST_US_FOOT 0 4 MMI_DIST_US_FOOT_INCH 0 1 MMI_DIST_MM 0 MMI_DIST_INCH 0 3 Return Codes RC_OK Successful termination RC_IVPARAM The function has been calle...

Page 470: ...cimal places Return Codes RC_OK Successful termination See Also MMI_SetDistUnit Example Get the distance unit DIM iUnit AS Integer DIM iDigits AS Integer MMI_GetDistUnit iUnit iDigits 6 1 48 MMI_SetPressUnit Description Set the displayed unit of pressure Declaration MMI_SetPressUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the display unit for pressure Fields alre...

Page 471: ...scal MMI_PRESS_PSI PSI iDigits in Number of decimal places The maximum number of decimal places iDigits for each unit is set to the following values angle unit places MMI_PRESS_MBAR 0 1 MMI_PRESS_MMHG 0 1 MMI_PRESS_INCHHG 0 1 MMI_PRESS_HPA 0 1 MMI_PRESS_PSI 0 1 Return Codes RC_OK Successful termination RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetPressUnit Exam...

Page 472: ...mal places Return Codes RC_OK Successful termination See Also MMI_SetPressUnit Example Get the pressure unit DIM iUnit AS Integer DIM iDigits AS Integer MMI_GetPressUnit iUnit iDigits 6 1 50 MMI_SetTempUnit Description Set the displayed unit of temperature Declaration MMI_SetTempUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the display unit for temperature Fields ...

Page 473: ...places MMI_TEMP_C 0 1 MMI_TEMP_F 0 1 Return Codes RC_OK Successful termination RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetTempUnit Example Set the temperature unit MMI_SetTempUnit MMI_TEMP_C 1 6 1 51 MMI_GetTempUnit Description Return the currently displayed unit of temperature Declaration MMI_GetTempUnit iUnit AS Integer iDigits AS Integer Remarks This funct...

Page 474: ...Set the date display format Declaration MMI_SetDateFormat BYVAL iFormat AS Integer Remarks This function sets the format in which the date is to be displayed Existing fields remain unchanged Parameters iFormat in Specified date format possible values value meaning MMI_DATE_EU European DD MM YY MMI_DATE_US US MM DD YY MMI_DATE_JP Japanese YY MM DD Return Codes RC_OK Successful termination RC_IVPARA...

Page 475: ...meters iFormat out Specified date format Return Codes RC_OK Successful termination See Also MMI_SetDateFormat Example Get the date format DIM iFormat AS Integer MMI_GetDateFormat iFormat 6 1 54 MMI_SetTimeFormat Description Set the time display format Declaration MMI_SetTimeFormat BYVAL iFormat AS Integer Remarks This function sets the format in which the time is to be displayed Existing fields re...

Page 476: ...imeFormat MMI_TIME_12H 6 1 55 MMI_GetTimeFormat Description Retrieves the time display format Declaration MMI_GetTimeFormat iFormat AS Integer Remarks This function retrieves the format used to display the time Parameters iFormat out Specified time format Return Codes RC_OK Successful termination RC_IVPARAM The function has been called with an invalid parameter See Also MMI_SetTimeFormat Example G...

Page 477: ...f co ordinates The fields already displayed are not changed Parameters iOrder in Specifies the co ordinate order possible values value meaning MMI_COORD_N_E Order North East MMI_COORD_E_N Order East North Return Codes RC_OK Successful termination 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...

Page 478: ...RC_OK Successful termination See Also MMI_SetCoordOrder Example Get the co ordinate order DIM iOrder AS Integer MMI_GetCoordOrder iOrder 6 1 58 MMI_SetLanguage Description Set the display language Declaration MMI_SetLanguage BYVAL iLanguageNr AS Integer Remarks This function sets the current language All displayed text are immediately shown in the new language Parameters iLanguageNr in Specifies t...

Page 479: ...alue MMI_SetLanguage MMI_REF_LANGUAGE 6 1 59 MMI_GetLanguage Description Query the current language Declaration MMI_GetLanguage iLangNr AS Integer sLangName AS String20 Remarks This function returns the current language and the associated character symbols Parameters iLangNr out Language number sLangName out Language description Return Codes RC_OK Successful termination See Also MMI_SetLanguage Ex...

Page 480: ...r AS Integer sLangName AS String20 Remarks This routine delivers the name associated with the number iLangNr Parameters iLangNr in Language number sLangName out 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 ...

Page 481: ...AP_GetMeasPrg Get the current distance measure program BAP_MeasDistAngle Measures distance and angles BAP_MeasRec Measures and record distance and angles BAP_PosTelescope Positioning of the Telescope BAP_SearchPrism Searches the prism 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 S...

Page 482: ...e example displays the accessories dialog BAP_SetAccessoriesDlg 6 2 3 BAP_MeasDistAngle Description Measures distance and angles Declaration BAP_MeasDistAngle iDistMode AS Integer dHz AS Angle dV AS Angle dDist AS Distance BYVAL lDisplayOn AS Logical BYVAL sCaptionLeft AS _Token Remarks Measures distance and angles and updates the data pool after correct measurements It controls the special beep S...

Page 483: ...racking measurement program BAP_STOP_TRK Stop tracking no measurement No valid results returned BAP_CLEAR_DIST Clear distance Theodolite data pool no measurement No valid results returned BAP_RED_TRK_ DIST Measure distance and angles using the tracking with red laser measurement program Mode returned Meaning BAP_DEF_DIST Depends on distance measurement Can be changed during distance measurement BA...

Page 484: ...tion failed AUT_RC_DETECTOR_ ERROR Error in target acquisition AUT_RC_DETENT_ ERROR Positioning not possible due to mounted EDM AUT_RC_DEV_ERROR Deviation measurement error AUT_RC_INCACC Position not exactly reached AUT_RC_MOTOR_ ERROR Motorization error AUT_RC_MULTIPLE_ TARGETS Multiple targets detected AUT_RC_NO_TARGET No target detected AUT_RC_TIMEOUT Position not reached BAP_CHANGE_ALL_ TO_DIS...

Page 485: ...or occurred during distance measurement TMC_DIST_PPM Error wrong setting of PPM or MM on EDM TMC_NO_FULL_ CORRECTION Warning measurement without full correction 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_MeasRec Example See example file meas gbs The example uses the BAP_MeasDistAngle routine to measu...

Page 486: ...st Lock switches Measurement icons and disables aF Key during tracking Parameters iDistMode Distance measuring modes Mode as Input Meaning BAP_NO_MEAS No new measurement before recording BAP_NO_DIST No distance measurement before recording only new angles BAP_DEF_DIST Use default distance measurement program and record values BAP_TRK_DIST Use the tracking measurement program and record values BAP_...

Page 487: ...he distance measurement display lDisplayOn in TRUE shows the distance measurement display during distance measurement Return Codes RC_OK Successful termination WIR_NO_MEDIUM No storage medium is available AUT_RC_ANGLE_ ERROR Angle measurement error AUT_RC_BAD_ ENVIRONMENT Bad Environment conditions AUT_RC_CALACC ATR calibration failed AUT_RC_ DETECTOR_ERROR Error in target acquisition AUT_RC_DETEN...

Page 488: ...ERROR Error no valid angle measurement TMC_ANGLE_NO_ FULL_ CORRECTION Warning only angle measurement valid accuracy cannot be guaranteed TMC_ANGLE_OK Warning only angle measurement valid TMC_BUSY Error TMC sub module already in use by another subsystem command not processed TMC_DIST_ERROR An error occurred during distance measurement TMC_DIST_PPM Error wrong setting of PPM or MM on EDM TMC_NO_FULL...

Page 489: ... target If the target is not within the sensor measure region a target search will be executed The target search range is limited by the parameter dSearchV in V direction and by parameter dSearchHz in Hz direction If no target is found the instrument turns back to the initial start position The ATR mode must be enabled for this functionality see CSV_SetATRStatus and CSV_GetATRStatus Parameters dSe...

Page 490: ...GetATRStatus Example The example see sample TRACKING GBS 6 2 6 BAP_SearchPrism Description Searches the prism Declaration BAP_SearchPrism BYVAL lShowMessages As Logical Remarks This procedure searches the prism The searching area depends on the defined searching area and on the setting of the additional working area This routine works only in ATR instruments and needs at least Firmware Release 2 0...

Page 491: ...ED ATR mode not enabled enable ATR mode See Also CSV_SetATRStatus CSV_GetATRStatus 6 2 7 BAP_SetManDist Description Set the distance manually Declaration BAP_SetManDist BYVAL sCaptionLeft AS _Token BYVAL dDistance AS Double iButtonId AS Integer Remarks The BAP_SetManDist routine starts a dialog with the caption sCaption where the user can enter a horizontal distance The distance will be stored int...

Page 492: ...FULL_ CORRECTION Warning measurement without full correction RC_IVPARAM Error invalid DistMode See Also TMC_IfDistTapeMeasured TMC_SetHandDist TMC_GetPolar TMC_GetCoordinate Example The example uses the BAP_SetManDist routine to enter a distance DIM iButton AS Integer DIM dInitDist AS Distance dInitDist 15 0 initial value BAP_SetManDist BASIC dInitDist iButton 6 2 8 BAP_SetPpm Description Sets the...

Page 493: ...rism type and constant Declaration BAP_SetPrism Remarks The BAP_SetPrism routine opens a dialog which the user can complete in order to choose one of five prism types constants Two types are LEICA defaults whereas the other three can be named and the constant values given changed by the user The prism constants are always given and displayed in millimetres regardless of the distance units in use a...

Page 494: ...LE_REF_ FAST Single measurement with reflector fast BAP_SINGLE_REF_ VISIBLE Single measurement with reflector and red laser BAP_SINGLE_RLESS_ VISIBLE Single measurement reflectorless with red laser BAP_CONT_REF_ STANDARD Continuous measurement with reflector standard speed BAP_CONT_REF_FAST Continuous measurement with reflector fast BAP_CONT_RLESS_ VISIBLE Continuous measurement reflectorless with...

Page 495: ...rograms Meaning BAP_SINGLE_REF_ STANDARD Single measurement with reflector standard speed BAP_SINGLE_REF_ FAST Single measurement with reflector fast BAP_SINGLE_REF_ VISIBLE Single measurement with reflector and red laser BAP_SINGLE_RLESS_ VISIBLE Single measurement reflectorless with red laser BAP_CONT_REF_ STANDARD Continuous measurement with reflector standard speed BAP_CONT_REF_FAST Continuous...

Page 496: ...itioning of the Telescope Declaration BAP_PosTelescope BYVAL eMode AS Integer BYVAL eDspMode AS Integer BYVAL dHz AS Double BYVAL dV AS Double BYVAL dHzTolerance AS Double BYVAL dVTolerance AS Double Remarks 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 p...

Page 497: ...sitioning the tolerances define the upper and lower boundaries of the target position For successful termination of the positioning the final target position must be within these boundaries If the tolerance is lower then the default accuracy of the Theodolite the tolerance will be the default accuracy There is no effect on the motorised Theodolites The tolerances and speed of the positioning will ...

Page 498: ... the TMC subsystem for the horizontal angle encoder A button is provided for setting the angle to zero directly or the user may prefer to input another given value Furthermore the angle beep at the quarter circle positions from 0 can be turned on and off Note 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...

Page 499: ...TMC_Distance_Type Data structure for the distance measurement TMC_HZ_V_Ang_Type Horizontal and vertical angle TMC_Incline_Type Data structure for the inclination measurement TMC_OFFSET_DIST_ Type Target offset TMC_PPM_CORR_Type Corrections for distance measurement PPM values TMC_GEOM_PROJECTION _Type Corrections for distance measurement to define PPM values of projection TMC_GEOM_REDUCTION_ Type C...

Page 500: ...t of distance measurement corrections TMC_Get SetAtmCorr Gets and sets the atmosphere part of distance measurement corrections TMC_Get SetHeight Gets and sets the current height of the reflector TMC_Get SetHzOffset Gets and sets the current horizontal offset TMC_Get SetStation Gets and sets station co ordinates TMC_GetAngle Measure angles TMC_GetAngle_Winc Measure angles with inclination control T...

Page 501: ...gle measurement correction switches TMC_SetDistSwitch Defines the distance measurement correction switches TMC_SetHandDist Sets distance manually TMC_SetInclineSwitch Defines the compensator switch TMC_SetOffsetDist Defines the distance measurement offset 6 3 2 TMC Data Structures 6 3 2 1 TMC_INCLINE Data structure for the inclination measurement TYPE TMC_Incline_Type dCrossIncline AS Double cross...

Page 502: ...about position of the telescope END TMC_Angle_Type 6 3 2 3 TMC_DISTANCE Data structure for the distance measurement TYPE TMC_Distance_Type Angle AS TMC_ Angle_Type set of angles belonging to distance dSlopeDist AS Double slope distance dSlopeDistAccuracy AS Double accuracy of distance dHorizDist AS Double horizontal distance dHeightDiff AS Double difference in altitude AngleCont AS TMC_ Angle_Type...

Page 503: ...me 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 dHz AS Double horizontal angle dV AS Double vertical angle END TMC_HZ_V_Ang_Type 6 3 2 6 TMC_PPM_CORR Corrections for distance measurement PPM values TYPE TMC_PPM_CORR_Type dPpmI AS Double individual ppm dPpmA AS Double atmospheric ppm dPpmR AS Double heigh...

Page 504: ...pressure dDryTemperature AS Double dry temperature dWetTemperature AS Double wet temperature END TMC_ATM_TEMPERATURE_Type 6 3 2 10 TMC_STATION Station coordinates TYPE TMC_STATION_Type dE0 AS Double easting co ordinate dN0 AS Double northing co ordinate dH0 AS Double height co ordinate dHi AS Double instrument height END TMC_STATION_Type 6 3 2 11 TMC_REFRACTION Refraction correction for distance m...

Page 505: ... lTiltAxisCorr AS Logical Tilting axis correction END TMC_ANG_SWITCH_Type 6 3 2 14 TMC_OFFSET_DIST_Type Target offset TYPE TMC_OFFSET_DIST_Type dLengthVal AS Distance Target Offset Length dCrossVal AS Distance Target Offset Cross dHeightVal AS Distance Target Offset Height END TMC_OFFSET_DIST_Type 6 3 3 TMC_DoMeasure Description Start a measure program Declaration TMC_DoMeasure BYVAL iCommand AS I...

Page 506: ...be cleared as after TMC_STOP Parameters iCommand in start a measure program possible values TMC_STOP switch off EDM and finish program TMC_DEF_DIST do default distance measure TMC_TRK_DIST do tracking distance measure TMC_RTRK_DIST do fast tracking distance measure TMC_CLEAR clear distance and switch off EDM TMC_SIGNAL start signal measurement test mode TMC_RED_TRK_ DIST do tracking distance measu...

Page 507: ... takes in calculation a measured distance Angle and possibly inclination are being calculated The result is a point in polar co ordinates Simple and multiple measures distance tracking altitude tracking are supported The horizontal and the inclined distance with the difference in altitude are read The delay iWaitTime just works on the distance measure not on the measure of the angle As long as no ...

Page 508: ...hen tries to measuring in a until a valid result or an irrecoverable error occurs The value itself of iWaitTime is ignored Polar out point in polar co ordinates iReturnCode out see Additional Codes below See Also TMC_GetCoordinates Additional Codes in iReturnCode RC_OK measurement and values are OK TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the results are consist of measuring data...

Page 509: ...are not available Perform a distance measurement first before you call this function TMC_DIST_ERROR No measuring because of missing target point co ordinates are not available Aim target point and try it again TMC_DIST_PPM No distance measurement respectively no distance data because of wrong EDM settings The co ordinates are not available Set EDM ppm and mm to 0 Return Codes RC_OK measurement and...

Page 510: ...AS Logical DIM lDone AS Logical start distance measurement ON ERROR RESUME to get valid angles TMC_DoMeasure TMC_DEF_DIST iWaitTime 1 lDone FALSE lError FALSE DO display measured values 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_DoMea...

Page 511: ... tracking are supported The delay iWaitTime just works on the distance measure not on the measuring of the angle As far 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 Parameters iWaitTim...

Page 512: ...le TMC_ANGLE_NO_ FULL_ CORRECTION No distance data available but angle data are valid The return code is equivalent to the TMC_NO_FULL_CORRECTION and relates to the angle data Co ordinates are not available Perform a distance measurement first before you call this function TMC_DIST_ERROR No measuring because of missing target point co ordinates are not available Aim target point and try it again T...

Page 513: ...nteger 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 DO display measured values 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 lErro...

Page 514: ... results can be read Additional to the normal return codes iReturnCode delivers also informational return codes which will not interrupt program execution Parameters Angles out result of measuring the angle iReturnCode out return code see Additional Codes See Also TMC_DoMeasure Additional Codes in iReturnCode RC_OK Execution successful TMC_NO_FULL_ CORRECTION The results are not corrected by all a...

Page 515: ...s RetCode 6 3 7 TMC_GetAngle_WInc Description Measure angles with inclination control Declaration TMC_GetAngle_WInc iIncProg AS Integer Angle AS TMC_ANGLE iReturnCode AS Integer Remarks The function measures the horizontal and vertical angle and in dependence of the configuration the inclination As far as no new measure program is started the results can be read Additional to the normal return cod...

Page 516: ... as warning TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the result consisting of measuring data which accuracy could not be verified by the system 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 TMC_ANGLE_ERROR Problems with angle res incline sensor A valid angle could...

Page 517: ... the angle and the slope distance but no co ordinates Is no distance available then it returns the angle values hz v and the corresponding return code At the call of this function a distance measurement will be started with the rapid tracking measuring program If the EDM is active with the standard tracking measuring program already the measuring program will not be changed to rapid tracking Gener...

Page 518: ...Distance out measured slope distance iReturnCode out return code see Additional Codes See Also TMC_DoMeasure TMC_GetAngle Additional Codes in iReturnCode RC_OK Execution successful TMC_NO_FULL_ CORRECTION The results are not corrected by all active sensors Angle data are available This message is to be considers as warning TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the result consi...

Page 519: ...accuracy could not be verified by the system The distance data are not available Possible reasons are see return code TMC_ANGLE_OK This message is to be considers as info TMC_DIST_ERROR Because of missing target point no distance data available but the angle data are valid respectively available Aim target point and try it again TMC_DIST_PPM No distance measurement respectively no distance data be...

Page 520: ...NO_FULL_CORRECTION OR iRetCode TMC_ACCURACY_GUARANTEE THEN Angles and distance are valid ELSE only Angles are valid END IF LOOP UNTIL terminate TMC_DoMeasure TMC_CLEAR stop measurement 6 3 9 TMC_GetSimpleMea Description Gets the results of distance and angle measurement Declaration TMC_GetSimpleMea Angles AS TMC_HZ_V_ANG_Type dSlopeDist AS Double iReturnCode AS Integer Remarks This function return...

Page 521: ...ameters Angles out result of measuring the angles dSlopeDist out slope distance m iReturnCode out return code see Additional Codes See Also TMC_DoMeasure Additional Codes in iReturnCode RC_OK Angle OK TMC_NO_FULL_ CORRECTION The results are not corrected by all active sensors Angle and distance data are available This message is to be considers as warning TMC_ACCURACY_ GUARANTEE Accuracy is not gu...

Page 522: ...ACY_GUARANTEE and relates to the angle data TMC_DIST_ERROR No measuring because of missing target point angle data are available but distance data are not available Aims target point and try it again TMC_DIST_PPM No distance measurement respectively no distance data because of wrong EDM settings Angle data are available but distance data are not available Set EDM ppm and mm to 0 Return Codes RC_OK...

Page 523: ...ription Gets and sets the current face definition Declaration TMC_GetAngleFaceDef eFaceDef AS Integer TMC_SetAngleFaceDef byVal eFaceDef AS Integer Remarks TPS_Sim Has no effect Note 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 TM...

Page 524: ...HzOffset Description Gets and sets the current horizontal offset Declaration TMC_GetHzOffset dHzOffset AS Double TMC_SetHzOffset byVal dHzOffset AS Double Remarks Note No distance may exist for setting the Hz offset Call TMC_DoMeasure TMC_CLEAR before this function Parameters dHzOffset out in Horizontal offset in radiant See Also Return Codes RC_OK Completed successfully TMC_BUSY measurement syste...

Page 525: ...istPpm Description Gets and sets the PPM values for distance measurement corrections Declaration TMC_GetDistPpm PpmCorr AS TMC_PPM_CORR_Type TMC_SetDistPpm PpmCorr AS 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 ...

Page 526: ...reference factor of projection earth radius Return Codes RC_OK Completed successfully TMC_BUSY TMC is in use and can not be changed Example 6 3 14 TMC_Get SetGeomReduction Description Gets and sets the reduction to the reference part of distance measurement corrections Declaration TMC_GetGeomReduction GeomRed AS TMC_GEOM_REDUCTION_Type TMC_SetGeomReduction GeomRed AS TMC_GEOM_REDUCTION_Type Parame...

Page 527: ...ut in Atmosphere Return Codes RC_OK Completed successfully TMC_BUSY TMC is in use and can not be changed Example 6 3 16 TMC_Get SetHeight Description Gets and sets the current height of the reflector Declaration TMC_GetHeight Height AS Double TMC_SetHeight byVal Height AS Double Parameters Height out in Height of reflector in Meters Return Codes RC_OK Completed successfully TMC_BUSY measurement sy...

Page 528: ...ction correction value s Return Codes RC_OK Completed successfully TMC_BUSY measurement system is busy no valid results Example 6 3 18 TMC_Get SetRefractiveMethod Description Gets and sets the method of refractive correction for measuring the distance Declaration TMC_GetRefractiveMethod Method AS Integer TMC_SetRefractiveMethod byVal Method AS Integer Parameters Method out in Method of refraction ...

Page 529: ...TMC_CLEAR before this function Parameters Station out in Station co ordinates Return Codes RC_OK Completed successfully TMC_BUSY measurement system is busy no valid results or a distance exists Example 6 3 20 TMC_IfDistTapeMeasured Description Gets information about manual measurement Declaration TMC_IfDistTapeMeasured bTapeMeasured AS Logical Parameters bTapeMeasured out TRUE if measurement has b...

Page 530: ...C_OK Execution successful TMC_NO_FULL_ CORRECTION The results are not corrected by all active sensors This message is to be considers as warning TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the result consisting of measuring data which accuracy could not be verified by the system You can a forced incline measurement perform or switch off the incline This message is to be considers as...

Page 531: ...tches Declaration TMC_SetDistSwitch Switches AS TMC_DIST_SWITCH_Type Remarks This procedure sets the distance measurement correction switches Parameters Switches in Distance switches Return Codes RC_OK Successful termination See Also TMC_GetDistSwitch 6 3 23 TMC_GetDistSwitch Description Returns the distance measurement correction switches Declaration TMC_GetDistSwitch Switches AS TMC_DIST_SWITCH_...

Page 532: ...rism pole The dLengthVal defines the offset away from the prism pole positive means in the line from instrument to prism dCrossVal means right from the prism pole and dHeightVal means higher than prism pole Remarks Note No distance may exist for offset setting Call TMC_DoMeasure TMC_CLEAR before this function Parameters Offsets in Target point offset Return Codes RC_OK Successful termination TMC_B...

Page 533: ...ment to prism dCrossVal means right from the prism pole and dHeightVal means higher than prism pole Parameters Offsets out Target point offset Return Codes RC_OK Successful termination See Also TMC_SetOffsetDist BAP_Offset TMC_IfOffsetDistMeasured 6 3 26 TMC_IfOffsetDistMeasured Description Returns the EDM measurement mode Declaration TMC_IfOffsetDistMeasured lOffset AS Logical Remarks This functi...

Page 534: ...that the instrument automatically turns into an inactive measurement state after a predefined timeout Parameters lFace1 out TRUE Face I FALSE Face II Return Codes RC_OK Successful termination 6 3 28 TMC_SetAngSwitch Description Defines the angle measurement correction switches Declaration TMC_SetAngSwitch Switches AS TMC_ANG_SWITCH_Type Remarks This procedure sets the angle measurement correction ...

Page 535: ...switches Declaration TMC_GetAngSwitch Switches AS TMC_ANG_SWITCH_Type Remarks This procedure returns the actual angle measurement correction switches Parameters Switches in Angular switches Return Codes RC_OK Successful termination See Also TMC_SetAngSwitch 6 3 30 TMC_SetInclineSwitch Description Defines the compensator switch Declaration TMC_SetAngSwitches lOn AS Logical Remarks This procedure en...

Page 536: ...compensator correction state Parameters lOn out Switch Return Codes RC_OK Successful termination See Also TMC_SetInclineSwitch 6 3 32 TMC_GetInclineStatus Description Returns the inclination compensator status Declaration TMC_GetInclineStatus iStatus AS Integer Remarks This procedure returns status of the inclination sensor Parameters iStatus out TMC_INC_OFF Incline sensor is switched off TMC_INC_...

Page 537: ...Reference Manual 6 System Functions TPS1100 Version 1 30 6 133 TMC_INC_FAIL Inclination measurement fails Return Codes RC_OK Successful termination See Also TMC_SetInclineSwitch Example See example file meas gbs ...

Page 538: ... GSI_CheckTracking Returns if distance tracking is running GSI_CreateMDlg Creates and shows the user definable measurement dialog GSI_DefineMDlg Defines the entries of the user definable measurement dialog GSI_DefineRecMaskDlg Defines the recording mask dialog GSI_ExecuteAutoDist Executes an automatic distance measurement GSI_ExecQCoding Executes the Quick Coding GSI_GetDataPath Get the name of th...

Page 539: ...is being used GSI_ManCoordDlg Show the manual co ordinate input dialog GSI_Measure Entry point for measure and registration dialog measure and registration GSI_QuickSet Show the Quickset dialog GSI_RecordRecMask Recording the given wi mask GSI_SelectCode This routine shows the codelist coding dialog GSI_SetDataPath Set the file with the import data GSI_SetIndivNr Sets the individual point number G...

Page 540: ...Entry Set data to the Theodolite data pool GSI_UpdateMDlg Updates the user definable measurement dialog GSI_UpdateMeasurment Update the measurement data 6 4 2 Constants for WI values Definitions for WI values Name Data Type Meaning GSI_ID_PTNR String Point number GSI_ID_FNR Double Serial number GSI_ID_TYPE String Device type GSI_ID_TIME_1 String First time art GSI_ID_TIME_2 String Second time art ...

Page 541: ...D_CODE String Code information GSI_ID_CODE_1 String Information 1 GSI_ID_CODE_2 String Information 2 GSI_ID_CODE_3 String Information 3 GSI_ID_CODE_4 String Information 4 GSI_ID_CODE_5 String Information 5 GSI_ID_CODE_6 String Information 6 GSI_ID_CODE_7 String Information 7 GSI_ID_CODE_8 String Information 8 GSI_ID_PPMM String mm and ppm GSI_ID_SIGMA String Distance count and deviation GSI_ID_MM ...

Page 542: ..._ID_CD_DSC String Code description GSI_ID_PTCD_DSC String Point code description GSI_ID_PV_CD String Preview code GSI_ID_PV_PTCD String Preview point code GSI_ID_ACT_PTID String Actual point ID GSI_ID_BACKID String Backside ID GSI_ID_APPDATA0 String Double Application data 0 GSI_ID_APPDATA1 String Double Application data 1 GSI_ID_APPDATA2 String Double Application data 2 GSI_ID_APPDATA3 String Dou...

Page 543: ...easurement dialogs either Double or String See also GSI_SetLineMDlgPar and GSI_SetLineMDlgText Name Meaning GSI_PAR_AppData0 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_P...

Page 544: ...ttrib8 Point Code Attribute 8 GSI_PAR_AvgMeasNo Maximal number of distance measurements of the average mode GSI_PAR_BacksideId Last used Backside GSI_PAR_Code Last used Code GSI_PAR_CodeDescr Last used free Code Description GSI_PAR_CodeList Codelist management select create etc GSI_PAR_CodeListSelect Codelist selection of an existing codelist GSI_PAR_DataJobSelect Data job selection of an existing...

Page 545: ...Point Id after recording a target point GSI_PAR_IndivPointId Individual point identifier GSI_PAR_Info1 Shows the Free Code Info 1 GSI_PAR_Info2 Shows the Free Code Info 2 GSI_PAR_Info3 Shows the Free Code Info 3 GSI_PAR_Info4 Shows the Free Code Info 4 GSI_PAR_Info5 Shows the Free Code Info 5 GSI_PAR_Info6 Shows the Free Code Info 6 GSI_PAR_Info7 Shows the Free Code Info 7 GSI_PAR_Info8 Shows the ...

Page 546: ...ntCodeDescr Shows the Point Code Description of the actual Feature Code GSI_PAR_RecMask Selected Recording mask for target point measurements GSI_PAR_ReflHeight Reflector height hr GSI_PAR_ReflName Used reflector type GSI_PAR_ReflSelection reflector type selection If there are user defined prism then they will be added to this list The User Refl1 User Refl3 are only valid if these user definable p...

Page 547: ...red between the two pools GSI_ID_ Ids describe the values which can be stored and requested in the WI data value pool GSI_PAR_ Ids describe the values which can be used for displaying in a measurement dialog Their sets of id s are not associated directly in all cases Moreover their sets of Id s can be distinguished in their meaning Association in this context means that both pools the data value p...

Page 548: ...deDescr GSI_ID_PV_CD GSI_PAR_PrevCode GSI_ID_PV_PTCD GSI_PAR_PrevPointCode GSI_ID_ACT_PTID GSI_PAR_PointId GSI_ID_BACKID GSI_PAR_BackSideId Meas GSI_ID_PTNR GSI_PAR_RunningPointId Meas GSI_ID_FNR GSI_PAR_SerialNr undefined Meas GSI_ID_TYPE GSI_PAR_InstrType undefined Meas GSI_ID_TIME_1 See GSI_PAR_Date Meas GSI_ID_TIME_2 See GSI_PAR_Time Meas GSI_ID_HZ GSI_PAR_AngleHz Meas GSI_ID_V GSI_PAR_AngleV ...

Page 549: ... GSI_ID_H GSI_PAR_TargetElev Meas GSI_ID_E0 GSI_PAR_StationEast Meas GSI_ID_N0 GSI_PAR_StationNorth Meas GSI_ID_H0 GSI_PAR_StationElev Meas GSI_ID_HR GSI_PAR_ReflHeight Meas GSI_ID_HI GSI_PAR_InstrHeight Code GSI_ID_CODE GSI_PAR_Attrib1 Code GSI_ID_CODE_1 GSI_PAR_Attrib2 Code GSI_ID_CODE_2 GSI_PAR_Attrib3 Code GSI_ID_CODE_3 GSI_PAR_Attrib4 Code GSI_ID_CODE_4 GSI_PAR_Attrib5 Code GSI_ID_CODE_5 GSI_...

Page 550: ...PDATA9 GSI_PAR_APPDATA9 GSI_ID_APPDATA10 GSI_PAR_APPDATA10 GSI_ID_APPDATA11 GSI_PAR_APPDATA11 Special Ids GSI_ID_NONE GSI_ID_EMPTY GSI_ID_UNKNOWN GSI_PAR_NONE The set of GSI_PAR ids is not complete in this table There exist several more Ids which can be used for displaying 6 4 5 Data Structures for GSI Functions GSI_WiDlg_Entry_Type Dialog entry information Description This data structure is used ...

Page 551: ...e Description This array consists of GSI_MAX_REC_WI elements of the type GSI_WiDlg_Entry_Type GSI_Rec_Id_List An array of integers indicating WI identifications Description This array consists of GSI_MAX_REC_WI elements of the type Integer It is used to define the recorded values recmask GSI_Point_Coord_Type Point co ordinate data Description This data structure is used to store a point name and i...

Page 552: ...ncrement Declaration GSI_GetRunningNr sPntId AS String20 sPntIncr AS String20 Remarks Fetches the running point number and increment for it Parameters sPntId out the running point number sPntIncr out the increment for the running point 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 ...

Page 553: ...er running point number sPntIncr in The increment for the user point running number See Also GSI_GetRunningNr GSI_GetIndivNr GSI_SetIndivNr GSI_IsRunningNr Return Codes RC_OK successful Example DIM sPntId AS String20 DIM sPntInc AS String20 GSI_SetRunningNr sPntId sPntInc 6 4 8 GSI_ GetIndivNr Description Fetches the individual point number Declaration GSI_GetIndivNr sPntId AS String20 Remarks Fet...

Page 554: ...is switched to the individual point number This mode will be active until replaced by a running number or until the next save Parameters sPntId in The user defined individual point number See Also GSI_GetRunningNr GSI_SetRunningNr GSI_GetIndivNr GSI_IsRunningNr Return Codes RC_OK successful Example DIM sPntId AS String20 GSI_SetIndivNr sPntId 6 4 10 GSI_IsRunningNr Description Queries if running n...

Page 555: ...ingOn 6 4 11 GSI_SetIvPtNrStatus Description Switches the individual point number mode on off Declaration GSI_SetIvPtNrStatus BYVAL lSwitch AS Logical Remarks Switch the individual point number on or off When point number is shown in the display the number will change Parameters lSwitch in switch for the individual point number TRUE on FALSE off See Also GSI_GetRunningNr GSI_SetRunningNr GSI_GetIn...

Page 556: ...rically char step is longer as the point number Example GSI_IncPNumber 6 4 13 GSI_Coding Description Starts the active coding function of the TPS system Declaration GSI_Coding BYVAL Caption AS _Token Remarks This routine starts the active coding function of the TPS system Since there exist three possible locations the TPS system follows a default ordering rule to invoke one of the programs First i...

Page 557: ...is routine starts the codelist coding function of the TPS system It will be executed only if a valid codelist is selected Parameters Caption in The left caption string of the dialog Return Codes RC_OK successful RC_ABORT Coding was aborted by pressing of the ESC button RC_ABORT_APPL Coding was aborted by pressing of the QUIT button COD_RC_LIST_ NOT_VALID No valid codelist selected Example See exam...

Page 558: ...RC_OK successful Example See example file meas_od gbs 6 4 16 GSI_SetQCodeMode Description Sets the Quick Coding mode Declaration GSI_SetQCodeMode BYVAL lEnabled As Logical Remarks This routine enables or disables the Quick Coding It can be only activated if a valid codelist is selected see GSI_GetQCodeAvailable Parameters lEnabled in TRUE enable Quick Coding See Also GSI_GetQCodeAvailable GSI_Exec...

Page 559: ... too it measures a distance and records the results The recording order measurement block code block or vice versa depends on the system setting see GSI_GetRecOrder If lRecEnable FALSE this routine forces no new distance measurement and there is no recording Parameters lRecEnable in TRUE Quick Coding including distance measurement It records a code and a measurement block in the correct order FALS...

Page 560: ...lock before measurement block See Also GSI_GetRecOrder GSI_ExecQCoding Return Codes RC_OK successful Example See example file meas_od gbs 6 4 19 GSI_GetRecOrder Description Returns the recording order for Quick Coding Declaration GSI_GetRecOrder lCodeFirst As Logical Remarks This routine returns the recording order for Quick Coding If lCodeFirst TRUE then the code block will be recorded before the...

Page 561: ...n Defines the recording path for the measurements Declaration GSI_SetRecPath BYVAL iPathInfo AS Integer BYVAL sFileName AS FileName BYVAL sFilePath AS FilePath Remarks This procedure defines where the measurements will be recorded If iPathInfo is set to GSI_INTERFACE then the measurements will be sent to the RS232 line and the other parameters are not be interpreted If iPathInfo is set to GSI_EXTE...

Page 562: ...tStr 0 2 Path sPath TRUE ELSE MMI_PrintStr 0 1 RecPath serial line TRUE END IF GSI_SetRecPath GSI_INTERFACE sFile sPath 6 4 22 GSI_GetRecPath Description Returns the recording path for the measurements Declaration GSI_GetRecPath iPathInfo AS Integer sFileName AS FileName sFilePath AS FilePath Remarks This procedure returns where the measurements will be recorded If iPathInfo GSI_INTERFACE then the...

Page 563: ... BYVAL iPathInfo AS Integer BYVAL sFileName AS FileName BYVAL sFilePath AS FilePath Remarks This procedure sets the file from which data will be imported Only GSI_EXTERNAL is valid for the iPathInfo sFileName defines the filename i e DataJob GSI and sFilePath defines the file path i e A GSI Parameters iPathInfo in Device info Only GSI_EXTERNAL is valid sFileName in Valid Filename 8 3 format sFileP...

Page 564: ...orted If iPathInfo GSI_EXTERNAL then sFileName defines the filename i e DataJob GSI and sFilePath defines the file path i e A GSI Parameters iPathInfo out Device info sFileName out Filename 8 3 format sFilePath out File path Return Codes RC_OK Successful termination See Also GSI_SetDataPath Example The example fetches the name and the path of the standard import data file DIM iPathInfo AS Integer ...

Page 565: ...ODE GSI_ID_CODE_1 GSI_ID_CODE_2 GSI_ID_CODE_3 GSI_ID_CODE_4 GSI_ID_CODE_5 GSI_ID_CODE_6 GSI_ID_CODE_7 GSI_ID_CODE_8 Parameters WiIdentification in The identification of the WI WiEntryText out Entry Text See Also Example This example gets the description text and the value of the first coding attribute and send it out over the serial line GSI_GetWiEntryText GSI_ID_CODE_1 sWiEntryText GSI_GetWiEntry...

Page 566: ...data pool See the description of the WI constants Parameters WiIdentification in The identification of the WI WiEntry in The WI entry data See the description of GSI_WiDlg_Entry_Type for further information See Also GSI_GetWiEntry Example GSI_SetWiEntry does not set WI iId according to the first parameter instead it will just use the value stored in WI iId If that value is unequal to the first par...

Page 567: ...used elements of the recording list are 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 Note Only the first 16 characters of sMaskName are valid Parameters iMaskNr in Number of the recording mask GSI_ACTUAL_RECMASK can be used to retrieve settings of the actual mask sMaskName out Name of the recording mask RecWiMask...

Page 568: ...ks This routine sets the definition and the format of the recording mask with the number iMaskNr Valid formats are GSI_RECFORMAT_GSI and GSI_RECFORMAT_GSI16 If lEditMask is 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 re...

Page 569: ...Dlg Example The example sets the 4th element of the currently active recording mask on GSI_ID_HZ DIM sMaskName AS String18 DIM RecWiMask AS GSI_Rec_Id_List DIM iRecFormat AS Integer DIM lEditMask AS Logical GSI_GetRecMask GSI_ACTUAL_RECMASK sMaskName RecWiMask iRecFormat lEditMask RecWiMask 4 GSI_ID_HZ GSI_SetRecMask GSI_ACTUAL_RECMASK sMaskName RecWiMask iRecFormat lEditMask 6 4 30 GSI_SetRecMask...

Page 570: ... iMaskNr out Number of the recording mask See Also GSI_SetRecMaskNr 6 4 32 GSI_DefineRecMaskDlg Description Defines the recording mask dialog Declaration GSI_DefineRecMaskDlg Remarks Defines the contents of the recording mask Using a dialog with list fields the user can select the items for the user registration mask This routine is an interactive equivalent to the routines GSI_GetRecMask and GSI_...

Page 571: ...leaving this function with CONT is only possible if the point number is valid and at least E and N co ordinates are valid If GSI_HEIGHT_MUST is included in iFlags the Height Elevation co ordinate must be valid too Leaving using ESC or QUIT Shift F6 is always possible Recording and coding sets the according values in the Theodolite data pool too Parameters sCaption in The maximal five character lon...

Page 572: ...alid Flags Meaning GSI_ALLOW_ REC allows recording and coding GSI_HEIGHT_ MUST height must be entered GSI_NE_ OPTIONAL only height must be entered north east are optional GSI_MULTI_ REC Allows entering and recording of more than one data set without leaving this routine GSI_NO_FILE_ CHANGE File changing is disabled Flags can be combined with operator iFlags iFlag1 iFlag2 sHelpText in This text is ...

Page 573: ... Remarks This routine contains three dialogues the search the view and the manual input dialog The type of co ordinates station or target can be selected using iPointType The search dialog allows selecting the data or the measure file and editing a point number Depending on the pressed button the manual co ordinate input function only if GSI_ALLOW_MAN is included in iFlags see GSI_ManCoordDlg or t...

Page 574: ...or PointType see table below Point Type Meaning GSI_STATION station point number GSI_INDIV_TG individual target number GSI_RUN_TG running target GSI_BACKSIGHT backside number analog target only changed prompts GSI_POINT_ CODE PointId CodeId analog target only changed prompts Point in Only point number the co ordinates will be set to 0 Point out point number and co ordinates For further information...

Page 575: ...bled GSI_GET_NEXT Return the next valid data set ignore sPtNr Flags can be combined with operator iFlags iFlag1 iFlag2 iImportFile in defines the source file for importing Valid Import File Meaning GSI_FILE_MEAS MEAS file GSI_FILE_DATA DATA file GSI_FILE_LAST last used file sImportHelp in Help text for import dialog Only visible if the help functionality of the theodolite is enabled sInputHelp in ...

Page 576: ...system measurement dialog To fetch information about a line GSI_GetLineSysMDlg can be used Unused lines should be set to GSI_PAR_NONE Note 1 Parameters are identified by GSI_PAR_ values and not by GSI_ID_ values 2 A line in the system measurement dialog can only be set to a system parameter not to an application parameter Parameters iDlgNr in The number of the system measurement dialog where the l...

Page 577: ...alog GSI_SetLineSysMDlg GSI_SYS_MDLG_1 1 GSI_PAR_Date GSI_SetLineSysMDlg GSI_SYS_MDLG_1 2 GSI_PAR_Time 6 4 36 GSI_GetLineSysMDlg Description Gets the definition of a line in the system measurement dialog Declaration GSI_GetLineSysMDlg BYVAL iDlgNr AS Integer BYVAL iLineNr AS Integer iSysParamId AS Integer Remarks This routine fetches the information about the setting of one line in the system meas...

Page 578: ...inition See Also GSI_SetLineSysMDlg GSI_DefineMDlg Example See sample program meas gbs This example uses GSI_GetLineSysMDlg to get information about the configuration of the first system measurement dialog s first two lines DIM iParLine1 AS Integer DIM iParLine2 AS Integer GSI_GetLineSysMDlg GSI_SYS_MDLG_1 1 iParLine1 GSI_GetLineSysMDlg GSI_SYS_MDLG_1 2 iParLine2 6 4 37 GSI_SetMDlgNr Description S...

Page 579: ...ion GSI_GetMDlgNr iMDlgNr AS Integer Remarks Returns the number of the system measurement dialog Parameters iMDlgNr out Number of the actual measurement dialog See Also GSI_SetMDlgNr 6 4 39 GSI_CreateMDlg Description Create and show the user definable measurement dialog Declaration GSI_CreateMDlg BYVAL iFixLines AS Integer BYVAL sCaptionLeft AS _Token BYVAL sCaptionRight AS _Token BYVAL sHelpText ...

Page 580: ...ask see GSI_DefineMDlg Parameters iFixLines in The number of fix lines These lines are not scrolled sCaptionLeft in The part of the title bar displayed on the left border up to five characters wide sCaptionRight in The caption of the dialog sHelpText in This text is shown when the help button SHIFT F1 is pressed and the help functionality of the theodolite is enabled See Also GSI_UpdateMDlg GSI_Up...

Page 581: ...he user definable measurement dialog to a system parameter This measurement dialog is initialized automatically with the actual settings of the first system measurement dialog Modifications of the user definable dialog have no effects on the system measurement dialog and will be lost after termination of the program An unused line should be set to GSI_PAR_NONE To add a user definable application p...

Page 582: ...etLineMDlgText Description Puts a text line into the user definable measurement dialog Declaration GSI_SetLineMDlgText BYVAL iLineNr AS Integer BYVAL iParamId AS Integer BYVAL sText AS _Token Remarks This routine inserts a pure text line into the user definable measurement dialog To add an user definable application parameter to the dialog use GSI_SetLineMDlgPar To add a system parameter to the di...

Page 583: ... BYVAL lEditAble AS Logical BYVAL iFormat AS Integer Remarks This routine sets the configuration of a line in the user definable measurement dialog to an application parameter The style of the application parameter is also defined in this routine Any floating point format and strings are valid formats The starting values of every application parameter is not predefined and hence has to be set expl...

Page 584: ...Value Meaning MMI_FFORMAT_ STRING string MMI_FFORMAT_ DOUBLE double MMI_FFORMAT_ DISTANCE distance MMI_FFORMAT_ SUBDISTANCE sub distance mm MMI_FFORMAT_ ANGLE angle MMI_FFORMAT_ VANGLE vertical angle MMI_FFORMAT_ HZANGLE horizontal angle MMI_FFORMAT_ TEMPERATURE temperature See Also GSI_SetLineMDlg GSI_SetLineMDlgText GSI_CreateMDlg Example See also sample file meas gbs This example uses GSI_SetLi...

Page 585: ...eMDlgPar 8 GSI_PAR_AppData3 Distance TRUE MMI_FFORMAT_DISTANCE 6 4 43 GSI_UpdateMDlg Description Updates the user definable measurement dialog Declaration GSI_UpdateMDlg iButton As Integer Remarks This procedure updates the user definable measurement dialog with the actual values from the Theodolite data pool and returns pressed buttons Parameters iButton out Contains pressed button identifier For...

Page 586: ...s an interactive equivalent to the routines GSI_SetLineSysMDlg and GSI_GetLineSysMDlg Parameters sCaption in The left caption of the title bar Up to 5 characters wide See Also GSI_GetDlgMask GSI_SetDlgMask Example GSI_DefineMDlg DEF 6 4 45 GSI_UpdateMeasurment Description Update the measurement data Declaration GSI_UpdateMeasurment iInclinePrg AS Integer iWaitTime AS Integer lValidForRec AS Logica...

Page 587: ...The wait time for a result in ms This time is used for synchronising the TMC task lValidForRec out Indicates validity of the registration iRetCodeForMsg out Return code of the measurement lChkIncRange Now in 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 a...

Page 588: ...ement program buttons FNC menu was pressed Parameters none Return Codes RC_OK Success Example See example file meas gbs or meas_od gbs 6 4 48 GSI_CheckTracking Description Returns if distance tracking is running Declaration GSI_CheckTracking lTracking As Logical Remarks This returns if a distance tracking is running An automatic start of distance tracking can be started on several conditions i e b...

Page 589: ...ndSetRunPt AS Logical Remarks This procedure records the given wi list The target can be the memory card or the interface The parameter for the interface depends on the GSI communication settings Errors will shown on the display when recording list will be stored in the memory card Otherwise the error messages will be given on the interface Parameters RecList in recording list eProgFunction in pro...

Page 590: ...oBASIC Reference Manual 6 System Functions TPS1100 Version 1 30 6 186 Example Record RecList DIM RecList AS GSI_REC_ID_LIST initialize RecList with adequate values GSI_RecordRecMask RecList TRUE TRUE TRUE ...

Page 591: ...k Returns if an alternative user task was running CSV_Delay Delay routine CSV_GetATRStatus Gets the current ATR state CSV_GetDateTime Get the date and the time of the system CSV_GetElapseSysTime Returns the difference between a reference time and the system time CSV_GetGBIVersion Returns the release number of the GeoBASIC interpreter CSV_GetInstrumentFamily Get information about the system CSV_Get...

Page 592: ...ibCallAvailable Check if GeoBASIC routine from another program is available CSV_LockIn Starts locking ATR CSV_LockOut Stops locking ATR CSV_MakePositioning Do an absolute positioning CSV_ResetAltUserTask Resets the alternative user task was running flag CSV_SetATRStatus Sets the current state of Automatic Target Recognition CSV_SetLaserPlummet Switches the laser plummet CSV_SetLightGuide Switch on...

Page 593: ...PE Date_Type iYear AS Integer year as a 4 digit number iMonth AS Integer month as a 2 digit number iDay AS Integer day as a 2 digit number END Date_Type TYPE Time_Type iHour AS Integer hour as a 2 digit number 24 hours format iMinute 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 Tim...

Page 594: ... Id Meaning TPS1101 TPS1100 accuracy 1 TPS1102 TPS1100 accuracy 2 TPS1103 TPS1100 accuracy 3 TPS1105 TPS1100 accuracy 5 lEDMBuiltIn AS Logical EDM built in lEDMTypeII AS Logical EDM built in type II lEDMTypeIII AS Logical EDM built in type III lEDMReflectorless AS Logical Red Laser lMotorized AS Logical Motorised lATR AS Logical Automatic Target Recognition ATR lEGL AS Logical EGL Guide Light lLas...

Page 595: ... the date and the time Return Codes RC_UNDEFINED The date and time is not set not yet not any longer Example The example uses the CSV_GetDateTime routine to get the date and the time of the system and displays the values DIM DT AS Date_Time_Type ON ERROR RESUME CSV_GetDateTime DT IF ERR RC_OK THEN MMI_PrintInt 0 0 5 DT Date iYear TRUE MMI_PrintInt 6 0 3 DT Date iMonth TRUE MMI_PrintInt 10 0 3 DT D...

Page 596: ...V_GetInstrumentName Description Get the LEICA specific instrument name Declaration CSV_GetInstrumentName sName AS String30 Remarks The CSV_GetInstrumentName routine returns the name of the system in the string sName Parameters sName out The LEICA specific instrument name Return Codes none See Also CSV_GetInstrumentNo CSV_GetInstrumentFamily Example The example uses the CSV_GetInstrumentName routin...

Page 597: ...SV_GetInstrumentName CSV_GetInstrumentFamily Example The example uses the CSV_GetInstrumentNo routine to get the instrument number and displays it DIM iSerialNo AS Integer CSV_GetInstrumentNo iSerialNo MMI_PrintInt 0 1 20 iSerialNo TRUE 6 5 7 CSV_GetInstrumentFamily Description Get information about the system Declaration CSV_GetInstrumentFamily Family AS TPS_Fam_Type Remarks The CSV_GetInstrument...

Page 598: ...amily iClass TRUE IF Family lSimulator THEN MMI_PrintString 0 2 10 ON TPS_SIM TRUE END IF 6 5 8 CSV_GetSWVersion Description Get the version of the system software Declaration CSV_GetSWVersion iRelease AS Integer iVersion AS Integer Remarks The CSV_GetSWVersion routine returns the Release number and the number of the system software version These numbers can be interpreted together as software ide...

Page 599: ... MMI_PrintVal 0 0 6 2 iRelease iVersion 100 TRUE 6 5 9 CSV_GetGBIVersion Description Returns the release number of the GeoBASIC interpreter Declaration CSV_GetGBIVersion iRelease as Integer iVersion as Integer iSubVersion as Integer Remarks This function returns the release version of the running GeoBASIC interpreter Parameters iRelease out Release number iVersion Out Version Number iSubVersion ou...

Page 600: ...CSV_GetElapseSysTime Description Returns the difference between a reference time and the system time Declaration CSV_GetElapseSysTime iRefTime AS Integer iElapse AS Integer TPS_Sim Use PC time base Time resolution is one second Remarks The routine CSV_GetElapseSysTime returns the difference of between a given reference time iRefTime and the systems time Whenever the system starts up the system tim...

Page 601: ... CSV_GetSysTime iTime AS Integer Remarks The routine returns the systems time Whenever the system starts up the system time is reset TPS_Sim Delivers the system up time of the PC Parameters iTime out The system time in ms See Also CSV_GetElapseSysTime CSV_GetDateTime Example See CSV_GetElapsedTime 6 5 12 CSV_GetLRStatus Description Returns the status of the system Declaration CSV_GetLRStatus iLRSt...

Page 602: ...s the routine CSV_GetLRStatus to get the mode of the system DIM iLRStatus AS Integer CSV_GetLRStatus iLRStatus MMI_PrintInt 0 0 10 iLRStatus TRUE 6 5 13 CSV_SetGuideLight Description Set the guide light intensity Declaration CSV_SetGuideLight BYVAL iLight AS Integer Remarks Sets the guide light intensity Parameters iLight in Guide light intensity Value Meaning CSV_EGL_OFF Switching off CSV_EGL_LOW...

Page 603: ...r FALSE 6 5 15 CSV_MakePositioning Description Do an absolute positioning Declaration CSV_MakePositioning BYVAL dHz AS Double BYVAL dV AS Double Remarks Absolute positioning of the Theodolite axes to the desired angles with the currently active tolerance for positioning If any control function is active at the point of call it will be cancelled and the positioning will be performed After the posit...

Page 604: ...g the angle RC_FATAL fatal error RC_ABORT system abort See Also BAP_PosTelescope Example Perform an absolute positioning CSV_MakePositioning 0 2 atn 1 0 Pi 2 6 5 16 CSV_ChangeFace Description Do an absolute positioning to the opposite Declaration CSV_ChangeFace Remarks Perform positioning into the position opposite to the current If any control function is active at the point of call it will be ca...

Page 605: ...t angle is out of the limits or a collision is occurred CSV_TIMEOUT time out at positioning of one or both axes CSV_MOTOR_ERROR error in subsystem CSV_ANGLE_ERROR error at measuring the angle RC_FATAL fatal error RC_ABORT system abort See Also BAP_PosTelescope Example Perform a change of face CSV_ChangeFace 6 5 17 CSV_SetLockStatus Description Sets the current state of the locking facility Declara...

Page 606: ..._GetLockStatus Description Gets the current state of the locking facility Declaration CSV_GetLockStatus lOn AS Logical Remarks It queries the TPS system if the locking facility is on or off Parameters lOn out meaning FALSE Locking is switched off TRUE Locking is switched on Return Codes RC_FATAL fatal error RC_NOT_IMPL if ATR hardware is not available RC_ABORT system abort See Also CSV_GetLockStat...

Page 607: ...ioning will be started Parameters none Return Codes AUT_RC_NOT_ENABLED Theodolite without ATR or lock status not set AUT_RC_MOTOR_ERROR Error at motor control AUT_RC_DETECTOR_ERROR Error at ATR 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_SetLockS...

Page 608: ... CSV_LockIn Example This example stops locking CSV_LockOut 6 5 21 CSV_SetATRStatus Description Sets the current state of Automatic Target Recognition Declaration CSV_SetATRStatus BYVAL lOn AS Logical Remarks It switches the ATR facility on or off Parameters lOn in 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 ...

Page 609: ...es RC_FATAL fatal error RC_ABORT system abort RC_NOT_IMPL if ATR hardware is not available Example Get current ATR status DIM l AS Logical CSV_SetATRStatus l 6 5 23 CSV_Delay Description This routine delays the execution of a program Declaration CSV_Delay BYVAL iDelay AS Integer Remarks This routine delay using the operating system that means that other Theodolite tasks can run during the delay It...

Page 610: ...nts Declaration CSV_SetTargetType BYVAL iTargetType as Integer Remarks This routine sets the target type for distance measurements The target type defines if the next distance measurement happens with prism or without prism Parameters iTarget Type in Target type Valid target types Meaning CSV_WITH_ REFLECTOR With reflector CSV_WITHOUT _REFLECTOR Without reflector Return Codes RC_OK Successful term...

Page 611: ...ype iTargetType as Integer Remarks This routine fetches the target type for distance measurements The target type defines if the next distance measurement happens with prism or without prism Parameters iTarget Type out Target type Valid target types Meaning CSV_WITH_ REFLECTOR With reflector CSV_WITHOUT _REFLECTOR Without reflector Return Codes RC_OK Successful termination See CSV_ SetTargetType B...

Page 612: ... is one of the user defined prisms and this prism is actually not defined then this routine will return RC_IVRESULT Parameters iPrism in Used prism Return Codes RC_OK Successful termination RC_IVRESULT Prism not defined See CSV_GetPrismType Example The example sets the 360 degrees prism CSV_SetPrismType BAP_PRISM_360 6 5 27 CSV_GetPrismType Description Returns the used prism Declaration CSV_GetPri...

Page 613: ... function switches the optional laser plummet The plummet will be switched off automatically after 3 minutes Parameters lOn in TRUE switch plummet on Return Codes RC_OK Successful termination See 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 ...

Page 614: ...several system settings The CSV_CheckAltUserTask routine notifies the running GeoBASIC application that it was interrupted by another program With this information the GeoBASIC program is able to respond to these changes After processing this information the subroutine CSV_ResetAltUserTask must be called Parameters lWasRunning out TRUE a task was running Return Codes RC_OK Successful termination S...

Page 615: ...s in two different forms depending on the parameter CId If CId is a system function CSV_SysCall calls the function directly In the other form the CId is a system event In this case CSV_SysCall calls the system function or dialog menu macro application which is defined in the current configuration to handle this event See description of the system functions and system events in the appendix H Param...

Page 616: ...e lAvailable AS Logical Remarks This routine checks if it is possible to call the function CId if CId is a system function or if there is a function defined and available to handle the event CId if CId is an system event See the description of system functions and system events in appendix H Parameters CId in System function or system event lAvailable out TRUE System function is available or funct...

Page 617: ...S String255 BYVAL CptShort AS _Token Remarks This routine is used to call a GeoBASIC routine which is defined in another program Please refer also to Appendix Parameters PrgName in Program name FuncName in Function name CptShort In Short caption for dialogs Return Codes RC_OK Successful termination See CSV_LibCallAvailable Example See IAC GBS and IAC2 GBS for an example 6 5 35 CSV_LibCallAvailable...

Page 618: ...d in another program is available Usually this means that it checks if the other program is loaded and the specified entry point exists Parameters PrgName in Program name FuncName in Function name lAvailable out Routine is available Return Codes RC_OK Successful termination See CSV_LibCall Example See IAC GBS and IAC2 GBS for an example ...

Page 619: ... SubscriptList UpperBound UpperBound UpperBound IntegerConstant Length IntegerConstant Variable VariableName Selector Selector ArraySelector FieldSelector ArraySelector SubscriptExpression SubscriptExpression FieldSelector ElementName SubscriptExpression IntegerExpression Expression LogicalTerm OR LogicalTerm LogicalTerm LogicalFactor AND LogicalFactor LogicalFactor NOT LogicalPrimary LogicalPrima...

Page 620: ...TPS1100 Version 2 10 6 1 ...

Page 621: ......

Page 622: ...DeleteGBMenu 6 17 6 1 9 MMI_SelectGBMenuItem 6 17 6 1 10 MMI_AddGBMenuButton 6 18 6 1 11 MMI_CreateTextDialog 6 19 6 1 12 MMI_CreateGraphDialog 6 21 6 1 13 MMI_DeleteDialog 6 22 6 1 14 MMI_CheckButton 6 23 6 1 15 MMI_GetButton 6 24 6 1 16 MMI_AddButton 6 26 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_In...

Page 623: ...TPS1100 Version 2 10 6 1 ...

Page 624: ......

Page 625: ...DeleteGBMenu 6 17 6 1 9 MMI_SelectGBMenuItem 6 17 6 1 10 MMI_AddGBMenuButton 6 18 6 1 11 MMI_CreateTextDialog 6 19 6 1 12 MMI_CreateGraphDialog 6 21 6 1 13 MMI_DeleteDialog 6 22 6 1 14 MMI_CheckButton 6 23 6 1 15 MMI_GetButton 6 24 6 1 16 MMI_AddButton 6 26 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_In...

Page 626: ...Beep 6 58 6 1 40 MMI_SetAngleRelation 6 59 6 1 41 MMI_GetAngleRelation 6 60 6 1 42 MMI_SetVAngleMode 6 60 6 1 43 MMI_GetVAngleMode 6 61 6 1 44 MMI_SetAngleUnit 6 61 6 1 45 MMI_GetAngleUnit 6 63 6 1 46 MMI_SetDistUnit 6 63 6 1 47 MMI_GetDistUnit 6 65 6 1 48 MMI_SetPressUnit 6 65 6 1 49 MMI_GetPressUnit 6 67 6 1 50 MMI_SetTempUnit 6 67 6 1 51 MMI_GetTempUnit 6 68 6 1 52 MMI_SetDateFormat 6 69 6 1 53...

Page 627: ...6 91 6 2 13 BAP_SetHz 6 93 6 3 Measurement Functions TMC 6 94 6 3 1 Summarizing Lists of TMC Types and Procedures 6 94 6 3 2 TMC Data Structures 6 96 6 3 3 TMC_DoMeasure 6 99 6 3 4 TMC_GetPolar 6 101 6 3 5 TMC_GetCoordinate 6 104 6 3 6 TMC_GetAngle 6 107 6 3 7 TMC_GetAngle_WInc 6 109 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 SetHzOff...

Page 628: ...SI Types and Procedures 6 130 6 4 2 Constants for WI values 6 132 6 4 3 Constants for Measurement Dialog Definition 6 135 6 4 4 Relationship of GSI_ID s to GSI_PAR s 6 139 6 4 5 Data Structures for GSI Functions 6 142 6 4 6 GSI_GetRunningNr 6 144 6 4 7 GSI_SetRunningNr 6 145 6 4 8 GSI_ GetIndivNr 6 145 6 4 9 GSI_SetIndivNr 6 146 6 4 10 GSI_IsRunningNr 6 146 6 4 11 GSI_SetIvPtNrStatus 6 147 6 4 12 ...

Page 629: ...GSI_GetLineSysMDlg 6 169 6 4 36 GSI_SetMDlgNr 6 170 6 4 37 GSI_GetMDlgNr 6 171 6 4 38 GSI_CreateMDlg 6 171 6 4 39 GSI_SetLineMDlg 6 173 6 4 40 GSI_SetLineMDlgText 6 174 6 4 41 GSI_SetLineMDlgPar 6 175 6 4 42 GSI_UpdateMDlg 6 177 6 4 43 GSI_DefineMDlg 6 178 6 4 44 GSI_UpdateMeasurment 6 178 6 4 45 GSI_Measure 6 179 6 4 46 GSI_ExecuteAutoDist 6 180 6 4 47 GSI_CheckTracking 6 180 6 4 48 GSI_RecordRec...

Page 630: ... CSV_ChangeFace 6 196 6 5 17 CSV_SetLockStatus 6 197 6 5 18 CSV_GetLockStatus 6 198 6 5 19 CSV_LockIn 6 199 6 5 20 CSV_LockOut 6 200 6 5 21 CSV_SetATRStatus 6 200 6 5 22 CSV_GetATRStatus 6 201 6 5 23 CSV_Delay 6 201 6 5 24 CSV_SetTargetType 6 202 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 ...

Page 631: ... Create an alert beep MMI_CheckButton Checks if a button was pressed MMI_CreateGBMenu Creates a menu MMI_CreateGBMenuItem Creates an item to an existing menu MMI_CreateGBMenuItem Str Creates an item with a variable string MMI_CreateGBMenuStr Creates a menu with variable strings MMI_CreateGraphDialog Create and show a graphics dialog MMI_CreateMenuItem Creates a menu item on the Theodolite menu MMI...

Page 632: ...Return the currently displayed unit of pressure MMI_GetTempUnit Return the currently displayed unit of temperature MMI_GetTimeFormat This function retrieves the format used to display the time MMI_GetVAngleMode Returns the V Angle mode MMI_GetVarBeepStatus Read the switch status for a variable signal beep MMI_InputInt Get an integer input value in a text dialog MMI_InputList Shows a list field in ...

Page 633: ...aF key MMI_SwitchIconsBeep Switches measurement icons and special beeps MMI_SwitchVarBeep Switch a varying beep MMI_WriteMsg Output to a message window Parameter is a token MMI_WriteMsgStr Output to a message window Parameter is a string 6 1 2 MMI Data Types 6 1 2 1 ListArray List field data structure Description This array is used for list fields and consists of LIST_ARRAY_MAX_ELEMENT 200 element...

Page 634: ...ded at a time are limited to 25 The maximum number of entry points over all applications C and GeoBASIC applications is 50 All GLOBAL declared subroutines count as entry points Be aware of the fact that the interpreter and a possible Coding function also count for the number of application The same is true for any C application which has been loaded onto the TPS Note The subroutine denoted in sFun...

Page 635: ...y error handling Only the loader will report an error which may be caused by an erroneous call Example The example uses the MMI_CreateMenuItem routine to create a menu entry named START THE PROGRAM under the main menu The function Main in the GeoBASIC program ExampleProgram will be called when this menu item is selected MMI_CreateMenuItem ExampleProgram Main MMI_MENU_PROGRAMS START THE PROGRAM 6 1...

Page 636: ... The caption of the menu iMenuId out Returned menu identifier It is the handle for using this menu Return Codes RC_OK Successful termination MMI_NOMORE_ MENUS No more menus available See Also MMI_CreateGBMenuItem MMI_DeleteGBMenu MMI_SelectGBMenuItem MMI_AddGBMenuButton Example The example creates a menu with a button For a complete example see sample program MENU GBS CONST MHELP Help for measurem...

Page 637: ...TEST iSelection iButton SELECT CASE iSelection CASE 1 Polygon CASE ELSE MMI_BeepAlarm END SELECT MMI_DeleteGBMenu iMenu 6 1 5 MMI_CreateGBMenuItem Description Creates an item in an existing menu Declaration MMI_CreateGBMenuItem BYVAL iMenuId AS Integer BYVAL sMenuItemName AS _Token BYVAL sHelpText AS _Token Remarks This function adds one menu item to an existing menu iMenuId This item will be disp...

Page 638: ...reateGBMenuStr BYVAL sMenuName AS sLine iMenuId AS Integer Remarks This routine creates an empty menu and the caption sMenuName sMenuName need not be constant it can be generated during the execution of the program The function MMI_CreateGBMenuItemStr adds items to this kind of menu Note Before terminating a GeoBASIC program all menus must be deleted The GeoBASIC menus system has the following lim...

Page 639: ...menu identifier DIM iSelection AS Integer selected item DIM iButton AS Integer used button DIM sMenuName AS sLine menu name DIM sMenuItemName1 AS sLine menu item 1 name DIM sMenuItemName2 AS sLine menu item 2 name DIM iLangNr AS Integer language number DIM sLangName AS String20 language name DIM sInstrumentName AS String30 instrument name generate menu name CSV_GetInstrumentName sInstrumentName sM...

Page 640: ...ting menu Declaration MMI_CreateGBMenuItemStr BYVAL iMenuId AS Integer BYVAL sMenuItemName AS sLine BYVAL sHelpText AS _Token Remarks This routine adds one menu item to an existing menu iMenuId This item will be displayed as the last item The menu must be created with MMI_CreateGBMenuStr sMenuItemName need not be constant it can be generated during the execution of the program Parameters iMenuId i...

Page 641: ...deletes the menu iMenuId Parameters iMenuId in Menu identifier Return Codes RC_OK Successful termination BAS_MENU_ ID_INVALID Bad iMenuId See Also MMI_CreateGBMenu MMI_CreateGBMenuItem MMI_SelectGBMenuItem MMI_AddGBMenuButton Example see MMI_CreateGBMenu 6 1 9 MMI_SelectGBMenuItem Description Select a menu item Declaration MMI_SelectGBMenuItem BYVAL iMenuId AS Integer BYVAL sCaptionLeft AS _Token ...

Page 642: ...sed button Return Codes RC_OK Successful termination BAS_MENU_ ID_INVALID Bad iMenuId See Also MMI_CreateGBMenu MMI_CreateGBMenuItem MMI_DeleteGBMenu MMI_AddGBMenuButton Example see MMI_CreateGBMenu 6 1 10 MMI_AddGBMenuButton Description 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 ...

Page 643: ...tem Example see MMI_CreateGBMenu 6 1 11 MMI_CreateTextDialog Description Create and show a text dialog Declaration MMI_CreateTextDialog BYVAL iLines AS Integer BYVAL sCaptionLeft AS _Token BYVAL sCaptionRight AS _Token BYVAL sHelptext AS _Token Remarks The routine creates and shows a dialog with iLines lines the left part of the title bar sCaptionLeft the caption sCaptionRight and the help text sH...

Page 644: ...ber of lines of the dialog There are up to 12 lines possible If the dialog has more than 6 lines a scrollbar on the right side appear and it is possible to scroll up and down with the cursor keys sCaptionLeft in The maximal five character long part of the title bar displayed left of the CaptionRight with a separation symbol sCaptionRight in The caption of the dialog sHelpText in This text is shown...

Page 645: ...text AS _Token Remarks The routine creates and shows a graphics dialog filled with the left part of the title bar sCaptionLeft the caption sCaptionRight and the help text sHelpText for later use of MMI graphics functions The size of the field is the whole dialog display area 232 x 48 pixels Only one graphics dialog can exist at the same time If CreateGraphDialog is called while already a graphics ...

Page 646: ...tDialog GSI_CreateMDlg MMI Graphic Functions Example The example uses the MMI_CreateGraphDialog routine to create and display a graphic dialog field MMI_CreateGraphDialog GRAPH DIALOG CAPTION This is a help text 6 1 13 MMI_DeleteDialog Description Deletes a dialog Declaration MMI_DeleteDialog Remarks The routine deletes the currently active dialog It makes no distinction between graphic measure an...

Page 647: ...CheckButton checks the keyboard buffer for pressed buttons If a button was pressed the routine returns KeyPressed TRUE otherwise KeyPressed FALSE is returned Note The routine MMI_CheckButton does not wait until a button was pressed It only checks the keyboard buffer Parameters lKeyPressed In lKeyPressed TRUE is returned if a valid button was pressed Otherwise the value of lKeyPressed is FALSE Retu...

Page 648: ...ressed and returns the button Identifier iButtonId of the pressed button If lAllKeys FALSE the keys ESC ENTER ON OFF or any assigned button added with MMI_AddButton terminates this function and the iButtonId of the pressed button is returned If lAllKeys TRUE additional keys i e the cursor keys terminates this routine too For details see table below Note This function relates to the currently activ...

Page 649: ...TER within dialog focus on a field MMI_UNASS_KEY no return ENTER within dialog no focus MMI_UNASS_KEY no return ENTER after editing MMI_EDIT_ ENTER_KEY MMI_EDIT_ ENTER_KEY ESC within dialog MMI_ESC_KEY MMI_ESC_KEY ESC after editing MMI_EDIT_ ESC_KEY no return SHIFT MMI_UNASS_KEY no return 0 9 focus on spin list field MMI_UNASS_KEY no return 0 9 no focus MMI_NUM0_KEY MMI_NUM9_KEY no return CE MMI_U...

Page 650: ...en Remarks The routine MMI_AddButton adds the button with the Identifier iButtonId to the actual dialog and places the text sCaption onto the button These added buttons are valid for the routines MMI_CheckButton and MMI_GetButton and the input routines MMI_InputStr MMI_InputVal MMI_InputInt and MMI_InputList which means the according button identifier can be returned from this routines Note Either...

Page 651: ...DLG_EXIST No dialog exists for this operation MMI_BUTTON_ID_EXISTS This button has been defined already See Also MMI_GetButton MMI_CheckButton MMI_DeleteButton Example The example uses the MMI_AddButton routine to add the F2 KEY with the caption EXIT to the dialog MMI_AddButton MMI_F2_KEY EXIT 6 1 17 MMI_DeleteButton Description Delete a button from a dialog Declaration MMI_DeleteButton iButtonId ...

Page 652: ...leteButton routine to delete the F2 KEY from the dialog MMI_DeleteButton MMI_F2_KEY 6 1 18 MMI_PrintStr Description Print a string on a text dialog Declaration MMI_PrintStr BYVAL iColumn AS Integer BYVAL iLine AS Integer BYVAL sText AS String30 BYVAL lValid AS Logical Remarks The text string sText is placed on position iColumn and iLine on the text dialog If lValid is not TRUE then the symbols for...

Page 653: ...int the text string Hello World in the first line on row 2 of the actual text dialog MMI_PrintStr 2 0 Hello World TRUE 6 1 19 MMI_PrintTok Description Print a string on a text dialog Declaration MMI_PrintTok BYVAL iColumn AS Integer BYVAL iLine AS Integer BYVAL sText AS _Token Remarks The text token sText is placed on position iColumn and iLine on the text dialog Too long text strings are truncate...

Page 654: ...t line on row 2 of the actual text dialog MMI_PrintTok 2 0 Hello World 6 1 20 MMI_PrintVal Description Print a value on a text dialog Declaration MMI_PrintVal BYVAL iColumn AS Integer BYVAL iLine AS Integer BYVAL iLen AS Integer BYVAL iDecimals AS Integer BYVAL dVal AS Double BYVAL lValid AS Logical BYVAL iMode AS Integer Remarks This routine can be used to display double values or values with equ...

Page 655: ...lue to display Use this routine to display double and equal to double values with the correct units For integer values a separate routine MMI_PrintInt exists lValid in Determines if the value should be shown as valid If lValid TRUE the value dVal is displayed otherwise the symbols for invalid values are displayed iMode in Determines the display of the dimension If Mode MMI_DIM_ON a dimension field...

Page 656: ...e value iVal is placed on position iColumn and iLine on the text dialog otherwise the symbols for invalid values are displayed If the iVal can not be displayed in iLen characters then xxx will be displayed instead 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 iLen in The le...

Page 657: ...VAL iLine AS Integer BYVAL iLen AS Integer BYVAL iMode AS Integer sText AS String30 lValid AS Logical iButtonId AS Integer Remarks If lValid TRUE the text string sText is placed on position iColumn and iLine on the text dialog otherwise the symbols for invalid values are displayed Illegal co ordinates are adjusted If the length of the string exceeds the given length iLen the string is truncated at...

Page 658: ...ertical position 0 number of lines defined with MMI_CreateTextDialog iLen in The length of the input field iMode in Defines the editing mode MMI_DEFAULT_MODE defines normal editing MMI_SPECIALKEYS_ON allows editing with full cursor control sText inout The text string to edit lValid inout Determines if the value should be shown as valid If lValid TRUE the string sText is displayed otherwise the sym...

Page 659: ...teger BYVAL iDecimals AS Integer BYVAL dMin AS Double BYVAL dMax AS Double BYVAL iMode AS Integer dVal AS Double lValid AS Logical iButtonId AS Integer Remarks If lValid TRUE then the value dVal is placed on position iColumn and iLine on the text dialog otherwise the symbols for invalid values are displayed Illegal co ordinates are adjusted If iMode MMI_DIM_ON a dimension field is automatically di...

Page 660: ...alog iLen in The length of the value inclusive decimals sign and the comma exclusive the dimension field iDecimals in The number of decimals If iDecimals 1 the number of decimals set by the system is taken dMin dMax in The lower and upper bounds iMode in Defines the editing mode MMI_DEFAULT_MODE defines normal editing MMI_SPECIALKEYS_ON allows editing with full cursor control MMI_DIM_ON shows a di...

Page 661: ...ermination BAS_NO_DLG_EXIST No dialog exists for this operation See Also MMI_InputInt MMI_PrintVal Example See example file cursor gbs too The example uses the MMI_InputVal routine to get the distance of TestVal with default decimal places Input field is placed in the second line on row 2 of the actual text dialog The entered values must lie in the range 0 1000 CONST MODE MMI_DEFAULT_MODE define e...

Page 662: ... no part of the field is in the dialog area the value is not edited and the routine exits The integer value within the bounds iMin and iMax 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 the edit process and the iButtonId of the pressed button is returned If iMode MMI_SPEC...

Page 663: ...the symbols for invalid values are displayed iButtonId out 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_PrintInt MMI_InputVal Example See example file cursor gbs too The example uses the MMI_InputInt routine to get the value of iTestVal in the second line on row 2 of t...

Page 664: ...rst iElements are displayed The value of iIndex defines which element is shown first The list can be edited by pressing F6 LIST With the cursor keys UP and DOWN a field element can be selected If the list elements are numbered begins with a number then the elements can be selected directly by pressing numerical buttons If iMode MMI_DEFAULT_MODE the keys ESC ENTER ON OFF or any user defined button ...

Page 665: ...are in the range of 1 up to Elements lValid inout Determines if the value should be shown as valid If lValid TRUE the a value is displayed otherwise the symbols for invalid values are displayed iButtonId out The identifier of the pressed valid button to exit the list process Return Codes RC_OK Successful termination BAS_NO_DLG_EXIST No dialog exists for this operation Example See example file curs...

Page 666: ...ne No 2 List 3 3 Line No 3 List 4 4 Line No 4 List 5 5 Line No 5 List 6 6 Line No 6 List 7 7 Line No 7 InputList 5 1 iLen iElements MODE List iIndex lValid iButton 6 1 26 MMI_FormatVal Description Convert a value to a string and use TPS system formatting rules Declaration MMI_FormatVal BYVAL iType AS Integer BYVAL iLen AS Integer BYVAL iDecimals AS Integer BYVAL dVal AS Double BYVAL lValid AS Logi...

Page 667: ...ation Parameters iType in The type of the numerical field The type defines if a dimension field is available Following values for the type can be used Type Meaning MMI_FFORMAT_DOUBLE double MMI_FFORMAT_DISTANCE distance MMI_FFORMAT_ SUBDISTANCE sub distance mm MMI_FFORMAT_ANGLE angle MMI_FFORMAT_VANGLE vertical angle MMI_FFORMAT_HZANGLE horizontal angle MMI_FFORMAT_ TEMPERATURE temperature MMI_FFO...

Page 668: ...due to an illegal input value See Also sFormatVal Example The example uses the MMI_FormatVal routine to convert the value dTestVal as distance with corresponding dimension DIM dTestVal AS Distance DIM sVString AS String30 dTestVal 287 47 MMI_FormatVal MMI_FFORMAT_DISTANCE 10 1 dTestVal TRUE MMI_DIM_ON sVString 6 1 27 MMI_WriteMsg Description Output to a message window Declaration MMI_WriteMsg BYVA...

Page 669: ...either font attributes nor type information Parameters sText in Text token to be displayed on the window on the Theodolite sCaption in Text token that will be displayed as title of the window iMsgType in Defines the type of the message window to be displayed with the corresponding text on the buttons possible types MMI_MB_OK MMI_MB_ABORT MMI_MB_OK_ABORT MMI_MB_ABORT_RETRY_CONT MMI_MB_YES_NO_ABORT ...

Page 670: ...he function opens a message window on the display which shows the text specified by sText Lines which are too long to fit into the window are split automatically sText may contain a carriage return character code 10 which breaks a line explicitly The predefined constants MMI_INVERSE_ON and MMI_INVERSE_OFF can be used for inverse text Text lines that exceed the size of the window are not displayed ...

Page 671: ...pes 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 iRetKey out 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 RC_OK Successful termination BAS_NO_DLG_E...

Page 672: ...tr iTimeOut seconds MMI_WriteMsgStr Warning sMessage MMI_MB_RETRY_ABORT iMBRetKey 6 1 29 MMI_DrawLine Description Draw a line Declaration MMI_DrawLine BYVAL iX1 AS Integer BYVAL iY1 AS Integer BYVAL iX2 AS Integer BYVAL iY2 AS Integer BYVAL iPen AS Integer Remarks The function draws a line within the graphic field using the line style iPen Note A graphics dialog has to be set up before Parameters ...

Page 673: ... MMI_DrawText Example The example uses the MMI_DrawLine routine to draw a line with the specified attributes MMI_DrawLine 10 10 100 50 MMI_PEN_BLACK 6 1 30 MMI_DrawRect Description Draw a rectangle Declaration MMI_DrawRect BYVAL iX1 AS Integer BYVAL iY1 AS Integer BYVAL iX2 AS Integer BYVAL iY2 AS Integer BYVAL iBrush AS Integer BYVAL iPen AS Integer Remarks This function draws a rectangle in the ...

Page 674: ...ottom right hand corner of the rectangle pixel iBrush in Fill style for the rectangle possible values MMI_BRUSH_WHITE MMI_BRUSH_BLACK MMI_NO_BRUSH iPen in Line style MMI_PEN_WHITE MMI_PEN_BLACK MMI_PEN_DASHED Return Codes RC_OK Successful termination BAS_NO_DLG_EXIST No graphics dialog exists for this operation See Also MMI_CreateGraphDialog MMI_DrawLine MMI_DrawCircle MMI_DrawText Example The exa...

Page 675: ...he line style iPen as long as iRx iRy Otherwise an ellipse is drawn where iRx and iRy are the lengths of the perpendicular radii Note A graphics dialog has to be set up before Parameters iX in x co ordinate at the centre of the circle ellipse pixel iY in y co ordinate at the centre of the circle ellipse pixel iRx in Radius of the circle horizontal radius pixel iRy in Radius of the circle vertical ...

Page 676: ...AS Integer BYVAL sText AS String20 BYVAL iAttr AS Integer BYVAL iPen AS Integer Remarks This function either draws iPen MMI_PEN_BLACK or deletes iPen MMI_PEN_WHITE a text string in graphic field The co ordinates iX iY correspond to the upper left hand corner of the first character The character size is 6 x 8 pixel Note A graphics dialog has to be set up before Parameters iX in x co ordinate at the...

Page 677: ...eGraphDialog MMI_DrawLine MMI_DrawRect MMI_DrawCircle Example Print a text at position 10 10 DIM sOutput AS String20 sOutput distance MMI_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 in TRUE Icon ...

Page 678: ...unctions create one or a sequence of alert beeps with configurable volume if the boxes are turned on Any previously set continuous signal beep will be finished Return Codes RC_OK Successful termination See Also MMI_StartVarBeep MMI_SwitchVarBeep MMI_GetVarBeepStatus Example The example uses the MMI_BeepNormal to sound a signal beep MMI_BeepNormal 6 1 35 MMI_StartVarBeep Description Start beep sequ...

Page 679: ...ple uses the MMI_StartVarBeep to create a very fast sequence of signal beeps MMI_StartVarBeep 100 6 1 36 MMI_SwitchVarBeep Description Switch a varying beep Declaration MMI_SwitchVarBeep BYVAL lOn AS Logical Remarks The function allows the general switching on off of a signal beep A continuous signal beep will be switched off immediately Parameters lOn in switches the beep on or off lOn meaning FA...

Page 680: ...MMI_SwitchVarBeep TRUE 6 1 37 MMI_GetVarBeepStatus Description Read the switch status for a variable signal beep Declaration MMI_GetVarBeepStatus lOn AS Logical Remarks The function retrieves the state of the general signal beep switch Parameters lOn out state of the switch lOn meaning FALSE off TRUE on Return Codes RC_OK Successful termination See Also MMI_BeepNormal MMI_BeepLong MMI_BeepAlarm MM...

Page 681: ...ion Switch the aF key on or off Declaration MMI_SwitchAFKEY BYVAL lOn AS Logical Remarks The function allows the switching on off off the aF key Normally it is enabled but during tracking distances it is disabled Parameters lOn in switches the beep on or off lOn meaning FALSE Key is switched off generally TRUE Key is active Return Codes RC_OK Successful termination See Also BAP_MeasRec BAP_MeasDis...

Page 682: ...ns and special beeps sector and lost lock Parameters lOn in switches the icons and beep on or off lOn meaning FALSE no measurement icons and no special beep TRUE the measurement icons will be updated and the beeps are enabled 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 ex...

Page 683: ...ameters iVertRel in Relationship of the vertical angle valid values MMI_VANGLE_IN_PERCENT MMI_VANGLE_REL_HORIZON MMI_VANGLE_REL_ZENIT iHorzRel in 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 RC_IVPARAM The function has been called with an invalid parameter See ...

Page 684: ...ship of the horizontal angle Return Codes none See Also MMI_SetAngleRelation Example Get the angle relations DIM iVertRel AS Integer DIM iHorzRel AS Integer MMI_GetAngleRelation iVertRel iHorzRel 6 1 42 MMI_SetVAngleMode Description Set the V Angle mode Declaration MMI_SetVAngleMode BYVAL lAngleFree AS Logical Remarks This function sets the vertical angle mode Normally lAngleFree FALSE the vertica...

Page 685: ...ters lAngleFree in TRUE V Angle is free running Return Codes RC_OK Successful termination See Also MMI_SetVAngleMode Example See example file meas gbs 6 1 44 MMI_SetAngleUnit Description Set the displayed unit of angle Declaration MMI_SetAngleUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the displayed unit of angle Existing display fields are not updated If iDigit...

Page 686: ...x 300 only for vertical angles iDigits in Number of decimal places The maximum number of decimal places iDigits for each unit is set to the following values angle unit places MMI_ANGLE_GON 0 4 MMI_ANGLE_DEC 0 4 MMI_ANGLE_SEXADEC 0 4 MMI_ANGLE_MIL 0 3 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...

Page 687: ...nation See Also MMI_SetAngleUnit Example Get the angle unit DIM iUnit AS Integer DIM iDigits AS Integer MMI_GetAngleUnit iUnit iDigits 6 1 46 MMI_SetDistUnit Description Set the displayed unit of distance Declaration MMI_SetDistUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the display unit for distance Fields already displayed are not updated If iDigits is greater...

Page 688: ...T_MM Millimetre MMI_DIST_INCH inches iDigits in Number of decimal places The maximum number of decimal places iDigits for each unit is set to the following values angle unit places MMI_DIST_METER 0 4 MMI_DIST_FOOT 0 4 MMI_DIST_FOOT_INCH 0 1 MMI_DIST_US_FOOT 0 4 MMI_DIST_US_FOOT_INCH 0 1 MMI_DIST_MM 0 MMI_DIST_INCH 0 3 Return Codes RC_OK Successful termination RC_IVPARAM The function has been calle...

Page 689: ...cimal places Return Codes RC_OK Successful termination See Also MMI_SetDistUnit Example Get the distance unit DIM iUnit AS Integer DIM iDigits AS Integer MMI_GetDistUnit iUnit iDigits 6 1 48 MMI_SetPressUnit Description Set the displayed unit of pressure Declaration MMI_SetPressUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the display unit for pressure Fields alre...

Page 690: ...scal MMI_PRESS_PSI PSI iDigits in Number of decimal places The maximum number of decimal places iDigits for each unit is set to the following values angle unit places MMI_PRESS_MBAR 0 1 MMI_PRESS_MMHG 0 1 MMI_PRESS_INCHHG 0 1 MMI_PRESS_HPA 0 1 MMI_PRESS_PSI 0 1 Return Codes RC_OK Successful termination RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetPressUnit Exam...

Page 691: ...mal places Return Codes RC_OK Successful termination See Also MMI_SetPressUnit Example Get the pressure unit DIM iUnit AS Integer DIM iDigits AS Integer MMI_GetPressUnit iUnit iDigits 6 1 50 MMI_SetTempUnit Description Set the displayed unit of temperature Declaration MMI_SetTempUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the display unit for temperature Fields ...

Page 692: ...places MMI_TEMP_C 0 1 MMI_TEMP_F 0 1 Return Codes RC_OK Successful termination RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetTempUnit Example Set the temperature unit MMI_SetTempUnit MMI_TEMP_C 1 6 1 51 MMI_GetTempUnit Description Return the currently displayed unit of temperature Declaration MMI_GetTempUnit iUnit AS Integer iDigits AS Integer Remarks This funct...

Page 693: ...Set the date display format Declaration MMI_SetDateFormat BYVAL iFormat AS Integer Remarks This function sets the format in which the date is to be displayed Existing fields remain unchanged Parameters iFormat in Specified date format possible values value meaning MMI_DATE_EU European DD MM YY MMI_DATE_US US MM DD YY MMI_DATE_JP Japanese YY MM DD Return Codes RC_OK Successful termination RC_IVPARA...

Page 694: ...meters iFormat out Specified date format Return Codes RC_OK Successful termination See Also MMI_SetDateFormat Example Get the date format DIM iFormat AS Integer MMI_GetDateFormat iFormat 6 1 54 MMI_SetTimeFormat Description Set the time display format Declaration MMI_SetTimeFormat BYVAL iFormat AS Integer Remarks This function sets the format in which the time is to be displayed Existing fields re...

Page 695: ...imeFormat MMI_TIME_12H 6 1 55 MMI_GetTimeFormat Description Retrieves the time display format Declaration MMI_GetTimeFormat iFormat AS Integer Remarks This function retrieves the format used to display the time Parameters iFormat out Specified time format Return Codes RC_OK Successful termination RC_IVPARAM The function has been called with an invalid parameter See Also MMI_SetTimeFormat Example G...

Page 696: ...f co ordinates The fields already displayed are not changed Parameters iOrder in Specifies the co ordinate order possible values value meaning MMI_COORD_N_E Order North East MMI_COORD_E_N Order East North Return Codes RC_OK Successful termination 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...

Page 697: ...RC_OK Successful termination See Also MMI_SetCoordOrder Example Get the co ordinate order DIM iOrder AS Integer MMI_GetCoordOrder iOrder 6 1 58 MMI_SetLanguage Description Set the display language Declaration MMI_SetLanguage BYVAL iLanguageNr AS Integer Remarks This function sets the current language All displayed text are immediately shown in the new language Parameters iLanguageNr in Specifies t...

Page 698: ...alue MMI_SetLanguage MMI_REF_LANGUAGE 6 1 59 MMI_GetLanguage Description Query the current language Declaration MMI_GetLanguage iLangNr AS Integer sLangName AS String20 Remarks This function returns the current language and the associated character symbols Parameters iLangNr out Language number sLangName out Language description Return Codes RC_OK Successful termination See Also MMI_SetLanguage Ex...

Page 699: ...r AS Integer sLangName AS String20 Remarks This routine delivers the name associated with the number iLangNr Parameters iLangNr in Language number sLangName out 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 ...

Page 700: ...AP_GetMeasPrg Get the current distance measure program BAP_MeasDistAngle Measures distance and angles BAP_MeasRec Measures and record distance and angles BAP_PosTelescope Positioning of the Telescope BAP_SearchPrism Searches the prism 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 S...

Page 701: ...e example displays the accessories dialog BAP_SetAccessoriesDlg 6 2 3 BAP_MeasDistAngle Description Measures distance and angles Declaration BAP_MeasDistAngle iDistMode AS Integer dHz AS Angle dV AS Angle dDist AS Distance BYVAL lDisplayOn AS Logical BYVAL sCaptionLeft AS _Token Remarks Measures distance and angles and updates the data pool after correct measurements It controls the special beep S...

Page 702: ...racking measurement program BAP_STOP_TRK Stop tracking no measurement No valid results returned BAP_CLEAR_DIST Clear distance Theodolite data pool no measurement No valid results returned BAP_RED_TRK_ DIST Measure distance and angles using the tracking with red laser measurement program Mode returned Meaning BAP_DEF_DIST Depends on distance measurement Can be changed during distance measurement BA...

Page 703: ...tion failed AUT_RC_DETECTOR_ ERROR Error in target acquisition AUT_RC_DETENT_ ERROR Positioning not possible due to mounted EDM AUT_RC_DEV_ERROR Deviation measurement error AUT_RC_INCACC Position not exactly reached AUT_RC_MOTOR_ ERROR Motorization error AUT_RC_MULTIPLE_ TARGETS Multiple targets detected AUT_RC_NO_TARGET No target detected AUT_RC_TIMEOUT Position not reached BAP_CHANGE_ALL_ TO_DIS...

Page 704: ...or occurred during distance measurement TMC_DIST_PPM Error wrong setting of PPM or MM on EDM TMC_NO_FULL_ CORRECTION Warning measurement without full correction 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_MeasRec Example See example file meas gbs The example uses the BAP_MeasDistAngle routine to measu...

Page 705: ...st Lock switches Measurement icons and disables aF Key during tracking Parameters iDistMode Distance measuring modes Mode as Input Meaning BAP_NO_MEAS No new measurement before recording BAP_NO_DIST No distance measurement before recording only new angles BAP_DEF_DIST Use default distance measurement program and record values BAP_TRK_DIST Use the tracking measurement program and record values BAP_...

Page 706: ...he distance measurement display lDisplayOn in TRUE shows the distance measurement display during distance measurement Return Codes RC_OK Successful termination WIR_NO_MEDIUM No storage medium is available AUT_RC_ANGLE_ ERROR Angle measurement error AUT_RC_BAD_ ENVIRONMENT Bad Environment conditions AUT_RC_CALACC ATR calibration failed AUT_RC_ DETECTOR_ERROR Error in target acquisition AUT_RC_DETEN...

Page 707: ...ERROR Error no valid angle measurement TMC_ANGLE_NO_ FULL_ CORRECTION Warning only angle measurement valid accuracy cannot be guaranteed TMC_ANGLE_OK Warning only angle measurement valid TMC_BUSY Error TMC sub module already in use by another subsystem command not processed TMC_DIST_ERROR An error occurred during distance measurement TMC_DIST_PPM Error wrong setting of PPM or MM on EDM TMC_NO_FULL...

Page 708: ... target If the target is not within the sensor measure region a target search will be executed The target search range is limited by the parameter dSearchV in V direction and by parameter dSearchHz in Hz direction If no target is found the instrument turns back to the initial start position The ATR mode must be enabled for this functionality see CSV_SetATRStatus and CSV_GetATRStatus Parameters dSe...

Page 709: ...GetATRStatus Example The example see sample TRACKING GBS 6 2 6 BAP_SearchPrism Description Searches the prism Declaration BAP_SearchPrism BYVAL lShowMessages As Logical Remarks This procedure searches the prism The searching area depends on the defined searching area and on the setting of the additional working area This routine works only in ATR instruments and needs at least Firmware Release 2 0...

Page 710: ...R mode not enabled enable ATR mode See Also CSV_SetATRStatus CSV_GetATRStatus 6 2 7 BAP_SetManDist Description Set the distance manually Declaration BAP_SetManDist BYVAL sCaptionLeft AS _Token BYVAL dDistance AS Double iButtonId AS Integer Remarks The BAP_SetManDist routine starts a dialog with the caption sCaption where the user can enter a horizontal distance The distance will be stored into the...

Page 711: ...ion RC_IVPARAM Error invalid DistMode See Also TMC_IfDistTapeMeasured TMC_SetHandDist TMC_GetPolar TMC_GetCoordinate Example The example uses the BAP_SetManDist routine to enter a distance DIM iButton AS Integer DIM dInitDist AS Distance dInitDist 15 0 initial value BAP_SetManDist BASIC dInitDist iButton 6 2 8 BAP_SetPpm Description Sets the PPM for distance measurements Declaration BAP_SetPpm Rem...

Page 712: ...ch the user can complete in order to choose one of five prism types constants Two types are LEICA defaults whereas the other three can be named and the constant values given changed by the user The prism constants are always given and displayed in millimetres regardless of the distance units in use at the time Return Codes RC_OK Successful termination See Also BAP_SetManDist BAP_SetPpm Example The...

Page 713: ... VISIBLE Single measurement with reflector and red laser BAP_SINGLE_RLESS_ VISIBLE Single measurement reflectorless with red laser BAP_CONT_REF_ STANDARD Continuous measurement with reflector standard speed BAP_CONT_REF_FAST Continuous measurement with reflector fast BAP_CONT_RLESS_ VISIBLE Continuous measurement reflectorless with red laser BAP_AVG_REF_ STANDARD Average measurement with reflector...

Page 714: ...rograms Meaning BAP_SINGLE_REF_ STANDARD Single measurement with reflector standard speed BAP_SINGLE_REF_ FAST Single measurement with reflector fast BAP_SINGLE_REF_ VISIBLE Single measurement with reflector and red laser BAP_SINGLE_RLESS_ VISIBLE Single measurement reflectorless with red laser BAP_CONT_REF_ STANDARD Continuous measurement with reflector standard speed BAP_CONT_REF_FAST Continuous...

Page 715: ...ription Positioning of the Telescope Declaration BAP_PosTelescope BYVAL eMode AS Integer BYVAL eDspMode AS Integer BYVAL dHz AS Double BYVAL dV AS Double BYVAL dHzTolerance AS Double BYVAL dVTolerance AS Double 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 ...

Page 716: ...arget position dHzTolerance dVTolerance In case of manual positioning the tolerances define the upper and lower boundaries of the target position For successful termination of the positioning the final target position must be within these boundaries If the tolerance is lower then the default accuracy of the Theodolite the tolerance will be the default accuracy Return Codes RC_OK Positioning succes...

Page 717: ... the TMC subsystem for the horizontal angle encoder A button is provided for setting the angle to zero directly or the user may prefer to input another given value Furthermore the angle beep at the quarter circle positions from 0 can be turned on and off Note 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...

Page 718: ... tracking and fixed co ordinates TMC_DIST_SWITCHES_ Type Distance measurement switches TMC_Distance_Type Data structure for the distance measurement TMC_HZ_V_Ang_Type Horizontal and vertical angle TMC_Incline_Type Data structure for the inclination measurement TMC_OFFSET_DIST_ Type Target offset TMC_PPM_CORR_Type Correction for distance measurement TMC_REFRACTION_Type Refraction correction for dis...

Page 719: ...rns the angle measurement correction switches TMC_GetCoordinate Calculate and read co ordinates TMC_GetDistSwitch 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 TMC_GetOffsetDist Returns the distance measurement of...

Page 720: ...le cross inclination dLengthIncline AS Double alongside inclination dAccuracyIncline AS Double accuracy of measuring InclineTime AS Integer time of measuring END TMC_Incline_Type 6 3 2 2 TMC_ANGLE Data structure for measuring angles TYPE TMC_Angle_Type dHz AS Double horizontal angle dV AS Double vertical angle dAngleAccuracy AS Double accuracy of angle iAngleTime AS Integer time of measurement Inc...

Page 721: ...t AS Double distance in altitude measured continuously END TMC_Distance_Type 6 3 2 4 TMC_COORDINATE Data structure for the coordinates tracking and fixed co ordinates TYPE TMC_Coordinate_Type dE AS Double east co ordinate dN AS Double north co ordinate dH AS Double height co ordinate iCoordTime AS Integer time of measurement dE_Cont AS Double east coordinate measured continuously dN_Cont AS Double...

Page 722: ...ate dH0 AS Double height co ordinate dHi AS Double instrument height END TMC_STATION_Type 6 3 2 8 TMC_REFRACTION Refraction correction for distance measurement TYPE TMC_REFRACTION_Type bOnOff AS Logical TRUE if refraction is valid dEarthRadius AS Double earth radius dRefractiveScale AS Double refraction coefficient END TMC_REFRACTION_Type 6 3 2 9 TMC_DIST_SWITCH_Type Distance measurement switches ...

Page 723: ...ss dHeightVal AS Distance Target Offset Height END TMC_OFFSET_DIST_Type 6 3 3 TMC_DoMeasure Description Start a measure program Declaration TMC_DoMeasure BYVAL iCommand AS Integer Remarks 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 progra...

Page 724: ...program TMC_DEF_DIST do default distance measure TMC_TRK_DIST do tracking distance measure TMC_RTRK_DIST do fast tracking distance measure TMC_CLEAR clear distance and switch off EDM TMC_SIGNAL start signal measurement test mode TMC_RED_TRK_ DIST do tracking distance measure with red laser See Also TMC_GetPolar TMC_GetCoordinate Return Codes RC_OK measure program started RC_IVPARAM The function ha...

Page 725: ...y inclination are being calculated The result is a point in polar co ordinates Simple and multiple measures distance tracking altitude tracking are supported The horizontal and the inclined distance with the difference in altitude are read The delay iWaitTime just works on the distance measure not on the measure of the angle As long as no new measure program is started the results can be read Addi...

Page 726: ...iReturnCode out see Additional Codes below See Also TMC_GetCoordinates Additional Codes in iReturnCode RC_OK measurement and values are OK TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the results are consist of measuring data which accuracy could not be verified by the system Co ordinates are available TMC_NO_FULL_ CORRECTION The results are not corrected by all active sensors Co ord...

Page 727: ...oint and try it again TMC_DIST_PPM No distance measurement respectively no distance data because of wrong EDM settings The co ordinates are not available Set EDM ppm and mm to 0 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_BUSY TMC resource is locked respectively TMC ta...

Page 728: ...C_DoMeasure TMC_CLEAR 6 3 5 TMC_GetCoordinate Description Calculate and read co ordinates Declaration TMC_GetCoordinate BYVAL iWaitTime AS Integer Coordinate AS TMC_COORDINATE_Type iReturnCode AS Integer Remarks The function calculates and out put co ordinates Angle and possibly inclination are being measured The co ordinates are being corrected The result is a point in Cartesian co ordinates The ...

Page 729: ... ordinates output iReturnCode out return code see Additional Codes See Also TMC_GetPolar Additional Codes in iReturnCode RC_OK measurement and values are OK TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the result are consist of measuring data which accuracy could not be verified by the system Co ordinates are available TMC_NO_FULL_ CORRECTION The results are not corrected by all acti...

Page 730: ...urement respectively no distance data because of wrong EDM settings The co ordinates are not available Set EDM ppm and mm to 0 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_BUSY TMC resource is locked respectively TMC task is busy Repeat measurement RC_ABORT Measurement ...

Page 731: ...ion measures the horizontal and vertical angle and the possibly belonging inclination if the inclination compensation is on If the compensation is off and no valid inclination is present there may be a delay if the inclination can t be measured immediately The correction values for the inclination can be calculated with several methods As long as no new measure program is started the results can b...

Page 732: ...fied by the system 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 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_BUSY TMC resource is locked respectively TMC task is busy Angl...

Page 733: ...e delivers also informational return codes which will not interrupt program execution Parameters iIncProg in The manner of incline compensation Following settings are possible Incline Program Meaning TMC_MEA_INC get inclination apriori sigma TMC_ AUTO_INC get inclination with automatism sensor plane TMC_ PLANE_INC get inclination always with plane Angle out result of measuring the angle iReturnCod...

Page 734: ... 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 DIM Angles AS TMC_Angle DIM iRetCode AS Integer TMC_GetAngle_WInc TMC_AUTO_INC Angles iRetCode 6 3 8 TMC_QuickDist Description Measure slope distance and angles Declaration TMC_QuickDis...

Page 735: ...tion TMC_DoMeasure This function is very good suitable for target tracking where high data transfers are required Note Due to performance reasons the used inclination will be calculated only if incline is activated if the basic data for the incline calculation is exact at least two forced incline measurements should be performed in between The forced incline measurement is only necessary if the in...

Page 736: ...orced 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 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 time out period to short target out of view This mess...

Page 737: ...e data are valid respectively available Aim target point and try it again TMC_DIST_PPM No distance measurement respectively no distance data because of wrong EDM settings The angle data are valid Set EDM ppm and mm to 0 Return Codes 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 Angl...

Page 738: ...tSimpleMea Angles AS TMC_HZ_V_ANG_Type dSlopeDist AS Double iReturnCode 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 If a distance measurement is valid the function ignores WaitTime and returns the results If no valid dista...

Page 739: ...rning TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the result consisting of measuring data which accuracy could not be verified by the system 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 TMC_ANGLE_OK Angle values okay but no valid distance Perform a distance measurement TMC_ANGLE_N...

Page 740: ...tively no distance data because of wrong EDM settings Angle data are available but distance data are not available Set EDM ppm and mm to 0 Return Codes RC_OK Angle OK TMC_ANGLE_ERROR Problems with angle res incline sensor 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 Distanc...

Page 741: ...etting 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 Example The example reads the current definition and sets the opposite one DIM face AS TMC_FACE_DEF TMC_GetAngelFaceDef face IF face TMC_F...

Page 742: ...ouble Remarks Note No distance may exist for setting the Hz offset Call TMC_DoMeasure TMC_CLEAR before this function Parameters dHzOffset out in 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 DIM off AS Double TMC...

Page 743: ...distance measurement Return Codes RC_OK Completed successfully TMC_BUSY TMC is in use and can not be changed Example 6 3 13 TMC_Get SetHeight Description Gets and sets the current height of the reflector Declaration TMC_GetHeight Height AS Double TMC_SetHeight byVal Height AS Double Parameters Height out in Height of reflector in Meters Return Codes RC_OK Completed successfully TMC_BUSY measuremen...

Page 744: ...ction correction value s Return Codes RC_OK Completed successfully TMC_BUSY measurement system is busy no valid results Example 6 3 15 TMC_Get SetRefractiveMethod Description Gets and sets the method of refractive correction for measuring the distance Declaration TMC_GetRefractiveMethod Method AS Integer TMC_SetRefractiveMethod byVal Method AS Integer Parameters Method out in Method of refraction ...

Page 745: ...TMC_CLEAR before this function Parameters Station out in Station co ordinates Return Codes RC_OK Completed successfully TMC_BUSY measurement system is busy no valid results or a distance exists Example 6 3 17 TMC_IfDistTapeMeasured Description Gets information about manual measurement Declaration TMC_IfDistTapeMeasured bTapeMeasured AS Logical Parameters bTapeMeasured out TRUE if measurement has b...

Page 746: ...C_OK Execution successful TMC_NO_FULL_ CORRECTION The results are not corrected by all active sensors This message is to be considers as warning TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the result consisting of measuring data which accuracy could not be verified by the system You can a forced incline measurement perform or switch off the incline This message is to be considers as...

Page 747: ...tches Declaration TMC_SetDistSwitch Switches AS TMC_DIST_SWITCH_Type Remarks This procedure sets the distance measurement correction switches Parameters Switches in Distance switches Return Codes RC_OK Successful termination See Also TMC_GetDistSwitch 6 3 20 TMC_GetDistSwitch Description Returns the distance measurement correction switches Declaration TMC_GetDistSwitch Switches AS TMC_DIST_SWITCH_...

Page 748: ...rism pole The dLengthVal defines the offset away from the prism pole positive means in the line from instrument to prism dCrossVal means right from the prism pole and dHeightVal means higher than prism pole Remarks Note No distance may exist for offset setting Call TMC_DoMeasure TMC_CLEAR before this function Parameters Offsets in Target point offset Return Codes RC_OK Successful termination TMC_B...

Page 749: ...ment to prism dCrossVal means right from the prism pole and dHeightVal means higher than prism pole Parameters Offsets out Target point offset Return Codes RC_OK Successful termination See Also TMC_SetOffsetDist BAP_Offset TMC_IfOffsetDistMeasured 6 3 23 TMC_IfOffsetDistMeasured Description Returns the EDM measurement mode Declaration TMC_IfOffsetDistMeasured lOffset AS Logical Remarks This functi...

Page 750: ...that the instrument automatically turns into an inactive measurement state after a predefined timeout Parameters lFace1 out TRUE Face I FALSE Face II Return Codes RC_OK Successful termination 6 3 25 TMC_SetAngSwitch Description Defines the angle measurement correction switches Declaration TMC_SetAngSwitch Switches AS TMC_ANG_SWITCH_Type Remarks This procedure sets the angle measurement correction ...

Page 751: ...switches Declaration TMC_GetAngSwitch Switches AS TMC_ANG_SWITCH_Type Remarks This procedure returns the actual angle measurement correction switches Parameters Switches in Angular switches Return Codes RC_OK Successful termination See Also TMC_SetAngSwitch 6 3 27 TMC_SetInclineSwitch Description Defines the compensator switch Declaration TMC_SetAngSwitches lOn AS Logical Remarks This procedure en...

Page 752: ...compensator correction state Parameters lOn out Switch Return Codes RC_OK Successful termination See Also TMC_SetInclineSwitch 6 3 29 TMC_GetInclineStatus Description Returns the inclination compensator status Declaration TMC_GetInclineStatus iStatus AS Integer Remarks This procedure returns status of the inclination sensor Parameters iStatus out TMC_INC_OFF Incline sensor is switched off TMC_INC_...

Page 753: ...Reference Manual 6 System Functions TPS1100 Version 2 10 6 129 TMC_INC_FAIL Inclination measurement fails Return Codes RC_OK Successful termination See Also TMC_SetInclineSwitch Example See example file meas gbs ...

Page 754: ... GSI_CheckTracking Returns if distance tracking is running GSI_CreateMDlg Creates and shows the user definable measurement dialog GSI_DefineMDlg Defines the entries of the user definable measurement dialog GSI_DefineRecMaskDlg Defines the recording mask dialog GSI_ExecuteAutoDist Executes an automatic distance measurement GSI_ExecQCoding Executes the Quick Coding GSI_GetDataPath Get the name of th...

Page 755: ...w the manual co ordinate input dialog GSI_Measure Entry point for measure and registration dialog measure and registration GSI_QuickSet Show the Quickset dialog GSI_RecordRecMask Recording the given wi mask GSI_SelectCode This routine shows the codelist coding dialog GSI_SetDataPath Set the file with the import data GSI_SetIndivNr Sets the individual point number GSI_SetIvPtNrStatus Switches the i...

Page 756: ... Theodolite data pool GSI_UpdateMDlg Updates the user definable measurement dialog GSI_UpdateMeasurment Update the measurement data 6 4 2 Constants for WI values Definitions for WI values Name Data Type Meaning GSI_ID_PTNR String Point number GSI_ID_FNR Double Serial number GSI_ID_TYPE String Device type GSI_ID_TIME_1 String First time art GSI_ID_TIME_2 String Second time art GSI_ID_HZ Double Hori...

Page 757: ..._ID_CODE_1 String Information 1 GSI_ID_CODE_2 String Information 2 GSI_ID_CODE_3 String Information 3 GSI_ID_CODE_4 String Information 4 GSI_ID_CODE_5 String Information 5 GSI_ID_CODE_6 String Information 6 GSI_ID_CODE_7 String Information 7 GSI_ID_CODE_8 String Information 8 GSI_ID_PPMM String mm and ppm GSI_ID_SIGMA String Distance count and deviation GSI_ID_MM Double mm GSI_ID_PPM Double ppm GS...

Page 758: ..._ID_PTCD_DSC String Point code description GSI_ID_PV_CD String Preview code GSI_ID_PV_PTCD String Preview point code GSI_ID_ACT_PTID String Actual point ID GSI_ID_BACKID String Backside ID GSI_ID_APPDATA0 String Double Application data 0 GSI_ID_APPDATA1 String Double Application data 1 GSI_ID_APPDATA2 String Double Application data 2 GSI_ID_APPDATA3 String Double Application data 3 GSI_ID_APPDATA4...

Page 759: ...See also GSI_SetLineMDlgPar and GSI_SetLineMDlgText Name Meaning GSI_PAR_AppData0 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...

Page 760: ...number of distance measurements of the average mode GSI_PAR_BacksideId Last used Backside GSI_PAR_Code Last used Code GSI_PAR_CodeDescr Last used free Code Description GSI_PAR_CodeList Codelist management select create etc GSI_PAR_CodeListSelect Codelist selection of an existing codelist GSI_PAR_DataJobSelect Data job selection of an existing job GSI_PAR_Date Current date of the instrument The dis...

Page 761: ...R_IndivPointId Individual point identifier GSI_PAR_Info1 Shows the Free Code Info 1 GSI_PAR_Info2 Shows the Free Code Info 2 GSI_PAR_Info3 Shows the Free Code Info 3 GSI_PAR_Info4 Shows the Free Code Info 4 GSI_PAR_Info5 Shows the Free Code Info 5 GSI_PAR_Info6 Shows the Free Code Info 6 GSI_PAR_Info7 Shows the Free Code Info 7 GSI_PAR_Info8 Shows the Free Code Info 8 GSI_PAR_InstrHeight Instrumen...

Page 762: ...Code Description of the actual Feature Code GSI_PAR_RecMask Selected Recording mask for target point measurements GSI_PAR_ReflHeight Reflector height hr GSI_PAR_ReflName Used reflector type GSI_PAR_ReflSelection reflector type selection If there are user defined prism then they will be added to this list The User Refl1 User Refl3 are only valid if these user definable prisms are defined GSI_PAR_Ru...

Page 763: ...n the two pools GSI_ID_ Ids describe the values which can be stored and requested in the WI data value pool GSI_PAR_ Ids describe the values which can be used for displaying in a measurement dialog Their sets of id s are not associated directly in all cases Moreover their sets of Id s can be distinguished in their meaning Association in this context means that both pools the data value pool and th...

Page 764: ...deDescr GSI_ID_PV_CD GSI_PAR_PrevCode GSI_ID_PV_PTCD GSI_PAR_PrevPointCode GSI_ID_ACT_PTID GSI_PAR_PointId GSI_ID_BACKID GSI_PAR_BackSideId Meas GSI_ID_PTNR GSI_PAR_RunningPointId Meas GSI_ID_FNR GSI_PAR_SerialNr undefined Meas GSI_ID_TYPE GSI_PAR_InstrType undefined Meas GSI_ID_TIME_1 See GSI_PAR_Date Meas GSI_ID_TIME_2 See GSI_PAR_Time Meas GSI_ID_HZ GSI_PAR_AngleHz Meas GSI_ID_V GSI_PAR_AngleV ...

Page 765: ... GSI_ID_H GSI_PAR_TargetElev Meas GSI_ID_E0 GSI_PAR_StationEast Meas GSI_ID_N0 GSI_PAR_StationNorth Meas GSI_ID_H0 GSI_PAR_StationElev Meas GSI_ID_HR GSI_PAR_ReflHeight Meas GSI_ID_HI GSI_PAR_InstrHeight Code GSI_ID_CODE GSI_PAR_Attrib1 Code GSI_ID_CODE_1 GSI_PAR_Attrib2 Code GSI_ID_CODE_2 GSI_PAR_Attrib3 Code GSI_ID_CODE_3 GSI_PAR_Attrib4 Code GSI_ID_CODE_4 GSI_PAR_Attrib5 Code GSI_ID_CODE_5 GSI_...

Page 766: ...PDATA9 GSI_PAR_APPDATA9 GSI_ID_APPDATA10 GSI_PAR_APPDATA10 GSI_ID_APPDATA11 GSI_PAR_APPDATA11 Special Ids GSI_ID_NONE GSI_ID_EMPTY GSI_ID_UNKNOWN GSI_PAR_NONE The set of GSI_PAR ids is not complete in this table There exist several more Ids which can be used for displaying 6 4 5 Data Structures for GSI Functions GSI_WiDlg_Entry_Type Dialog entry information Description This data structure is used ...

Page 767: ...e Description This array consists of GSI_MAX_REC_WI elements of the type GSI_WiDlg_Entry_Type GSI_Rec_Id_List An array of integers indicating WI identifications Description This array consists of GSI_MAX_REC_WI elements of the type Integer It is used to define the recorded values recmask GSI_Point_Coord_Type Point co ordinate data Description This data structure is used to store a point name and i...

Page 768: ...ncrement Declaration GSI_GetRunningNr sPntId AS String20 sPntIncr AS String20 Remarks Fetches the running point number and increment for it Parameters sPntId out the running point number sPntIncr out the increment for the running point 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 ...

Page 769: ...er running point number sPntIncr in The increment for the user point running number See Also GSI_GetRunningNr GSI_GetIndivNr GSI_SetIndivNr GSI_IsRunningNr Return Codes RC_OK successful Example DIM sPntId AS String20 DIM sPntInc AS String20 GSI_SetRunningNr sPntId sPntInc 6 4 8 GSI_ GetIndivNr Description Fetches the individual point number Declaration GSI_GetIndivNr sPntId AS String20 Remarks Fet...

Page 770: ...is switched to the individual point number This mode will be active until replaced by a running number or until the next save Parameters sPntId in The user defined individual point number See Also GSI_GetRunningNr GSI_SetRunningNr GSI_GetIndivNr GSI_IsRunningNr Return Codes RC_OK successful Example DIM sPntId AS String20 GSI_SetIndivNr sPntId 6 4 10 GSI_IsRunningNr Description Queries if running n...

Page 771: ...ingOn 6 4 11 GSI_SetIvPtNrStatus Description Switches the individual point number mode on off Declaration GSI_SetIvPtNrStatus BYVAL lSwitch AS Logical Remarks Switch the individual point number on or off When point number is shown in the display the number will change Parameters lSwitch in switch for the individual point number TRUE on FALSE off See Also GSI_GetRunningNr GSI_SetRunningNr GSI_GetIn...

Page 772: ...rically char step is longer as the point number Example GSI_IncPNumber 6 4 13 GSI_Coding Description Starts the active coding function of the TPS system Declaration GSI_Coding BYVAL Caption AS _Token Remarks This routine starts the active coding function of the TPS system Since there exist three possible locations the TPS system follows a default ordering rule to invoke one of the programs First i...

Page 773: ...is routine starts the codelist coding function of the TPS system It will be executed only if a valid codelist is selected Parameters Caption in The left caption string of the dialog Return Codes RC_OK successful RC_ABORT Coding was aborted by pressing of the ESC button RC_ABORT_APPL Coding was aborted by pressing of the QUIT button COD_RC_LIST_ NOT_VALID No valid codelist selected Example See exam...

Page 774: ...RC_OK successful Example See example file meas_od gbs 6 4 16 GSI_SetQCodeMode Description Sets the Quick Coding mode Declaration GSI_SetQCodeMode BYVAL lEnabled As Logical Remarks This routine enables or disables the Quick Coding It can be only activated if a valid codelist is selected see GSI_GetQCodeAvailable Parameters lEnabled in TRUE enable Quick Coding See Also GSI_GetQCodeAvailable GSI_Exec...

Page 775: ... too it measures a distance and records the results The recording order measurement block code block or vice versa depends on the system setting see GSI_GetRecOrder If lRecEnable FALSE this routine forces no new distance measurement and there is no recording Parameters lRecEnable in TRUE Quick Coding including distance measurement It records a code and a measurement block in the correct order FALS...

Page 776: ...lock before measurement block See Also GSI_GetRecOrder GSI_ExecQCoding Return Codes RC_OK successful Example See example file meas_od gbs 6 4 19 GSI_GetRecOrder Description Returns the recording order for Quick Coding Declaration GSI_GetRecOrder lCodeFirst As Logical Remarks This routine returns the recording order for Quick Coding If lCodeFirst TRUE then the code block will be recorded before the...

Page 777: ...n Defines the recording path for the measurements Declaration GSI_SetRecPath BYVAL iPathInfo AS Integer BYVAL sFileName AS FileName BYVAL sFilePath AS FilePath Remarks This procedure defines where the measurements will be recorded If iPathInfo is set to GSI_INTERFACE then the measurements will be sent to the RS232 line and the other parameters are not be interpreted If iPathInfo is set to GSI_EXTE...

Page 778: ...tStr 0 2 Path sPath TRUE ELSE MMI_PrintStr 0 1 RecPath serial line TRUE END IF GSI_SetRecPath GSI_INTERFACE sFile sPath 6 4 22 GSI_GetRecPath Description Returns the recording path for the measurements Declaration GSI_GetRecPath iPathInfo AS Integer sFileName AS FileName sFilePath AS FilePath Remarks This procedure returns where the measurements will be recorded If iPathInfo GSI_INTERFACE then the...

Page 779: ... BYVAL iPathInfo AS Integer BYVAL sFileName AS FileName BYVAL sFilePath AS FilePath Remarks This procedure sets the file from which data will be imported Only GSI_EXTERNAL is valid for the iPathInfo sFileName defines the filename i e DataJob GSI and sFilePath defines the file path i e A GSI Parameters iPathInfo in Device info Only GSI_EXTERNAL is valid sFileName in Valid Filename 8 3 format sFileP...

Page 780: ...l be imported If iPathInfo GSI_EXTERNAL then sFileName defines the filename i e DataJob GSI and sFilePath defines the file path i e A GSI Parameters iPathInfo out Device info sFileName out Filename 8 3 format sFilePath out File path Return Codes RC_OK Successful termination See Also GSI_SetDataPath Example The example fetches the name and the path of the standard import data file DIM iPathInfo AS ...

Page 781: ... GSI_SetWiEntry 6 4 26 GSI_SetWiEntry Description Put data to the Theodolite data pool Declaration GSI_SetWiEntry WiIdentification AS Integer WiEntry AS GSI_WiDlg_Entry_Type Remarks This routine is used to put data to the Theodolite data pool See the description of the WI constants Parameters WiIdentification in The identification of the WI WiEntry in The WI entry data See the description of GSI_W...

Page 782: ...the recording mask with the number iMaskNr Valid formats are GSI_RECFORMAT_GSI and GSI_RECFORMAT_GSI16 A recording mask can be set with GSI_SetRecMask If lEditMask is TRUE the elements of the recording mask can be changed in GSI_DefineRecMaskDlg All unused elements of the recording list are set to GSI_ID_NONE All values from 0 to 5 are valid for the mask number Mask number 0 is predefined for the ...

Page 783: ...cWiMask iRecFormat lEditMask 6 4 28 GSI_SetRecMask Description Set the definition and the format of a recording mask Declaration GSI_SetRecMask BYVAL iMaskNr AS Integer BYVAL sMaskName AS String18 BYVAL RecWiMask AS GSI_Rec_Id_List BYVAL iRecFormat AS Integer BYVAL lEditMask AS Logical Remarks This routine sets the definition and the format of the recording mask with the number iMaskNr Valid forma...

Page 784: ...Nr in Number of the recording mask GSI_ACTUAL_RECMASK can be used to set the values of the currently active mask sMaskName in Name of the recording mask RecWiMask in 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 iRec Format in Recording format GSI_RECFORMAT_GSI GSI_RECFORMAT_GSI16 lEditMask in Mask ...

Page 785: ...teger DIM lEditMask AS Logical GSI_GetRecMask GSI_ACTUAL_RECMASK sMaskName RecWiMask iRecFormat lEditMask 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 iMaskNr in Number of the recording mask Number must be in the range ...

Page 786: ... iMaskNr out Number of the recording mask See Also GSI_SetRecMaskNr 6 4 31 GSI_DefineRecMaskDlg Description Defines the recording mask dialog Declaration GSI_DefineRecMaskDlg Remarks Defines the contents of the recording mask Using a dialog with list fields the user can select the items for the user registration mask This routine is an interactive equivalent to the routines GSI_GetRecMask and GSI_...

Page 787: ...leaving this function with CONT is only possible if the point number is valid and at least E and N co ordinates are valid If GSI_HEIGHT_MUST is included in iFlags the Height Elevation co ordinate must be valid too Leaving using ESC or QUIT Shift F6 is always possible Recording and coding sets the according values in the Theodolite data pool too Parameters sCaption in The maximal five character lon...

Page 788: ...alid Flags Meaning GSI_ALLOW_ REC allows recording and coding GSI_HEIGHT_ MUST height must be entered GSI_NE_ OPTIONAL only height must be entered north east are optional GSI_MULTI_ REC Allows entering and recording of more than one data set without leaving this routine GSI_NO_FILE_ CHANGE File changing is disabled Flags can be combined with operator iFlags iFlag1 iFlag2 sHelpText in This text is ...

Page 789: ... Remarks This routine contains three dialogues the search the view and the manual input dialog The type of co ordinates station or target can be selected using iPointType The search dialog allows selecting the data or the measure file and editing a point number Depending on the pressed button the manual co ordinate input function only if GSI_ALLOW_MAN is included in iFlags see GSI_ManCoordDlg or t...

Page 790: ...or PointType see table below Point Type Meaning GSI_STATION station point number GSI_INDIV_TG individual target number GSI_RUN_TG running target GSI_BACKSIGHT backside number analog target only changed prompts GSI_POINT_ CODE PointId CodeId analog target only changed prompts Point in Only point number the co ordinates will be set to 0 Point out point number and co ordinates For further information...

Page 791: ...bled GSI_GET_NEXT Return the next valid data set ignore sPtNr Flags can be combined with operator iFlags iFlag1 iFlag2 iImportFile in defines the source file for importing Valid Import File Meaning GSI_FILE_MEAS MEAS file GSI_FILE_DATA DATA file GSI_FILE_LAST last used file sImportHelp in Help text for import dialog Only visible if the help functionality of the theodolite is enabled sInputHelp in ...

Page 792: ...system measurement dialog To fetch information about a line GSI_GetLineSysMDlg can be used Unused lines should be set to GSI_PAR_NONE Note 1 Parameters are identified by GSI_PAR_ values and not by GSI_ID_ values 2 A line in the system measurement dialog can only be set to a system parameter not to an application parameter Parameters iDlgNr in The number of the system measurement dialog where the l...

Page 793: ...alog GSI_SetLineSysMDlg GSI_SYS_MDLG_1 1 GSI_PAR_Date GSI_SetLineSysMDlg GSI_SYS_MDLG_1 2 GSI_PAR_Time 6 4 35 GSI_GetLineSysMDlg Description Gets the definition of a line in the system measurement dialog Declaration GSI_GetLineSysMDlg BYVAL iDlgNr AS Integer BYVAL iLineNr AS Integer iSysParamId AS Integer Remarks This routine fetches the information about the setting of one line in the system meas...

Page 794: ...inition See Also GSI_SetLineSysMDlg GSI_DefineMDlg Example See sample program meas gbs This example uses GSI_GetLineSysMDlg to get information about the configuration of the first system measurement dialog s first two lines DIM iParLine1 AS Integer DIM iParLine2 AS Integer GSI_GetLineSysMDlg GSI_SYS_MDLG_1 1 iParLine1 GSI_GetLineSysMDlg GSI_SYS_MDLG_1 2 iParLine2 6 4 36 GSI_SetMDlgNr Description S...

Page 795: ...ion GSI_GetMDlgNr iMDlgNr AS Integer Remarks Returns the number of the system measurement dialog Parameters iMDlgNr out Number of the actual measurement dialog See Also GSI_SetMDlgNr 6 4 38 GSI_CreateMDlg Description Create and show the user definable measurement dialog Declaration GSI_CreateMDlg BYVAL iFixLines AS Integer BYVAL sCaptionLeft AS _Token BYVAL sCaptionRight AS _Token BYVAL sHelpText ...

Page 796: ...ask see GSI_DefineMDlg Parameters iFixLines in The number of fix lines These lines are not scrolled sCaptionLeft in The part of the title bar displayed on the left border up to five characters wide sCaptionRight in The caption of the dialog sHelpText in This text is shown when the help button SHIFT F1 is pressed and the help functionality of the theodolite is enabled See Also GSI_UpdateMDlg GSI_Up...

Page 797: ...he user definable measurement dialog to a system parameter This measurement dialog is initialized automatically with the actual settings of the first system measurement dialog Modifications of the user definable dialog have no effects on the system measurement dialog and will be lost after termination of the program An unused line should be set to GSI_PAR_NONE To add a user definable application p...

Page 798: ...etLineMDlgText Description Puts a text line into the user definable measurement dialog Declaration GSI_SetLineMDlgText BYVAL iLineNr AS Integer BYVAL iParamId AS Integer BYVAL sText AS _Token Remarks This routine inserts a pure text line into the user definable measurement dialog To add an user definable application parameter to the dialog use GSI_SetLineMDlgPar To add a system parameter to the di...

Page 799: ... BYVAL lEditAble AS Logical BYVAL iFormat AS Integer Remarks This routine sets the configuration of a line in the user definable measurement dialog to an application parameter The style of the application parameter is also defined in this routine Any floating point format and strings are valid formats The starting values of every application parameter is not predefined and hence has to be set expl...

Page 800: ...Value Meaning MMI_FFORMAT_ STRING string MMI_FFORMAT_ DOUBLE double MMI_FFORMAT_ DISTANCE distance MMI_FFORMAT_ SUBDISTANCE sub distance mm MMI_FFORMAT_ ANGLE angle MMI_FFORMAT_ VANGLE vertical angle MMI_FFORMAT_ HZANGLE horizontal angle MMI_FFORMAT_ TEMPERATURE temperature See Also GSI_SetLineMDlg GSI_SetLineMDlgText GSI_CreateMDlg Example See also sample file meas gbs This example uses GSI_SetLi...

Page 801: ...eMDlgPar 8 GSI_PAR_AppData3 Distance TRUE MMI_FFORMAT_DISTANCE 6 4 42 GSI_UpdateMDlg Description Updates the user definable measurement dialog Declaration GSI_UpdateMDlg iButton As Integer Remarks This procedure updates the user definable measurement dialog with the actual values from the Theodolite data pool and returns pressed buttons Parameters iButton out Contains pressed button identifier For...

Page 802: ...s an interactive equivalent to the routines GSI_SetLineSysMDlg and GSI_GetLineSysMDlg Parameters sCaption in The left caption of the title bar Up to 5 characters wide See Also GSI_GetDlgMask GSI_SetDlgMask Example GSI_DefineMDlg DEF 6 4 44 GSI_UpdateMeasurment Description Update the measurement data Declaration GSI_UpdateMeasurment iInclinePrg AS Integer iWaitTime AS Integer lValidForRec AS Logica...

Page 803: ...The wait time for a result in ms This time is used for synchronising the TMC task lValidForRec out Indicates validity of the registration iRetCodeForMsg out Return code of the measurement lChkIncRange Now in 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 a...

Page 804: ...ement program buttons FNC menu was pressed Parameters none Return Codes RC_OK Success Example See example file meas gbs or meas_od gbs 6 4 47 GSI_CheckTracking Description Returns if distance tracking is running Declaration GSI_CheckTracking lTracking As Logical Remarks This returns if a distance tracking is running An automatic start of distance tracking can be started on several conditions i e b...

Page 805: ...ndSetRunPt AS Logical Remarks This procedure records the given wi list The target can be the memory card or the interface The parameter for the interface depends on the GSI communication settings Errors will shown on the display when recording list will be stored in the memory card Otherwise the error messages will be given on the interface Parameters RecList in recording list eProgFunction in pro...

Page 806: ...oBASIC Reference Manual 6 System Functions TPS1100 Version 2 10 6 182 Example Record RecList DIM RecList AS GSI_REC_ID_LIST initialize RecList with adequate values GSI_RecordRecMask RecList TRUE TRUE TRUE ...

Page 807: ...k Returns if an alternative user task was running CSV_Delay Delay routine CSV_GetATRStatus Gets the current ATR state CSV_GetDateTime Get the date and the time of the system CSV_GetElapseSysTime Returns the difference between a reference time and the system time CSV_GetGBIVersion Returns the release number of the GeoBASIC interpreter CSV_GetInstrumentFamily Get information about the system CSV_Get...

Page 808: ...ibCallAvailable Check if GeoBASIC routine from another program is available CSV_LockIn Starts locking ATR CSV_LockOut Stops locking ATR CSV_MakePositioning Do an absolute positioning CSV_ResetAltUserTask Resets the alternative user task was running flag CSV_SetATRStatus Sets the current state of Automatic Target Recognition CSV_SetLaserPlummet Switches the laser plummet CSV_SetLightGuide Switch on...

Page 809: ...TYPE Date_Type iYear AS Integer year as a 4 digit number iMonth AS Integer month as a 2 digit number iDay AS Integer day as a 2 digit number END Date_Type TYPE Time_Type iHour AS Integer hour as a 2 digit number 24 hours format iMinute 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 T...

Page 810: ... Id Meaning TPS1101 TPS1100 accuracy 1 TPS1102 TPS1100 accuracy 2 TPS1103 TPS1100 accuracy 3 TPS1105 TPS1100 accuracy 5 lEDMBuiltIn AS Logical EDM built in lEDMTypeII AS Logical EDM built in type II lEDMTypeIII AS Logical EDM built in type III lEDMReflectorless AS Logical Red Laser lMotorized AS Logical Motorised lATR AS Logical Automatic Target Recognition ATR lEGL AS Logical EGL Guide Light lLas...

Page 811: ... the date and the time Return Codes RC_UNDEFINED The date and time is not set not yet not any longer Example The example uses the CSV_GetDateTime routine to get the date and the time of the system and displays the values DIM DT AS Date_Time_Type ON ERROR RESUME CSV_GetDateTime DT IF ERR RC_OK THEN MMI_PrintInt 0 0 5 DT Date iYear TRUE MMI_PrintInt 6 0 3 DT Date iMonth TRUE MMI_PrintInt 10 0 3 DT D...

Page 812: ...V_GetInstrumentName Description Get the LEICA specific instrument name Declaration CSV_GetInstrumentName sName AS String30 Remarks The CSV_GetInstrumentName routine returns the name of the system in the string sName Parameters sName out The LEICA specific instrument name Return Codes none See Also CSV_GetInstrumentNo CSV_GetInstrumentFamily Example The example uses the CSV_GetInstrumentName routin...

Page 813: ...GetInstrumentNo routine to get the instrument number and displays it DIM iSerialNo AS Integer CSV_GetInstrumentNo iSerialNo MMI_PrintInt 0 1 20 iSerialNo TRUE 6 5 7 CSV_GetInstrumentFamily Description 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 des...

Page 814: ...0 ON TPS_SIM TRUE END IF 6 5 8 CSV_GetSWVersion Description Get the version of the system software Declaration CSV_GetSWVersion iRelease AS Integer iVersion AS Integer Remarks The CSV_GetSWVersion routine returns the Release number and the number of the system software version These numbers can be interpreted together as software identification Release Version e g 1 05 TPS_Sim Delivers the version...

Page 815: ... MMI_PrintVal 0 0 6 2 iRelease iVersion 100 TRUE 6 5 9 CSV_GetGBIVersion Description Returns the release number of the GeoBASIC interpreter Declaration CSV_GetGBIVersion iRelease as Integer iVersion as Integer iSubVersion as Integer Remarks This function returns the release version of the running GeoBASIC interpreter Parameters iRelease out Release number iVersion Out Version Number iSubVersion ou...

Page 816: ...CSV_GetElapseSysTime Description Returns the difference between a reference time and the system time Declaration CSV_GetElapseSysTime iRefTime AS Integer iElapse AS Integer TPS_Sim Use PC time base Time resolution is one second Remarks The routine CSV_GetElapseSysTime returns the difference of between a given reference time iRefTime and the systems time Whenever the system starts up the system tim...

Page 817: ... CSV_GetSysTime iTime AS Integer Remarks The routine returns the systems time Whenever the system starts up the system time is reset TPS_Sim Delivers the system up time of the PC Parameters iTime out The system time in ms See Also CSV_GetElapseSysTime CSV_GetDateTime Example See CSV_GetElapsedTime 6 5 12 CSV_GetLRStatus Description Returns the status of the system Declaration CSV_GetLRStatus iLRSt...

Page 818: ...s the routine CSV_GetLRStatus to get the mode of the system DIM iLRStatus AS Integer CSV_GetLRStatus iLRStatus MMI_PrintInt 0 0 10 iLRStatus TRUE 6 5 13 CSV_SetGuideLight Description Set the guide light intensity Declaration CSV_SetGuideLight BYVAL iLight AS Integer Remarks Sets the guide light intensity Parameters iLight in Guide light intensity Value Meaning CSV_EGL_OFF Switching off CSV_EGL_LOW...

Page 819: ...r FALSE 6 5 15 CSV_MakePositioning Description Do an absolute positioning Declaration CSV_MakePositioning BYVAL dHz AS Double BYVAL dV AS Double Remarks Absolute positioning of the Theodolite axes to the desired angles with the currently active tolerance for positioning If any control function is active at the point of call it will be cancelled and the positioning will be performed After the posit...

Page 820: ...g the angle RC_FATAL fatal error RC_ABORT system abort See Also BAP_PosTelescope Example Perform an absolute positioning CSV_MakePositioning 0 2 atn 1 0 Pi 2 6 5 16 CSV_ChangeFace Description Do an absolute positioning to the opposite Declaration CSV_ChangeFace Remarks Perform positioning into the position opposite to the current If any control function is active at the point of call it will be ca...

Page 821: ...t angle is out of the limits or a collision is occurred CSV_TIMEOUT time out at positioning of one or both axes CSV_MOTOR_ERROR error in subsystem CSV_ANGLE_ERROR error at measuring the angle RC_FATAL fatal error RC_ABORT system abort See Also BAP_PosTelescope Example Perform a change of face CSV_ChangeFace 6 5 17 CSV_SetLockStatus Description Sets the current state of the locking facility Declara...

Page 822: ..._GetLockStatus Description Gets the current state of the locking facility Declaration CSV_GetLockStatus lOn AS Logical Remarks It queries the TPS system if the locking facility is on or off Parameters lOn out meaning FALSE Locking is switched off TRUE Locking is switched on Return Codes RC_FATAL fatal error RC_NOT_IMPL if ATR hardware is not available RC_ABORT system abort See Also CSV_GetLockStat...

Page 823: ...ioning will be started Parameters none Return Codes AUT_RC_NOT_ENABLED Theodolite without ATR or lock status not set AUT_RC_MOTOR_ERROR Error at motor control AUT_RC_DETECTOR_ERROR Error at ATR 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_SetLockS...

Page 824: ... CSV_LockIn Example This example stops locking CSV_LockOut 6 5 21 CSV_SetATRStatus Description Sets the current state of Automatic Target Recognition Declaration CSV_SetATRStatus BYVAL lOn AS Logical Remarks It switches the ATR facility on or off Parameters lOn in 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 ...

Page 825: ...es RC_FATAL fatal error RC_ABORT system abort RC_NOT_IMPL if ATR hardware is not available Example Get current ATR status DIM l AS Logical CSV_SetATRStatus l 6 5 23 CSV_Delay Description This routine delays the execution of a program Declaration CSV_Delay BYVAL iDelay AS Integer Remarks This routine delay using the operating system that means that other Theodolite tasks can run during the delay It...

Page 826: ...nts Declaration CSV_SetTargetType BYVAL iTargetType as Integer Remarks This routine sets the target type for distance measurements The target type defines if the next distance measurement happens with prism or without prism Parameters iTarget Type in Target type Valid target types Meaning CSV_WITH_ REFLECTOR With reflector CSV_WITHOUT _REFLECTOR Without reflector Return Codes RC_OK Successful term...

Page 827: ...ype iTargetType as Integer Remarks This routine fetches the target type for distance measurements The target type defines if the next distance measurement happens with prism or without prism Parameters iTarget Type out Target type Valid target types Meaning CSV_WITH_ REFLECTOR With reflector CSV_WITHOUT _REFLECTOR Without reflector Return Codes RC_OK Successful termination See CSV_ SetTargetType B...

Page 828: ... is one of the user defined prisms and this prism is actually not defined then this routine will return RC_IVRESULT Parameters iPrism in Used prism Return Codes RC_OK Successful termination RC_IVRESULT Prism not defined See CSV_GetPrismType Example The example sets the 360 degrees prism CSV_SetPrismType BAP_PRISM_360 6 5 27 CSV_GetPrismType Description Returns the used prism Declaration CSV_GetPri...

Page 829: ... function switches the optional laser plummet The plummet will be switched off automatically after 3 minutes Parameters lOn in TRUE switch plummet on Return Codes RC_OK Successful termination See 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 ...

Page 830: ...several system settings The CSV_CheckAltUserTask routine notifies the running GeoBASIC application that it was interrupted by another program With this information the GeoBASIC program is able to respond to these changes After processing this information the subroutine CSV_ResetAltUserTask must be called Parameters lWasRunning out TRUE a task was running Return Codes RC_OK Successful termination S...

Page 831: ...s in two different forms depending on the parameter CId If CId is a system function CSV_SysCall calls the function directly In the other form the CId is a system event In this case CSV_SysCall calls the system function or dialog menu macro application which is defined in the current configuration to handle this event See description of the system functions and system events in the appendix H Param...

Page 832: ...e lAvailable AS Logical Remarks This routine checks if it is possible to call the function CId if CId is a system function or if there is a function defined and available to handle the event CId if CId is an system event See the description of system functions and system events in appendix H Parameters CId in System function or system event lAvailable out TRUE System function is available or funct...

Page 833: ...S String255 BYVAL CptShort AS _Token Remarks This routine is used to call a GeoBASIC routine which is defined in another program Please refer also to Appendix Parameters PrgName in Program name FuncName in Function name CptShort In Short caption for dialogs Return Codes RC_OK Successful termination See CSV_LibCallAvailable Example See IAC GBS and IAC2 GBS for an example 6 5 35 CSV_LibCallAvailable...

Page 834: ...d in another program is available Usually this means that it checks if the other program is loaded and the specified entry point exists Parameters PrgName in Program name FuncName in Function name lAvailable out Routine is available Return Codes RC_OK Successful termination See CSV_LibCall Example See IAC GBS and IAC2 GBS for an example ...

Page 835: ...Beep 6 58 6 1 40 MMI_SetAngleRelation 6 59 6 1 41 MMI_GetAngleRelation 6 60 6 1 42 MMI_SetVAngleMode 6 60 6 1 43 MMI_GetVAngleMode 6 61 6 1 44 MMI_SetAngleUnit 6 61 6 1 45 MMI_GetAngleUnit 6 63 6 1 46 MMI_SetDistUnit 6 63 6 1 47 MMI_GetDistUnit 6 65 6 1 48 MMI_SetPressUnit 6 65 6 1 49 MMI_GetPressUnit 6 67 6 1 50 MMI_SetTempUnit 6 67 6 1 51 MMI_GetTempUnit 6 68 6 1 52 MMI_SetDateFormat 6 69 6 1 53...

Page 836: ...6 91 6 2 13 BAP_SetHz 6 93 6 3 Measurement Functions TMC 6 94 6 3 1 Summarizing Lists of TMC Types and Procedures 6 94 6 3 2 TMC Data Structures 6 96 6 3 3 TMC_DoMeasure 6 99 6 3 4 TMC_GetPolar 6 101 6 3 5 TMC_GetCoordinate 6 104 6 3 6 TMC_GetAngle 6 107 6 3 7 TMC_GetAngle_WInc 6 109 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 SetHzOff...

Page 837: ...SI Types and Procedures 6 130 6 4 2 Constants for WI values 6 132 6 4 3 Constants for Measurement Dialog Definition 6 135 6 4 4 Relationship of GSI_ID s to GSI_PAR s 6 139 6 4 5 Data Structures for GSI Functions 6 142 6 4 6 GSI_GetRunningNr 6 144 6 4 7 GSI_SetRunningNr 6 145 6 4 8 GSI_ GetIndivNr 6 145 6 4 9 GSI_SetIndivNr 6 146 6 4 10 GSI_IsRunningNr 6 146 6 4 11 GSI_SetIvPtNrStatus 6 147 6 4 12 ...

Page 838: ...GSI_GetLineSysMDlg 6 169 6 4 36 GSI_SetMDlgNr 6 170 6 4 37 GSI_GetMDlgNr 6 171 6 4 38 GSI_CreateMDlg 6 171 6 4 39 GSI_SetLineMDlg 6 173 6 4 40 GSI_SetLineMDlgText 6 174 6 4 41 GSI_SetLineMDlgPar 6 175 6 4 42 GSI_UpdateMDlg 6 177 6 4 43 GSI_DefineMDlg 6 178 6 4 44 GSI_UpdateMeasurment 6 178 6 4 45 GSI_Measure 6 179 6 4 46 GSI_ExecuteAutoDist 6 180 6 4 47 GSI_CheckTracking 6 180 6 4 48 GSI_RecordRec...

Page 839: ... CSV_ChangeFace 6 196 6 5 17 CSV_SetLockStatus 6 197 6 5 18 CSV_GetLockStatus 6 198 6 5 19 CSV_LockIn 6 199 6 5 20 CSV_LockOut 6 200 6 5 21 CSV_SetATRStatus 6 200 6 5 22 CSV_GetATRStatus 6 201 6 5 23 CSV_Delay 6 201 6 5 24 CSV_SetTargetType 6 202 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 ...

Page 840: ... Create an alert beep MMI_CheckButton Checks if a button was pressed MMI_CreateGBMenu Creates a menu MMI_CreateGBMenuItem Creates an item to an existing menu MMI_CreateGBMenuItem Str Creates an item with a variable string MMI_CreateGBMenuStr Creates a menu with variable strings MMI_CreateGraphDialog Create and show a graphics dialog MMI_CreateMenuItem Creates a menu item on the Theodolite menu MMI...

Page 841: ...Return the currently displayed unit of pressure MMI_GetTempUnit Return the currently displayed unit of temperature MMI_GetTimeFormat This function retrieves the format used to display the time MMI_GetVAngleMode Returns the V Angle mode MMI_GetVarBeepStatus Read the switch status for a variable signal beep MMI_InputInt Get an integer input value in a text dialog MMI_InputList Shows a list field in ...

Page 842: ...aF key MMI_SwitchIconsBeep Switches measurement icons and special beeps MMI_SwitchVarBeep Switch a varying beep MMI_WriteMsg Output to a message window Parameter is a token MMI_WriteMsgStr Output to a message window Parameter is a string 6 1 2 MMI Data Types 6 1 2 1 ListArray List field data structure Description This array is used for list fields and consists of LIST_ARRAY_MAX_ELEMENT 200 element...

Page 843: ...ded at a time are limited to 25 The maximum number of entry points over all applications C and GeoBASIC applications is 50 All GLOBAL declared subroutines count as entry points Be aware of the fact that the interpreter and a possible Coding function also count for the number of application The same is true for any C application which has been loaded onto the TPS Note The subroutine denoted in sFun...

Page 844: ...y error handling Only the loader will report an error which may be caused by an erroneous call Example The example uses the MMI_CreateMenuItem routine to create a menu entry named START THE PROGRAM under the main menu The function Main in the GeoBASIC program ExampleProgram will be called when this menu item is selected MMI_CreateMenuItem ExampleProgram Main MMI_MENU_PROGRAMS START THE PROGRAM 6 1...

Page 845: ... The caption of the menu iMenuId out Returned menu identifier It is the handle for using this menu Return Codes RC_OK Successful termination MMI_NOMORE_ MENUS No more menus available See Also MMI_CreateGBMenuItem MMI_DeleteGBMenu MMI_SelectGBMenuItem MMI_AddGBMenuButton Example The example creates a menu with a button For a complete example see sample program MENU GBS CONST MHELP Help for measurem...

Page 846: ...TEST iSelection iButton SELECT CASE iSelection CASE 1 Polygon CASE ELSE MMI_BeepAlarm END SELECT MMI_DeleteGBMenu iMenu 6 1 5 MMI_CreateGBMenuItem Description Creates an item in an existing menu Declaration MMI_CreateGBMenuItem BYVAL iMenuId AS Integer BYVAL sMenuItemName AS _Token BYVAL sHelpText AS _Token Remarks This function adds one menu item to an existing menu iMenuId This item will be disp...

Page 847: ...reateGBMenuStr BYVAL sMenuName AS sLine iMenuId AS Integer Remarks This routine creates an empty menu and the caption sMenuName sMenuName need not be constant it can be generated during the execution of the program The function MMI_CreateGBMenuItemStr adds items to this kind of menu Note Before terminating a GeoBASIC program all menus must be deleted The GeoBASIC menus system has the following lim...

Page 848: ...menu identifier DIM iSelection AS Integer selected item DIM iButton AS Integer used button DIM sMenuName AS sLine menu name DIM sMenuItemName1 AS sLine menu item 1 name DIM sMenuItemName2 AS sLine menu item 2 name DIM iLangNr AS Integer language number DIM sLangName AS String20 language name DIM sInstrumentName AS String30 instrument name generate menu name CSV_GetInstrumentName sInstrumentName sM...

Page 849: ...ting menu Declaration MMI_CreateGBMenuItemStr BYVAL iMenuId AS Integer BYVAL sMenuItemName AS sLine BYVAL sHelpText AS _Token Remarks This routine adds one menu item to an existing menu iMenuId This item will be displayed as the last item The menu must be created with MMI_CreateGBMenuStr sMenuItemName need not be constant it can be generated during the execution of the program Parameters iMenuId i...

Page 850: ...deletes the menu iMenuId Parameters iMenuId in Menu identifier Return Codes RC_OK Successful termination BAS_MENU_ ID_INVALID Bad iMenuId See Also MMI_CreateGBMenu MMI_CreateGBMenuItem MMI_SelectGBMenuItem MMI_AddGBMenuButton Example see MMI_CreateGBMenu 6 1 9 MMI_SelectGBMenuItem Description Select a menu item Declaration MMI_SelectGBMenuItem BYVAL iMenuId AS Integer BYVAL sCaptionLeft AS _Token ...

Page 851: ...sed button Return Codes RC_OK Successful termination BAS_MENU_ ID_INVALID Bad iMenuId See Also MMI_CreateGBMenu MMI_CreateGBMenuItem MMI_DeleteGBMenu MMI_AddGBMenuButton Example see MMI_CreateGBMenu 6 1 10 MMI_AddGBMenuButton Description 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 ...

Page 852: ...tem Example see MMI_CreateGBMenu 6 1 11 MMI_CreateTextDialog Description Create and show a text dialog Declaration MMI_CreateTextDialog BYVAL iLines AS Integer BYVAL sCaptionLeft AS _Token BYVAL sCaptionRight AS _Token BYVAL sHelptext AS _Token Remarks The routine creates and shows a dialog with iLines lines the left part of the title bar sCaptionLeft the caption sCaptionRight and the help text sH...

Page 853: ...ber of lines of the dialog There are up to 12 lines possible If the dialog has more than 6 lines a scrollbar on the right side appear and it is possible to scroll up and down with the cursor keys sCaptionLeft in The maximal five character long part of the title bar displayed left of the CaptionRight with a separation symbol sCaptionRight in The caption of the dialog sHelpText in This text is shown...

Page 854: ...text AS _Token Remarks The routine creates and shows a graphics dialog filled with the left part of the title bar sCaptionLeft the caption sCaptionRight and the help text sHelpText for later use of MMI graphics functions The size of the field is the whole dialog display area 232 x 48 pixels Only one graphics dialog can exist at the same time If CreateGraphDialog is called while already a graphics ...

Page 855: ...tDialog GSI_CreateMDlg MMI Graphic Functions Example The example uses the MMI_CreateGraphDialog routine to create and display a graphic dialog field MMI_CreateGraphDialog GRAPH DIALOG CAPTION This is a help text 6 1 13 MMI_DeleteDialog Description Deletes a dialog Declaration MMI_DeleteDialog Remarks The routine deletes the currently active dialog It makes no distinction between graphic measure an...

Page 856: ...CheckButton checks the keyboard buffer for pressed buttons If a button was pressed the routine returns KeyPressed TRUE otherwise KeyPressed FALSE is returned Note The routine MMI_CheckButton does not wait until a button was pressed It only checks the keyboard buffer Parameters lKeyPressed In lKeyPressed TRUE is returned if a valid button was pressed Otherwise the value of lKeyPressed is FALSE Retu...

Page 857: ...ressed and returns the button Identifier iButtonId of the pressed button If lAllKeys FALSE the keys ESC ENTER ON OFF or any assigned button added with MMI_AddButton terminates this function and the iButtonId of the pressed button is returned If lAllKeys TRUE additional keys i e the cursor keys terminates this routine too For details see table below Note This function relates to the currently activ...

Page 858: ...TER within dialog focus on a field MMI_UNASS_KEY no return ENTER within dialog no focus MMI_UNASS_KEY no return ENTER after editing MMI_EDIT_ ENTER_KEY MMI_EDIT_ ENTER_KEY ESC within dialog MMI_ESC_KEY MMI_ESC_KEY ESC after editing MMI_EDIT_ ESC_KEY no return SHIFT MMI_UNASS_KEY no return 0 9 focus on spin list field MMI_UNASS_KEY no return 0 9 no focus MMI_NUM0_KEY MMI_NUM9_KEY no return CE MMI_U...

Page 859: ...en Remarks The routine MMI_AddButton adds the button with the Identifier iButtonId to the actual dialog and places the text sCaption onto the button These added buttons are valid for the routines MMI_CheckButton and MMI_GetButton and the input routines MMI_InputStr MMI_InputVal MMI_InputInt and MMI_InputList which means the according button identifier can be returned from this routines Note Either...

Page 860: ...DLG_EXIST No dialog exists for this operation MMI_BUTTON_ID_EXISTS This button has been defined already See Also MMI_GetButton MMI_CheckButton MMI_DeleteButton Example The example uses the MMI_AddButton routine to add the F2 KEY with the caption EXIT to the dialog MMI_AddButton MMI_F2_KEY EXIT 6 1 17 MMI_DeleteButton Description Delete a button from a dialog Declaration MMI_DeleteButton iButtonId ...

Page 861: ...leteButton routine to delete the F2 KEY from the dialog MMI_DeleteButton MMI_F2_KEY 6 1 18 MMI_PrintStr Description Print a string on a text dialog Declaration MMI_PrintStr BYVAL iColumn AS Integer BYVAL iLine AS Integer BYVAL sText AS String30 BYVAL lValid AS Logical Remarks The text string sText is placed on position iColumn and iLine on the text dialog If lValid is not TRUE then the symbols for...

Page 862: ...int the text string Hello World in the first line on row 2 of the actual text dialog MMI_PrintStr 2 0 Hello World TRUE 6 1 19 MMI_PrintTok Description Print a string on a text dialog Declaration MMI_PrintTok BYVAL iColumn AS Integer BYVAL iLine AS Integer BYVAL sText AS _Token Remarks The text token sText is placed on position iColumn and iLine on the text dialog Too long text strings are truncate...

Page 863: ...t line on row 2 of the actual text dialog MMI_PrintTok 2 0 Hello World 6 1 20 MMI_PrintVal Description Print a value on a text dialog Declaration MMI_PrintVal BYVAL iColumn AS Integer BYVAL iLine AS Integer BYVAL iLen AS Integer BYVAL iDecimals AS Integer BYVAL dVal AS Double BYVAL lValid AS Logical BYVAL iMode AS Integer Remarks This routine can be used to display double values or values with equ...

Page 864: ...lue to display Use this routine to display double and equal to double values with the correct units For integer values a separate routine MMI_PrintInt exists lValid in Determines if the value should be shown as valid If lValid TRUE the value dVal is displayed otherwise the symbols for invalid values are displayed iMode in Determines the display of the dimension If Mode MMI_DIM_ON a dimension field...

Page 865: ...e value iVal is placed on position iColumn and iLine on the text dialog otherwise the symbols for invalid values are displayed If the iVal can not be displayed in iLen characters then xxx will be displayed instead 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 iLen in The le...

Page 866: ...VAL iLine AS Integer BYVAL iLen AS Integer BYVAL iMode AS Integer sText AS String30 lValid AS Logical iButtonId AS Integer Remarks If lValid TRUE the text string sText is placed on position iColumn and iLine on the text dialog otherwise the symbols for invalid values are displayed Illegal co ordinates are adjusted If the length of the string exceeds the given length iLen the string is truncated at...

Page 867: ...ertical position 0 number of lines defined with MMI_CreateTextDialog iLen in The length of the input field iMode in Defines the editing mode MMI_DEFAULT_MODE defines normal editing MMI_SPECIALKEYS_ON allows editing with full cursor control sText inout The text string to edit lValid inout Determines if the value should be shown as valid If lValid TRUE the string sText is displayed otherwise the sym...

Page 868: ...teger BYVAL iDecimals AS Integer BYVAL dMin AS Double BYVAL dMax AS Double BYVAL iMode AS Integer dVal AS Double lValid AS Logical iButtonId AS Integer Remarks If lValid TRUE then the value dVal is placed on position iColumn and iLine on the text dialog otherwise the symbols for invalid values are displayed Illegal co ordinates are adjusted If iMode MMI_DIM_ON a dimension field is automatically di...

Page 869: ...alog iLen in The length of the value inclusive decimals sign and the comma exclusive the dimension field iDecimals in The number of decimals If iDecimals 1 the number of decimals set by the system is taken dMin dMax in The lower and upper bounds iMode in Defines the editing mode MMI_DEFAULT_MODE defines normal editing MMI_SPECIALKEYS_ON allows editing with full cursor control MMI_DIM_ON shows a di...

Page 870: ...ermination BAS_NO_DLG_EXIST No dialog exists for this operation See Also MMI_InputInt MMI_PrintVal Example See example file cursor gbs too The example uses the MMI_InputVal routine to get the distance of TestVal with default decimal places Input field is placed in the second line on row 2 of the actual text dialog The entered values must lie in the range 0 1000 CONST MODE MMI_DEFAULT_MODE define e...

Page 871: ... no part of the field is in the dialog area the value is not edited and the routine exits The integer value within the bounds iMin and iMax 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 the edit process and the iButtonId of the pressed button is returned If iMode MMI_SPEC...

Page 872: ...the symbols for invalid values are displayed iButtonId out 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_PrintInt MMI_InputVal Example See example file cursor gbs too The example uses the MMI_InputInt routine to get the value of iTestVal in the second line on row 2 of t...

Page 873: ...rst iElements are displayed The value of iIndex defines which element is shown first The list can be edited by pressing F6 LIST With the cursor keys UP and DOWN a field element can be selected If the list elements are numbered begins with a number then the elements can be selected directly by pressing numerical buttons If iMode MMI_DEFAULT_MODE the keys ESC ENTER ON OFF or any user defined button ...

Page 874: ...are in the range of 1 up to Elements lValid inout Determines if the value should be shown as valid If lValid TRUE the a value is displayed otherwise the symbols for invalid values are displayed iButtonId out The identifier of the pressed valid button to exit the list process Return Codes RC_OK Successful termination BAS_NO_DLG_EXIST No dialog exists for this operation Example See example file curs...

Page 875: ...ne No 2 List 3 3 Line No 3 List 4 4 Line No 4 List 5 5 Line No 5 List 6 6 Line No 6 List 7 7 Line No 7 InputList 5 1 iLen iElements MODE List iIndex lValid iButton 6 1 26 MMI_FormatVal Description Convert a value to a string and use TPS system formatting rules Declaration MMI_FormatVal BYVAL iType AS Integer BYVAL iLen AS Integer BYVAL iDecimals AS Integer BYVAL dVal AS Double BYVAL lValid AS Logi...

Page 876: ...ation Parameters iType in The type of the numerical field The type defines if a dimension field is available Following values for the type can be used Type Meaning MMI_FFORMAT_DOUBLE double MMI_FFORMAT_DISTANCE distance MMI_FFORMAT_ SUBDISTANCE sub distance mm MMI_FFORMAT_ANGLE angle MMI_FFORMAT_VANGLE vertical angle MMI_FFORMAT_HZANGLE horizontal angle MMI_FFORMAT_ TEMPERATURE temperature MMI_FFO...

Page 877: ...due to an illegal input value See Also sFormatVal Example The example uses the MMI_FormatVal routine to convert the value dTestVal as distance with corresponding dimension DIM dTestVal AS Distance DIM sVString AS String30 dTestVal 287 47 MMI_FormatVal MMI_FFORMAT_DISTANCE 10 1 dTestVal TRUE MMI_DIM_ON sVString 6 1 27 MMI_WriteMsg Description Output to a message window Declaration MMI_WriteMsg BYVA...

Page 878: ...either font attributes nor type information Parameters sText in Text token to be displayed on the window on the Theodolite sCaption in Text token that will be displayed as title of the window iMsgType in Defines the type of the message window to be displayed with the corresponding text on the buttons possible types MMI_MB_OK MMI_MB_ABORT MMI_MB_OK_ABORT MMI_MB_ABORT_RETRY_CONT MMI_MB_YES_NO_ABORT ...

Page 879: ...he function opens a message window on the display which shows the text specified by sText Lines which are too long to fit into the window are split automatically sText may contain a carriage return character code 10 which breaks a line explicitly The predefined constants MMI_INVERSE_ON and MMI_INVERSE_OFF can be used for inverse text Text lines that exceed the size of the window are not displayed ...

Page 880: ...pes 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 iRetKey out 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 RC_OK Successful termination BAS_NO_DLG_E...

Page 881: ...tr iTimeOut seconds MMI_WriteMsgStr Warning sMessage MMI_MB_RETRY_ABORT iMBRetKey 6 1 29 MMI_DrawLine Description Draw a line Declaration MMI_DrawLine BYVAL iX1 AS Integer BYVAL iY1 AS Integer BYVAL iX2 AS Integer BYVAL iY2 AS Integer BYVAL iPen AS Integer Remarks The function draws a line within the graphic field using the line style iPen Note A graphics dialog has to be set up before Parameters ...

Page 882: ... MMI_DrawText Example The example uses the MMI_DrawLine routine to draw a line with the specified attributes MMI_DrawLine 10 10 100 50 MMI_PEN_BLACK 6 1 30 MMI_DrawRect Description Draw a rectangle Declaration MMI_DrawRect BYVAL iX1 AS Integer BYVAL iY1 AS Integer BYVAL iX2 AS Integer BYVAL iY2 AS Integer BYVAL iBrush AS Integer BYVAL iPen AS Integer Remarks This function draws a rectangle in the ...

Page 883: ...ottom right hand corner of the rectangle pixel iBrush in Fill style for the rectangle possible values MMI_BRUSH_WHITE MMI_BRUSH_BLACK MMI_NO_BRUSH iPen in Line style MMI_PEN_WHITE MMI_PEN_BLACK MMI_PEN_DASHED Return Codes RC_OK Successful termination BAS_NO_DLG_EXIST No graphics dialog exists for this operation See Also MMI_CreateGraphDialog MMI_DrawLine MMI_DrawCircle MMI_DrawText Example The exa...

Page 884: ...he line style iPen as long as iRx iRy Otherwise an ellipse is drawn where iRx and iRy are the lengths of the perpendicular radii Note A graphics dialog has to be set up before Parameters iX in x co ordinate at the centre of the circle ellipse pixel iY in y co ordinate at the centre of the circle ellipse pixel iRx in Radius of the circle horizontal radius pixel iRy in Radius of the circle vertical ...

Page 885: ...AS Integer BYVAL sText AS String20 BYVAL iAttr AS Integer BYVAL iPen AS Integer Remarks This function either draws iPen MMI_PEN_BLACK or deletes iPen MMI_PEN_WHITE a text string in graphic field The co ordinates iX iY correspond to the upper left hand corner of the first character The character size is 6 x 8 pixel Note A graphics dialog has to be set up before Parameters iX in x co ordinate at the...

Page 886: ...eGraphDialog MMI_DrawLine MMI_DrawRect MMI_DrawCircle Example Print a text at position 10 10 DIM sOutput AS String20 sOutput distance MMI_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 in TRUE Icon ...

Page 887: ...unctions create one or a sequence of alert beeps with configurable volume if the boxes are turned on Any previously set continuous signal beep will be finished Return Codes RC_OK Successful termination See Also MMI_StartVarBeep MMI_SwitchVarBeep MMI_GetVarBeepStatus Example The example uses the MMI_BeepNormal to sound a signal beep MMI_BeepNormal 6 1 35 MMI_StartVarBeep Description Start beep sequ...

Page 888: ...ple uses the MMI_StartVarBeep to create a very fast sequence of signal beeps MMI_StartVarBeep 100 6 1 36 MMI_SwitchVarBeep Description Switch a varying beep Declaration MMI_SwitchVarBeep BYVAL lOn AS Logical Remarks The function allows the general switching on off of a signal beep A continuous signal beep will be switched off immediately Parameters lOn in switches the beep on or off lOn meaning FA...

Page 889: ...MMI_SwitchVarBeep TRUE 6 1 37 MMI_GetVarBeepStatus Description Read the switch status for a variable signal beep Declaration MMI_GetVarBeepStatus lOn AS Logical Remarks The function retrieves the state of the general signal beep switch Parameters lOn out state of the switch lOn meaning FALSE off TRUE on Return Codes RC_OK Successful termination See Also MMI_BeepNormal MMI_BeepLong MMI_BeepAlarm MM...

Page 890: ...ion Switch the aF key on or off Declaration MMI_SwitchAFKEY BYVAL lOn AS Logical Remarks The function allows the switching on off off the aF key Normally it is enabled but during tracking distances it is disabled Parameters lOn in switches the beep on or off lOn meaning FALSE Key is switched off generally TRUE Key is active Return Codes RC_OK Successful termination See Also BAP_MeasRec BAP_MeasDis...

Page 891: ...ns and special beeps sector and lost lock Parameters lOn in switches the icons and beep on or off lOn meaning FALSE no measurement icons and no special beep TRUE the measurement icons will be updated and the beeps are enabled 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 ex...

Page 892: ...ameters iVertRel in Relationship of the vertical angle valid values MMI_VANGLE_IN_PERCENT MMI_VANGLE_REL_HORIZON MMI_VANGLE_REL_ZENIT iHorzRel in 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 RC_IVPARAM The function has been called with an invalid parameter See ...

Page 893: ...ship of the horizontal angle Return Codes none See Also MMI_SetAngleRelation Example Get the angle relations DIM iVertRel AS Integer DIM iHorzRel AS Integer MMI_GetAngleRelation iVertRel iHorzRel 6 1 42 MMI_SetVAngleMode Description Set the V Angle mode Declaration MMI_SetVAngleMode BYVAL lAngleFree AS Logical Remarks This function sets the vertical angle mode Normally lAngleFree FALSE the vertica...

Page 894: ...ters lAngleFree in TRUE V Angle is free running Return Codes RC_OK Successful termination See Also MMI_SetVAngleMode Example See example file meas gbs 6 1 44 MMI_SetAngleUnit Description Set the displayed unit of angle Declaration MMI_SetAngleUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the displayed unit of angle Existing display fields are not updated If iDigit...

Page 895: ...x 300 only for vertical angles iDigits in Number of decimal places The maximum number of decimal places iDigits for each unit is set to the following values angle unit places MMI_ANGLE_GON 0 4 MMI_ANGLE_DEC 0 4 MMI_ANGLE_SEXADEC 0 4 MMI_ANGLE_MIL 0 3 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...

Page 896: ...nation See Also MMI_SetAngleUnit Example Get the angle unit DIM iUnit AS Integer DIM iDigits AS Integer MMI_GetAngleUnit iUnit iDigits 6 1 46 MMI_SetDistUnit Description Set the displayed unit of distance Declaration MMI_SetDistUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the display unit for distance Fields already displayed are not updated If iDigits is greater...

Page 897: ...T_MM Millimetre MMI_DIST_INCH inches iDigits in Number of decimal places The maximum number of decimal places iDigits for each unit is set to the following values angle unit places MMI_DIST_METER 0 4 MMI_DIST_FOOT 0 4 MMI_DIST_FOOT_INCH 0 1 MMI_DIST_US_FOOT 0 4 MMI_DIST_US_FOOT_INCH 0 1 MMI_DIST_MM 0 MMI_DIST_INCH 0 3 Return Codes RC_OK Successful termination RC_IVPARAM The function has been calle...

Page 898: ...cimal places Return Codes RC_OK Successful termination See Also MMI_SetDistUnit Example Get the distance unit DIM iUnit AS Integer DIM iDigits AS Integer MMI_GetDistUnit iUnit iDigits 6 1 48 MMI_SetPressUnit Description Set the displayed unit of pressure Declaration MMI_SetPressUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the display unit for pressure Fields alre...

Page 899: ...scal MMI_PRESS_PSI PSI iDigits in Number of decimal places The maximum number of decimal places iDigits for each unit is set to the following values angle unit places MMI_PRESS_MBAR 0 1 MMI_PRESS_MMHG 0 1 MMI_PRESS_INCHHG 0 1 MMI_PRESS_HPA 0 1 MMI_PRESS_PSI 0 1 Return Codes RC_OK Successful termination RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetPressUnit Exam...

Page 900: ...mal places Return Codes RC_OK Successful termination See Also MMI_SetPressUnit Example Get the pressure unit DIM iUnit AS Integer DIM iDigits AS Integer MMI_GetPressUnit iUnit iDigits 6 1 50 MMI_SetTempUnit Description Set the displayed unit of temperature Declaration MMI_SetTempUnit BYVAL iUnit AS Integer BYVAL iDigits AS Integer Remarks This function sets the display unit for temperature Fields ...

Page 901: ...places MMI_TEMP_C 0 1 MMI_TEMP_F 0 1 Return Codes RC_OK Successful termination RC_IVPARAM The function has been called with an invalid parameter See Also MMI_GetTempUnit Example Set the temperature unit MMI_SetTempUnit MMI_TEMP_C 1 6 1 51 MMI_GetTempUnit Description Return the currently displayed unit of temperature Declaration MMI_GetTempUnit iUnit AS Integer iDigits AS Integer Remarks This funct...

Page 902: ...Set the date display format Declaration MMI_SetDateFormat BYVAL iFormat AS Integer Remarks This function sets the format in which the date is to be displayed Existing fields remain unchanged Parameters iFormat in Specified date format possible values value meaning MMI_DATE_EU European DD MM YY MMI_DATE_US US MM DD YY MMI_DATE_JP Japanese YY MM DD Return Codes RC_OK Successful termination RC_IVPARA...

Page 903: ...meters iFormat out Specified date format Return Codes RC_OK Successful termination See Also MMI_SetDateFormat Example Get the date format DIM iFormat AS Integer MMI_GetDateFormat iFormat 6 1 54 MMI_SetTimeFormat Description Set the time display format Declaration MMI_SetTimeFormat BYVAL iFormat AS Integer Remarks This function sets the format in which the time is to be displayed Existing fields re...

Page 904: ...imeFormat MMI_TIME_12H 6 1 55 MMI_GetTimeFormat Description Retrieves the time display format Declaration MMI_GetTimeFormat iFormat AS Integer Remarks This function retrieves the format used to display the time Parameters iFormat out Specified time format Return Codes RC_OK Successful termination RC_IVPARAM The function has been called with an invalid parameter See Also MMI_SetTimeFormat Example G...

Page 905: ...f co ordinates The fields already displayed are not changed Parameters iOrder in Specifies the co ordinate order possible values value meaning MMI_COORD_N_E Order North East MMI_COORD_E_N Order East North Return Codes RC_OK Successful termination 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...

Page 906: ...RC_OK Successful termination See Also MMI_SetCoordOrder Example Get the co ordinate order DIM iOrder AS Integer MMI_GetCoordOrder iOrder 6 1 58 MMI_SetLanguage Description Set the display language Declaration MMI_SetLanguage BYVAL iLanguageNr AS Integer Remarks This function sets the current language All displayed text are immediately shown in the new language Parameters iLanguageNr in Specifies t...

Page 907: ...alue MMI_SetLanguage MMI_REF_LANGUAGE 6 1 59 MMI_GetLanguage Description Query the current language Declaration MMI_GetLanguage iLangNr AS Integer sLangName AS String20 Remarks This function returns the current language and the associated character symbols Parameters iLangNr out Language number sLangName out Language description Return Codes RC_OK Successful termination See Also MMI_SetLanguage Ex...

Page 908: ...r AS Integer sLangName AS String20 Remarks This routine delivers the name associated with the number iLangNr Parameters iLangNr in Language number sLangName out 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 ...

Page 909: ...AP_GetMeasPrg Get the current distance measure program BAP_MeasDistAngle Measures distance and angles BAP_MeasRec Measures and record distance and angles BAP_PosTelescope Positioning of the Telescope BAP_SearchPrism Searches the prism 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 S...

Page 910: ...e example displays the accessories dialog BAP_SetAccessoriesDlg 6 2 3 BAP_MeasDistAngle Description Measures distance and angles Declaration BAP_MeasDistAngle iDistMode AS Integer dHz AS Angle dV AS Angle dDist AS Distance BYVAL lDisplayOn AS Logical BYVAL sCaptionLeft AS _Token Remarks Measures distance and angles and updates the data pool after correct measurements It controls the special beep S...

Page 911: ...racking measurement program BAP_STOP_TRK Stop tracking no measurement No valid results returned BAP_CLEAR_DIST Clear distance Theodolite data pool no measurement No valid results returned BAP_RED_TRK_ DIST Measure distance and angles using the tracking with red laser measurement program Mode returned Meaning BAP_DEF_DIST Depends on distance measurement Can be changed during distance measurement BA...

Page 912: ...tion failed AUT_RC_DETECTOR_ ERROR Error in target acquisition AUT_RC_DETENT_ ERROR Positioning not possible due to mounted EDM AUT_RC_DEV_ERROR Deviation measurement error AUT_RC_INCACC Position not exactly reached AUT_RC_MOTOR_ ERROR Motorization error AUT_RC_MULTIPLE_ TARGETS Multiple targets detected AUT_RC_NO_TARGET No target detected AUT_RC_TIMEOUT Position not reached BAP_CHANGE_ALL_ TO_DIS...

Page 913: ...or occurred during distance measurement TMC_DIST_PPM Error wrong setting of PPM or MM on EDM TMC_NO_FULL_ CORRECTION Warning measurement without full correction 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_MeasRec Example See example file meas gbs The example uses the BAP_MeasDistAngle routine to measu...

Page 914: ...st Lock switches Measurement icons and disables aF Key during tracking Parameters iDistMode Distance measuring modes Mode as Input Meaning BAP_NO_MEAS No new measurement before recording BAP_NO_DIST No distance measurement before recording only new angles BAP_DEF_DIST Use default distance measurement program and record values BAP_TRK_DIST Use the tracking measurement program and record values BAP_...

Page 915: ...he distance measurement display lDisplayOn in TRUE shows the distance measurement display during distance measurement Return Codes RC_OK Successful termination WIR_NO_MEDIUM No storage medium is available AUT_RC_ANGLE_ ERROR Angle measurement error AUT_RC_BAD_ ENVIRONMENT Bad Environment conditions AUT_RC_CALACC ATR calibration failed AUT_RC_ DETECTOR_ERROR Error in target acquisition AUT_RC_DETEN...

Page 916: ...ERROR Error no valid angle measurement TMC_ANGLE_NO_ FULL_ CORRECTION Warning only angle measurement valid accuracy cannot be guaranteed TMC_ANGLE_OK Warning only angle measurement valid TMC_BUSY Error TMC sub module already in use by another subsystem command not processed TMC_DIST_ERROR An error occurred during distance measurement TMC_DIST_PPM Error wrong setting of PPM or MM on EDM TMC_NO_FULL...

Page 917: ... target If the target is not within the sensor measure region a target search will be executed The target search range is limited by the parameter dSearchV in V direction and by parameter dSearchHz in Hz direction If no target is found the instrument turns back to the initial start position The ATR mode must be enabled for this functionality see CSV_SetATRStatus and CSV_GetATRStatus Parameters dSe...

Page 918: ...GetATRStatus Example The example see sample TRACKING GBS 6 2 6 BAP_SearchPrism Description Searches the prism Declaration BAP_SearchPrism BYVAL lShowMessages As Logical Remarks This procedure searches the prism The searching area depends on the defined searching area and on the setting of the additional working area This routine works only in ATR instruments and needs at least Firmware Release 2 0...

Page 919: ...R mode not enabled enable ATR mode See Also CSV_SetATRStatus CSV_GetATRStatus 6 2 7 BAP_SetManDist Description Set the distance manually Declaration BAP_SetManDist BYVAL sCaptionLeft AS _Token BYVAL dDistance AS Double iButtonId AS Integer Remarks The BAP_SetManDist routine starts a dialog with the caption sCaption where the user can enter a horizontal distance The distance will be stored into the...

Page 920: ...ion RC_IVPARAM Error invalid DistMode See Also TMC_IfDistTapeMeasured TMC_SetHandDist TMC_GetPolar TMC_GetCoordinate Example The example uses the BAP_SetManDist routine to enter a distance DIM iButton AS Integer DIM dInitDist AS Distance dInitDist 15 0 initial value BAP_SetManDist BASIC dInitDist iButton 6 2 8 BAP_SetPpm Description Sets the PPM for distance measurements Declaration BAP_SetPpm Rem...

Page 921: ...ch the user can complete in order to choose one of five prism types constants Two types are LEICA defaults whereas the other three can be named and the constant values given changed by the user The prism constants are always given and displayed in millimetres regardless of the distance units in use at the time Return Codes RC_OK Successful termination See Also BAP_SetManDist BAP_SetPpm Example The...

Page 922: ... VISIBLE Single measurement with reflector and red laser BAP_SINGLE_RLESS_ VISIBLE Single measurement reflectorless with red laser BAP_CONT_REF_ STANDARD Continuous measurement with reflector standard speed BAP_CONT_REF_FAST Continuous measurement with reflector fast BAP_CONT_RLESS_ VISIBLE Continuous measurement reflectorless with red laser BAP_AVG_REF_ STANDARD Average measurement with reflector...

Page 923: ...rograms Meaning BAP_SINGLE_REF_ STANDARD Single measurement with reflector standard speed BAP_SINGLE_REF_ FAST Single measurement with reflector fast BAP_SINGLE_REF_ VISIBLE Single measurement with reflector and red laser BAP_SINGLE_RLESS_ VISIBLE Single measurement reflectorless with red laser BAP_CONT_REF_ STANDARD Continuous measurement with reflector standard speed BAP_CONT_REF_FAST Continuous...

Page 924: ...ription Positioning of the Telescope Declaration BAP_PosTelescope BYVAL eMode AS Integer BYVAL eDspMode AS Integer BYVAL dHz AS Double BYVAL dV AS Double BYVAL dHzTolerance AS Double BYVAL dVTolerance AS Double 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 ...

Page 925: ...arget position dHzTolerance dVTolerance In case of manual positioning the tolerances define the upper and lower boundaries of the target position For successful termination of the positioning the final target position must be within these boundaries If the tolerance is lower then the default accuracy of the Theodolite the tolerance will be the default accuracy Return Codes RC_OK Positioning succes...

Page 926: ... the TMC subsystem for the horizontal angle encoder A button is provided for setting the angle to zero directly or the user may prefer to input another given value Furthermore the angle beep at the quarter circle positions from 0 can be turned on and off Note 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...

Page 927: ... tracking and fixed co ordinates TMC_DIST_SWITCHES_ Type Distance measurement switches TMC_Distance_Type Data structure for the distance measurement TMC_HZ_V_Ang_Type Horizontal and vertical angle TMC_Incline_Type Data structure for the inclination measurement TMC_OFFSET_DIST_ Type Target offset TMC_PPM_CORR_Type Correction for distance measurement TMC_REFRACTION_Type Refraction correction for dis...

Page 928: ...rns the angle measurement correction switches TMC_GetCoordinate Calculate and read co ordinates TMC_GetDistSwitch 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 TMC_GetOffsetDist Returns the distance measurement of...

Page 929: ...le cross inclination dLengthIncline AS Double alongside inclination dAccuracyIncline AS Double accuracy of measuring InclineTime AS Integer time of measuring END TMC_Incline_Type 6 3 2 2 TMC_ANGLE Data structure for measuring angles TYPE TMC_Angle_Type dHz AS Double horizontal angle dV AS Double vertical angle dAngleAccuracy AS Double accuracy of angle iAngleTime AS Integer time of measurement Inc...

Page 930: ...t AS Double distance in altitude measured continuously END TMC_Distance_Type 6 3 2 4 TMC_COORDINATE Data structure for the coordinates tracking and fixed co ordinates TYPE TMC_Coordinate_Type dE AS Double east co ordinate dN AS Double north co ordinate dH AS Double height co ordinate iCoordTime AS Integer time of measurement dE_Cont AS Double east coordinate measured continuously dN_Cont AS Double...

Page 931: ...ate dH0 AS Double height co ordinate dHi AS Double instrument height END TMC_STATION_Type 6 3 2 8 TMC_REFRACTION Refraction correction for distance measurement TYPE TMC_REFRACTION_Type bOnOff AS Logical TRUE if refraction is valid dEarthRadius AS Double earth radius dRefractiveScale AS Double refraction coefficient END TMC_REFRACTION_Type 6 3 2 9 TMC_DIST_SWITCH_Type Distance measurement switches ...

Page 932: ...ss dHeightVal AS Distance Target Offset Height END TMC_OFFSET_DIST_Type 6 3 3 TMC_DoMeasure Description Start a measure program Declaration TMC_DoMeasure BYVAL iCommand AS Integer Remarks 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 progra...

Page 933: ...program TMC_DEF_DIST do default distance measure TMC_TRK_DIST do tracking distance measure TMC_RTRK_DIST do fast tracking distance measure TMC_CLEAR clear distance and switch off EDM TMC_SIGNAL start signal measurement test mode TMC_RED_TRK_ DIST do tracking distance measure with red laser See Also TMC_GetPolar TMC_GetCoordinate Return Codes RC_OK measure program started RC_IVPARAM The function ha...

Page 934: ...y inclination are being calculated The result is a point in polar co ordinates Simple and multiple measures distance tracking altitude tracking are supported The horizontal and the inclined distance with the difference in altitude are read The delay iWaitTime just works on the distance measure not on the measure of the angle As long as no new measure program is started the results can be read Addi...

Page 935: ...iReturnCode out see Additional Codes below See Also TMC_GetCoordinates Additional Codes in iReturnCode RC_OK measurement and values are OK TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the results are consist of measuring data which accuracy could not be verified by the system Co ordinates are available TMC_NO_FULL_ CORRECTION The results are not corrected by all active sensors Co ord...

Page 936: ...oint and try it again TMC_DIST_PPM No distance measurement respectively no distance data because of wrong EDM settings The co ordinates are not available Set EDM ppm and mm to 0 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_BUSY TMC resource is locked respectively TMC ta...

Page 937: ...C_DoMeasure TMC_CLEAR 6 3 5 TMC_GetCoordinate Description Calculate and read co ordinates Declaration TMC_GetCoordinate BYVAL iWaitTime AS Integer Coordinate AS TMC_COORDINATE_Type iReturnCode AS Integer Remarks The function calculates and out put co ordinates Angle and possibly inclination are being measured The co ordinates are being corrected The result is a point in Cartesian co ordinates The ...

Page 938: ... ordinates output iReturnCode out return code see Additional Codes See Also TMC_GetPolar Additional Codes in iReturnCode RC_OK measurement and values are OK TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the result are consist of measuring data which accuracy could not be verified by the system Co ordinates are available TMC_NO_FULL_ CORRECTION The results are not corrected by all acti...

Page 939: ...urement respectively no distance data because of wrong EDM settings The co ordinates are not available Set EDM ppm and mm to 0 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_BUSY TMC resource is locked respectively TMC task is busy Repeat measurement RC_ABORT Measurement ...

Page 940: ...ion measures the horizontal and vertical angle and the possibly belonging inclination if the inclination compensation is on If the compensation is off and no valid inclination is present there may be a delay if the inclination can t be measured immediately The correction values for the inclination can be calculated with several methods As long as no new measure program is started the results can b...

Page 941: ...fied by the system 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 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_BUSY TMC resource is locked respectively TMC task is busy Angl...

Page 942: ...e delivers also informational return codes which will not interrupt program execution Parameters iIncProg in The manner of incline compensation Following settings are possible Incline Program Meaning TMC_MEA_INC get inclination apriori sigma TMC_ AUTO_INC get inclination with automatism sensor plane TMC_ PLANE_INC get inclination always with plane Angle out result of measuring the angle iReturnCod...

Page 943: ... 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 DIM Angles AS TMC_Angle DIM iRetCode AS Integer TMC_GetAngle_WInc TMC_AUTO_INC Angles iRetCode 6 3 8 TMC_QuickDist Description Measure slope distance and angles Declaration TMC_QuickDis...

Page 944: ...tion TMC_DoMeasure This function is very good suitable for target tracking where high data transfers are required Note Due to performance reasons the used inclination will be calculated only if incline is activated if the basic data for the incline calculation is exact at least two forced incline measurements should be performed in between The forced incline measurement is only necessary if the in...

Page 945: ...orced 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 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 time out period to short target out of view This mess...

Page 946: ...e data are valid respectively available Aim target point and try it again TMC_DIST_PPM No distance measurement respectively no distance data because of wrong EDM settings The angle data are valid Set EDM ppm and mm to 0 Return Codes 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 Angl...

Page 947: ...tSimpleMea Angles AS TMC_HZ_V_ANG_Type dSlopeDist AS Double iReturnCode 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 If a distance measurement is valid the function ignores WaitTime and returns the results If no valid dista...

Page 948: ...rning TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the result consisting of measuring data which accuracy could not be verified by the system 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 TMC_ANGLE_OK Angle values okay but no valid distance Perform a distance measurement TMC_ANGLE_N...

Page 949: ...tively no distance data because of wrong EDM settings Angle data are available but distance data are not available Set EDM ppm and mm to 0 Return Codes RC_OK Angle OK TMC_ANGLE_ERROR Problems with angle res incline sensor 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 Distanc...

Page 950: ...etting 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 Example The example reads the current definition and sets the opposite one DIM face AS TMC_FACE_DEF TMC_GetAngelFaceDef face IF face TMC_F...

Page 951: ...ouble Remarks Note No distance may exist for setting the Hz offset Call TMC_DoMeasure TMC_CLEAR before this function Parameters dHzOffset out in 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 DIM off AS Double TMC...

Page 952: ...distance measurement Return Codes RC_OK Completed successfully TMC_BUSY TMC is in use and can not be changed Example 6 3 13 TMC_Get SetHeight Description Gets and sets the current height of the reflector Declaration TMC_GetHeight Height AS Double TMC_SetHeight byVal Height AS Double Parameters Height out in Height of reflector in Meters Return Codes RC_OK Completed successfully TMC_BUSY measuremen...

Page 953: ...ction correction value s Return Codes RC_OK Completed successfully TMC_BUSY measurement system is busy no valid results Example 6 3 15 TMC_Get SetRefractiveMethod Description Gets and sets the method of refractive correction for measuring the distance Declaration TMC_GetRefractiveMethod Method AS Integer TMC_SetRefractiveMethod byVal Method AS Integer Parameters Method out in Method of refraction ...

Page 954: ...TMC_CLEAR before this function Parameters Station out in Station co ordinates Return Codes RC_OK Completed successfully TMC_BUSY measurement system is busy no valid results or a distance exists Example 6 3 17 TMC_IfDistTapeMeasured Description Gets information about manual measurement Declaration TMC_IfDistTapeMeasured bTapeMeasured AS Logical Parameters bTapeMeasured out TRUE if measurement has b...

Page 955: ...C_OK Execution successful TMC_NO_FULL_ CORRECTION The results are not corrected by all active sensors This message is to be considers as warning TMC_ACCURACY_ GUARANTEE Accuracy is not guaranteed because the result consisting of measuring data which accuracy could not be verified by the system You can a forced incline measurement perform or switch off the incline This message is to be considers as...

Page 956: ...tches Declaration TMC_SetDistSwitch Switches AS TMC_DIST_SWITCH_Type Remarks This procedure sets the distance measurement correction switches Parameters Switches in Distance switches Return Codes RC_OK Successful termination See Also TMC_GetDistSwitch 6 3 20 TMC_GetDistSwitch Description Returns the distance measurement correction switches Declaration TMC_GetDistSwitch Switches AS TMC_DIST_SWITCH_...

Page 957: ...rism pole The dLengthVal defines the offset away from the prism pole positive means in the line from instrument to prism dCrossVal means right from the prism pole and dHeightVal means higher than prism pole Remarks Note No distance may exist for offset setting Call TMC_DoMeasure TMC_CLEAR before this function Parameters Offsets in Target point offset Return Codes RC_OK Successful termination TMC_B...

Page 958: ...ment to prism dCrossVal means right from the prism pole and dHeightVal means higher than prism pole Parameters Offsets out Target point offset Return Codes RC_OK Successful termination See Also TMC_SetOffsetDist BAP_Offset TMC_IfOffsetDistMeasured 6 3 23 TMC_IfOffsetDistMeasured Description Returns the EDM measurement mode Declaration TMC_IfOffsetDistMeasured lOffset AS Logical Remarks This functi...

Page 959: ...that the instrument automatically turns into an inactive measurement state after a predefined timeout Parameters lFace1 out TRUE Face I FALSE Face II Return Codes RC_OK Successful termination 6 3 25 TMC_SetAngSwitch Description Defines the angle measurement correction switches Declaration TMC_SetAngSwitch Switches AS TMC_ANG_SWITCH_Type Remarks This procedure sets the angle measurement correction ...

Page 960: ...switches Declaration TMC_GetAngSwitch Switches AS TMC_ANG_SWITCH_Type Remarks This procedure returns the actual angle measurement correction switches Parameters Switches in Angular switches Return Codes RC_OK Successful termination See Also TMC_SetAngSwitch 6 3 27 TMC_SetInclineSwitch Description Defines the compensator switch Declaration TMC_SetAngSwitches lOn AS Logical Remarks This procedure en...

Page 961: ...compensator correction state Parameters lOn out Switch Return Codes RC_OK Successful termination See Also TMC_SetInclineSwitch 6 3 29 TMC_GetInclineStatus Description Returns the inclination compensator status Declaration TMC_GetInclineStatus iStatus AS Integer Remarks This procedure returns status of the inclination sensor Parameters iStatus out TMC_INC_OFF Incline sensor is switched off TMC_INC_...

Page 962: ...Reference Manual 6 System Functions TPS1100 Version 2 10 6 129 TMC_INC_FAIL Inclination measurement fails Return Codes RC_OK Successful termination See Also TMC_SetInclineSwitch Example See example file meas gbs ...

Page 963: ... GSI_CheckTracking Returns if distance tracking is running GSI_CreateMDlg Creates and shows the user definable measurement dialog GSI_DefineMDlg Defines the entries of the user definable measurement dialog GSI_DefineRecMaskDlg Defines the recording mask dialog GSI_ExecuteAutoDist Executes an automatic distance measurement GSI_ExecQCoding Executes the Quick Coding GSI_GetDataPath Get the name of th...

Page 964: ...w the manual co ordinate input dialog GSI_Measure Entry point for measure and registration dialog measure and registration GSI_QuickSet Show the Quickset dialog GSI_RecordRecMask Recording the given wi mask GSI_SelectCode This routine shows the codelist coding dialog GSI_SetDataPath Set the file with the import data GSI_SetIndivNr Sets the individual point number GSI_SetIvPtNrStatus Switches the i...

Page 965: ... Theodolite data pool GSI_UpdateMDlg Updates the user definable measurement dialog GSI_UpdateMeasurment Update the measurement data 6 4 2 Constants for WI values Definitions for WI values Name Data Type Meaning GSI_ID_PTNR String Point number GSI_ID_FNR Double Serial number GSI_ID_TYPE String Device type GSI_ID_TIME_1 String First time art GSI_ID_TIME_2 String Second time art GSI_ID_HZ Double Hori...

Page 966: ..._ID_CODE_1 String Information 1 GSI_ID_CODE_2 String Information 2 GSI_ID_CODE_3 String Information 3 GSI_ID_CODE_4 String Information 4 GSI_ID_CODE_5 String Information 5 GSI_ID_CODE_6 String Information 6 GSI_ID_CODE_7 String Information 7 GSI_ID_CODE_8 String Information 8 GSI_ID_PPMM String mm and ppm GSI_ID_SIGMA String Distance count and deviation GSI_ID_MM Double mm GSI_ID_PPM Double ppm GS...

Page 967: ..._ID_PTCD_DSC String Point code description GSI_ID_PV_CD String Preview code GSI_ID_PV_PTCD String Preview point code GSI_ID_ACT_PTID String Actual point ID GSI_ID_BACKID String Backside ID GSI_ID_APPDATA0 String Double Application data 0 GSI_ID_APPDATA1 String Double Application data 1 GSI_ID_APPDATA2 String Double Application data 2 GSI_ID_APPDATA3 String Double Application data 3 GSI_ID_APPDATA4...

Page 968: ...See also GSI_SetLineMDlgPar and GSI_SetLineMDlgText Name Meaning GSI_PAR_AppData0 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...

Page 969: ...number of distance measurements of the average mode GSI_PAR_BacksideId Last used Backside GSI_PAR_Code Last used Code GSI_PAR_CodeDescr Last used free Code Description GSI_PAR_CodeList Codelist management select create etc GSI_PAR_CodeListSelect Codelist selection of an existing codelist GSI_PAR_DataJobSelect Data job selection of an existing job GSI_PAR_Date Current date of the instrument The dis...

Page 970: ...R_IndivPointId Individual point identifier GSI_PAR_Info1 Shows the Free Code Info 1 GSI_PAR_Info2 Shows the Free Code Info 2 GSI_PAR_Info3 Shows the Free Code Info 3 GSI_PAR_Info4 Shows the Free Code Info 4 GSI_PAR_Info5 Shows the Free Code Info 5 GSI_PAR_Info6 Shows the Free Code Info 6 GSI_PAR_Info7 Shows the Free Code Info 7 GSI_PAR_Info8 Shows the Free Code Info 8 GSI_PAR_InstrHeight Instrumen...

Page 971: ...Code Description of the actual Feature Code GSI_PAR_RecMask Selected Recording mask for target point measurements GSI_PAR_ReflHeight Reflector height hr GSI_PAR_ReflName Used reflector type GSI_PAR_ReflSelection reflector type selection If there are user defined prism then they will be added to this list The User Refl1 User Refl3 are only valid if these user definable prisms are defined GSI_PAR_Ru...

Page 972: ...n the two pools GSI_ID_ Ids describe the values which can be stored and requested in the WI data value pool GSI_PAR_ Ids describe the values which can be used for displaying in a measurement dialog Their sets of id s are not associated directly in all cases Moreover their sets of Id s can be distinguished in their meaning Association in this context means that both pools the data value pool and th...

Page 973: ...deDescr GSI_ID_PV_CD GSI_PAR_PrevCode GSI_ID_PV_PTCD GSI_PAR_PrevPointCode GSI_ID_ACT_PTID GSI_PAR_PointId GSI_ID_BACKID GSI_PAR_BackSideId Meas GSI_ID_PTNR GSI_PAR_RunningPointId Meas GSI_ID_FNR GSI_PAR_SerialNr undefined Meas GSI_ID_TYPE GSI_PAR_InstrType undefined Meas GSI_ID_TIME_1 See GSI_PAR_Date Meas GSI_ID_TIME_2 See GSI_PAR_Time Meas GSI_ID_HZ GSI_PAR_AngleHz Meas GSI_ID_V GSI_PAR_AngleV ...

Page 974: ... GSI_ID_H GSI_PAR_TargetElev Meas GSI_ID_E0 GSI_PAR_StationEast Meas GSI_ID_N0 GSI_PAR_StationNorth Meas GSI_ID_H0 GSI_PAR_StationElev Meas GSI_ID_HR GSI_PAR_ReflHeight Meas GSI_ID_HI GSI_PAR_InstrHeight Code GSI_ID_CODE GSI_PAR_Attrib1 Code GSI_ID_CODE_1 GSI_PAR_Attrib2 Code GSI_ID_CODE_2 GSI_PAR_Attrib3 Code GSI_ID_CODE_3 GSI_PAR_Attrib4 Code GSI_ID_CODE_4 GSI_PAR_Attrib5 Code GSI_ID_CODE_5 GSI_...

Page 975: ...PDATA9 GSI_PAR_APPDATA9 GSI_ID_APPDATA10 GSI_PAR_APPDATA10 GSI_ID_APPDATA11 GSI_PAR_APPDATA11 Special Ids GSI_ID_NONE GSI_ID_EMPTY GSI_ID_UNKNOWN GSI_PAR_NONE The set of GSI_PAR ids is not complete in this table There exist several more Ids which can be used for displaying 6 4 5 Data Structures for GSI Functions GSI_WiDlg_Entry_Type Dialog entry information Description This data structure is used ...

Page 976: ...e Description This array consists of GSI_MAX_REC_WI elements of the type GSI_WiDlg_Entry_Type GSI_Rec_Id_List An array of integers indicating WI identifications Description This array consists of GSI_MAX_REC_WI elements of the type Integer It is used to define the recorded values recmask GSI_Point_Coord_Type Point co ordinate data Description This data structure is used to store a point name and i...

Page 977: ...ncrement Declaration GSI_GetRunningNr sPntId AS String20 sPntIncr AS String20 Remarks Fetches the running point number and increment for it Parameters sPntId out the running point number sPntIncr out the increment for the running point 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 ...

Page 978: ...er running point number sPntIncr in The increment for the user point running number See Also GSI_GetRunningNr GSI_GetIndivNr GSI_SetIndivNr GSI_IsRunningNr Return Codes RC_OK successful Example DIM sPntId AS String20 DIM sPntInc AS String20 GSI_SetRunningNr sPntId sPntInc 6 4 8 GSI_ GetIndivNr Description Fetches the individual point number Declaration GSI_GetIndivNr sPntId AS String20 Remarks Fet...

Page 979: ...is switched to the individual point number This mode will be active until replaced by a running number or until the next save Parameters sPntId in The user defined individual point number See Also GSI_GetRunningNr GSI_SetRunningNr GSI_GetIndivNr GSI_IsRunningNr Return Codes RC_OK successful Example DIM sPntId AS String20 GSI_SetIndivNr sPntId 6 4 10 GSI_IsRunningNr Description Queries if running n...

Page 980: ...ingOn 6 4 11 GSI_SetIvPtNrStatus Description Switches the individual point number mode on off Declaration GSI_SetIvPtNrStatus BYVAL lSwitch AS Logical Remarks Switch the individual point number on or off When point number is shown in the display the number will change Parameters lSwitch in switch for the individual point number TRUE on FALSE off See Also GSI_GetRunningNr GSI_SetRunningNr GSI_GetIn...

Page 981: ...rically char step is longer as the point number Example GSI_IncPNumber 6 4 13 GSI_Coding Description Starts the active coding function of the TPS system Declaration GSI_Coding BYVAL Caption AS _Token Remarks This routine starts the active coding function of the TPS system Since there exist three possible locations the TPS system follows a default ordering rule to invoke one of the programs First i...

Page 982: ...is routine starts the codelist coding function of the TPS system It will be executed only if a valid codelist is selected Parameters Caption in The left caption string of the dialog Return Codes RC_OK successful RC_ABORT Coding was aborted by pressing of the ESC button RC_ABORT_APPL Coding was aborted by pressing of the QUIT button COD_RC_LIST_ NOT_VALID No valid codelist selected Example See exam...

Page 983: ...RC_OK successful Example See example file meas_od gbs 6 4 16 GSI_SetQCodeMode Description Sets the Quick Coding mode Declaration GSI_SetQCodeMode BYVAL lEnabled As Logical Remarks This routine enables or disables the Quick Coding It can be only activated if a valid codelist is selected see GSI_GetQCodeAvailable Parameters lEnabled in TRUE enable Quick Coding See Also GSI_GetQCodeAvailable GSI_Exec...

Page 984: ... too it measures a distance and records the results The recording order measurement block code block or vice versa depends on the system setting see GSI_GetRecOrder If lRecEnable FALSE this routine forces no new distance measurement and there is no recording Parameters lRecEnable in TRUE Quick Coding including distance measurement It records a code and a measurement block in the correct order FALS...

Page 985: ...lock before measurement block See Also GSI_GetRecOrder GSI_ExecQCoding Return Codes RC_OK successful Example See example file meas_od gbs 6 4 19 GSI_GetRecOrder Description Returns the recording order for Quick Coding Declaration GSI_GetRecOrder lCodeFirst As Logical Remarks This routine returns the recording order for Quick Coding If lCodeFirst TRUE then the code block will be recorded before the...

Page 986: ...n Defines the recording path for the measurements Declaration GSI_SetRecPath BYVAL iPathInfo AS Integer BYVAL sFileName AS FileName BYVAL sFilePath AS FilePath Remarks This procedure defines where the measurements will be recorded If iPathInfo is set to GSI_INTERFACE then the measurements will be sent to the RS232 line and the other parameters are not be interpreted If iPathInfo is set to GSI_EXTE...

Page 987: ...tStr 0 2 Path sPath TRUE ELSE MMI_PrintStr 0 1 RecPath serial line TRUE END IF GSI_SetRecPath GSI_INTERFACE sFile sPath 6 4 22 GSI_GetRecPath Description Returns the recording path for the measurements Declaration GSI_GetRecPath iPathInfo AS Integer sFileName AS FileName sFilePath AS FilePath Remarks This procedure returns where the measurements will be recorded If iPathInfo GSI_INTERFACE then the...

Page 988: ... BYVAL iPathInfo AS Integer BYVAL sFileName AS FileName BYVAL sFilePath AS FilePath Remarks This procedure sets the file from which data will be imported Only GSI_EXTERNAL is valid for the iPathInfo sFileName defines the filename i e DataJob GSI and sFilePath defines the file path i e A GSI Parameters iPathInfo in Device info Only GSI_EXTERNAL is valid sFileName in Valid Filename 8 3 format sFileP...

Page 989: ...l be imported If iPathInfo GSI_EXTERNAL then sFileName defines the filename i e DataJob GSI and sFilePath defines the file path i e A GSI Parameters iPathInfo out Device info sFileName out Filename 8 3 format sFilePath out File path Return Codes RC_OK Successful termination See Also GSI_SetDataPath Example The example fetches the name and the path of the standard import data file DIM iPathInfo AS ...

Page 990: ... GSI_SetWiEntry 6 4 26 GSI_SetWiEntry Description Put data to the Theodolite data pool Declaration GSI_SetWiEntry WiIdentification AS Integer WiEntry AS GSI_WiDlg_Entry_Type Remarks This routine is used to put data to the Theodolite data pool See the description of the WI constants Parameters WiIdentification in The identification of the WI WiEntry in The WI entry data See the description of GSI_W...

Page 991: ...the recording mask with the number iMaskNr Valid formats are GSI_RECFORMAT_GSI and GSI_RECFORMAT_GSI16 A recording mask can be set with GSI_SetRecMask If lEditMask is TRUE the elements of the recording mask can be changed in GSI_DefineRecMaskDlg All unused elements of the recording list are set to GSI_ID_NONE All values from 0 to 5 are valid for the mask number Mask number 0 is predefined for the ...

Page 992: ...cWiMask iRecFormat lEditMask 6 4 28 GSI_SetRecMask Description Set the definition and the format of a recording mask Declaration GSI_SetRecMask BYVAL iMaskNr AS Integer BYVAL sMaskName AS String18 BYVAL RecWiMask AS GSI_Rec_Id_List BYVAL iRecFormat AS Integer BYVAL lEditMask AS Logical Remarks This routine sets the definition and the format of the recording mask with the number iMaskNr Valid forma...

Page 993: ...Nr in Number of the recording mask GSI_ACTUAL_RECMASK can be used to set the values of the currently active mask sMaskName in Name of the recording mask RecWiMask in 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 iRec Format in Recording format GSI_RECFORMAT_GSI GSI_RECFORMAT_GSI16 lEditMask in Mask ...

Page 994: ...teger DIM lEditMask AS Logical GSI_GetRecMask GSI_ACTUAL_RECMASK sMaskName RecWiMask iRecFormat lEditMask 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 iMaskNr in Number of the recording mask Number must be in the range ...

Page 995: ... iMaskNr out Number of the recording mask See Also GSI_SetRecMaskNr 6 4 31 GSI_DefineRecMaskDlg Description Defines the recording mask dialog Declaration GSI_DefineRecMaskDlg Remarks Defines the contents of the recording mask Using a dialog with list fields the user can select the items for the user registration mask This routine is an interactive equivalent to the routines GSI_GetRecMask and GSI_...

Page 996: ...leaving this function with CONT is only possible if the point number is valid and at least E and N co ordinates are valid If GSI_HEIGHT_MUST is included in iFlags the Height Elevation co ordinate must be valid too Leaving using ESC or QUIT Shift F6 is always possible Recording and coding sets the according values in the Theodolite data pool too Parameters sCaption in The maximal five character lon...

Page 997: ...alid Flags Meaning GSI_ALLOW_ REC allows recording and coding GSI_HEIGHT_ MUST height must be entered GSI_NE_ OPTIONAL only height must be entered north east are optional GSI_MULTI_ REC Allows entering and recording of more than one data set without leaving this routine GSI_NO_FILE_ CHANGE File changing is disabled Flags can be combined with operator iFlags iFlag1 iFlag2 sHelpText in This text is ...

Page 998: ... Remarks This routine contains three dialogues the search the view and the manual input dialog The type of co ordinates station or target can be selected using iPointType The search dialog allows selecting the data or the measure file and editing a point number Depending on the pressed button the manual co ordinate input function only if GSI_ALLOW_MAN is included in iFlags see GSI_ManCoordDlg or t...

Page 999: ...or PointType see table below Point Type Meaning GSI_STATION station point number GSI_INDIV_TG individual target number GSI_RUN_TG running target GSI_BACKSIGHT backside number analog target only changed prompts GSI_POINT_ CODE PointId CodeId analog target only changed prompts Point in Only point number the co ordinates will be set to 0 Point out point number and co ordinates For further information...

Page 1000: ...bled GSI_GET_NEXT Return the next valid data set ignore sPtNr Flags can be combined with operator iFlags iFlag1 iFlag2 iImportFile in defines the source file for importing Valid Import File Meaning GSI_FILE_MEAS MEAS file GSI_FILE_DATA DATA file GSI_FILE_LAST last used file sImportHelp in Help text for import dialog Only visible if the help functionality of the theodolite is enabled sInputHelp in ...

Page 1001: ...system measurement dialog To fetch information about a line GSI_GetLineSysMDlg can be used Unused lines should be set to GSI_PAR_NONE Note 1 Parameters are identified by GSI_PAR_ values and not by GSI_ID_ values 2 A line in the system measurement dialog can only be set to a system parameter not to an application parameter Parameters iDlgNr in The number of the system measurement dialog where the l...

Page 1002: ...alog GSI_SetLineSysMDlg GSI_SYS_MDLG_1 1 GSI_PAR_Date GSI_SetLineSysMDlg GSI_SYS_MDLG_1 2 GSI_PAR_Time 6 4 35 GSI_GetLineSysMDlg Description Gets the definition of a line in the system measurement dialog Declaration GSI_GetLineSysMDlg BYVAL iDlgNr AS Integer BYVAL iLineNr AS Integer iSysParamId AS Integer Remarks This routine fetches the information about the setting of one line in the system meas...

Page 1003: ...inition See Also GSI_SetLineSysMDlg GSI_DefineMDlg Example See sample program meas gbs This example uses GSI_GetLineSysMDlg to get information about the configuration of the first system measurement dialog s first two lines DIM iParLine1 AS Integer DIM iParLine2 AS Integer GSI_GetLineSysMDlg GSI_SYS_MDLG_1 1 iParLine1 GSI_GetLineSysMDlg GSI_SYS_MDLG_1 2 iParLine2 6 4 36 GSI_SetMDlgNr Description S...

Page 1004: ...ion GSI_GetMDlgNr iMDlgNr AS Integer Remarks Returns the number of the system measurement dialog Parameters iMDlgNr out Number of the actual measurement dialog See Also GSI_SetMDlgNr 6 4 38 GSI_CreateMDlg Description Create and show the user definable measurement dialog Declaration GSI_CreateMDlg BYVAL iFixLines AS Integer BYVAL sCaptionLeft AS _Token BYVAL sCaptionRight AS _Token BYVAL sHelpText ...

Page 1005: ...ask see GSI_DefineMDlg Parameters iFixLines in The number of fix lines These lines are not scrolled sCaptionLeft in The part of the title bar displayed on the left border up to five characters wide sCaptionRight in The caption of the dialog sHelpText in This text is shown when the help button SHIFT F1 is pressed and the help functionality of the theodolite is enabled See Also GSI_UpdateMDlg GSI_Up...

Page 1006: ...he user definable measurement dialog to a system parameter This measurement dialog is initialized automatically with the actual settings of the first system measurement dialog Modifications of the user definable dialog have no effects on the system measurement dialog and will be lost after termination of the program An unused line should be set to GSI_PAR_NONE To add a user definable application p...

Page 1007: ...etLineMDlgText Description Puts a text line into the user definable measurement dialog Declaration GSI_SetLineMDlgText BYVAL iLineNr AS Integer BYVAL iParamId AS Integer BYVAL sText AS _Token Remarks This routine inserts a pure text line into the user definable measurement dialog To add an user definable application parameter to the dialog use GSI_SetLineMDlgPar To add a system parameter to the di...

Page 1008: ... BYVAL lEditAble AS Logical BYVAL iFormat AS Integer Remarks This routine sets the configuration of a line in the user definable measurement dialog to an application parameter The style of the application parameter is also defined in this routine Any floating point format and strings are valid formats The starting values of every application parameter is not predefined and hence has to be set expl...

Page 1009: ...Value Meaning MMI_FFORMAT_ STRING string MMI_FFORMAT_ DOUBLE double MMI_FFORMAT_ DISTANCE distance MMI_FFORMAT_ SUBDISTANCE sub distance mm MMI_FFORMAT_ ANGLE angle MMI_FFORMAT_ VANGLE vertical angle MMI_FFORMAT_ HZANGLE horizontal angle MMI_FFORMAT_ TEMPERATURE temperature See Also GSI_SetLineMDlg GSI_SetLineMDlgText GSI_CreateMDlg Example See also sample file meas gbs This example uses GSI_SetLi...

Page 1010: ...eMDlgPar 8 GSI_PAR_AppData3 Distance TRUE MMI_FFORMAT_DISTANCE 6 4 42 GSI_UpdateMDlg Description Updates the user definable measurement dialog Declaration GSI_UpdateMDlg iButton As Integer Remarks This procedure updates the user definable measurement dialog with the actual values from the Theodolite data pool and returns pressed buttons Parameters iButton out Contains pressed button identifier For...

Page 1011: ...s an interactive equivalent to the routines GSI_SetLineSysMDlg and GSI_GetLineSysMDlg Parameters sCaption in The left caption of the title bar Up to 5 characters wide See Also GSI_GetDlgMask GSI_SetDlgMask Example GSI_DefineMDlg DEF 6 4 44 GSI_UpdateMeasurment Description Update the measurement data Declaration GSI_UpdateMeasurment iInclinePrg AS Integer iWaitTime AS Integer lValidForRec AS Logica...

Page 1012: ...The wait time for a result in ms This time is used for synchronising the TMC task lValidForRec out Indicates validity of the registration iRetCodeForMsg out Return code of the measurement lChkIncRange Now in 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 a...

Page 1013: ...ement program buttons FNC menu was pressed Parameters none Return Codes RC_OK Success Example See example file meas gbs or meas_od gbs 6 4 47 GSI_CheckTracking Description Returns if distance tracking is running Declaration GSI_CheckTracking lTracking As Logical Remarks This returns if a distance tracking is running An automatic start of distance tracking can be started on several conditions i e b...

Page 1014: ...ndSetRunPt AS Logical Remarks This procedure records the given wi list The target can be the memory card or the interface The parameter for the interface depends on the GSI communication settings Errors will shown on the display when recording list will be stored in the memory card Otherwise the error messages will be given on the interface Parameters RecList in recording list eProgFunction in pro...

Page 1015: ...oBASIC Reference Manual 6 System Functions TPS1100 Version 2 10 6 182 Example Record RecList DIM RecList AS GSI_REC_ID_LIST initialize RecList with adequate values GSI_RecordRecMask RecList TRUE TRUE TRUE ...

Page 1016: ...k Returns if an alternative user task was running CSV_Delay Delay routine CSV_GetATRStatus Gets the current ATR state CSV_GetDateTime Get the date and the time of the system CSV_GetElapseSysTime Returns the difference between a reference time and the system time CSV_GetGBIVersion Returns the release number of the GeoBASIC interpreter CSV_GetInstrumentFamily Get information about the system CSV_Get...

Page 1017: ...ibCallAvailable Check if GeoBASIC routine from another program is available CSV_LockIn Starts locking ATR CSV_LockOut Stops locking ATR CSV_MakePositioning Do an absolute positioning CSV_ResetAltUserTask Resets the alternative user task was running flag CSV_SetATRStatus Sets the current state of Automatic Target Recognition CSV_SetLaserPlummet Switches the laser plummet CSV_SetLightGuide Switch on...

Page 1018: ...TYPE Date_Type iYear AS Integer year as a 4 digit number iMonth AS Integer month as a 2 digit number iDay AS Integer day as a 2 digit number END Date_Type TYPE Time_Type iHour AS Integer hour as a 2 digit number 24 hours format iMinute 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 T...

Page 1019: ... Id Meaning TPS1101 TPS1100 accuracy 1 TPS1102 TPS1100 accuracy 2 TPS1103 TPS1100 accuracy 3 TPS1105 TPS1100 accuracy 5 lEDMBuiltIn AS Logical EDM built in lEDMTypeII AS Logical EDM built in type II lEDMTypeIII AS Logical EDM built in type III lEDMReflectorless AS Logical Red Laser lMotorized AS Logical Motorised lATR AS Logical Automatic Target Recognition ATR lEGL AS Logical EGL Guide Light lLas...

Page 1020: ... the date and the time Return Codes RC_UNDEFINED The date and time is not set not yet not any longer Example The example uses the CSV_GetDateTime routine to get the date and the time of the system and displays the values DIM DT AS Date_Time_Type ON ERROR RESUME CSV_GetDateTime DT IF ERR RC_OK THEN MMI_PrintInt 0 0 5 DT Date iYear TRUE MMI_PrintInt 6 0 3 DT Date iMonth TRUE MMI_PrintInt 10 0 3 DT D...

Page 1021: ...V_GetInstrumentName Description Get the LEICA specific instrument name Declaration CSV_GetInstrumentName sName AS String30 Remarks The CSV_GetInstrumentName routine returns the name of the system in the string sName Parameters sName out The LEICA specific instrument name Return Codes none See Also CSV_GetInstrumentNo CSV_GetInstrumentFamily Example The example uses the CSV_GetInstrumentName routin...

Page 1022: ...GetInstrumentNo routine to get the instrument number and displays it DIM iSerialNo AS Integer CSV_GetInstrumentNo iSerialNo MMI_PrintInt 0 1 20 iSerialNo TRUE 6 5 7 CSV_GetInstrumentFamily Description 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 des...

Page 1023: ...0 ON TPS_SIM TRUE END IF 6 5 8 CSV_GetSWVersion Description Get the version of the system software Declaration CSV_GetSWVersion iRelease AS Integer iVersion AS Integer Remarks The CSV_GetSWVersion routine returns the Release number and the number of the system software version These numbers can be interpreted together as software identification Release Version e g 1 05 TPS_Sim Delivers the version...

Page 1024: ... MMI_PrintVal 0 0 6 2 iRelease iVersion 100 TRUE 6 5 9 CSV_GetGBIVersion Description Returns the release number of the GeoBASIC interpreter Declaration CSV_GetGBIVersion iRelease as Integer iVersion as Integer iSubVersion as Integer Remarks This function returns the release version of the running GeoBASIC interpreter Parameters iRelease out Release number iVersion Out Version Number iSubVersion ou...

Page 1025: ...CSV_GetElapseSysTime Description Returns the difference between a reference time and the system time Declaration CSV_GetElapseSysTime iRefTime AS Integer iElapse AS Integer TPS_Sim Use PC time base Time resolution is one second Remarks The routine CSV_GetElapseSysTime returns the difference of between a given reference time iRefTime and the systems time Whenever the system starts up the system tim...

Page 1026: ... CSV_GetSysTime iTime AS Integer Remarks The routine returns the systems time Whenever the system starts up the system time is reset TPS_Sim Delivers the system up time of the PC Parameters iTime out The system time in ms See Also CSV_GetElapseSysTime CSV_GetDateTime Example See CSV_GetElapsedTime 6 5 12 CSV_GetLRStatus Description Returns the status of the system Declaration CSV_GetLRStatus iLRSt...

Page 1027: ...s the routine CSV_GetLRStatus to get the mode of the system DIM iLRStatus AS Integer CSV_GetLRStatus iLRStatus MMI_PrintInt 0 0 10 iLRStatus TRUE 6 5 13 CSV_SetGuideLight Description Set the guide light intensity Declaration CSV_SetGuideLight BYVAL iLight AS Integer Remarks Sets the guide light intensity Parameters iLight in Guide light intensity Value Meaning CSV_EGL_OFF Switching off CSV_EGL_LOW...

Page 1028: ...r FALSE 6 5 15 CSV_MakePositioning Description Do an absolute positioning Declaration CSV_MakePositioning BYVAL dHz AS Double BYVAL dV AS Double Remarks Absolute positioning of the Theodolite axes to the desired angles with the currently active tolerance for positioning If any control function is active at the point of call it will be cancelled and the positioning will be performed After the posit...

Page 1029: ...g the angle RC_FATAL fatal error RC_ABORT system abort See Also BAP_PosTelescope Example Perform an absolute positioning CSV_MakePositioning 0 2 atn 1 0 Pi 2 6 5 16 CSV_ChangeFace Description Do an absolute positioning to the opposite Declaration CSV_ChangeFace Remarks Perform positioning into the position opposite to the current If any control function is active at the point of call it will be ca...

Page 1030: ...t angle is out of the limits or a collision is occurred CSV_TIMEOUT time out at positioning of one or both axes CSV_MOTOR_ERROR error in subsystem CSV_ANGLE_ERROR error at measuring the angle RC_FATAL fatal error RC_ABORT system abort See Also BAP_PosTelescope Example Perform a change of face CSV_ChangeFace 6 5 17 CSV_SetLockStatus Description Sets the current state of the locking facility Declara...

Page 1031: ..._GetLockStatus Description Gets the current state of the locking facility Declaration CSV_GetLockStatus lOn AS Logical Remarks It queries the TPS system if the locking facility is on or off Parameters lOn out meaning FALSE Locking is switched off TRUE Locking is switched on Return Codes RC_FATAL fatal error RC_NOT_IMPL if ATR hardware is not available RC_ABORT system abort See Also CSV_GetLockStat...

Page 1032: ...ioning will be started Parameters none Return Codes AUT_RC_NOT_ENABLED Theodolite without ATR or lock status not set AUT_RC_MOTOR_ERROR Error at motor control AUT_RC_DETECTOR_ERROR Error at ATR 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_SetLockS...

Page 1033: ... CSV_LockIn Example This example stops locking CSV_LockOut 6 5 21 CSV_SetATRStatus Description Sets the current state of Automatic Target Recognition Declaration CSV_SetATRStatus BYVAL lOn AS Logical Remarks It switches the ATR facility on or off Parameters lOn in 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 ...

Page 1034: ...es RC_FATAL fatal error RC_ABORT system abort RC_NOT_IMPL if ATR hardware is not available Example Get current ATR status DIM l AS Logical CSV_SetATRStatus l 6 5 23 CSV_Delay Description This routine delays the execution of a program Declaration CSV_Delay BYVAL iDelay AS Integer Remarks This routine delay using the operating system that means that other Theodolite tasks can run during the delay It...

Page 1035: ...nts Declaration CSV_SetTargetType BYVAL iTargetType as Integer Remarks This routine sets the target type for distance measurements The target type defines if the next distance measurement happens with prism or without prism Parameters iTarget Type in Target type Valid target types Meaning CSV_WITH_ REFLECTOR With reflector CSV_WITHOUT _REFLECTOR Without reflector Return Codes RC_OK Successful term...

Page 1036: ...ype iTargetType as Integer Remarks This routine fetches the target type for distance measurements The target type defines if the next distance measurement happens with prism or without prism Parameters iTarget Type out Target type Valid target types Meaning CSV_WITH_ REFLECTOR With reflector CSV_WITHOUT _REFLECTOR Without reflector Return Codes RC_OK Successful termination See CSV_ SetTargetType B...

Page 1037: ... is one of the user defined prisms and this prism is actually not defined then this routine will return RC_IVRESULT Parameters iPrism in Used prism Return Codes RC_OK Successful termination RC_IVRESULT Prism not defined See CSV_GetPrismType Example The example sets the 360 degrees prism CSV_SetPrismType BAP_PRISM_360 6 5 27 CSV_GetPrismType Description Returns the used prism Declaration CSV_GetPri...

Page 1038: ... function switches the optional laser plummet The plummet will be switched off automatically after 3 minutes Parameters lOn in TRUE switch plummet on Return Codes RC_OK Successful termination See 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 ...

Page 1039: ...several system settings The CSV_CheckAltUserTask routine notifies the running GeoBASIC application that it was interrupted by another program With this information the GeoBASIC program is able to respond to these changes After processing this information the subroutine CSV_ResetAltUserTask must be called Parameters lWasRunning out TRUE a task was running Return Codes RC_OK Successful termination S...

Page 1040: ...s in two different forms depending on the parameter CId If CId is a system function CSV_SysCall calls the function directly In the other form the CId is a system event In this case CSV_SysCall calls the system function or dialog menu macro application which is defined in the current configuration to handle this event See description of the system functions and system events in the appendix H Param...

Page 1041: ...e lAvailable AS Logical Remarks This routine checks if it is possible to call the function CId if CId is a system function or if there is a function defined and available to handle the event CId if CId is an system event See the description of system functions and system events in appendix H Parameters CId in System function or system event lAvailable out TRUE System function is available or funct...

Page 1042: ...S String255 BYVAL CptShort AS _Token Remarks This routine is used to call a GeoBASIC routine which is defined in another program Please refer also to Appendix Parameters PrgName in Program name FuncName in Function name CptShort In Short caption for dialogs Return Codes RC_OK Successful termination See CSV_LibCallAvailable Example See IAC GBS and IAC2 GBS for an example 6 5 35 CSV_LibCallAvailable...

Page 1043: ...d in another program is available Usually this means that it checks if the other program is loaded and the specified entry point exists Parameters PrgName in Program name FuncName in Function name lAvailable out Routine is available Return Codes RC_OK Successful termination See CSV_LibCall Example See IAC GBS and IAC2 GBS for an example ...

Page 1044: ...ment IfStatement IF Condition THEN StatementSequence ELSEIF Condition THEN StatementSequence ELSE StatementSequence END IF Condition LogicalExpression SelectStatement SELECT CASE Expression CASE ConstantList StatementSequence CASE ELSE StatementSequence END SELECT ConstantList Constant Constant LoopStatement WhileLoop UntilLoop ForLoop WhileLoop DO WHILE Condition StatementSequence LOOP UntilLoop ...

Page 1045: ...ecification ParameterSpecification BYVAL ParameterName AS DataTypeName Body CVTDeclaration LabelDeclaration CodePart CVTDeclaration ConstantDeclaration VariableDeclaration TypeDeclaration CodePart StatementSequence ExitStatement LoopExit RoutineExit RoutineExit EXIT SUB FUNCTION SubroutineCall CALL SubroutineName ActualParameterList FunctionCall FunctionName ActualParameterList ActualParameterList...

Page 1046: ...END APPINFO GeneralSection GENERAL GeneralSectionEntry END GENERAL GlobalSubSection ENTRYPOINT GlobalSubName GlobalSubSectionEntry END GlobalSubName GeneralSectionEntry SET GeneralSectionKey StringConstant GlobalSubSectionEntry SET GlobalSubSectionKey StringConstant GeneralSectionKey AUTHOR DESC THEOMODEL GlobalSubSectionKey CAPSH DESC HELP ...

Page 1047: ...everal administration functions Clock and time functions Functions for instrument identification instrument name instrument family Functions for system information local Remote locking Functions for positioning the theodolite External Routine A routine that resides in a different part of the TPS 1100 System Its interface must conform to certain rules and it must be made known to the compiler i e t...

Page 1048: ...example calculation of intersection clothoid average values triangle etc Furthermore the accuracy of deviated values can be calculated GSI This abbreviation stands for Geodesy Serial Interface The subsystem contains several functions Functions for registration point number rec mask Functions for create show update or delete dialogs Functions for fetching data from WIR data pool MMI The subsystem M...

Page 1049: ... program is compiled in its entirety this produces a loader object that is subsequently downloaded onto the target hardware Routine Generic name for subroutines functions modules and external routines Subroutines and functions are entirely local to a GeoBASIC program and not accessible from outside Modules can be called from outside i e from the TPS 1100 System External routines are routines that ...

Page 1050: ... be used as names identifiers in a GeoBASIC program They must be written as given except that upper and lower case letters are not distinguished AND FOR SELECT AS FUNCTION STEP BYVAL GLOBAL STRING CALL IF SUB CASE LABEL THEN CONST LOOP TO DIM MOD TYPE DO NEXT UNTIL ELSE NOT WHILE ELSEIF ON WRITE END OR EXIT PROGRAM ...

Page 1051: ...tn X Sqr X X 1 1 5708 Inverse Secant Arcsec X Atn X Sqr X X 1 Sgn Sgn X 1 1 5708 Inverse Cosecant Arccosec X Atn X Sqr X X 1 Sgn X 1 1 5708 Inverse Cotangent Arccotan X Atn X 1 5708 Function GeoBASIC equivalent Hyperbolic Sine HSin X Exp X Exp X 2 Hyperbolic Cosine HCos X Exp X Exp X 2 Hyperbolic Tangent HTan X Exp X Exp X Exp X Exp X Hyperbolic Secant HSec X 2 Exp X Exp X Hyperbolic Cosecant HCos...

Page 1052: ...n 1 30 Function GeoBASIC equivalent Inverse Hyperbolic Tangent HArctan X Log 1 X 1 X 2 Inverse Hyperbolic Secant HArcsec X Log Sqr X X 1 1 X Inverse Hyperbolic Cosecant HArccosec X Log Sgn X Sqr X X 1 1 X Inverse Hyperbolic Cotangent HArccotan X Log X 1 X 1 2 Logarithm LogN X Log X Log N ...

Page 1053: ...TPS1100 Version 1 30 E 1 Appendix E GEOFONT ...

Page 1054: ...SULT 3 0x3 Invalid result RC_FATAL 4 0x4 Fatal error RC_NOT_IMPL 5 0x5 Not implemented yet RC_TIME_OUT 6 0x6 Function execution timed out Result unspecified RC_SET_INCOMPL 7 0x7 Parameter setup for subsystem is incomplete RC_ABORT 8 0x8 Function execution has been aborted RC_NOMEMORY 9 0x9 Fatal error not enough memory RC_NOTINIT 10 0xA Fatal error subsystem not initialized RC_SHUT_DOWN 12 0xC Sub...

Page 1055: ...ne measurement ANG_OS_ERROR 270 0x10E troubles with operation system ANG_DATA_ERROR 271 0x10F overflow at parameter values ANG_PEAK_CNT_UFL 272 0x110 too less peaks ANG_TIME_OUT 273 0x111 reading timeout ANG_TOO_MANY_EXPOS 274 0x112 too many exposures wanted ANG_PIX_CTRL_ERR 275 0x113 picture height out of range ANG_MAX_POS_SKIP 276 0x114 positive exposure dynamic overflow ANG_MAX_NEG_SKIP 277 0x1...

Page 1056: ...ge detected ATA_RC_NOT_BUSY 523 0x20B ATR isn t in a continuous mode ATA_RC_STRANGE_ LIGHT 524 0x20C Not the spot of the own target illuminator ATA_RC_V24_FAIL 525 0x20D Communication error to sensor ATR ATA_RC_HZ_FAIL 527 0x20F No Spot detected in Hz direction ATA_RC_V_FAIL 528 0x210 No Spot detected in V direction ATA_RC_HZ_STRANGE_L 529 0x211 Strange light in Hz direction ATA_RC_V_STRANGE_L 530...

Page 1057: ...ct EDM_DEV_NOT_ INSTALLED 778 0x30A Device like EGL DL is not installed EDM_NOT_FOUND 779 0x30B Search result invalid For the exact explanation see in the description of the called function EDM_ERROR_RECEIVED 780 0x30C Communication ok but an error reported from the EDM sensor EDM_MISSING_SRVPWD 781 0x30D No service password is set EDM_INVALID_ANSWER 782 0x30E Communication ok but an unexpected an...

Page 1058: ...R_ ERROR 802 0x322 Address out of valid range EDM_SLDR_INV_ LOADFILE 803 0x323 Firmware file has invalid format EDM_SLDR_ UNSUPPORTED 804 0x324 Current loaded firmware doesn t support upload EDM_UNKNOW_ERR 808 0x328 Undocumented error from the EDM sensor should not occur GMF 1024 0x400 RetCodeName Value Hex Description GM_WRONG_AREA_DEF 1025 0x401 Wrong Area Definition GM_IDENTICAL_PTS 1026 0x402 ...

Page 1059: ...ta GM_TOO_MANY_ ITERATIONS 1044 0x414 GM2 bad data distr GM_IDENTICAL_ TIE_POINTS 1045 0x415 GM2 same tie points GM_SETUP_ EQUALS_TIE_POINT 1046 0x416 GM2 sta tie point same TMC 1280 0x500 RetCodeName Value Hex Description TMC_NO_FULL_ CORRECTION 1283 0x503 Warning measurement without full correction TMC_ACCURACY_ GUARANTEE 1284 0x504 Info accuracy can not be guarantee TMC_ANGLE_OK 1285 0x505 Warn...

Page 1060: ...andle is invalid MEM_DATA_NOT_FOUND 1540 0x604 memory data not found MEM_DELETE_ERROR 1541 0x605 memory delete error MEM_ZERO_ALLOC_ERR 1542 0x606 tried to allocate 0 bytes MEM_REORG_ERR 1543 0x607 can t reorganize memory MOT 1792 0x700 RetCodeName Value Hex Description MOT_RC_UNREADY 1792 0x700 Motorization not ready MOT_RC_BUSY 1793 0x701 Motorization is handling another task MOT_RC_NOT_OCONST 1...

Page 1061: ... because application does not exist LDR_FUNC_LEVEL_ERR 2057 0x809 Call stack limit reached LDR_RECURSIV_ERR 2058 0x80A Recursive calling of an loaded function LDR_INST_ERR 2059 0x80B Error in installation function LDR_FUNC_OCC 2060 0x80C Maximal number of functions reached LDR_RUN_ERROR 2061 0x80D Error during a loaded application program LDR_DEL_MENU_ERR 2062 0x80E Error during deleting of menu e...

Page 1062: ... the bytes read BMM_CANCELAND INVSIZE_ERROR 2317 0x90D Allocated memory could not be released BMM_ALL_GROUP_OCC 2318 0x90E Max number of character sets already loaded BMM_CANT_DEL_ LAYERS 2319 0x90F Layer cannot be deleted BMM_UNKNOWN_LAYER 2320 0x910 Required layer does not exist BMM_INVALID_ LAYERLEN 2321 0x911 Layer length exceeds maximum TXT 2560 0xA00 RetCodeName Value Hex Description TXT_OTH...

Page 1063: ...D 2826 0xB0A Illegal button ID MMI_ILLEGAL_DLG_ID 2827 0xB0B Illegal dialog ID MMI_ILLEGAL_ FIELD_COORDS 2828 0xB0C Illegal field coordinates or length height MMI_ILLEGAL_FIELD_ID 2829 0xB0D Illegal field ID MMI_ILLEGAL_ FIELD_TYPE 2830 0xB0E Illegal field type MMI_ILLEGAL_ FIELD_FORMAT 2831 0xB0F Illegal field format MMI_ILLEGAL_FIXLINES 2832 0xB10 Illegal number of fix dialog lines MMI_ILLEGAL_M...

Page 1064: ...0xC02 Cannot decode results in client RC_COM_CANT_SEND 3075 0xC03 Hardware error while sending RC_COM_CANT_RECV 3076 0xC04 Hardware error while receiving RC_COM_TIMEDOUT 3077 0xC05 Request timed out RC_COM_WRONG_ FORMAT 3078 0xC06 Packet format error RC_COM_VER_ MISMATCH 3079 0xC07 Version mismatch between client and server RC_COM_CANT_ DECODE_REQ 3080 0xC08 Cannot decode arguments in server RC_CO...

Page 1065: ...108 0xC24 TPS has gone to sleep Wait and try again RC_COM_SRVR_IS_OFF 3109 0xC25 TPS has shut down Wait and try again DPL 3328 0xD00 RetCodeName Valu Hex Description DPL_RC_NOCREATE 3328 0xD00 no file creation fatal DPL_RC_NOTOPEN 3329 0xD01 bank not open DPL_RC_ALRDYOPEN 3330 0xD02 a databank is already open DPL_RC_NOTFOUND 3331 0xD03 databank file does not exist DPL_RC_EXISTS 3332 0xD04 databank...

Page 1066: ...864 0x1300 not ok DPL_RC_IVAPPL 4865 0x1301 invalid database system appl DPL_RC_NOT_ AVAILABLE 4866 0x1302 database not available DPL_RC_NO_CODELIST 4867 0x1303 no codelist found DPL_RC_TO_MANY_ CODELISTS 4868 0x1304 more then DPL_MAX_CODELISTS found FIL 3840 0xF00 RetCodeName Value Hex Description RC_FIL_NO_ERROR 3840 0xF00 Operation completed successfully RC_FIL_FILNAME_ NOT_FOUND 3845 0xF05 Fil...

Page 1067: ...allocation table RC_FIL_ILLEGAL_DRIVE 3970 0xF82 Illegal drive chosen RC_FIL_INVALID_ FILE_DESCR 3971 0xF83 Illegal file descriptor RC_FIL_SEEK_FAILED 3972 0xF84 Seek failed RC_FIL_CANNOT_ DELETE 3973 0xF85 Cannot delete file RC_FIL_MEDIUM_ WRITE_PROTECTED 3974 0xF86 Medium is write protected RC_FIL_BATTERY_LOW 3975 0xF87 Medium backup battery is low RC_FIL_BAD_FORMAT 3976 0xF88 Bad medium format ...

Page 1068: ...ssed AUT 8704 0x2200 RetCodeName Value Hex Description AUT_RC_TIMEOUT 8704 0x2200 Position not reached AUT_RC_DETENT_ ERROR 8705 0x2201 Positioning not possible due to mounted EDM AUT_RC_ANGLE_ERROR 8706 0x2202 Angle measurement error AUT_RC_MOTOR_ ERROR 8707 0x2203 Motorization error AUT_RC_INCACC 8708 0x2204 Position not exactly reached AUT_RC_DEV_ERROR 8709 0x2205 Deviation measurement error AU...

Page 1069: ...TCUT_ UNKNOWN 9729 0x2601 Shortcut or code unknown COD_RC_NOT_ SELECTED 9730 0x2602 Codelist selection wasn t possible COD_RC_MANDATORY_ FAIL 9731 0x2603 Mandatory field has no valid value COD_RC_NO_MORE_ ATTRIB 9732 0x2604 maximal number of attr are defined BAS 9984 0x2700 RetCodeName Value Hex Description BAS_ILL_OPCODE 9984 0x2700 Illegal opcode BAS_DIV_BY_ZERO 9985 0x2701 Division by Zero occu...

Page 1070: ...241 0x2801 no more data available IOS_MAX_BLOCK_LEN 10242 0x2802 reached max block length IOS_HW_BUF_OVERRUN 10243 0x2803 hardware buffer overrun highest priority IOS_PARITY_ERROR 10244 0x2804 parity error IOS_FRAMING_ERROR 10245 0x2805 framing error IOS_DECODE_ERROR 10246 0x2806 decode error IOS_CHKSUM_ERROR 10247 0x2807 checksum error lowest priority IOS_COM_ERROR 10248 0x2808 general communicat...

Page 1071: ...509 0x290D Error in saving parameter CNF_FILE_MISSING 10510 0x290E Parameter filename path not valid CNF_SECTION_MISSING 10511 0x290F Section in parameter file missing CNF_HEADER_FAIL 10512 0x2910 Default file wrong or an entry is missing CNF_PARMETER_FAIL 10513 0x2911 Parameter line not complete or missing CNF_PARMETER_SET 10514 0x2912 Parameter set caused an error CNF_RECMASK_FAIL 10515 0x2913 R...

Page 1072: ...ections G 10 G 6 Calculation of coordinate G 11 G 6 1 Calculation of azimuth and distance result from coordinate G 12 G 6 2 Calculation of coordinate result from azimuth and distance G 13 G 6 3 Conversion polar rectangular G 14 G 6 4 Conversion rectangular polar G 14 G 6 5 Calculation of zenith angle and slope distance as a result from coordinate G 14 G 7 Transformation of coordinate G 16 G 7 1 of...

Page 1073: ...oint circle G 32 G 11 4Distance point Clothoid G 32 G 12 Calculation of the Base point of plumb line G 33 G 12 1Point on line G 33 G 12 2Point on circle G 34 G 12 3Point on Clothoid G 35 G 13 Calculate point with distance on line G 37 G 13 1Point with distance on line G 37 G 13 2Calculate point on arc of circle with distance G 38 G 14 Calculation of Clothoid G 40 G 14 1Calculated Coordinate G 41 G...

Page 1074: ...in radiant generally used nomenclature dsX Y Slope distance from point X to point Y dhX Y Horizontal distance from point X to point Y at sea level HzX Y Horizontal direction from point X to point Y VX Y Vertical direction from point X to point Y always means zenith distance ZX Y Azimuth from point X to point Y Ni Ei Hi N E Coordinate and height at the point Pi NX Y Coordinate difference in N direc...

Page 1075: ...culate the absolute of the argument x Mod x Function in order to calculate the rest of an division sin x Function in order to calculate sine of the argument x cos x Function in order to calculate cosine of the argument x tan x Function in order to calculate tangent of the argument x asin x Function in order to calculate arcs sinus of the argument x acos x Function in order to calculate arcs cosine...

Page 1076: ... 2 CONVERSION OF ANGLE G 2 1 Generally Nomenclature GIVEN α angle to convert Formula Radiant in Neugrad f Radiant in Altgrad f Radiant in Artilleriepromille f Neugrad in Radiant f Altgrad in Radiant f Artilleriepromille in Radiant f α π α α π α α π α α π α α π α α π α 200 180 3200 200 180 3200 ...

Page 1077: ...s G 6 TPS1100 Version 1 30 G 2 2 Conversion decimal sexagesimal Nomenclature GIVEN α angle to convert WANTED min minute sek second Formula min min Int Frac sek Frac Frac f Int sek α α α α 60 60 60 10 10 2 4 Example α α 3 562100 33 000000 43 560000 3 334356 min sek f ...

Page 1078: ...exagesimal decimal Nomenclature GIVEN α angle to convert Formula f Int Int Frac 102 α α α α 60 10 10 3600 2 2 Frac Frac Example α α 3 334356 f 3 562100 G 3 CONVERSION OF DISTANCE Nomenclature WANTED USfoot American foot Interfoot International foot Formula USfoot 3 937 12 0 32808 m Interfoot 9 144 30 0 30480 m ...

Page 1079: ...lumn mbar Millibar tK Temperature in Kelvin tF Temperature in degree Fahrenheit tC Temperature in degree centigrade Formula Pressure 1 mm Hg 1 33322 mbar 1 760 atm Temperature Kelvin in C f tk tk 273 15 Fahrenheit in C f tk 5 9 tF 32 G 5 CALCULATION OF AVERAGE G 5 1 Generally Nomenclature GIVEN Li Measurement pi Significance of the measurement Li ...

Page 1080: ...ent mmean middle error of average Formula L p L p v L L m p v n 1 m m p mean i i i i mean i L i i mean L i Σ Σ Σ Σ 2 Authority Lecture of surveying at the IBB Muttenz G 5 2 Calculation of average for directions Nomenclature GIVEN Ri i direction element in array R1 1 direction element in array WANTED Rmean arithmetical average direction mR middle error of any direction mmean middle error of average...

Page 1081: ...an see formula calculation of average generally if R 0 then R R 2 else R R mod 2 mean mean mean mean mean π π Authority Specification circle orientation for UD2 Report No GA 08 91 G 5 3 Calculation of median for directions Nomenclature GIVEN n Number of directions Ri i direction element in array R1 1 direction element in array Rn 2 middle direction element in array WANTED RMEd as median averaged d...

Page 1082: ...lse R R R 2 end else R R n 2 n 2 1 med n 2 n 2 1 med n 2 n 2 1 med n 2 π π π Authority Specification circle orientation of UD2 Report No GA 08 91 G 6 CALCULATION OF COORDINATE Nomenclature in general Po Eo No Ho Position and the coordinates Pi Ei Ni Hi Target point and the coordinates E Coordinate difference in west east direction N Coordinate difference in north south direction ...

Page 1083: ...2 TPS1100 Version 1 30 Picture IV Quadrant III Quadrant II Quadrant I Quadrant Ε Ν Ε Ν Ε Ν Ε Ν P o Eo No Ho P i Ei Ni Hi P i Ei Ni Hi P i Ei Ni Hi P i Ei Ni Hi G 6 1 Calculation of azimuth and distance result from coordinate Formula E E E N N N dh E N i 0 i 0 P P 2 2 0 i ...

Page 1084: ...error information if N 0 then if E 0 then Z else Z 3 2 else begin Z atan E N if N 0 then Z Z else if E 0 then Z Z 2 end P P P P P P P P P P P P P P o i o i o i o i o i o i o i π π π π 2 G 6 2 Calculation of coordinate result from azimuth and distance Formula E E E N N N E dh sin Z N dh cos Z i 0 i 0 P P P P P P P P 0 i o i 0 i o i ...

Page 1085: ...te result from azimuth and distance G 6 4 Conversion rectangular polar see calculation of azimuth and distance result from coordinate G 6 5 Calculation of zenith angle and slope distance as a result from coordinate Nomenclature GIVEN Po Eo No Ho position and the coordinate Pi Ei Ni Hi target point and the coordinate i Instrument height s Reflector height ...

Page 1086: ...cal Formulas TPS1100 Version 1 30 G 15 Formula E E E N N N dh E N H H H if H i s 0 then V 2 else begin V atan dh H i s if V 0 then V V end ds dh sin V i 0 i 0 P P 2 2 P P i o P P P P o i o i o i Po Pi Po Pi Po Pi o i Po Pi Po Pi Po Pi Po Pi Po Pi Po Pi π π ...

Page 1087: ...i y i x i y i x y P o Nomenclature GIVEN Po centre point known in both system ϕ Angle of rotation between the two coordinate systems This is the angle clockwise is positive between the old and the new system y x Coordinate of centre point Po of both coordinate systems yi xi Coordinate in the old system e g local system WANTED yi xi Coordinate in the new system e g country coordinate system ...

Page 1088: ...l coordinate systems Picture x i y i x y ϕ P i P o N E N E i i y x Nomenclature GIVEN Po in both system known common points ϕ Rotation angle between the two coordinate systems This is the angle clockwise is negative between the old and the new system y x Coordinate difference of the common point Po of both coordinate systems Ei Ni Coordinates in the old system i e country coordinate system ...

Page 1089: ...0 Version 1 30 WANTED yi xi Coordinate in the new system i e mathematics system Formula y y E x x N y y N sin E cos x x N cos E sin 0 0 0 0 i i i i i i ϕ ϕ ϕ ϕ G 8 CALCULATION OF TRIANGLE Picture a b c α β γ G 8 1 Case SWS Nomenclature GIVEN b c given triangle sides α given angle ...

Page 1090: ... wanted angles Formula a b c 2bccos acos a c b 2ac acos a b c 2ab 2 2 2 2 2 2 2 2 α β γ G 8 2 Case SSS Nomenclature GIVEN a b c given triangle sides WANTED α β γ wanted angles Formula Remark if the sum of the two shorter sides are smaller than the longer side there is no solution α β α γ π α β acos b c a 2bc asin b sin a 2 2 2 ...

Page 1091: ...ture GIVEN a c given triangle sides γ given angle WANTED b1 b2 wanted triangle sides α α β β 1 2 1 2 wanted angles Formula Formula in general β π α γ γ γ π γ β γ if 0 OR then if 0 then b a c else b Abs a c else b c sin sin First solution α γ 1 asin a sin c Calculation of β1 and b1 with α1 and γ see above formula in general ...

Page 1092: ... formula in general end if c a then only one solution see above if c a then if a sin c then no solution if a sin c then only one solution see above if a sin c then 2 solution begin Calculation of and b with and see above formula in general end 2 1 2 2 2 2 2 1 2 2 2 γ π γ α α β α γ γ γ γ α π α β α γ 2 G 8 4 Case WWS or SWW Nomenclature GIVEN a given triangle side α β given angle ...

Page 1093: ...S1100 Version 1 30 WANTED b c wanted triangle sides γ wanted angles Formula if OR sin 0 then no solution else begin b a sin sin c a sin sin end α β π α γ π α β β α α β α Nomenclature GIVEN a given triangle side β γ given angle WANTED b c wanted triangle sides α wanted angle s ...

Page 1094: ...thematical Formulas TPS1100 Version 1 30 G 23 Formula if sin 0 then no solution else begin b a sin sin c a sin sin end β γ α π β γ β β γ γ β γ G 9 CALCULATION OF CIRCLE G 9 1 Radius and center result from 3 point Picture δ δ α β γ P1 P2 P3 r r a b c ...

Page 1095: ...e result from coordinate 2 Calculation of angle α α α α β β β β and γ see calculation of triangle case SSS 3 δ α β γ δ r a 2 cos 2 4 Calculation of azimuth from point 1 to point 3 see calculation of coordinate azimuth and distance result from coordinate 5 Important The points P1 to P3 are marked clockwise Z Z P1 centre P1 P3 δ 6 Calculation of centre coordinates with ZP1 centre and r see calculati...

Page 1096: ...culated centre co ordinates are wrong Calculation of new centre co ordinates begin Z Z Repetition of point 6 end centre P2 P1 centre P1 P3 δ G 10 CALCULATION OF INTERSECTION G 10 1 Intersection line line without parallel displacement Picture β γ P1 P3 P4 P2 Intersection S Nomenclature GIVEN P1 P4 Coordinate from P1 P4 ...

Page 1097: ...Z P3 P1 P1 P3 π 3 Calculation of distance P1 to P3 see calculation of coordinate azimuth and distance result from coordinate 4 β γ β β β π γ γ γ π Z Z Z Z if 0 then if 0 then P1 P3 P1 P2 P3 P4 P3 P1 5 Calculation of distance P1 to P3 see calculation of coordinate azimuth and distance result from coordinate 6 Calculation of distance P1 to S see calculation of triangle case WSW 7 Calculation of inte...

Page 1098: ...sitive Formula and proceeding of calculation 1 Calculation of azimuth see calculation of intersection without parallel displacement point 1 and point 2 2 Calculation of azimuth to the assistance point P1 and P3 Z Z Z Z P1 P1 P1 P2 P3 P3 P3 P4 π π 3 Calculation of coordinate of assistance point P1 and P3 with azimuth Z and Z P1 P1 P3 P3 and parallel displacement pv1and pv2 see calculation of coordi...

Page 1099: ...le Picture r r SP 1 SP 2 P1 P2 Formula and proceeding of calculation 1 Calculation of azimuth ZP1 P2 see calculation of coordinate azimuth and distance result from coordinate 2 Calculation of azimuth ZP1 Centre and the distance P1 centre see calculation of coordinate azimuth and distance result from coordinate 3 α Z Z P1 Centre P1 P2 4 Calculation of distance P1 SP1 and P1 SP2 with α distance P1 c...

Page 1100: ...nate result from azimuth and distance G 10 4 Intersection circle circle Picture SP 1 SP 2 Z 1 Z2 r1 r2 r1 r2 α α Nomenclature Z1 centre of 1 circle Z2 centre of 2 circle r1 radius of 1 circle r2 radius of 2 circle SP1 SP2 Intersection of both circles Formula and proceeding of calculation 1 Calculation of azimuth ZZ Z 1 2 and the distance Z1 Z2 see calculation of coordinate azimuth and distance res...

Page 1101: ...S if 0 then only one intersection Z Z else begin Z Z Z Z end SP Z Z P SP Z Z P SP Z Z 1 2 1 2 1 1 1 2 1 2 1 2 α α α 4 Calculation of intersection coordinate with Z resp Z P SP P SP 1 1 1 2 and r1 see calculation of coordinate result from azimuth and distance G 11 CALCULATION OF DISTANCE G 11 1 Distance point point see calculation of coordinate azimuth and distance result from coordinate ...

Page 1102: ...ure α x y P1 P2 P3 Nomenclature GIVEN P1 P3 Coordinate from point P1 P3 WANTED x y Distances Formula and proceeding calculation 1 Calculation of azimuth ZP1 P3 and the distance P1 P3 see calculation of coordinate azimuth and distance result from coordinate 2 Calculation of azimuth ZP1 P2 α α α Z Z x a sin y a cos P1 P2 P1 P3 ...

Page 1103: ...nd P1 Coordinate of centre of the circle and of the point P1 r radius WANTED x distance Formula and proceeding calculation 1 Calculation of distance dhZ P1 see calculation of coordinate azimuth and distance result from coordinate 2 x dh r Z P1 G 11 4 Distance point Clothoid see calculation of the base point of foot of a perpendicular observation point on Clothoid ...

Page 1104: ...E G 12 1 Point on line Picture α x y P1 P2 P3 FP Nomenclature GIVEN P1 P3 Coordinate from point P1 P3 WANTED x y Distances FP Base point of plumb line Formula and proceeding calculation 1 Calculation of distance y see calculation of distance distance point line 2 Calculation of the Base point of plumb line FP see Point with distance on line ...

Page 1105: ...P1 Coordinate of the centre of the circle and the point P1 r radius WANTED x distance Formula and proceeding calculation 1 Calculation of azimuth ZZ P1 see calculation of coordinate azimuth and distance result from coordinate 2 Calculation of the Base point of plumb line with ZZ P1 and the Radius r see calculation of coordinate result from azimuth and distance ...

Page 1106: ...BA BE coordinates of the beginning BA and the end BE of the arc Pi Base point of plumb line calculated at the i iteration step WANTED r radius in the unitary clothoids l length of the arc on the unity clothoid a distance from P1 to the unity clothoid Pi 1 wanted base point of plumb line at the next iteration step Formula and proceeding calculation This iteration algorithm is only applicable for so...

Page 1107: ...e calculation of the Base point of plumb line 1 Calculation of coordinates of point Pi with τ ln 2 2 see clothoid Calculation Calculated Coordinate 2 Calculation of azimuth ZPi P1 and the distance a see calculation of coordinate azimuth and distance see result from coordinate Attention The coordinates are located in the mathematics system that means the substitution E X and N Y have to be used fir...

Page 1108: ... which is found in this proceeding has to be retransformed into the country coordinate system see calculation of clothoid transformation G 13 CALCULATE POINT WITH DISTANCE ON LINE G 13 1 Point with distance on line Nomenclature GIVEN P1 P2 point on line x distance of point to be calculated P3 to point P1 WANTED P3 point to be calculated Formula and proceeding calculation 1 Calculation of azimuth Z...

Page 1109: ...ng and end point of arc are given Picture b b BA BE r r γ α β α s 1 s 2 Nomenclature GIVEN BA Start of arc BE End of arc r Radius WANTED NP new point γ displacement angle b arc length clockwise positive Formula and proceeding calculation 1 Calculation of azimuth ZBA BE and distance dhBA BE see calculation of coordinate azimuth and distance result from coordinate ...

Page 1110: ...hen 0 Z Z 1 1 2 BA NP BA BE π π π π γ γ α β α α α β 3 Calculation of coordinate from the new point with ZBA NP and s1 see calculation of coordinate result from azimuth and distance G 13 2 2 Center of Circle is given Formula and proceeding calculation 1 Calculation of azimuth ZZ P1 see calculation of coordinate azimuth and distance result from coordinate 2 γ γ b Z Z Z P Z P1 NP r ...

Page 1111: ...new point NP with ZZ P1and radius r see calculation of coordinate result from azimuth and distance G 14 CALCULATION OF CLOTHOID Picture τ β Pi y x y x i i R L Nomenclature R Radius L arc length τ Tangent angle A Clothoid parameter If Clothoid rotates to the left then A is negative if to the right then A is positive ...

Page 1112: ... L A A R A L R L 2 R 2 2 2 2 2 2 2 τ τ τ τ τ τ τ 2 2 G 14 1 Calculated Coordinate Nomenclature GIVEN τ Tangent angle WANTED xi yi Coordinate in the unity clothoid system Formula The formulas are valid only for the calculation of coordinates in the unity clothoid system A 1 x 2 4n 3 2n y 2 4n 2n i n 1 n 2 n 1 i n 1 n n 1 τ τ τ τ 1 2 1 1 1 2 2 1 ...

Page 1113: ...ature GIVEN A clothoid parameter L arc length Po Zero point coordinate of the clothoid system P1 given point on the clothoid Pi Coordinate of the point which has to be transformed in the old system WANTED Pi Coordinate of the point which has been transformed in the new system Picture P τ β α Z Po P1 A A Pi y x E N o P 1 ...

Page 1114: ...inate of point Pi in the unity clothoid system see calculation of coordinate 3 Calculation of angle β β atan y x 4 Calculation of rotation angle if A 0 then Z else Z if Transformation direction Klothoidensystem into Country system then 2 P P P P 0 1 0 1 α β α β α π α 5 Calculated transformation with Po as common point α as rotation angle and point Pi see coordinate transformation geodetic Systems ...

Page 1115: ...G 44 TPS1100 Version 1 30 G 16 PLANIMETRY G 16 1 Planimetry result from coordinate Gauss Picture 1 2 3 4 5 X 1 X 5 X 4 X 2 X 3 Y 5 Y 4 Y 3 Y 2 Y 1 Nomenclature GIVEN n Number of corner point Y Y coordinate X X coordinate WANTED F plane Formula 2F Y X X i i 1 i 1 i 1 n ...

Page 1116: ... P 2 1 0 dh dh Po P1 Po P2 Remark The points P1 and P2 are defined clockwise The result of exchanging the horizontal directions is a negative plane Nomenclature GIVEN HzPo x horizontal direction from point Po to point x dhPo x horizontal distance from point Po to point x WANTED F Triangle plane Formula α α Hz Hz F dh dh sin 2 P P P P P P P P 0 2 0 1 0 1 0 2 ...

Page 1117: ...rence Manual Appendix G Geodesy Mathematical Formulas G 46 TPS1100 Version 1 30 G 16 3 Segment Plane Picture Z r r s γ Nomenclature GIVEN s Tendon length r Radius WANTED F Segment plane Formula γ γ γ s r F r sin 2 2 ...

Page 1118: ...he Mark Picture Zentrum Exzentrum Zielpunkt e d α β Nomenclature GIVEN HzEx ZP VEx ZP dsEx ZP Measure element on the excenter e Horizontal distance centre excenter WANTED HzZ ZP VZ ZP dsZ ZP on the centre re centre measure element Formula and proceeding calculation 1 Calculation of horizontal distance dhEx ZP see geometry reduction of the measured distance 2 α Hz Hz Ex ZP Ex Z ...

Page 1119: ... ZP Ex ZP Ex Z Ex Z Ex Z Ex Z Ex ZP Ex Z Z ZP Z ZP π π π π π β β 5 Calculation of the re centred vertical direction V atan H dh if V test if the telescope is in I position then V V V else V V V Z Ex Z ZP Ex ZP Z ZP Ex ZP Z ZP Ex ZP π 6 Calculation of the re centred slope distance ds dh sin V Z ZP Z ZP Z ZP G 17 2 Distance is not measured to the mark Remark This assumes that the coordinate of centr...

Page 1120: ...le else of the 1 solution is OK see calculation of triangle Ex ZP Ex Z 3 Calculation of β with dhZ ZP e and α see calculation of triangle case SSW 4 Calculation of the re centred horizontal direction see above Distance measured to the mark point 4 5 Calculation of the re centred vertical direction see above Distance measured to the mark point 5 G 18 TRANSVERSE AND LONGITUDINAL DISPLACEMENT IN THE ...

Page 1121: ...Transverse displacement Hzgem measured horizontal direction dh reduced horizontal distance WANTED dhkorr corrected horizontal distance Hzkorr corrected horizontal direction Formula Correction in consequence of longitudinal displacement dh dh L Correction in consequence of transverse displacement dh dh Q Hz Hz atan Q dh korr korr 2 2 korr gem ...

Page 1122: ...sition Po to the mark Pi Oi Orientation of limb Omean Orientation unknown quantity as arithmetic average Omed Orientation unknown quantity as median VL1i Improvement at the direction Hzi from L1 Mr Exactness of one single direction Mor Exactness of the orientation unknown quantity Omean Q Limit for Mor a priori exactness Formula and proceeding calculation The formulas are only valid for the units ...

Page 1123: ...L1 i med i i π 6 Calculation of the exactness of one single direction Mr and the exactness of the orientation unknown quantity Mor see Calculation of average in generally 7 if Mor Q then result is accepted no analysis of the observation has to be made 8 if n 3 then no analysis of the observation has to be made 9 h O if abs O O 2 then begin if O O 0 then h O 2 if O O 0 then h O 2 end mean med mean ...

Page 1124: ...C Reference Manual Appendix G Geodesy Mathematical Formulas TPS1100 Version 1 30 G 53 10 Analysis of the observation if T V then Hz is wrong L1 i i G 20 HIDDEN POINT Picture 1 γ 2 3 α1 2 α P o dh 2 3 dh 1 2 β ...

Page 1125: ...r 2 Reflektor 3 Hidden Point Nomenclature GIVEN Hz ds V Hz ds V P P P P P P 0 0 0 0 0 0 1 1 1 2 2 2 Measurement at the station Po a Distance of both reflectors l Distance of the hidden point from the reflector first measured also possible that it is negative WANTED Hz ds V P P P 0 0 0 3 3 3 calculated measured values to the hidden point Formula and proceeding calculation ...

Page 1126: ...3 Calculation of the angle β with dhPo 1 α1 and dhPo 2 see calculation of triangle case SWS if l 0 then β π β 4 γ γ γ asin H H a H l sin dh Abs l cos P P 1 3 1 3 0 0 2 1 5 Calculation of the distance dhPo 3 and the angle α2 with dhPo 1 β and dh1 3 see calculation of triangle case SWS if l 0 then 0 2 2 α α 6 Calculation of the vertical direction VPo 3 V atan H dh if V test if telescope in I positio...

Page 1127: ...the slope distance dsPo 3 ds Abs dh sin V P P P 3 0 0 0 3 3 8 Calculation of the horizontal direction HzPo 3 if Hz 0 AND Hz then Hz Hz 2 if Hz 0 AND Hz then Hz Hz 2 if Hz Hz then Hz Hz mod 2 else Hz Hz mod 2 P 1 P 1 P 1 P 1 P 2 P 2 P 2 P 2 P 2 P 1 P 3 P 1 2 P 3 P 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 π π π π α π α π ...

Page 1128: ..._ denote an system event System Functions Description CSV_SFNC_BeepAlarm Beep alarm Alarm beep CSV_SFNC_BeepLong Beep long Long beep CSV_SFNC_BeepNormal Beep normal Normal beep CSV_SFNC_BeepShort Beep short Short Beep CSV_SFNC_ CallFreeCodingDlg Coding with codelists Standard coding application Priorities 1 GeoBASIC code function 2 OSW free coding 3 Standard coding CSV_SFNC_ChangeFace I II Change ...

Page 1129: ...acro CSV_SFNC_FetchLastPoint Get last rec PointId Sets the actual point number to the last recorded one CSV_SFNC_FormatMemCard Format PC Card Formats after a query the PC Card and shows the Card Info dialog CSV_SFNC_ ImportStationCoordDlg Import station coord Imports the station coordinates of a given pointid If the coordinates are available then there is no dialog visible CSV_SFNC_ ImportStationC...

Page 1130: ...distance measurement This function is only useful in a measurement dialog CSV_SFNC_ MeasureDistAndRec ALL Measure and Rec Forces a distance measurement and records the target point data This function is only useful in a measurement dialog CSV_SFNC_PositCompassDlg RCS Ori with compass RCS orientation with a compass Dialog This function is only at RCS mode available CSV_SFNC_PositHzVDlg RCS Position...

Page 1131: ...entation to any angle Dialog CSV_SFNC_SetHz0 Set Hz to 0 0 Sets the Hz circle orientation to 0 0 CSV_SFNC_SetManDist Horiz distance entry Manual entry of a horizontal distance Dialog CSV_SFNC_SetMeasDlgMask1 Set Display Mask 1 Set display 1 for the measurement dialog CSV_SFNC_SetMeasDlgMask2 Set Display Mask 2 Set display 2 for the measurement dialog CSV_SFNC_SetMeasDlgMask3 Set Display Mask 3 Set...

Page 1132: ...ation CSV_SFNC_ToggleEglIllum EGL illumnin On Off Toggles the EGL illumination This function is only at instruments with a build in EGL available CSV_SFNC_ ToggleLaserPlummet Laser plummet On Off Toggles the laser plummet This function is only available on instruments with a build in laser plummet CSV_SFNC_ToggleLock Enable Disable LOCK Enables or disables the Locking This function is only at ATR ...

Page 1133: ... the FNC menu CSV_EFNC_ButtonLevel Button LEVEL Generates the same event like pressing the level button Usually connected to the Electronic Level function CSV_EFNC_ButtonLight Button LIGHT Generates the same event like pressing the light button Usually connected to Instrument Lights function CSV_EFNC_ButtonPowerOff Button Power OFF Generates the same event like pressing the power off button Usuall...

Page 1134: ...urement function CSV_EFNC_ MeasDistanceRecord ALL Measure and Rec Global measure and record a distance event Usually connected to the Measure and Record function CSV_EFNC_MeasRecord Measure and Record Global measurement and recording event Usually connected to a user defined measurement dialog CSV_EFNC_RcsSetup RCS Setup RCS parameter setup event Usually connected to a user defined RCS parameter d...

Page 1135: ...tup event setup station jobs Usually connected to an user defined setup dialog CSV_EFNC_TargetData Target Data Settings Global target data setting event Usually connected to an user defined target data dialog CSV_EFNC_USER1 User Event 1 Usually not connected CSV_EFNC_USER2 User Event 2 Usually not connected CSV_EFNC_USER3 User Event 3 Usually not connected ...

Page 1136: ...lowing Capitalisation is relevant CSV_LibCall FreeSt_Ori_Res ORIMain sCaptionShort Application Version Entry Point Application Name Entry Point Name s Area 2 0 Area AreaApplMain Auto Record 2 0 AutoRecord AutoRecApplMain COGO 2 0 COGO CogoApplMain DTM Stakeout 2 0 DTM Stakeout TinStakeMain Face Scan 2 0 FaceScanning FscanApplMain Free Station Orientation Resection 2 0 FreeSt_Ori_Res FRSMain ORIMai...

Page 1137: ... Manual Appendix I Callable C Application Functions TPS1100 Version 1 30 I 2 Application Version Entry Point Application Name Entry Point Name s Traverse 2 0 Traverse TravMain Tie Distance 2 0 TieDistance TieDistApplMain ...

Page 1138: ...pe Definition of a line GM_Mean_StdDev_Type Average middle error of average and middle error of any observation GM_Measurements_Type Structure used for measurement polar coordinates GM_Point_Type Definition of a point GM_QXX_Matrix_Type Coefficients of the cofactor matrix of the unknown GM_Triangle_Accuracy_Type Accuracy of angle and side of the triangle GM_Triangle_Values_Type Sides and angles of...

Page 1139: ...n of a line GM_Mean_StdDev_Type Average middle error of average and middle error of any observation GM_Measurements_Type Structure used for measurement polar coordinates GM_Point_Type Definition of a point GM_QXX_Matrix_Type Coefficients of the cofactor matrix of the unknown GM_Triangle_Accuracy_Type Accuracy of angle and side of the triangle GM_Triangle_Values_Type Sides and angles of a triangle ...

Page 1140: ...ucture for the distance measurement TMC_GEOM_PROJECTION_Type Corrections for distance measurement to define PPM values of projection TMC_GEOM_REDUCTION_Type Corrections for distance measurement to define PPM values of reduction to the reference TMC_HZ_V_Ang_Type Horizontal and vertical angle TMC_Incline_Type Data structure for the inclination measurement TMC_OFFSET_DIST_Type Target offset TMC_PPM_...

Page 1141: ...e 6 196 CSV_CheckAltUserTask 6 206 CSV_Delay 6 201 CSV_GetATRStatus 6 201 CSV_GetDateTime 6 187 CSV_GetElapseSysTime 6 192 CSV_GetGBIVersion 6 191 CSV_GetInstrumentFamily 6 189 CSV_GetInstrumentName 6 188 CSV_GetInstrumentNo 6 189 CSV_GetLaserPlummet 6 205 CSV_GetLockStatus 6 198 CSV_GetLRStatus 6 193 CSV_GetPrismType 6 204 CSV_GetSWVersion 6 190 CSV_GetSysTime 6 193 CSV_GetTargetType 6 203 CSV_Ge...

Page 1142: ..._SysCall 6 207 CSV_SysCallAvailable 6 208 CurDir 2 64 Eof standard function 2 63 FileCopy 2 72 Get values 2 55 GetDirectoryList 2 71 GetFileStat 2 70 GetMemoryCardInfo 2 69 GSI_ GetIndivNr 6 145 GSI_CheckTracking 6 180 GSI_Coding 6 148 GSI_CreateMDlg 6 171 GSI_DefineMDlg 6 178 GSI_DefineRecMaskDlg 6 162 GSI_ExecQCoding 6 150 GSI_ExecuteAutoDist 6 180 GSI_GetDataPath 6 156 GSI_GetLineSysMDlg 6 169 ...

Page 1143: ...rdRecMask 6 181 GSI_SelectCode 6 149 GSI_SetDataPath 6 155 GSI_SetIndivNr 6 146 GSI_SetIvPtNrStatus 6 147 GSI_SetLineMDlg 6 173 GSI_SetLineMDlgPar 6 175 GSI_SetLineMDlgText 6 174 GSI_SetLineSysMDlg 6 168 GSI_SetMDlgNr 6 170 GSI_SetQCodeMode 6 150 GSI_SetRecMask 6 159 GSI_SetRecMaskNr 6 161 GSI_SetRecOrder 6 152 GSI_SetRecPath 6 153 GSI_SetRunningNr 6 145 GSI_SetWiEntry 6 157 GSI_UpdateMDlg 6 177 G...

Page 1144: ...aphDialog 6 21 MMI_CreateMenuItem 6 10 MMI_CreateTextDialog 6 19 MMI_DeleteButton 6 27 MMI_DeleteDialog 6 22 MMI_DeleteGBMenu 6 17 MMI_DrawBusyField 6 53 MMI_DrawCircle 6 51 MMI_DrawLine 6 48 MMI_DrawRect 6 49 MMI_DrawText 6 52 MMI_FormatVal 6 42 MMI_GetAngleRelation 6 60 MMI_GetAngleUnit 6 63 MMI_GetButton 6 24 MMI_GetCoordOrder 6 73 MMI_GetDateFormat 6 70 MMI_GetDistUnit 6 65 MMI_GetLangName 6 7...

Page 1145: ..._SelectGBMenuItem 6 17 MMI_SetAngleRelation 6 59 MMI_SetAngleUnit 6 61 MMI_SetCoordOrder 6 72 MMI_SetDateFormat 6 69 MMI_SetDistUnit 6 63 MMI_SetLanguage 6 73 MMI_SetPressUnit 6 65 MMI_SetTempUnit 6 67 MMI_SetTimeFormat 6 70 MMI_SetVAngleMode 6 60 MMI_StartVarBeep 6 54 MMI_SwitchAFKey 6 57 MMI_SwitchIconsBeep 6 58 MMI_SwitchVarBeep 6 55 MMI_WriteMsg 6 44 MMI_WriteMsgStr 6 46 Open 2 48 Print 2 54 P...

Page 1146: ..._Get SetRefractiveMethod 6 120 TMC_Get SetStation 6 121 TMC_GetAngle 6 107 TMC_GetAngle_WInc 6 109 TMC_GetAngSwitch 6 127 TMC_GetCoordinate 6 104 TMC_GetDistSwitch 6 123 TMC_GetFace1 6 126 TMC_GetInclineStatus 6 128 TMC_GetInclineSwitch 6 128 TMC_GetOffsetDist 6 125 TMC_GetPolar 6 101 TMC_GetSimpleMea 6 114 TMC_IfDistTapeMeasured 6 121 TMC_IfOffsetDistMeasured 6 125 TMC_QuickDist 6 110 TMC_SetAngS...

Page 1147: ..._Distance_Type Data structure for the distance measurement TMC_GEOM_PROJECTION_Type Corrections for distance measurement to define PPM values of projection TMC_GEOM_REDUCTION_Type Corrections for distance measurement to define PPM values of reduction to the reference TMC_HZ_V_Ang_Type Horizontal and vertical angle TMC_Incline_Type Data structure for the inclination measurement TMC_OFFSET_DIST_Type...

Page 1148: ...t 2 77 CSV_ChangeFace 6 200 CSV_CheckAltUserTask 6 210 CSV_Delay 6 205 CSV_GetATRStatus 6 205 CSV_GetDateTime 6 191 CSV_GetElapseSysTime 6 196 CSV_GetGBIVersion 6 195 CSV_GetInstrumentFamily 6 193 CSV_GetInstrumentName 6 192 CSV_GetInstrumentNo 6 193 CSV_GetLaserPlummet 6 209 CSV_GetLockStatus 6 202 CSV_GetLRStatus 6 197 CSV_GetPrismType 6 208 CSV_GetSWVersion 6 194 CSV_GetSysTime 6 197 CSV_GetTar...

Page 1149: ...argetType 6 206 CSV_SysCall 6 211 CSV_SysCallAvailable 6 212 CurDir 2 64 Eof standard function 2 63 FileCopy 2 72 Get values 2 55 GetDirectoryList 2 71 GetFileStat 2 70 GetMemoryCardInfo 2 69 GSI_ GetIndivNr 6 149 GSI_CheckTracking 6 184 GSI_Coding 6 152 GSI_CreateMDlg 6 175 GSI_DefineMDlg 6 182 GSI_DefineRecMaskDlg 6 166 GSI_ExecQCoding 6 154 GSI_ExecuteAutoDist 6 184 GSI_GetDataPath 6 160 GSI_Ge...

Page 1150: ..._Measure 6 183 GSI_QuickSet 6 157 GSI_RecordRecMask 6 185 GSI_SelectCode 6 153 GSI_SetDataPath 6 159 GSI_SetIndivNr 6 150 GSI_SetIvPtNrStatus 6 151 GSI_SetLineMDlg 6 177 GSI_SetLineMDlgPar 6 179 GSI_SetLineMDlgText 6 178 GSI_SetLineSysMDlg 6 172 GSI_SetMDlgNr 6 174 GSI_SetQCodeMode 6 154 GSI_SetRecMask 6 164 GSI_SetRecMaskNr 6 165 GSI_SetRecOrder 6 156 GSI_SetRecPath 6 157 GSI_SetRunningNr 6 149 G...

Page 1151: ...15 MMI_CreateGraphDialog 6 22 MMI_CreateMenuItem 6 11 MMI_CreateTextDialog 6 20 MMI_DeleteButton 6 28 MMI_DeleteDialog 6 23 MMI_DeleteGBMenu 6 18 MMI_DrawBusyField 6 54 MMI_DrawCircle 6 52 MMI_DrawLine 6 49 MMI_DrawRect 6 50 MMI_DrawText 6 53 MMI_FormatVal 6 43 MMI_GetAngleRelation 6 61 MMI_GetAngleUnit 6 64 MMI_GetButton 6 25 MMI_GetCoordOrder 6 74 MMI_GetDateFormat 6 71 MMI_GetDistUnit 6 66 MMI_...

Page 1152: ..._SelectGBMenuItem 6 18 MMI_SetAngleRelation 6 60 MMI_SetAngleUnit 6 62 MMI_SetCoordOrder 6 73 MMI_SetDateFormat 6 70 MMI_SetDistUnit 6 64 MMI_SetLanguage 6 74 MMI_SetPressUnit 6 66 MMI_SetTempUnit 6 68 MMI_SetTimeFormat 6 71 MMI_SetVAngleMode 6 61 MMI_StartVarBeep 6 55 MMI_SwitchAFKey 6 58 MMI_SwitchIconsBeep 6 59 MMI_SwitchVarBeep 6 56 MMI_WriteMsg 6 45 MMI_WriteMsgStr 6 47 Open 2 48 Print 2 54 P...

Page 1153: ...Get SetHzOffset 6 120 TMC_Get SetRefractiveCorr 6 124 TMC_Get SetRefractiveMethod 6 124 TMC_Get SetStation 6 125 TMC_GetAngle 6 110 TMC_GetAngle_WInc 6 111 TMC_GetAngSwitch 6 131 TMC_GetCoordinate 6 107 TMC_GetDistSwitch 6 127 TMC_GetFace1 6 130 TMC_GetInclineStatus 6 132 TMC_GetInclineSwitch 6 132 TMC_GetOffsetDist 6 129 TMC_GetPolar 6 103 TMC_GetSimpleMea 6 116 TMC_IfDistTapeMeasured 6 125 TMC_I...

Page 1154: ...GeoBASIC Reference Manual Appendix J List of Predefined Identifiers TPS1100 Version 1 30 J 9 TMC_SetOffsetDist 6 128 ...

Reviews: