Motorola v3 hab error 0x4e

motorola v3 hab error 0x4e

Die Software ist nur auf NEXTSTEP for Motorola einsetzbar! Wenn ich die Ich hab jetzt zumindest eine Loesung gefunden: # Flags passed to ld (in addition. TRIMBLE NAVIGATION LIMITED IS NOT RESPONSIBLE FOR THE OPERATION OR FAILURE OF OPERATION OF GPS SATELLITES OR THE AVAILABILITY OF GPS SATELLITE SIGNALS. This is a common problem with) + AC_MSG_WARN(HP-UX 9.x.) + AC_MSG_ERROR(X11 installation incomplete; cannot continue) + fi + fi +fi + +AC_SUBST(MH_XLIBS) +.

youtube video

Motorola RAZR V3 (2004) — phone review

Motorola v3 hab error 0x4e - sorry

The GFA-Basic Compendium

Subject: Documentation/Programming Author: GFA Systemtechnik GmbH HTML conversion created with STG2HTML v Written by Lonny Pursell and ENCOM Note: Images are not supported.Index

Main

GFA-Basic Editor/Interpreter ManualAESGFA-Basic Compiler/Linker ManualVDIGFA-Basic AddendumBIOS()XBIOS()Error CodesindexGEMDOS()Number TableShift TableLINE-AHYPertext VersionEULAHelp
The Atari Compendium The documentation for TOS (aka sprers.eu)

Help

How to use this HYPertext At the end of most pages are external links to other documents which should be placed in the same directory as this document. The external links are denoted by a '+' sign after them. Other documents could be: The Atari Compendium, TOS HYP, NVDI 5, etc. Example: appl_init()+ could be an external link to the page 'appl_init()' in the The Atari Compendium. The external links provide additional information which may be more accurate than the information provided in this document. You might also see a Memo at the end of various pages. These provide information that I've discovered on my own or reported from other GFA-Basic users.

Document not found

The requested document was not found. Please recheck your typing and try again or check the index for the page you were looking for.

GFA-Basic

GFA-Basic is the best BASIC for the Atari!

Lonny Pursell

WWW: sprers.eu

DR

Digital Research

HYPertext Version

Manual ported by Lonny Pursell and ENCOM [v 12/16/] WWW: sprers.eu Tools used in porting: GFA-Basic ST-Guide STeno ScanX Pro OCR QED GEMView Time spent porting: I spent about 2 months working on this project. On an average I spent 3 days per week (6 hours a day) scanning and editing the text. The grand total is approximately hours. The raw data is about k.
Note: I have GFA-Basic vTTe (last known version) so all comments are based on this version. Written by Lonny Pursell (C) Lonny Pursell and ENCOMAllrightsreserved.
Disclaimer This package may NOT be freely distributed under any conditions whatsoever. It was ported to HYPertext so that I could speed up my own personal software developement. I claim absolutely no rights to the information contained within or responsibility for anything resulting from improper distribution.

GFA-Basic Addendum

End-user License AgreementGeneral InformationKnown problems with GFA-BasicPatches for sprers.eu Functions and ObjectsGFA-Basic HistoryThe Origins of GFA-BasicGFA-Basic v3 float formatST-Basic float format (CVS()) Debugging with GFA-Basic and MiNTMisc ImagesOptimizations not covered in the Compiler manualCommand line optionsCookie JarFastload on TOS /Assembler NotesStart-up/Shut-down modulesC to GFABASICCompatibility with GFA-BASIC Understanding GFA's VDI schemePorting other BASICsGCC Extended Program Header Tutorials: Using GEMSYSA Study of VDISYSVDI RevisitedOptimizing FUNCTION CallsAssembler and GFABASICCompiler Option $MCompiler Option $PExternal ArraysStructures

Command line options

The editor can be started with a command line: Example: sprers.eu start editor and run source sprers.eu start editor in edit mode

Optimizations not covered in the Compiler manual

Math with numbers a%=10+4*/7 !for example, is converted into: moveq #13,d0 move.l d0,adr_of_variable That's quite an impressive optimization. Say you are dealing with some structure, and you prefer to write like this for clearity: LONG{struct%+0}=22 LONG{struct%+4}=5 !etc The +0 in the first line generates no code at all when compiled. IF/ENDIF versus SELECT/CASE If you have an IF/ENDIF structure that does 2 or more tests on the same variable, SELECT/CASE should be used. Why? Because SELECT/CASE holds the value of the variable in a register for the entire structure, where as IF/ENDIF fetches the value of the variable at each reference.
IF/ENDIF with Boolean testsIF test!=TRUE !generates more code IF test! !less code IF test!=FALSE !generates more code IFNOT test! !less code
Quick flip flags How to flip a boolean variable (FALSE or TRUE) in one line of code: flag!=NOT flag! flag&=NOT flag& How to flip a variable used as a flag (0 or 1) in one line of code: flag&=flag& XOR 1 (shortest when compiled) flag&=BCHG(flag&,0) flag&=1-flag&
Variables versus Constants This is slower and generates more code: pdomain&= domain_mint&=1 result&=GEMDOS(pdomain&,W:domain_mint&) This is faster and more compact when compiled: result&=GEMDOS(,W:1) Although the first example is easier to read, fetching the values of the variables adds overhead.
Built in commands versus custom bindings If at all possible always use the built in commands. Built in commands pass parameters via registers. User written routines on the other hand pass all parameters via the stack, which is slower.

Cookie Jar

Normally you need to go to supervisor mode to get the cookie jar address. To avoid that one can use this legal BIOS() call. This is the best method for MiNT and works equally well under all versions of TOS. jar_adr%=BIOS(5,W:SHR&(&H5A0,2),L:TRUE) The Cookie Jar+

Fastload on TOS /

How to force a fastload on TOS / (exploit a bug in TOS) ______________________________________________________________________________ The binary must meet 2 requirements: 1) No relocation data (must be % pc relative) 2) The ABSFLAG in the header must be set to non-zero (word at offset 26) The OS will load the file and relocate it. Control will be passed to the binary like normal. The OS fails to do 2 things (the bug): The BSS and heap memory areas will not be cleared (thus its fastloaded). The binary is not closed, it cannot be deleted or moved from the Desktop. The binary should close itself before it terminates. If not, the system will have 1 less file handle available to other apps. ______________________________________________________________________________ To close the binary you have 2 options: Method #1 (used in PinHead v) Call fsfirst() with "*.*" in the current dir and open the 1st file you find. Then simply close the file. Now fclose(previous handle-1), the binary will then be closed. Method #2 (used in DC Squish II v) Check the TOS version: If its TOS If the word at offset $15D2 = $A, then the next word is the handle. If its TOS If the word at offset $ = $A, then the next word is the handle. Call fclose() with the file handle, the binary will then be closed. TOS and up do not have this bug and also supports fastload directly. ______________________________________________________________________________ This technique is probably only useful in small \auto folder programs as it is sort of hard to write a rather large application that has no fixups. The information regarding this trick was discovered by dis-assembling the above mentioned programs and studying the code. Tests were made with old versions of TOS to verify the mysterious offsets mentioned as well. The Atari Compendium mentions a bug related to the ABSFLAG and some versions of TOS, but does not state the nature of the problem. Well, now I know. ;o) ============================================================================== Related information: From the PinHead v documentation: ************* * * *NEW STUFF * * * ************* PinHead PinHead Now Fastloads Itself! Version of PinHead uses an undocumented feature of TOS and to "fastload" itself. This means that the speedup starts one program sooner in your AUTO folder, since the PinHead program file does not cause memory to be cleared when it runs. (NOTE: Normally, the use of this undocumented feature would result in the PinHead program file being left "open" by the system. PinHead uses a special technique to avoid this bug in TOS, and you will have no trouble deleting, renaming, or copying the PinHead program file after it runs.) From the DC Squish II manual, page 19, 1st paragraph: When the FAST bit is OFF, both the BSS and the HEAP memory areas are cleared. Early TOS versions, and do not know about the FAST bit and therefore 'always' clear both the BSS and HEAP. There is a trick to make GEMDOS load files 'fast' on TOS & , and SQUISH uses this technique to allow fast-equivalent execution speed. ______________________________________________________________________________ GEMDOS Processes+

GFA-Basic History

From: Holger Herzog <[email protected]> Organization: MAUS Zweibr&#;cken + Newsgroups: <sprers.euic> Date: Friday, November 22, PM Subject: Re: gfa history Hi Lonny! L>Does someone here know what "gfa" means in the title of "gfa-basic"? I L>have wondered this since the day I discovered version 2.x back in the L>days of the Atari st. As far as I know, GFA (originally called "GfA") was a shortcut for "Gesellschaft f&#;r Anwendungssoftware mbH". That means in english (word by word): "Company for application software Ltd." So GfA was the name of the company, and GfA-Basic was the name of the software. But in fact, this name ("GfA") was in conflict with the name of a further organization. I can't remember which one it was. But due to that, the company was renamed into "GFA Systemtechnik GmbH" which means: "GFA system engineering Ltd." So from then, "GfA" was called "GFA". And "GFA" is now - AFAIK - only a symbol for the company that sounds like the old shortcut, but without officially being a shurtcut. Now, the basic also is called "GFA-Basic", not "GfA-Basic" any longer. Best regards! Holger
Subject: [gfa-dev-atari] GFA / GfA Date: Monday, January 28, AM From: Holger Herzog <[email protected]> Reply-To: GFA-Basic Dev Mailing-List <[email protected]> To: GFA-Basic Dev Mailing-List <[email protected]> Conversation: [gfa-dev-atari] GFA / GfA Hi Lonny! I'm not sure anymore if I'm right with "GF*A*" = "application software" instead of "automation". Once I've asked the GFA support why "GfA" was renamed as "GFA" and Mr. Lars von Str&#;len (Software Support, GFA Systemtechnik) replied: "GfA" was renamend as "GFA" in It happened, because the acronym "GfA" was changed into the proper name "GFA-Systemtechnik". D&#;sseldorf, The header shows: GFA Systemtechnik GmbH Software-Entwicklung, Software-Vertrieb, Verlag D&#;sseldorf, Germany This means: GFA Systems Engineering Ltd. Software Development, Software Sales, Publishing D&#;sseldorf, Germany ;-) CEOs are Mr. Thomas Nied and sprers.eu Heinrich Meckner Later, GFA Systemtechnik GmbH moved to M&#;nchengladbach, another town in western Germany. But I found exactly ONE curious invoice in my documents. The header here is: GFA Systemtechnik GmbH Industrie-Automation Proze&#;leit-Systeme Qualit&#;tssicherungs-Systeme And THIS means: GFA Systemtechnik GmbH Industrial Automation Process Control Systems Quality Assurance Systems Date: The address still is D&#;sseldorf, not yet M&#;nchengladbach. But the local court is in Kiel (nothern Germany). I really don't understand what this means. Because the CEO is still Mr. Thomas Nied. I found nothing about Thomas Nied in google. Dr. Meckner seems having worked for Krupp (a big steel company), but for both I found no reference where I could get in contact. So it *is* possible, that GfA meant "Gesellschaft f&#;r Automatisierung" (=automation), and not, as I heavyliy do remeber, "Gesellschaft for Anwendungssoftware" (=application software). Holger _______________________________________________ gfa mailing list [email protected] sprers.eu

The Origins of GFA-Basic

THE ORIGINS OF GFA BASIC It began with an Atari , a small computer similar to the Commodore There existed a BASIC for that computer. This BASIC was neither fast nor comfortable to use, but, with only 16K of RAM, large programs could not be written anyway. After upgrading the computer to 48K of memory and 88K of disk space, I wrote some programs in assembly code. Eventually I ended up with a number of help routines, and a BASIC language with which I could marginally use with these routines. After trying FORTH, I decided to take a closer look at BASIC, and slightly modified it. These modifications eventually became so numerous that I decided to completely replace many of the routines. To remain compatible, some of the routines were left untouched. There were a lot of commands I did not like, such as computed GOTOs, and line numbers were a nuisance. This new BASIC was published in a computer magazine. Shortly thereafter I received an offer from GFA Systemtechnik GmbH to write a workable BASIC for the new computer, the Atari ST. The Atari ST incorporates a fresh modern processor. Its operating system, although certainly not the newest or fastest (nor is it very compact, having been written in C language) is very powerful. And, even though it lacks multitasking, one can write programs in high level languages that offer exciting performance. Shipped with a BASIC language that did not even measure up to the one included with the Atari , the ST was destined to become a language developers dream. It was possible to now develop a BASIC that did not have to conform to the standard of any other interpreter. This new BASIC should have the simplicity of BASIC combined with the possibility of writing well structured code. The first step was to eliminate the line numbers. This made the task difficult from the outset because a solution had to be found to avoid the usual confusion of GOTOs and GOSUBs. It was important to be able to pass parameters to procedures and to declare local variables, thus enabling the programmer to use recursive programming techniques. The BASIC should also make sure that all loops are properly closed before the program starts execution. The GOTO statement was one of the last statements added to this BASIC. After much thought, I even allowed the GOTO command to be used between different procedures. In an Interpreter it is possible to use segmented PEEKs and POKEs to simulate one of the Intel-processors. In a compiled program, this would greatly affect execution time. The unsuitable 16 bit integers would not be used either, as this makes it harder to address all of the memory. Besides, the processor already uses 32 bits internally, thus allowing it to process larger numbers without speed loss. The editor of this BASIC had to be screen oriented and not use the windows of GEM. It would be virtually impossible to create non GEM programs from within the GEM interface. Other reasons exist for not having the editor run under GEM. In the case of a program error, it is often possible to save program changes that were made. Something that cannot always be done from within GEM because the windows lock up. So it happened that a relatively fast editor, one that could be used without a mouse, was created. I wanted to write the BASIC completely in machine language so that it would be fast and take up only a small portion of memory. Other languages like C use only a few machine instructions outside of the library, and they always pass parameters through the stack. The MC has a very powerful instruction set that can be better utilized with an Assembler. Taking all this into consideration, Version of GFA BASIC came into existence less than 6 months later. While I was writing the interpreter, I carefully made sure that the finished programs could be easily compiled. That is why the MERGE command is missing. This command may be useful in an interpreter, but is of little value in a compiler. While I was working on the compiler, I was confronted with requests to expand the command set. Some of those requests I was able to incorporate in Version of the interpreter. Most new commands, like VOID, BASEPAGE, and OPTION, were inserted to give the compiler more optimization opportunities, and to provide the programmer with more control over the compiling process. Even an extensive computer language cannot fulfill all the wishes of everyone who uses it. This book will, therefore, show you how to create necessary routines using GFA BASIC. This book does not present you with complete applications; it gives routines that can be incorporated into your own programs. GFA BASIC is only a BASIC and not a Modula 2, therefore you cannot create modules in quite the same way. Modula 2 takes a lot more coding and a multitude of small modules to write an application. Modula 2 can only be used as a compiler. BASIC includes numerous commands that would have to be created within libraries in Modula 2. Part of this book discusses many different operating system routines which include examples wherever I felt they were needed. Naturally, there are routines that can be run directly without going to the low-level operating system routines, but rather with built in commands. An important part of this book is the last chapter, where a complete GEM program is shown. It demonstrates how to use all parts of a window. This is not easy to do in GEM, but it makes it convenient for the user of the program. For the programmer, GEM always means extra work. There are many programs where most of the code is written just to manipulate the window. I hope that you find the routines and tips in this book useful, and I wish you much success.
Taken from the 'Introduction' section of the book "The GFA BASIC Book" Written by Frank Ostrowski Text Translation by Wilford Niepraschk Published in the U.S.A. by MichTron, Inc. (C) GFA Systemtechnik 1st English Edition: September ISBN

Misc Images


General Information

Rather than duplicate alot of work that has already been done this document will not explain each and every system call available. I highly recommend you have some additional documentation. GFA specific: GFA-Basic Book Concepts in Programming Programming with GFA-Basic GFA-Basic Training Reboot Camp GFA-Basic Programmer's Reference Guide Volume 1 The GFA-Basic& Assembler User Book GFA-Basic Toolkit Volume 1 Atari in general: The Atari Compendium (also available on CD-ROM) Modern Atari System Software A programmer's Guide The TRB Reference Series AES Quick Reference The TRB Reference Series VDI Quick Reference Atari ST GEM Programmer's Reference (Abacus) Atari ST Internals (Abacus) Atari ST Machine Language (Abacus) Atari ST Tips & Tricks (Abacus) Atari ST 3D Graphics (Abacus) ST Disk Drives: Inside and Out (Abacus) COMPUTE!'s ST Programmer's Guide COMPUTE!'s Technical Reference Guide Atari ST: AES COMPUTE!'s Technical Reference Guide Atari ST: TOS COMPUTE!'s Technical Reference Guide Atari ST: VDI If you see a typo, find a program listing that does not work, or anything else wrong then please contact me. If you find this document handy and find yourself releasing a program, then please give me a mention in your doc file. That's all I ask. ;^)

Patches for GFA-Basic

I've seen several patches for GFA-Basic, but the best one by far is the one listed below. I personally use it on a daily basis. GFA-Basic Interpreter/Compiler-Patcher Version / () Compiler & Library-Patches by Christoph Conrad, Adalbertsteinweg , D Aachen, Germany - eMail: [email protected] Interpreter-Patches and GEM interface by - Gregor Duchalski, Baueracker 15a, D Herne, Germany - eMail: [email protected] This patch completely removes all the LINEA calls used in the GFA libs. It also makes the compiled programs function on multi-tasking operating systems. It should also be noted that this patch removes the auto mouse hiding/showing that takes place when graphics commands are used. Once patched you must hide/show the mouse yourself when using VDI graphics commands. GFA_sprers.eu
LicomLIB H Copyright (c) Richard Gordon Faika All rights reserved. Hompage: sprers.eu Email: [email protected] [email protected] This patch replaces many routines in the GFA library file. From what I can tell from the German docs it adds automatic FPU support among many other things. An impressive update to the GFA library. The patch seems to require an original German vTT compiler/linker package.
Patchable areas in GFA-Basic Within sprers.eu and sprers.eu there is a small area where you can predetermine the appeareance of the program. Always ensure that you have made a backup of your master disk before attempting such patches. Auto Clear ScreenOPEN "U",#1,"sprers.eu" !or "sprers.eu" SEEK #1,31 PRINT #1,"E"; !or "H"; CLOSE #1 With "E" the monitor screen will be erased before the program starts and with "H" the monitor is left as it is. Autorun Patch OPEN "U",#1,"sprers.eu" SEEK #1,32 PRINT #1,"sprers.eu";CHR$(0); CLOSE #1 When starting sprers.eu the default sprers.eu will start if you do not alter this by using the Install Application option of the GEM Destop. The program's name and path may not exceed 63 bytes. The zero byte at the end of the string is very important. If you only give the zero byte, the original status will be reimplemented. Variable Default TypeOPEN "U",#1,"sprers.eu" SEEK #1,32 FOR i%=0 TO 24 READ a% OUT #1,a% NEXT i% CLOSE #1 ' A B C D E F G H I J K L M N O P Q R S T U V X Y Z DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 It is possible to change the DATA row. Doing this will alter the preset default-type for the variable, the name of which starts with the above letter. Only the following values are allowed: 0 =DEFFLT 1 =DEFSTR 2 =DEFINT 3 =DEFBIT 8 =DEFWRD 9 =DEFBYTEditor ColorsOPEN "U",#1,"sprers.eu" SEEK #1,58 FOR i%=0 TO 3 READ a% PRINT #1,MKI$(a%);NEXT i% CLOSE #1 ' Normal colors for the Editor DATA &,&,&,& ' Colors inverted for the Editor 'DATA &,&,&,& Default DEFLIST ModeOPEN "U",#1,"sprers.eu" SEEK #1,80 PRINT #1,MKI$(0); !mode CLOSE #1

Known problems with GFA-Basic

Features not implemented due to it's age and lack of support: FPU / (sort of) CPU //// support Things just act plain weird: ~INP(2) will fail under MiNT if the application does not initialize the AES. The GFA linker in some cases is smart enough to link only what's needed. If your application makes no AES calls it will not initialize the AES. Further investigation shows that any command that uses Bconin() fails to wait for input. Commands and functions which don't quite work right (A to Z):$X$F%ACOS(), ASIN() AFTER GOSUB, EVERY GOSUBAPOLYAPPL_TPLAY()BITBLTCALLCASECLSDEFFNDFREE()DIM, ERASEEXIST()EXIT IFFALSEFILESELECTFRE()FUNCTIONGET, PUT, SGET, SPUTGET #, PUT #GETSIZE()GOTOGRAF_MKSTATE()IFFALSEELSE IFFALSEINLINEINSTR(), RINSTR() LPENx, PADx, STICK(), STRIG() LPRINTMAT DET, MAT INPUT, MAT QDET, MAT RANGMAT PRINTMAT READMENU_REGISTER()MSHRINK()OBJC_CHANGE()ON BREAK GOSUBON ERROR GOSUBON GOSUBON MENU BUTTONON MENU GOSUBON MENU IBOXON MENU KEYON MENU MESSAGEON MENU OBOXOPTION BASEPOINT()POLYFILL, POLYLINE, POLYMARKQSORT, SSORTRESTORE, _DATARESUME labelSETMOUSESOUND, WAVESPACE$(), STRING$() SPRITESTE?, TT?STR$()TEXTVDIBASEVSETCOLORV_OPNWK(), V_OPNVWK() Compiler issues: EXIT IFIF-THENINSERTFOR-NEXT

Start-up/Shut-down modules

This section will try and explain what happens when GFABASIC starts and terminates. The code you can't really control. The basic layout of a compiled GFA program is like so: INIT module your code EXIT module What does the INIT module do exactly: Calculates how much BSS space it needs and clears it. Moves the stack pointer to the BSS. MSHRINK() is called. Skipped if started as an ACC, OS auto shrinks an ACC. Line-A Init is called. This is harmless, used by the Line-A gfx commands. APPL_INIT() is called. The appl_id is saved. V_OPNVWK() is called. The vdi_handle is saved. No clipping rectangle is set. WORK_OUT() array is created. Default VDI workstation values are setup. If any GFA window commands are linked, WINDTAB() structure is initialized. MALLOC($Mxxx) is called. If $Mxxx=0 all ram is allocated for strings/arrays. CLEAR is called. All Variables are cleared. RESTORE is called. First DATA statement is located for READ. User code starts here What does the EXIT module do exactly: User code ends here with EDIT, QUIT, or SYSTEM If any GFA window commands are linked, all open GFA windows are closed. V_CLSVWK() is called. APPL_EXIT() is called. CLOSE (no parameter) is called. All open files are closed. pterm() is called. User error code is passed out via SYSTEM/QUIT. Note: GFA does not call MFREE() as it assumes pterm() will auto free the ram.

Number Table

Dec Hex Bin Dec Hex Bin Dec Hex Bin Dec Hex Bin

Shift Table

logical shift left (lsl) (asl) SHL()<< 1 * 2 2 * 4 3 * 8 4 * 16 5 * 32 6 * 64 7 * 8 * logical shift right (lsr) (asr) SHR()>> 1 / 2 2 / 4 3 / 8 4 / 16 5 / 32 6 / 64 7 / 8 /

sprers.eu Functions and Objects

GFA-Basic bindings for sprers.eu v appl_control()appl_yieldform_popup()graf_multirubber()objc_xfind()shel_help()shel_rdef()shel_wdef()wind_draw()wind_sget() WHITEBAK sprers.eu purpose: Switch on the MagiC special buttons. C-prototype: #define WHITEBAK 0x Binding: Tree[obnr].If_state &#;= WHITEBAK; [bit 6 on] Parameter description: If_type = G_BUTTON G_BUTTON with underscore: (if_state >> 8) & 0x80 = 0. [bit 15 off] (if_state >> 8) & 0x7f decides the position of the underscore. [bits ] As Checkbox with underscore: If_flags & RADIOBUTTON = 0. [bit 4 off] (if_state >> 8) & 0x80 = 0x [bit 15 on] (if_state >> 8) & 0x7f decides the position of the underscore. [bits ] If_flags & FL3DMASK decides the colour of the underscore. [bits ] As Radiobutton with underscore: If_flags & RADIOBUTTON = RADIOBUTTON. [bit 4 on] (if_state >> 8) & 0x80 = 0x [bit 15 on] (if_state >> 8) & 0x7f decides the position of the underscore. [bits ] If_flags & FL3DMASK decides the colour of the underscore. [bits ] As Checkbox without underscore: (if_state >> 8) = 0xff. [bits on] If_flags & RADIOBUTTON = 0. [bit 4 off] As Radiobutton without underscore: (if_state >> 8) = 0xff. [bits on] If_flags & RADIOBUTTON = RADIOBUTTON. [bit 4 on] As Frame: (if_state >> 8) = 0xfe. [bit on] If_state & SHADOWED control font size [bit 5 on] If_flags & FL3DMASK decides the 3D-behaviour of frame and font. [bits ] If_type = G_STRING G_STRING with underscore: (if_state >> 8) & 0x80 = 0. [bit 15 off] (if_state >> 8) & 0x7f decides the position of the underscore. [bits ] G_STRING, completely underlined based on chars: (if_state >> 8) = 0xfe. [bits ] If_flags & FL3DMASK decides the 3D-behaviour of line and font. [bits ] G_STRING, completely underlined based on object width: (if_state >> 8) = 0xff. [bits on] If_flags & FL3DMASK decides the 3D-behaviour of line and font. [bits ] If_type = G_TITLE G_TITLE with underscore: (if_state >> 8) & 0x80 = 0. [bit 15 off] (if_state >> 8) & 0x7f decides the position of the underline. [bits ] 3D-behaviour: FL3DIND Bit switches text 3D attribute. FL3DBAK Bit switches line/frame 3D attribute. Underline colour: None = black. Background = black. Indicator = green. Activator = red. With all underscore positions: If the text is shorter, there will be no underscore drawn. See too: appl_getinfo(), form_keybd()

Debugging with GFA-Basic and MiNT

Debugging with GFA-Basic and MiNT by Lonny Pursell Revision b May 4, Introduction This document describes a method for debugging when all else fails and all you have to go on is the crash log MiNT dumps in the console. Sometimes you can simply add PRINT statements at various points in the program in order to narrow your search. However sometimes this becomes rather tedious, especially in very large programs. In some extreme cases I've actually seen programs suddenly stop crashing simply by adding PRINT statements. Needless to say that is a very frustrating situation if that happens. The method described here will help you locate the exact PROCEDURE or FUNCTION in a more precise manner. Hopefully saving you time which can be put to better uses, like coding more applications. :o) Note: The particular example presented here is not an actual crash log from a compiled GFA-Basic program, however all the same principles apply. Understanding the crash log Firstly one needs to understand the information MiNT is trying to provide when an application crashes. A typical crash log might look like this: PROCESS "make_ndx" KILLED: MEMORY VIOLATION. (PID ) Type: free PC: A Addr: BFD4 BP: A Note: The example used here is a an application that crashes only when MiNT's memory protection (MP) is enabled. All values are in hex notation. The log entry breaks down like this: Entry Description PROCESS "make_ndx" name of the program that crashed KILLED: MEMORY VIOLATION the reason the program was killed (PID ) GEMDOS Process ID of the program Type: free type of memory block accessed PC: A address of Program Counter Addr: BFD4 address it attempted to access BP: A BASEPAGE address of the program Type can have one of the following entries: Type Description private owned by another application global remapped to 'hardware' for violation reports super only accessible in supervisor mode only readable read only, writing not allowed free free memory, has no owner hardware memory not controlled by MiNT This represents the type of memory block the application attempted to illegally access. This can be an important clue. Note: Information taken from file mprot.x on the MiNT CVS server. Interpreting the crash log The most interesting pieces of information here are the PC and BP values. With a little math we can determine the exact offset into the binary where the crash occurred. OFFSET= PC - (BP + ) This is accomplished by subtracting the BASEPAGE+ from the Program Counter. Adding to the BASEPAGE accounts for the size of the BASEPAGE itself. We are not interested in the BASEPAGE because it will not be included in the disassembly. In the above example we get this: $A - ($A + $) = $28 !hex - ( + ) = 40 !decimal We now know that at offset $28 (40) in the binary is where the crash actually occurred. I know the offset, now what? The next step would be to recompile the application with the Symbol Table option set to on. This allows TTDigger (TTD) to show much more detailed information when disassembling a program. All the PROCEDURE and FUNCTION names in the program will be visible in TTD starting with an underscore. Some examples: GFA-Basic TTDFUNCTION test _TEST: FUNCTION dump_tree(addr%) _DUMP_TR: PROCEDURE init_system _INIT_SY: PROCEDURE go(x&,y&) _GO: Only the first 7 characters of PROCEDURE and FUNCTION names will be shown. Entry points (labels) for PROCEDURE and FUNCTION names are always aligned to the left edge of the window and followed by a colon. Note: The 7 character limitation within the Symbol Table is actually part of the DRI Object File Specification. Symbol Table warning The Symbol Table will make the binary larger. It is also recommended you do not leave this option on all the time. Distributing binaries with the Symbol Table serves only hackers, and it makes reverse engineering your application quite a bit easier. So always remember to disable the Symbol Table option when you are done debugging! Using TTD Now start TTD and load your application. Scroll down to the offset which you calculated earlier ($28). Once you locate the offset, you can see the assembler instruction that actually caused the program to crash. Now scroll up to the first label that begins with an underscore "_". This should be the PROCEDURE or FUNCTION your program was executing when it suddenly came to a grinding halt. Note: TTD can be set to work in Hex or Decimal mode. It's possible the offset does not lie in the range of your application. This can happen if you are loading and executing external modules or overlays. If this happens you can apply the same techniques to the module or overlay. However if you are not the author of the module or overlay, you probably won't have access to the source code and thus cannot resolve the problem yourself. Another tip that might help If you suspect your program is crashing outside of a PROCEDURE or FUNCTION you can add some markers that are easy to spot in TTD. Examples: dummy$="XXXX" dummy$=">>>>" The GFA-Basic Compiler converts 4 character strings directly into code instead of placing them in the DATA segment of the binary. Thus they will appear in the TTD listing exactly where you place them in your source code. Note: Turn on the HEX/ASC option in TTD. TTD output (further analysis) Here's the actual code segment from the offending application: * Created by TT-Digger v * Mon Apr 24 *TEXT $FC bytes, segment starts at $ *DATA $E bytes, segment starts at $FC * BSS $E bytes, segment starts at $A * SYMBOLS $ bytes * FLAG $ movea.l $(a7),a0 ; a0 = basepage addr move.l $C(a0),d0 ; d0 = length of text segment add.l $(a0),d0 ; add d0,length of data segment 00C: add.l $C(a0),d0 ; add d0,length of bss segment addi.l #$,d0 ; add d0, move.l d0,-(a7) ; push new size on to the stack move.l a0,-(a7) ; push block addr on to the stack 01A: clr -(a7) ; push 0 on to the stack 01C: move #$A,-(a7) ; push Mshrink opcode on to the stack trap #1 ; Gemdos (make the call) adda.l #$C,a7 ; restore stack to previous state move.l #$FFFFFFFF,-(a7) ; push -1 on to the stack 02E: move #$,-(a7) ; push Malloc opcode on to the stack trap #1 ; Gemdos (make the call) addq.l #6,a7 ; restore stack to previous state Note: This is only a partial listing. The actual listing is much larger, but its not really needed to illustrate the problem. Comments added for clarity. Program breakdown: $ - $ computes the actual program size, result in d0 $ - $ MSHRINK call -> status%=MSHRINK(addr%,size%) $ - $ MALLOC call -> free_ram%=MALLOC(-1) Understanding the problem From the listing we can determine the crash occurs very early on in the programs start up phase. We can see at offset $28 we have this: move.l #$FFFFFFFF,-(a7) This one line of code simply tries to move (LPOKE if you will) the value -1 to where ever the stack pointer is currently pointing. Why does this one line of code bring our program to a grinding halt? The answer in this case requires some basic knowledge of how MiNT starts up an application. The first thing MiNT does is allocate all available ram (largest available block). It then creates a BASEPAGE for the application in the first bytes and following that is the actual code of the application. By default MiNT sets the user stack pointer to the end of the memory block. This line of code is actually the program preparing for a MALLOC call. It is attempting to inquire (-1) the largest free memory block. What happens in this particular case is the program attempts to do the right thing and give back memory it does not need with MSHRINK. However, before doing so it fails to move the stack pointer to a safe location inside it's own memory space. Remember the stack pointer by default is pointing to the end of the memory block. After the MSHRINK call the stack pointer is literally left pointing out into free memory! As soon as the MSHRINK succeeds the memory is no longer owned by the application and under no circumstances will MiNT allow you to access memory you do not own when MP is enabled. The program is instantly killed as a result. This is a huge mistake on the part of the programmer, if not downright sloppy programming. There you have it, a way to let MiNT help you debug your programs. Contact Hopefully the information presented here is useful. To make suggestions or report a typo please visit: sprers.eu~gfabasic/ eof

C to GFABASIC

Tips on porting 'C' to GFABASIC C GFA Notes && ANDIF compare &#;&#; ORIF compare !=<>IF compare ===IF compare &AND() operator &#;OR() operator %MOD() operator !NOT operator ~NOT bitwise ^XOR bitwise << SHL() bitwise >> SHR() bitwise var++ INC var var-- DEC var a+=b a=a+b a-=b a=a-b a*=b a=a*b a/=b a=a/b a%=b a=MOD(a,b) a&=b a=AND(a,b) a&#;=b a=OR(a,b) a^=b a=XOR(a,b) a<<=b a=SHL(a,b) a>>=b a=SHR(a,b) var[x] array(x) subscript &var *var address of Random() XBIOS(17) bit random number
These are structure referenece and must be recoded. a->b structure dereference a.b structure reference
Variable types: int var word size unsigned int card size (must use long) char var string or byte size int var[10] DIM var&(10) #define var 2 replaced at compile time
Constructs like this do not work in GFA: a=b=c=2 In 'C' this sets all variables to the value of 2. GFA interprets this as a logic comparison and it must be recoded: a=2 b=2 !assigned individually c=2
The ? : operator The ? : operator is a sort of shorthand ifelse statement. Because it is a little cryptic, it is not often used, but the basic form is as follows: (condition) ? expression1 : expression2; The program evaluates condition. If it is true (not zero), then expression1 is returned; otherwise, expression2 is returned. For example, in the short program below, the line bas = (foo > bar) ? foo : bar; assigns foo to bas if foo is greater than bar; otherwise, it assigns bar to bas. #include <stdio.h> int main() { int foo = 10; int bar = 50; int bas; bas = (foo > bar) ? foo : bar; printf("bas = %d\n\n", bas); return 0; } The program will print bas = 50 as a result. Another example: x = (x>0) ? x : -x translates to: IF x>0 x=x ELSE x=-x ENDIF which basically is the same as x=ABS(x)

GFA-Basic v3 float format

From: Albin La&#; <[email protected]> Organization: MAUS Hansestadt Bremen 2 + Newsgroups: <sprers.euic> Date: Wednesday, September 11, AM Subject: Re: floating point conversion Hi Lonny! LP> How does GFA internally store these? Byte: 0 1 2 3 4 5 &#; 6 7 Bit : 63 16 &#; 15 0 IMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM SEEEEEEEEEEEEEEE < 48 bit Mantissa >< 16 bit > ^ (normalized) ^ Exponent &#;&#; (bias=) &#;&#; +-- MSB = Integer Bit +-- Sign of Mantissa Integer Bit is allways one, except number is zero (then all Bytes zero). If Exponent negative (sign of Mantissa is negative), than exp = -exp. schnipp CLSDOINPUT "Number: ";number# addr%=V:number# mantissa_h%={addr%} mantissa_l%=CARD{addr%+4} bias%=WORD{addr%+6} PRINT "BYTE: 0 1 2 3 4 5 6 7" PRINT "BIT : 63 16 15 0" PRINT "BIN : ";BIN$(mantissa_h%,32);BIN$(mantissa_l%,16)'BIN$(bias%,16) PRINT "HEX : ";HEX$(mantissa_h%,8);HEX$(mantissa_l%,4);SPACE$(37);HEX$(bias%,4) b2%=bias% IF bias%<0 neg!=TRUE bias%=-bias% ELSE neg!=FALSEENDIF exponent%=bias% dual_value#=ABS(number#)/(2^exponent%) PRINT "DEZ : ";LEFT$(STR$(dual_value#)+SPACE$(49),49);STR$(b2%);" (";STR$(exponent%);")" PRINT "CALC: (";neg!;")^0 * ";STR$(dual_value#);" * 2^(";bias%;")" PRINTLOOP schnipp Ciao, ALbin.
From: Albin La&#; <[email protected]> Organization: MAUS Hansestadt Bremen 2 + Newsgroups: <sprers.euic> Date: Friday, September 13, AM Subject: Re: floating point conversion Hi Lonny! Sorry for german writing! But, I'm a bad english writer. ;) LP> I have been looking for such info for ages! Ich hatte mal vor ca. 10 Jahren (in einem B&#;cherladen) in irgendeinem Buch (ich glaube es war von Data Becker) gebl&#;ttert. Und darin war auch das Format der GFA-Fliesskommazahlen beschrieben und ein Hinweis darauf, da&#; das irgendeinem *IEEE*-Standard (wie auch die FPU-Datentypen) entsprechen soll. Suche also mal nach "IEEE" (die genaue Nummer und URL wei&#; ich leider nicht). LP> Did you figure this out on your own? Ja. Und zwar durch Analyse eines reassemblierten GFA-Compilats und durch Vergleich mit den dokumentierten FPU-Datentypen. Und die Richtigkeit der Analyse hatte ich dann nochmal mit einem Beispiel- Programm (was ich dir gepostet habe) &#;berpr&#;ft. Ach, ja. Da fehlen am Ende eigentlich noch einige Zeilen: result#=(neg!^0*dual_value#)*2^exponent% PRINT "RES : ";STR$(result#) Ciao, ALbin.
From: Albin La&#; <[email protected]> Organization: MAUS Hansestadt Bremen 2 (+) To: <[email protected]> Date: Monday, September 16, AM Subject: floating point conversion Hi Lonny! LP> I don't know any German, but lucky for me there is translators. ;-) Na, dann Hauptsache wir verstehen uns. ;) LP> I have many books on GFA, but never found this info. Tja, leider wei&#; ich nicht mehr, was das f&#;r ein Buch das war. :( Ich glaube es war _nicht nur_ &#;ber GFA. LP> I managed to add these myself after some test runs. ;-) Hab ich mir auch (fast) schon so gedacht. Mit einem Calculator w&#;re das wohl auch nichts ;) LP> In this line you reference the 'number#' itself. Stimmt, ist ein wenig umst&#;ndlich. Einfacherer w&#;re es so: ;) WORD{addr%+6}= dual_value#=number# LP> How would you figure out the floating point value of a float just LP> based on the 8 bytes stored in ram? Hatte ich ja schon geschrieben: einmal durch Anschauen (im Compilat) wie die Routinen von GFA z.B. ein Long in ein Float wandelt (oder auch STR$(n#)). Und durch Vergleich mit den FPU-Datentypen. Die sind n&#;mlich IEEE-Standard. Und wenn die GFA-Floats auch IEEE sind, dann sollte das ziemlich &#;hnlich sein. Beschrieben werden die FPU-Datentypen z.B. im Buch " Assembly Language Reference" (von Steve Williams (Addison-Wesley)) unter dem Kapitel "Floating Point Intructions"/"Binary Floating Point Data Formats". Falls Du das Buch nicht zur Hand haben solltest: Ich hab's mal in ein Hypertext (ST-Guide) umgeschrieben: :) Fileliste der Maus @ OL (Phone: ): Gruppenprogrammteil sprers.euext Nr. System Filename Bytes Dauer Abruf DpM Datum ST TOS sprers.eu 7 Programmier-Tool, Textfile, Freeware Ausfuehrliche Dokumentation ueber die Motorola-Prozessoren MC bis MC Mit FPU und MMU. (Hypertext, englisch). Von Albin Lass @ HB2 LP> The files I have, I have no way to know the float value before hand, LP> if you follow me. Nicht so ganz. Du willst wissen, wie die Bitwertigkeit der Mantisse ist? Bit 47 46 45 44 43 42 41 Wert 1 1/2 1/4 1/8 1/16 1/32 1/64 oder 2^0 2^-1 2^-2 2^-3 2^-4 2^-5 2^-6 LP> Thus, I cannot compute 'dual_value' at all. Wie? Per Hand? Warum &#;berl&#;sst Du die Arbeit nicht dem Computer? Ahh, ich verstehe: Du willst Beweise ;) Dann setze mal Folgendes im Programm ein: schnipp calc_dual(mantissa_h%,mantissa_l%,dual_value#) PROCEDURE calc_dual(m_h%,m_l%,VAR dual#) CLR dual#,d_exp& FOR i&=31 DOWNTO 0 IFBTST(m_h%,i&)=TRUE dual#=dual#+2^d_exp& ENDIFDEC d_exp& NEXT i& FOR i&=15 DOWNTO 0 IFBTST(m_l%,i&)=TRUE dual#=dual#+2^d_exp& ENDIFDEC d_exp& NEXT i& RETURN schnapp LP> Many thanks for the info, Bitte sch&#;&#;&#;nn! LP> I am much closer than I was. Na, hoffentlich bist Du _jetzt_ noch ein bischen _mehr_ schlauer geworden. ;) LP> sprers.eu~atari/ Hmm, ist da nicht auch ein Crack-Code bez&#;glich LST->GFA drauf? :) Ciao, ALbin.

ST-Basic float format

31 8 7 6 0 mmmmmmmmmmmmmmmmmmmmmmmm s eeeeeee m = mantissa s = sign bit e = exponent Note: Maximum of 5 decimal places: '' From: sprers.eu* 4 bytes: the single-precision floating point value. o bits mantissa (24 bits) o bit 7: sign bit. Positive if 0, negative if 1 o bits exponent An exponent of 0 means , regardless of mantissa. Counting from MSB (23) to LSB (0), each bit set in the mantissa is 2^(mantissa_bit + exponent - 88) From: sprers.eu 1 long: number value - 1st 24 bits are the mantissa, 25th bit is the sign, last 7 bits are the exponent Note: to convert to a readable format, each bit of the mantissa = 2 ^ (bit_position + exponent - ). Add up the values indicated by each bit in the mantissa.
FUNCTION get_float(VAR p%) LOCAL s! LOCAL e&,b& LOCAL d%,m% LOCAL f f=FALSE d%=LONG{p%} m%=SHR(d%,8) !mantissa s!=BTST(d%,7) !sign e&=AND(d%,&H7F) !exponent IF e&>FALSE !fix? FOR b&=23 DOWNTO 0 IFBTST(m%,b&)=TRUE f=f+(2^(b&+e&)) ENDIFNEXT b& ENDIFIF s!=TRUE !negative? f=-f ENDIFADD p%,4 RETURNROUND(f,5) !clip ENDFUNC

Assembler Notes

Program startup move.l 4(a7),d0 ;basepage address (prg) move.l a0,d0 ;0=prg/<>0 acc (basepage address) a7 ;prg=stack assigned by os/acc=invalid, no stack! Accessories are pre-shrunk (MSHRINK) by the OS. Programs must call MSHRINK themselves. Initial DTA address =BASEPAGE+ If you don't move the DTA, the command line will be clobbered.
OS calls Type Destroyed Output Input Invalid opcodes AES none # paramblk paramblk crash (sprers.eu pops an alert) VDI none # paramblk paramblk crash BIOS d0-d2/a0-a2 d0 stack garbage (MiNT ) XBIOS d0-d2/a0-a2 d0 stack opcode GEMDOS d0-d2/a0-a2 d0 stack Line-A d0-d2/a0-a2/a6 + paramblk ignored (a6 depends on call made) #= Noted in the sprers.eu += Depends on the call made. Note: Never call the AES in supervisor mode.
FireBee notes: The TAS instruction causes cache issue on the FireBee. Don't use it!

Compatibility with GFA-BASIC

These funtions were added to v _C_X_YGETSIZE() GFABASIC v will load v tokenized files. If you use the functions noted above the editor will display garbage. Trying to run or compile the code will likely result in a crash. The rules are simple. 1) If you code with v you can safely migrate to v without any problems. 2) If you code with v be careful if you attempt to migrate back to v The best way to do that is to save as ASCII and then merge the listing. This way the editor will flag anything it don't like with '==>'.

Understanding GFA's VDI scheme

Redirecting all VDI calls handle&=V_OPNWK( V~H=handle& !send all gfx commands to this handle ' many graphics/VDI calls ' V_CLSWK() !gfa closes the workstation and internally does V~H=-1 This scheme might seem odd at first, but it's somewhat rare to open another workstation. It does however have less overhead than the usual way. Why pass the same handle to hundreds of VDI calls? Once you understand how GFA manages VDI calls it's really rather simple. V~H=x redirects all graphics commands like LINE, BOX, PLOT, and anything called via VDISYS so long as you leave CONTRL(6) alone. There's also no need to copy the contents of V~H before redirecting as GFA itself keeps it's own backup copy. The command V~H=-1 reset it back to it's original value, the default workstation opened at startup.

GFA-Basic Editor/Interpreter Manual

CONTENTS
Chapter 1 - IntroductionAbout This ManualUsing GFA-Basic 3 For The First TimeThe EditorFundamentalsThe Cursor KeypadThe Numeric KeypadThe Modifier KeysFurther Editing CommandsFurther Control CommandsThe Menu Bar and Function KeysSpecial CommandsChapter 2 - Variables and Memory ManagementVariable TypesArraysMatrix CommandsType TransformationPointer OperationsDeleting and ExchangingReserved VariablesSpecialMemory ManagementChapter 3 - OperatorsArithmetic OperatorsLogical OperatorsConcatenation OperatorComparison OperatorsAssignment OperatorOperator HierarchyChapter 4 - Numerical FunctionsMathematical FunctionsRandom Number GeneratorInteger ArithmeticCommands and FunctionsBit OperationsChapter 5 - String ManipulationChapter 6 - Input and OutputKeyboard and Screen HandlingKEYxxx CommandsData Input and OutputData CommandsFile ManagementDirectory HandlingFilesSequential AccessRandom AccessCommunicating with PeripheralsByte by Byte Input and OutputSerial (RS) and MIDI InterfacesMouse and JoysticksPrintingSound GenerationChapter 7 - Program StructureDecision CommandsMultiple BranchingLoopsProcedures and FunctionsError HandlingInterrupt ProgrammingOther CommandsProgram TracingChapter 8 - GraphicsGraphics Definition CommandsGeneral Graphics CommandsGrabbing Sections of the ScreenChapter 9 - Event, Menu, and Window ManagementEvent ManagementPull-down MenusWindow CommandsOther Window-related CommandsChapter 10 - System RoutinesBIOS, XBIOS, and GEMDOSLine-A CallsVDI RoutinesSpecial VDI Routines and GDOSNon-BASIC Routine CallsOther System-related CommandsChapter 11 - AES LibrariesObject StructureText Data Structure (TEDINFO)Icon Data Structure (ICONBLK)Color Icon Data Structure (CICONBLK)Color Icon Structure (CICON)Bit Image Block Structure (BITBLK)Application Block Structure (APPLBLK)Parameter Block Structure (PARMBLK)Application Services LibraryEvent LibraryMenu LibraryObject LibraryForm LibraryGraphics LibraryScrap LibraryFile Selector LibraryWindow LibraryResource LibraryShell LibrarySample ProgramsChapter 12 - AppendixCompatibility with GFA-BASIC 2GEMDOS() TableBIOS() TableXBIOS() TableLine-A Variable TableV_OPNWK() and V_OPNVWK() Input Parameter TableVDI WORK_OUT() Array TableVT Escape Code TableScan Code TableASCII TableSpecial ASCII CharactersFill Pattern TableLine Style TableError CodesEditor Error Messages (Test option only) Interpreter Error CodesBIOS Error CodesGEMDOS Error CodesBomb Error CodesPublisher

GFA_sprers.eu

- GFA-BASIC Interpreter/Compiler-Patcher - - Version - - Compiler & Library-Patches by - - Christoph Conrad, Adalbertsteinweg , D Aachen - - eMail: [email protected] - - - - Interpreter-Patches and GEM interface by - - Gregor Duchalski, Baueracker 15a, D Herne - - eMail: [email protected] - - - - A big thank you for the English translation of GFA_PTCH - - and this documentation goes to *The System ST Team* - -Lonny Pursell - 1/14/ (fixed typos) - The program enclosed provides a convenient method of making useful patches to the GFA-BASIC 3.x interpreter and compiler. At the start, select the Basic interpreter or compiler (GFA_sprers.eu). After that you will be taken to the settings dialog box. Something in advance: Please take care not to save the patched program(s) under the same name as the original(s). We accept no responsibility for the functionality of the patches, anyone who damages his own interpreter and does not have a backup, only has himself to blame! Patching the compiler Two changes can be made to the compiler or to the library: - Insertion of an improved INIT section - A bug fix for the crash under Mag!X Both patches can be made individually or in one go. The Mag!X patch only changes the GFA_sprers.eu file, the INIT patch also updates the library. In the patch dialog box, you can enter the new names that should be used to save the compiler and the library. If necessary, you can also use the original library again in case the preset name is not correct. Patching the compiler 1: New INIT section You can get precise information about the new INIT section by reading the text file sprers.eu The listing sprers.eu contains some examples of how to use the new features. Important: The LIBPATCH folder _must_ contain the files HIDEM.O, INITO and INITO! Clicking on 'Patch' will start the automatic patching procedure. At the end, you should try to create a new index file (sprers.eu) using the program MAKE_sprers.eu This program (you should have received this with the original package containing the compiler) will search first in the original library folder and then in the folder LIBPATCH. If this fails, the file can still be chosen using the file selector. If this also fails, then the program will terminate. You should be aware that in this instance you will have to create an NDX file 'by hand'. If you can avoid this situation, so much the better. Hint: If you do not have the MAKE_sprers.eu program, you can obtain this from GFA Systemtechnik (good luck with that) or send your original diskette and a stamped, addressed return mailer to G. Duchalski and the adress mentioned above. Patching the compiler II: MAG!X bugfix The compiler crashes under Mag!X with the message "Memory block destroyed". This is the cause: The compiler uses MShrink (GEMDOS 74) to reduce its memory requirement as necessary. Using Malloc (GEMDOS 72) it then checks for the largest available memory block and allocates this amount less 16 Kbytes. Unfortunately, the program assumes from this that the allocated memory lies directly after the area previously shrunk. In general this is true. Under Mag!X, it lies before the allocated memory block (the address that was returned by MAlloc) which is indeed the so-called MCB, 'Memory Control Block'. This contains - An identifier ('ANDR' or 'KROM' a greeting to one of the programmers - The length of the allocated block - The base page address of the program, to which the block belongs - A pointer to the last MCB. The GFA compiler overwrites the MCB. After the compiler terminates, Mag!X checks whether the chain of MCBs is still intact and then reports the error described. By the way: This problem also occurs under MultiTOS. However, in this case it can be removed by simply setting the memory protection flags in the program header to GLOBAL. Through the use of the patch, the GFA compiler no longer uses the first 16 bytes lying after the MShrink memory block and therefore dose not overwrite an MCB. The behavior of the compiler remains nevertheless incorrect, so that the area allocated does not unconditionally lie after that which is still in use by the compiler (although as a rule this is true) Patching the interpreter This provides either practical configuration patches, as documented by GFA or the correction of errors. Interpreters that can be patched: Version: File length: TT (English version) E (English version) What will be patched in the interpreter? - No more LINEA calls: Also see sprers.eu When moving the mouse in the editor you may get some residual images, but not while a program is running. - No more SETCOLOR calls, that change the colors on the TT: GFA Basic make some errors with the internal setting and querying of the screen colors, so that in resolutions like TT Medium, some colors are changed after running the interpreter. This patch prevents this. Also the command SETCOLOR will no longer have an effect. The better command VSETCOLOR should be used as a replacement. Hint: Please take note that additional patches made to the editor colors in conjunction with the SETCOLOR patch will have no effect either! - MERGE will no longer abort when ASCII 4 is encountered within the text: The interpreter normally aborts the merging of files at the corresponding line when it encounters ASCII 4 (EOT == End of trans- mission, CONTROL D, left arrow). Under UNIX, ASCII 4 is the EOF character which was one of the greatest ambitions of GFA Systemtechnik. This patch removes this disrupting behavior. -CALL bug removed: The CALL command in interpreter version D TT with a size of bytes does not work because of a typing error (movem.l a4/a6,-(sp) instead of movem.l a4-a6,-(sp)). The patch repairs this command. - Free system memory: When starting, the interpreter reserves all available memory for itself apart from 16 Kbytes. This is especially a problem on non-TT machines since too little memory is available for accessories and they refuse to work. This patch allows you to set the amount of memory that will remain free (e.g. 32Kbytes). - Activate 'New names': The 'New names' option from the Basic's system menu will be activated automatically. - The DEFLIST preset - The editor colors Hint: These do not work when the 'No more SETCOLOR calls' is active at the same time. - The default variable type can be entered without Postfix. This is preset to Float. - No CLS when strating program Patching is basically simple: Once you have selected the patches you require, select the "Patch.." button. The patched version of the interpreter will then be saved under a new name. Version history Vers. Date - First version released. And shortly afterwards, I added the numbering of versions. :-) &#; - MERGE patch for V of the interpreter incorporated. - The default variable type of the interpreter loaded will be read and displayed. - Patches for later versions expanded. &#; - No more 'mouse droppings' with the file selector - Compiler patch support started. &#; -DEFFILL patch incorporated, its action was wrongly documented. - GFA_sprers.eu now longer has an evaluation table appended. All of the data necessary is now incorporated directly within the file. - The compiler was wrongly patched. - Library patches integrated. - Call to the MAKE_NDX program was incorrect. - MERGE patch for the E Interpreter incorporated. - Instruction reworked. - Remaining patches incorporated: Line-A and SETCOLOR suppression for Version -DEFFILL patch expanded to a value of 8. - Documents reworked again. - Interpreter with Bytes now supported. -Line-A patch for doesn't work. - Interpreter with Bytes now supported. - Modifications for the MAG!X-Compiler patch begun. - MAG!X-patch incorporated completely. - A brief information dialog now appears when the program is started. - New INIT section. The old one contained an error in conjunction with floating point variables. - The program no longer uses LINEA. - The SETCOLOR patch did not work with V of the interpreter. - An additional patch has been added: The size of the memory which remains free after starting the program can be changed. The default is 16 Kbytes the least that is practical when using accessories e.g. (ERGO!help). - 3D effects under MultiTOS and Mag!X were incorrect. - If SHIFT, CONTROL or ALTERNATE is pressed when starting the program, the info dialog no longer appears. The file selector appears instead. - The LINEA patch for the interpreter with Bytes was incorrect. - The memory patch would only work on the ST until the next RESERVE call occurred. This was then reset to 16 KB. - A successful patch operation is now confirmed with an appropriate message. - The SETCOLOR patch for V of the interpreter with Bytes did not work (Andre Muller).- Since the editor colors patch does not work at the same time as SETCOLOR suppression, the corresponding option will be diabled (David Reitter). - A few internal changes, some further security checks were added and some adaptions for the new English version. - The 'Patch' button will be disabled if no patch is chosen for the interpreter. - Included support for English interpreter ( bytes). - 'New names' patch included. - Included support for English E interpreter ( bytes), thanx to Bob Samuel. -Included support for French TT interpreter ( bytes)sprers.eu and the new FILESELECT replacement can be found in the LISTINGS directory. -'Patch' was not selectable if only one of the last three patches was chosen. Status and disclaimer GFA_PTCH is freeware and can be freely distributed so long as the contents of the original archive remains complete. The commercial use of this program is prohibited. The distribution by PD vendors is allowed provided that the fee charged does not exceed DM We accept no responsibility for the functionality of the patches, anyone who damages his hard- or software by using GFA_PTCH and does not have a backup only has himself to blame! The newest version of this program can always be found in the Maus DO. If you have any suggestions for additional patches or have a Basic version that is not supported, we would be pleased to here from you. Have fun Gregor Duchalski & Christoph Conrad

sprers.eu

************************************************************************ Please note, the following text is not up to my usual(?) standard of translation. It is both colloquial, and contains a lot of jargon - too much for my understanding and my dictionary! Nevertheless, I hope it will be both useful, and usable! The Saint - July '94 Lonny Pursell- 1/14/ (translated a few lines and fixed typos) ************************************************************************* /////////////////////////////////////////////////////////////////////////////// / / / / / / / Compiler/Library patches for GFABASIC Atari ST/STE/TT/Falcon / / / / P*ST: / / Christoph Conrad / / Adalbertsteinweg / / Aachen / / / / E-Mail direct: / / MAUS: Christoph Conrad @ AC3 / / / / E-Mail Gateways: / / FIDO: Christoph Conrad % Maus AC3 / / / ATTENTION: possibly new / / Christoph Conrad % Maus AC3 / / / USEnet: [email protected] (No long Mails!) / / Zerberus: Christoph_Conrad%[email protected] / / Pronet: MAUS:AC3:Christoph_Conrad / / Internet: [email protected] / / (rarely, please no overly long Mails!) / / BTX: Page *#, fill out the form / / [email protected] / / (cost 90 cents) / / / / In case you have discovered something that causes a problem, or you have / / suggestions for improvements, write to me by EMail (preferably) or P*ST. / / / / When you find an error in Basic, write to me! / / / / I cannot accept any responsibility or take liability for any damage that / / could possibly have been caused to your data or programs either directly or / / indirectly that have occurred as a result of using these patches! / / / /////////////////////////////////////////////////////////////////////////////// Contents: (I) General & specific info for these patches (II) Various questions and answers (I) General & specific info for these patches Hello, GFABASIC has grown close to all of our hearts. When I first got my ST, it was the only programming language that offered a really fast turn around time (edit a program, test it, edit a), a hyper speed compiler/interpreter (in most cases the compiler also created correctly fixed code!) a usable editor and could usefully be employed on a 1Mb computer _without_ a hard drive. I suspect that this was the reason for the success of GFA BASIC. In the course of time and particularly (but not only) in conjunction with graphic improvements has GFABASIC shown some of its shortcomings. These library patches correct some (serious) problems. The library patches has already appeared in two versions as GFAL and improved in GFAL I was then asked by Gregor Duchalski whether I did not have the desire to contribute some of my own ideas to patch the interpreter using a convenient GEM interface. Since my patch program offered a convenient operating environment AND because of Gregor's involvement and the wishes of the GFABASIC MAUS group, I decided to do this. This convinced me to develop my own GFA library that can be installed using GFA_PTCH. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ What does the compiler patch part of GFA_PTCH offer? -Line-A patches are incorporated automatically! - Clean Auto folder recognition - Clean recognition of accessories- In case the memory requested by $m does not exist, this can be recognized - $U/$I bug in removed! Important: I definitely advise against the $I matter in particular. It is untidy or in fact lethal. Also, $U can be critical. Wirth this Init part, $U/$I will run just as "dirty" or "uncertain" as before, apart from the fact that it does now actually run under sprers.eu demonstrates to you in an exemplary way all of the features. This also uses $I+ cleanly in the case of the demo. Take note of the comments incorporated in sprers.eu and the hints offered below! !!! Part of the assembler code is &#; GFA Systemtechnik Changes made to either part are for personal use only. Modified copies may not be re-distributed! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Since there was a great deal of work involved in developing these patches, If you find them useful, a gift (of thanks) of >= 10,- would show your appreciation :-) Alternatively, since I am a music fan, you can send me a cassette (Chrome dioxide, Dolby B - preferably a TDK SA-X) containing some of your favorites. All types from Classical vocal (Opera, Operetta etc.), Rock, Folk and Disco (Bananarama, Sabrina) are welcome. I prefer lesser known groups/bands/ interpretations. I hope to get a flood of cassettes!!! :-) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ What does GFA_sprers.eu do ?== (a) patches the compiler Attention: Programs created using a patched compiler will _NOT_ run with an original library! == (b) Patches the library In the strictest sense this is not a patch but an exchange of code. == 9c) Creation of a new index file sprers.eu MAKE_sprers.eu must be used _unconditionally_, which creates a new sprers.eu this ought to be used with GFA_PTCH. You ought probably to save the old version of sprers.eu even though you could re-create this at any time using MAKE_sprers.eu with the old library. Unfortunately, MAKE_NDX first appeared with version Currently I am unaware (even if you are) whether it could be included with this package and I have queried this with GFA. If it can't, I will probably write a functional equivalent. == (d) Patch the interpreter You must _unconditionally_ patch the interpreter using GFA_sprers.eu In case your version of the interpreter has not been seen by us: Replace the FIRST occurrence of $A00A and $A by $4E This _ought_ to cause a crash. As a result of the patch: $E0C0 $A00A $4CDF as well as $ $A $E. This will produce "mouse droppings" when moving the mouse within the interpreter editor, but not whilst a program is running (the clean nesting of hidems/showms for GRAF_MOUSE is taken for granted!).+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ In case you have further problems: - Make a test with the original GFA3BLIB (+ the previous sprers.eu). Send me - the INIT.O file for your library - The exact version number/length of the library & compiler. This can be done simply by: Run sprers.eu from the same folder as GFA3BLIB which will produce a printable or E-mail-able file sprers.eu !!! Make sure that you use your ORIGINAL library or a copy of it and !!! !!! not one that has already been patched !!! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ How do I work with it ? Please take a look at the sprers.eu file. I hope that will be enough. You should then read through the question and answers section of this text. The commands that you ought to avoid (e.g. the Line A patches), and you will find many of the tips useful. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ BUGS: Hopefully there are not too many Still being worked on: ERR appears when starting the interpreter not always when initialized to zero. Before you blame this INIT, please test it first using the original GFA3BLIB (& the previous sprers.eu). ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Disclaimer: I have taken all possible precautions to create error-free programs & data. Nevertheless, it is not totally possible to exclude errors. Therefore, the authors cannot accept any responsibility or take liability for any damage that could possibly have been caused to your data or programs either directly or indirectly that have occurred as a result of using these programs! ***************************************************************************** (II) Questions & answer section QUESTIONS & ANSWERS: +++++++++++++++++++++ QUESTION: I have taken your advice that Line-A should not be used. Why is this so? Therefore, how can I make my compiler library (GFA3BLIB) Line-A free? ANSWER: Here is an extract from the 10th edition of the Profibuch: [Start of quote] The architecture of the operating system certainly speaks against the usage of Line-A routines. These are used for display in the low-level VDI screen driver. Using them prevents the possible usage of another (faster) screen driver! Also, Line-A routines are only provided for ST modes (*, *, *). Already, with color graphics (special graphic cards or the TT in 'low' resolution) the provisions of the Line-A interface have been exhausted (see COLBIT0 to COLBIT3) [End of quote] In case that was as clear as mud: DON'T PANIC! The deciding factor in all this will be that programs using Line-A routines will not run correctly with graphic cards! Ergo: Do away with it! *** Take heed from a correct nesting of hidems/showms (via GRAF_MOUSEAES 78). For each hide of a show, "droppings" will result. With the mouse not switched on, when it already is, as is the rule when starting GEM programs, there are no "droppings".*** AVOID THE FOLLOWING COMMANDS: CRSCOLCRSLINMOUSEMOUSEKMOUSEXMOUSEYSETMOUSERC_COPYSHOWMHIDEMSPRITEACHARACLIPALINEAPOLYARECTATEXTBITBLTHLINEL~APSETPTSTGETPUTSGETSPUTFILESELECT FILESELECT # When using without #file_number: INPUTINPUT$LINE INPUT Replacement commands: MOUSE/MOUSEK/MOUSEX/MOUSEY -> (AES) GRAF_MKSTATESETMOUSE-> (AES) APPL_TPLAY SHOWM/HIDEM -> (AES) GRAF_MOUSEFILESELECT-> (AES) FSEL_INPUTFILESELECT#-> (AES) FSEL_EXINPUT SPRITE-> (VDI) vro/vrt_cpyfm ACHAR-> (VDI) TEXTACLIP-> (VDI) CLIPALINE-> (VDI) LINEAPOLY-> (VDI) POLYFILLARECT-> (VDI) PBOXATEXT-> (VDI) TEXTBITBLT-> (VDI) BITBLT q%(),z%(),d%() HLINE-> (VDI) LINEPSET-> (VDI) PLOT or v_pmarker roughly > points PTST-> (VDI) POINT GET/PUT/SGET/SPUT -> (VDI) BITBLTRC_COPY-> (VDI) BITBLT>> Without a guarantee of completeness! +++++++++++++++++++++ QUESTION: Where can I find information about GEM compliant programming? ANSWER: Tim Orens ProGEM. This text from , which you should be able to find in most mailboxes provides the best in 'Professional GEM' programming. You will find more in the book 'Vom Anf&#;nger zum GEM-Profi' by Gebr&#;der Geiss. A little confused, but otherwise very good. As reference material, the 'Profibuch' by Jankowski/Reschke/Rabich, is undoubtedly irreplaceable. ++++++++++++++++++++ QUESTION: GFA already has good commands for using windows. What can these be used for? ANSWER: I advise against using GFA's own window management routines. In previous versions this is incorrect - today, who knows? Using the AES, it is equally as 'simple' or 'difficult'.+++++++++++++++++++++ QUESTION: Sometimes my program is no longer under my control. With the best will in the world I cannot find any errors. What is happening and how do I find out? ANSWER: Use SysMon and TempleMon. You can find TempleMon in many mailboxes - SysMon can be obtained directly from the author:- Karsten Isakovic Wilmersdorferstr. 82 Berlin 12 At the time of the crash, you will at least be able to establish the last used system call and possibly the bad parameter. Another good possibility is to use the TRACE procedure name (see the manual). When all of the lines that have been traced are written to a previously opened file (PRINT #1,TRACE$) you will quickly be able to localize the cause of the crash. The Turbo-C/Pure-C debugger can be equally as useful when the program has been translated into symbols. There is an extensive unknown error that exists GFA-Basic's own memory management. This exists in all three versions. Hint: add a FRE(0) command (in conjunction with any string) liberally to your code. Try the following (after re-booting):' Compiler version with $m ' instead of RESERVERESERVE $m 'RESERVE will cause a quicker crash but is actually unnecessary ' The lines ending (**) will then really cause the interpreter to return a ' value of minus 4 from (FRE()MOD 16) == 0 after the RESERVE' Because of the back trailer with rest16% with the compiler in case ' $m XXXX with (XXXX MOD 16)<>0 rest16%=(FRE(0) MOD 16)-4 !** IF rest16%<0 !** ADD rest16%,16 !** ENDIF!** rest16$=STRING$(rest16%,0) !** ' (FRE()MOD 16) == 0 now fulfilled str$="AHAH" DO @crash(str$) LOOPPROCEDURE crash(str$) str$="OHOH" RETURN+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Special thanks: - Harald Ax for DELITE, an outstanding GFA-Shell - Jankowski/Rabich/Reschke for his "Profibuch", an indispensable treasure. - Karsten Isakovic for his 'SysMon', as well as Thomas Tempelmann and Johannes Hill for 'TempleMon' Both tool are known as 'The Programmers best friends' :-) - ATARI / Landon Dyer for the 'MadMac'.- GENESIS for 'Selling England by the pound' as well as 'Foxtrot' THE CURE for 'Disintegrations' THE RED HOT CHILI PEPPERS for 'Blood sugar sex magic' KING'S X &#; (with 'Black Flag') TEMPLE OF THE DOG for their debut album RAGE AGAINST THE MACHINE for their debut album BODY COUNT & ICE-T for the Plate - Barbara for her understanding, that gives me life without my computer =:^} Have fun, Byeeeeeeeeeeeeee, Chris

sprers.eu

This information was provided by Ingo Schmidt (from a book). Starting address of a memory block which GEM installs to manage the VDI parameters. This list isn't valid for the Mega-TOS or Blitter-TOS. GFA V gives confused values here. However, in the standard ROM-TOS the parameter block for the virtual workstation is at address &HC. That block also is bytes long and has the same structure as VDIBASE. The VDIBASE is a copy of that parameter block. So in V you can use the hardware address instead of VDIBASE.Offset Size Description 0 word current text rotation (0, , , ) 2 word clipping flag (0=on, 1=off) 4 long address of current font header 8 word DDA_INC (?) 10 word multi-fill flag 12 word number of scan lines of current fill pattern 14 long start address of fill pattern 18 word points/absolute mode (?) 20 long SCRTCHP (buffer pointer, current boot sector ??) 24 word SCRPT2 (minus offset to LPEEK(VDIBASE+20) ??) Gives the start of the eventually executable part of the boot sector -> from LPEEK(VDIBASE+20)-DPEEK(VDIBASE+24) these are the last bytes of the boot sector ?? 26 word current text style 28 word T_SCLSTS (=0 ??) 30 word current polygon fill color 32 word current fill pattern ->DEFFILL color,DPEEK(VDIBASE+32)-1,style 34 word boundary flag 36 word current fill style 38 word current text alignment (0=left, 1=centered, 2=right) 40 word VDI handle of current workstation (GFA-Basic) 42 word current line start form 44 word current line color 46 word current line end form 48 word current line style 50 word current line width 52 long pointer to next VDI-(GDOS) font 56 word current polymarker color 58 word current polymarker height 60 word current polymarker type 62 word relative polymarker height 64 long pointer to next virtual workstation parameter block 68 word number of available GEM/VDI fonts 70 word index of current GEM/VDI font 72 byte copy of current font header (88 bytes) word ? word current text color word current user line style word plane 1 of user fill pattern [mono] (16 words) word plane 2 of user fill pattern [color] (16 words) word plane 3 of user fill pattern [color] (16 words) word plane 4 of user fill pattern [mono] (16 words) word current vertical text alignment 0=baseline, 1=halfline, 2=ascentline, 3=bottomline, 4=descentline, 5=topline word current graphics mode ->GRAPHMODEDPEEK(VDIBASE+)-1 word current coordinate system Normalized Device Coordinates (NDC)=0 Raster Coordinates (RC)=2 -> standard word x1, y1, x2, y2 of current clipping box (4 words) This system variable should be avoided. This table is actually stored outside the programs memory space. Messing around with this table can lead to unpredictable results.

ATTRDEF.H

/********************************** attrdef.h *********************************** ** $Revision: $ $Source: /u/lozben/projects/vdi/mtaskvdi/RCS/attrdef.h,v $ *============================================================================= * $Author: lozben $ $Date: 91/01/04 $ $Locker: $ *============================================================================= ** $Log: attrdef.h,v $ * Revision 91/01/04 lozben * Typedefed structure atribute to ATTRIBUTE. ** Revision 91/01/03 lozben * New generation VDI** Revision 90/04/24 lozben * Expanded the user defined pattern array from a 4x16 to an 8x ** Revision 89/02/21 kbad * *** TOS FINAL RELEASE VERSION *** ******************************************************************************** */ #ifndef _ATTRDEF_H_ #define _ATTRDEF_H_ /* Structure to hold data for a virtual workstation */ typedef struct attribute { WORD chup; /* Character Up vector */WORD clip; /* Clipping Flag */ FONT_HEAD *cur_font; /* Pointer to current font */WORD dda_inc; /* Fraction to be added to the DDA */WORD multifill; /* Multi-plane fill flag */WORD patmsk; /* Current pattern mask */WORD *patptr; /* Current pattern pointer */WORD pts_mode; /*TRUE if height set in points mode */WORD *scrtchp; /* Pointer to text scratch buffer */WORD scrpt2; /* Offset to large text buffer */WORD style; /* Current text style */WORD t_sclsts; /*TRUE if scaling up */WORD fill_color; /* Current fill color (PEL value) */WORD fill_index; /* Current fill index */WORD fill_per; /*TRUE if fill area outlined */WORD fill_style; /* Current fill style */WORD h_align; /* Current text horizontal alignment */WORD handle; /* handle for attribute area */WORD line_beg; /* Beginning line endstyle */WORD line_color; /* Current line color (PEL value) */WORD line_end; /* Ending line endstyle */WORD line_index; /* Current line style */WORD line_width; /* Current line width */ FONT_HEAD *loaded_fonts; /* Pointer to first loaded font */WORD mark_color; /* Current marker color (PEL value) */WORD mark_height; /* Current marker height */WORD mark_index; /* Current marker style */WORD mark_scale; /* Current scale factor for marker data */ struct attribute *next_work; /* Pointer to next virtual workstation */WORD num_fonts; /* Total number of faces available */WORD scaled; /*TRUE if font scaled in any way */ FONT_HEAD scratch_head; /* Holder for the doubled font data */WORD text_color; /* Current text color (PEL value) */WORD ud_ls; /* User defined linestyle */WORD ud_patrn[32*16];/* User defined pattern */WORD v_align; /* Current text vertical alignment */WORD wrt_mode; /* Current writing mode */WORD xfm_mode; /* Transformation mode requested */WORD xmn_clip; /* Low x point of clipping rectangle */WORD xmx_clip; /* High x point of clipping rectangle */WORD ymn_clip; /* Low y point of clipping rectangle */WORD ymx_clip; /* High y point of clipping rectangle */ } ATTRIBUTE; #endif

BASEPAGE.H

/** $Id: basepage.h,v /06/13 fna Exp $ ** This file belongs to FreeMiNT. It's not in the original MiNT * distribution. See the file sprers.eu for a detailed log of changes. *//** Description: Definition of the basepage structure. */# ifndef _mint_basepage_h # define _mint_basepage_h typedef struct basepage BASEPAGE; struct basepage { long p_lowtpa; /* pointer to self (bottom of TPA) */ long p_hitpa; /* pointer to top of TPA + 1 */ long p_tbase; /* base of text segment */ long p_tlen; /* length of text segment */ long p_dbase; /* base of data segment */ long p_dlen; /* length of data segment */ long p_bbase; /* base of BSS segment */ long p_blen; /* length of BSS segment */ char *p_dta; /* pointer to current DTA */BASEPAGE *p_parent; /* pointer to parent's basepage */ long p_flags; /* memory usage flags */ char *p_env; /* pointer to environment string *//* Anything after this (except for p_cmdlin) is undocumented, * reserved, subject to change, etc. -- user programs must NOT use! */ char p_devx[6];/* real handles of the standard devices */ char p_res2; /* reserved */ char p_defdrv; /* default drv */ long p_undef[17];/* reserved space */ long p_usp; /* a fake USP to make dLibs programs happy */ char p_cmdlin[];/* command line image */ };# endif /* _mint_basepage_h */

ERRNO.H

/** $Id: errno.h,v /06/13 fna Exp $ ** mint/errno.h -- MiNTLib. * Copyright (C) Guido Flohr <[email protected]> ** This file is part of the MiNTLib project, and may only be used * modified and distributed under the terms of the MiNTLib project * license, COPYMINT. By continuing to use, modify, or distribute * this file you indicate that you have read the license and * understand and accept it fully. */ #ifndef _MINT_ERRNO_H # define _MINT_ERRNO_H 1 /* Allow multiple inclusion. */ #ifndef __KERNEL__ /* for src integrity checking until all src is converted */ #error no __KERNEL__ # ifndef _FEATURES_H # include <features.h> # endif __BEGIN_DECLS /* See below. */ #define __KERNEL_NEG(c) c #else /* __KERNEL__ *//* The kernel should actually have code like if (whew_we_dont_know_that) return -ENOSYS; instead of the current if (whew_we_dont_know_that) return ENOSYS; That seems to be a matter of taste. As a convenience we offer both possibilities here: */# ifdef POSITIVE_ERROR_CODES # define __KERNEL_NEG(c) (c) # else /* not POSITIVE_ERROR_CODES */# define __KERNEL_NEG(c) (-(c)) # endif /* not POSITIVE_ERROR_CODES *//* If you prefer to type E_OK instead of 0 */# define E_OK 0 #endif /* not __KERNEL__ *//* The original atarierr.h defined quite a few error codes which were either useless or non-standard. Important codes such as EISDIR, ENOTEMPTY were missing, others were simply misunderstood (for example the usual EINVAL would really be an ENOSYS, EINVAL is not invalid function number but invalid argument) and especially in MiNT some error codes got really overloaded, for example ENOENT serves as ENOENT, ESRCH and ECHILD, or EACCES and EPERM were the same. The codes in this file try to find the closest equivalent for all error codes currently in use, marks some error codes as deprecated and tries to be fit for the future by defining all error codes that may be needed for future enhancement. *//* The explanations are mostly taken from the GNU libc manual. Unfortunately they don't always document the current usage in the MiNT system but rather how it should be. I've marked all current misusage with either `KERNEL' or `FIXME'. We provide way too many synonyms for error codes here. Both in the kernel and the libc only the `official' name (the one in the top row that bears the actual define) should be used. *//* Where is ENOERR and E_OK? This file is <errno.h> and not <noerror.h>, no error is 0, basta. *//* Is this really needed? Deprecated. */ #define EERROR __KERNEL_NEG(1) /* Generic error. *//* A system resource that can't be shared is already in use. For example if you try to delete a file that is the root of a currently mounted filesystem, you get this error. This used to be EDRNRDY resp. EDRNRDY. */ #define EBUSY __KERNEL_NEG(2) /* Resource busy. */ #ifdef __LOOSE_ERRROR_CODES # define EDRNRDY EBUSY # define EDRVNR EBUSY #endif /* Deprecated. */ #define EUKCMD __KERNEL_NEG(3) /* Unknown command. */ #ifdef __LOOSE_ERRROR_CODES # define EUNCMD EUKCMD #endif /* Checksum error detected while reading from a block device such as a floppy drive. Obviously non-standard but often used. */ #define ECRC __KERNEL_NEG(4) /* CRC error. */ #ifdef __LOOSE_ERRROR_CODES # define E_CRC ECRC #endif /* Bad request. */ #define EBADR __KERNEL_NEG(5) /* Bad request. */ #ifdef __LOOSE_ERRROR_CODES # define EBADREQ EBADR # define EBADRQ EBADR #endif /* Invalid seek operation (such as on a pipe). *//* KERNEL: The pipe file system currently returns 0 for seek on a pipe! */ #define ESPIPE __KERNEL_NEG(6) /* Illegal seek. */ #ifdef __LOOSE_ERRROR_CODES # define ESEEK ESPIPE # define E_SEEK ESPIPE #endif /* Wrong medium type. */ #define EMEDIUMTYPE __KERNEL_NEG(7) /* Wrong medium type. */ #ifdef __LOOSE_ERRROR_CODES # define EUKMEDIA EMEDIUMTYPE # define EMEDIA EMEDIUMTYPE #endif /* A sector that does not exist was addressed in the call to a bock device function. */ #define ESECTOR __KERNEL_NEG(8) /* Sector not found. */ #ifdef __LOOSE_ERRROR_CODES # define ESECNF ESECTOR #endif /* No paper. No, not at the conveniences, in the printer. */ #define EPAPER __KERNEL_NEG(9) /* No paper. *//* Read and write faults. Deprecated, be more specific instead. */ #define EWRITE __KERNEL_NEG(10) /* Write fault. */ #ifdef __LOOSE_ERRROR_CODES # define EWRITEF EWRITE #endif #define EREAD __KERNEL_NEG(11) /* Read fault. */ #ifdef __LOOSE_ERRROR_CODES # define EREADF EREAD #endif /* Another generic error. Who can tell the difference to EERROR? */ #define EGENERIC __KERNEL_NEG(12) /* General mishap. *//* An attempt was made to modify something on a read-only file file system. */ #define EROFS __KERNEL_NEG(13) /* Write protect. *//* A removable medium was exchanged before the operation could finish. */ #define ECHMEDIA __KERNEL_NEG(14) /* Media change. */ #ifdef __LOOSE_ERRROR_CODES # define E_CHNG ECHMEDIA #endif /* The wrong type of device was given to a function that expects a particular sort of device. */ #define ENODEV __KERNEL_NEG(15) /* No such device. */ #ifdef __LOOSE_ERRROR_CODES # define EUKDEV ENODEV # define EUNDEV ENODEV #endif /* Bad sectors on block device medium found. Uhm, if the driver found them, mark them as bad and don't bother the user with that. Deprecated. */ #define EBADSEC __KERNEL_NEG(16) /* Bad sectors found. */ #ifdef __LOOSE_ERRROR_CODES # define EBADSF EBADSEC #endif /* A device with a removable media (such as a floppy) is empty. */ #define ENOMEDIUM __KERNEL_NEG(17) /* No medium found. */ #ifdef __LOOSE_ERRROR_CODES # define EIDISK ENOMEDIUM # define EOTHER ENOMEDIUM #endif /* MetaDOS error (deprecated). */ #define EINSERT __KERNEL_NEG(18) /* Insert media. *//* MetaDOS error (deprecated). */ #define EDRVNRSP __KERNEL_NEG(19) /* Drive not responding. *//* No process matches the specified process ID. KERNEL: This is a new error code. Currently ENOENT is returned instead. */ #define ESRCH __KERNEL_NEG(20) /* No such process. *//* There are no child processes. This error happens on operations that are supposed to manipulate child processes, when there aren't any processes to manipulate. KERNEL: This is a new error code. Currently ENOENT is returned instead. */ #define ECHILD __KERNEL_NEG(21) /* No child processes. *//* Deadlock avoided; allocating a system resource would have resulted in a deadlock situation. The system does not guarantee that it will notice all such situations. This error means you got lucky and the system noticed; it might just hang. KERNEL: This is a new error code. The kernel currently never returns it. But that doesn't mean that there are no deadlock situations in the kernel. */ #define EDEADLK __KERNEL_NEG(22) /* Resource deadlock would occur. */ #define EDEADLOCK EDEADLK /* A file that isn't a block special file was given in a situation that requires one. For example, trying to mount an ordinary file as a file system in Unix gives this error. New code. */ #define ENOTBLK __KERNEL_NEG(23) /* Block device required. *//* File is a directory; you cannot open a directory for writing, or create or remove hard links to it. KERNEL: This is a new error code. Flink() should be fixed. */ #define EISDIR __KERNEL_NEG(24) /* Is a directory. *//* Invalid argument. This is used to indicate various kinds of problems with passing the wrong argument to a library function. FIXME: This used to be the same as `ENOSYS'. In fact that should be two distinct error codes. For example, the `fchmod' function should return `EINVAL' if the file descriptor passed as an argument corresponds to a pipe or socket, not an ordinary file. But since `fchmod' is a function that is currently only supported under MiNT the same error would be reported if the operating system does not support the call at all. It is common practice to cache such failures because in the case of `ENOSYS' there is no chance that succeeding calls will proceed. So how do you want to distinguish between these cases? */ #define EINVAL __KERNEL_NEG(25) /* Invalid argument. *//* Inappropriate file type or format. The file was the wrong type for the operation, or a data file had the wrong format. On some systems `chmod' returns this error if you try to set the sticky bit on a non-directory file. */ #define EFTYPE __KERNEL_NEG(26) /* Inappropriate file type or format. *//* While decoding a multibyte character the function came along an invalid or an incomplete sequence of bytes or the given wide character is invalid. */ #define EILSEQ __KERNEL_NEG(27) /* Illegal byte sequence. *//* Function not implemented. Some functions have commands or options defined that might not be supported in all implementations, and this is the kind of error you get if your request them and they are not supported. KERNEL: This was usually called EINVFN (invalid function number) and that's why it was probably mixed up with EINVAL (invalid argument). FIXME: Grep thru the MiNTLib sources for EINVAL and replace it with the correct ENOSYS. Same for the kernel. */ #define ENOSYS __KERNEL_NEG(32) /* Function not implemented. *//* This is a "file doesn't exist" error for ordinary files that are referenced in contexts where they are expected to already exist. KERNEL/FIXME: This used to be the same as ESRCH and and ECHILD, in the kernel it was usually called EFILNF. Fix the wrong usage of ESRCH and ECHILD and replace EFILNF with ENOENT. */ #define ENOENT __KERNEL_NEG(33) /* No such file or directory. *//* A file that isn't a directory was specified when a directory is required. The usage of the synonyme EPATH is deprecated! */ #define ENOTDIR __KERNEL_NEG(34) /* Not a directory. */ #ifdef __LOOSE_ERRROR_CODES # define EPATH ENOTDIR #endif /* The current process has too many files open and can't open any more. Duplicate descriptors do count toward this limit. In BSD and GNU, the number of open files is controlled by a resource limit that can usually be increased. If you get this error, you might want to increase the `RLIMIT_NOFILE' limit or make it unlimited. Under MiNT we currently have to live without such luxury. */ #define EMFILE __KERNEL_NEG(35) /* Too many open files. *//* Permission denied; the file permissions do not allow the attempted operation. KERNEL: This used to be mixed up with EPERM (operation not permitted). */ #define EACCES __KERNEL_NEG(36) /* Permission denied. */ #ifdef __LOOSE_ERRROR_CODES # define EACCESS EACCES #endif /* Bad file descriptor; for example, I/O on a descriptor that has been closed or reading from a descriptor open only for writing (or vice versa). */ #define EBADF __KERNEL_NEG(37) /* Bad file descriptor. *//* Operation not permitted; only the owner of the file (or other resource) or processes with special privileges can perform the operation. This is a new error code (used to be a synonyme for EACCES). As a general rule you can say, whenever you want to disallow something take EACCES. Only if you positively know that EPERM should be used, then take this one. FIXME: Some kernel functions should return EPERM, for example Tsettimeofday, Tsetdate, Tsettime, Setdate */ #define EPERM __KERNEL_NEG(38) /* Operation not permitted. *//* No memory available. The system cannot allocate more virtual memory because its capacity is full. */ #define ENOMEM __KERNEL_NEG(39) /* Cannot allocate memory. *//* Bad address; an invalid pointer was detected. In the GNU system, this error never happens; you get a signal instead. In the MiNT system this error often happens, and you get angry mails and flames on the usenet. */ #define EFAULT __KERNEL_NEG(40) /* Bad address. *//* No such device or address. The system tried to use the device represented by a file you specified, and it couldn't find the device. This can mean that the device file was installed incorrectly, or that the physical device is missing or not correctly attached to the computer. Under MiNT this can also happen if a pathname starts with a drive letter followed by a colon (e. g. `x:/dont/exist'). This was called `invalid drive specification' or `invalid drive id'. */ #define ENXIO __KERNEL_NEG(46) /* No such device or address. *//* An attempt to make an improper link across file systems was detected. This happens not only when you use `link' (for hard links) but also when you rename a file with `rename'. */ #define EXDEV __KERNEL_NEG(48) /* Cross-device link. *//* No more matching file names, only used by Fsnext(2). Don't mix that up with ENFILE. */ #define ENMFILES __KERNEL_NEG(49) /* No more matching file names. */ #ifdef __LOOSE_ERRROR_CODES # define ENMFIL ENMFILES #endif /* There are too many distinct file openings in the entire system. Note that any number of linked channels count as just one file opening. This error never occurs in the GNU system, and it probably never occurs in the MiNT system, too. */ #define ENFILE __KERNEL_NEG(50) /* File table overflow. *//* Locking conflict. Deprecated. KERNEL: If the LOCK_NB flag was selected EWOULDBLOCK should be used instead. Otherwise the process should be blocked until the lock is available? */ #define ELOCKED __KERNEL_NEG(58) /* Locking conflict. *//* Deprecated, should only happen with Dlock(). */ #define ENSLOCK __KERNEL_NEG(59) /* No such lock. *//* Bad argument, used to be `range error/context unknown'. Deprecated. */ #define EBADARG __KERNEL_NEG(64) /* Bad argument. *//* Another spurious error, deprecated. */ #define EINTERNAL __KERNEL_NEG(65) /* Internal error. */ #ifdef __LOOSE_ERRROR_CODES # define EINTRN EINTERNAL #endif /* Invalid executable file format. This condition is detected by the `exec' functions. */ #define ENOEXEC __KERNEL_NEG(66) /* Invalid executable file format. */ #ifdef __LOOSE_ERRROR_CODES # define EPLFMT ENOEXEC #endif /* Can't grow block, deprecated. At least within the library this should be handled with ENOMEM. */ #define ESBLOCK __KERNEL_NEG(67) /* Memory block growth failure. */ #ifdef __LOOSE_ERRROR_CODES # define EGSBF ESBLOCK #endif /* Terminated with CTRL-C (Kaos, MagiC, BigDOS). Nonsense. */ #define EBREAK __KERNEL_NEG(68) /* Aborted by user. *//* This looks like a joke but it isn't. Who has introduced that in the kernel? */ #define EXCPT __KERNEL_NEG(69) /* Terminated with bombs. *//* An attempt to execute a file that is currently open for writing, or write to a file that is currently being executed. Often using a debugger to run a program is considered having it open for writing and will cause this error. (The name stands for "text file busys".) This is not an error in the GNU system; the text is copied as necessary. In the MiNT system this error currently cannot occur. */ #define ETXTBSY __KERNEL_NEG(70) /* Text file busy. *//* File too big; the size of a file would be larger than allowed by the system. KERNEL: This is a new code. If this error condition can occur, then the correct code should be returned. */ #define EFBIG __KERNEL_NEG(71) /* File too big. *//* Too many levels of symbolic links were encountered in looking up a file name. This often indicates a cycle of symbolic links. KERNEL: There was no difference between EMLINK (too many links and ELOOP (too many symbolic links). The more common meaning of this error code is preserved, but whenenver EMLINK should be used, this has to be fixed in the kernel. */ #define ELOOP __KERNEL_NEG(80) /* Too many symbolic links. *//* Broken pipe; there is no process reading from the other end of a pipe. Every function that returns this error code also generates a `SIGPIPE' signal; this signal terminates the program if not handled or blocked. Thus, your program will never actually see `EPIPE' unless it has handled or blocked `SIGPIPE'. */ #define EPIPE __KERNEL_NEG(81) /* Broken pipe. *//* Too many links; the link count of a single file would become too large. `rename' can cause this error if the file being renamed already has as many links as it can take. KERNEL: This is a new error code. See the note for ELOOP. */ #define EMLINK __KERNEL_NEG(82) /* Too many links. *//* Directory not empty, where an empty directory was expected. Typically this error occurs when you are trying to delete a directory. KERNEL: New error code, for the case of non-empty directories EEXIST was returned. The new behavior could cause compatibility problems since inproper implementations of recursive rm commands could rely on the old error code (85) being returned. Which error is more probable? */ #define ENOTEMPTY __KERNEL_NEG(83) /* Directory not empty. *//* File exists; an existing file was specified in a context where it only makes sense to specify a new file. */ #define EEXIST __KERNEL_NEG(85) /* File exists. *//* Filename too long (longer than `PATH_MAX') or host name too long (in `gethostname' or `sethostname'). */ #define ENAMETOOLONG __KERNEL_NEG(86) /* Name too long. *//* Inappropriate I/O control operation, such as trying to set terminal modes on ordinary files. */ #define ENOTTY __KERNEL_NEG(87) /* Not a tty. *//* Range error; used by mathematical functions when the result value is not representable because of overflow or underflow. The string to number conversion functions (`strtol', `strtoul', `strtod', etc. can also return this error. */ #define ERANGE __KERNEL_NEG(88) /* Range error. *//* Domain error; used by mathematical functions when an argument value does not fall into the domain over which the function is defined. */ #define EDOM __KERNEL_NEG(89) /* Domain error. *//* Input/output error; usually used for physical read or write errors. */ #define EIO __KERNEL_NEG(90) /* I/O error */ /* No space left on device; write operation on a file failed because the disk is full. */ #define ENOSPC __KERNEL_NEG(91) /* No space left on device. *//* Error number reserved for TraPatch. *//* This means that the per-user limit on new process would be exceeded by an attempted `fork'. */ #define EPROCLIM __KERNEL_NEG() /* Too many processes for user. *//* This file quota system is confused because there are too many users. */ #define EUSERS __KERNEL_NEG() /* Too many users. *//* The user's disk quota was exceeded. */ #define EDQUOT __KERNEL_NEG() /* Quota exceeded. *//* Stale NFS handle. This indicates an internal confusion in the NFS system which is due to file system rearrangements on the server host. Reparing this condition usually requires unmounting and remounting the NFS file system on the local host. */ #define ESTALE __KERNEL_NEG() /* Stale NFS file handle. *//* An attempt was made to NFS-mount a remote file system with a file name that already specifies an NFS-mounted file. (This is an error on some operating systems, but we expect it to work properly on the GNU system, making this error code impossible). */ #define EREMOTE __KERNEL_NEG() /* Object is remote. *//*??? */ #define EBADRPC __KERNEL_NEG() /* RPC struct is bad. */ #define ERPCMISMATCH __KERNEL_NEG() /* RPC version wrong. */ #define EPROGUNAVAIL __KERNEL_NEG() /* RPC program not available. */ #define EPROGMISMATCH __KERNEL_NEG() /* RPC program version wrong. */ #define EPROCUNAVAIL __KERNEL_NEG() /* RPC bad procedure for program. *//* No locks available. This is used by the file locking facilities; This error is never generated by the GNU system, but it can result from an operation to an NFS server running another operating system. */ #define ENOLCK __KERNEL_NEG() /* No locks available. *//*??? */ #define EAUTH __KERNEL_NEG() /* Authentication error. */ #define ENEEDAUTH __KERNEL_NEG() /* Need authenticator. *//* In the GNU system, servers supporting the `term' protocol return this error for certain operations when the caller is not in the foreground process group of the terminal. Users do not usually see this error because functions such as `read' and `write' translate it into a `SIGTTIN' or `SIGTTOU' signal. */ #define EBACKGROUND __KERNEL_NEG() /* Inappropriate operation for background process. *//*??? */ #define EBADMSG __KERNEL_NEG() /* Not a data message. */ #define EIDRM __KERNEL_NEG() /* Identifier removed. */ #define EMULTIHOP __KERNEL_NEG() /* Multihop attempted. */ #define ENODATA __KERNEL_NEG() /* No data available. */ #define ENOLINK __KERNEL_NEG() /* Link has been severed. */ #define ENOMSG __KERNEL_NEG() /* No message of desired type. */ #define ENOSR __KERNEL_NEG() /* Out of streams resources. */ #define ENOSTR __KERNEL_NEG() /* Device not a stream. */ #define EOVERFLOW __KERNEL_NEG() /* Value too large for defined data type. */ #define EPROTO __KERNEL_NEG() /* Protocol error. */ #define ETIME __KERNEL_NEG() /* Timer expired. *//* Argument list too long; used when the arguments passed to a new program being executed with one of the `exec' functions occupy too much memory space. This condition never arises in the MiNT system. */ #define E2BIG __KERNEL_NEG() /* Argument list too long. *//* The following error codes are defined by the Linux/i kernel. Some of them are probably useful for MiNT, too. */ #define ERESTART __KERNEL_NEG() /* Interrupted system call should be restarted. */ #define ECHRNG __KERNEL_NEG() /* Channel number out of range. *//* Interrupted function call; an asynchronous signal occured and prevented completion of the call. When this happens, you should try the call again. On other systems you can choose to have functions resume after a signal handled, rather than failing with `EINTR'. */ #define EINTR __KERNEL_NEG() /* Interrupted function call. *//* Falcon XBIOS errors. */ #define ESNDLOCKED __KERNEL_NEG() /* Sound system is already locked. */ #define ESNDNOTLOCK __KERNEL_NEG() /* Sound system is not locked. */ #define EL2NSYNC __KERNEL_NEG() /* Level 2 not synchronized. */ #define EL3HLT __KERNEL_NEG() /* Level 3 halted. */ #define EL3RST __KERNEL_NEG() /* Level 3 reset. */ #define ELNRNG __KERNEL_NEG() /* Link number out of range. */ #define EUNATCH __KERNEL_NEG() /* Protocol driver not attached. */ #define ENOCSI __KERNEL_NEG() /* No CSI structure available. */ #define EL2HLT __KERNEL_NEG() /* Level 2 halted. */ #define EBADE __KERNEL_NEG() /* Invalid exchange. */ #define EXFULL __KERNEL_NEG() /* Exchange full. */ #define ENOANO __KERNEL_NEG() /* No anode. */ #define EBADRQC __KERNEL_NEG() /* Invalid request code. */ #define EBADSLT __KERNEL_NEG() /* Invalid slot. */ #define EBFONT __KERNEL_NEG() /* Bad font file format. */ #define ENONET __KERNEL_NEG() /* Machine is not on the network. */ #define ENOPKG __KERNEL_NEG() /* Package is not installed. */ #define EADV __KERNEL_NEG() /* Advertise error. */ #define ESRMNT __KERNEL_NEG() /* Srmount error. */ #define ECOMM __KERNEL_NEG() /* Communication error on send. */ #define EDOTDOT __KERNEL_NEG() /* RFS specific error. */ #define ELIBACC __KERNEL_NEG() /* Cannot access a needed shared library. */ #define ELIBBAD __KERNEL_NEG() /* Accessing a corrupted shared library. */ #define ELIBSCN __KERNEL_NEG() /* .lib section in sprers.eu corrupted. */ #define ELIBMAX __KERNEL_NEG() /* Attempting to link too many shared libraries. */ #define ELIBEXEC __KERNEL_NEG() /* Cannot exec a shared library directly. */ #define ESTRPIPE __KERNEL_NEG() /* Streams pipe error. */ #define EUCLEAN __KERNEL_NEG() /* Structure needs cleaning. */ #define ENOTNAM __KERNEL_NEG() /* Not a XENIX named type file. */ #define ENAVAIL __KERNEL_NEG() /* NO XENIX semaphores available. */ #define EREMOTEIO __KERNEL_NEG() /* Remote I/O error. */ #ifdef __KERNEL__ /* This is not really an error but a dummy error code used within the kernel to indicate that a mount point may have been crossed. */ #define EMOUNT __KERNEL_NEG() #endif /* There used to be a distinction between MiNTNet errors and ordinary MiNT errors. This macro is provided for backwards compatibility. */ #define _NE_BASE /* A file that isn't a socket was specified when a socket is required. */ #define ENOTSOCK __KERNEL_NEG() /* Socket operation on non-socket. *//* No default destination address was set for the socket. You get this error when you try to transmit data over a connectionless socket, without first specifying a destination for the data with `connect'. */ #define EDESTADDRREQ __KERNEL_NEG() /* Destination address required. *//* The size of a message sent on a socket was larger than the supported maximum size. */ #define EMSGSIZE __KERNEL_NEG() /* Message too long. *//* The socket type does not support the requested communications protocol. */ #define EPROTOTYPE __KERNEL_NEG() /* Protocol wrong type for socket. *//* You specified a socket option that doesn't make sense for the particular protocol being used by the socket. */ #define ENOPROTOOPT __KERNEL_NEG() /* Protocol not available. *//* The socket domain does not support the requested communications protocol (perhaps because the requested protocol is completely invalid). */ #define EPROTONOSUPPORT __KERNEL_NEG() /* Protocol not supported. *//* The socket type is not supported. */ #define ESOCKTNOSUPPORT __KERNEL_NEG() /* Socket type not supported. *//* The operation you requested is not supported. Some socket functions don't make sense for all type of sockets, and others may not be implemented for all communications prototcols. In the GNU system, this error can happen for many calls when the object does not support the particular operation; it is a generic indication that the server knows nothing to do for that cal. */ #define EOPNOTSUPP __KERNEL_NEG() /* Operation not supported. *//* The socket communications protocol family you requested is not supported. */ #define EPFNOSUPPORT __KERNEL_NEG() /* Protocol family not supported. *//* The address family specified for a socket is not supported; it is inconsistent with the protocol being used on the socket. */ #define EAFNOSUPPORT __KERNEL_NEG() /* Address family not supported by protocol. *//* The requested socket address is already in use. */ #define EADDRINUSE __KERNEL_NEG() /* Address already in use *//* The requested socket address is not available; for example, you tried to give a socket a name that doesn't match the local host name. */ #define EADDRNOTAVAIL __KERNEL_NEG() /* Cannot assign requested address. *//* A socket operation failed because the network was down. */ #define ENETDOWN __KERNEL_NEG() /* Network is down. *//* A socket operation failed because the subnet containing the remote host was unreachable. */ #define ENETUNREACH __KERNEL_NEG() /* Network is unreachable. *//* A network connection was reset because the remote host crashed. */ #define ENETRESET __KERNEL_NEG() /* Network dropped conn. because of reset. *//* A network connnection was aborted locally. */ #define ECONNABORTED __KERNEL_NEG() /* Software caused connection abort. *//* A network connection was closed for reasons outside the control of the local host, such as by the remote machine rebooting or an unrecoverable protocol violation. */ #define ECONNRESET __KERNEL_NEG() /* Connection reset by peer. *//* You tried to connect a socket that is already connected. */ #define EISCONN __KERNEL_NEG() /* Socket is already connected. *//* The socket is not connected to anything. You get this error when you try to transmit data over the socket, without first specifying a destination for the data. For a connectionless socket (for datagram protocols, such as UDP), you get `EDESTADDRREQ' instead. */ #define ENOTCONN __KERNEL_NEG() /* Socket is not connected. *//* The socket has already been shut down. */ #define ESHUTDOWN __KERNEL_NEG() /* Cannot send after shutdown. *//* A socket operation with a specified timeout received nor response during the timeout period. */ #define ETIMEDOUT __KERNEL_NEG() /* Connection timed out. *//* A remote host refused to allow the network connection (typically because it is not running the requested service). */ #define ECONNREFUSED __KERNEL_NEG() /* Connection refused. *//* The remote host for a requested network connection is down. */ #define EHOSTDOWN __KERNEL_NEG() /* Host is down. *//* The remote host for a requested network connection is not reachable. */ #define EHOSTUNREACH __KERNEL_NEG() /* No route to host. *//* An operation is already in progress on an object that has non-blocking mode selected. */ #define EALREADY __KERNEL_NEG() /* Operation already in progress. *//* An operation that cannot complete immediately was initiated on an object that has non-blocking mode selected. Some functions that must always block (such as `connect') never return `EAGAIN'. Instead they return `EINPROGRESS' to indicate that the operation has begun and will take some time. Attempts to manipulate the object before the call completes return `EALREADY'. You can use the `select' function to find out when the pending operation has completed. */ #define EINPROGRESS __KERNEL_NEG() /* Operation now in progress. *//* Resource temporarily unavailable; the call might work if you try again later. The macro `EWOULDBLOCK' is another name for `EAGAIN'; they are always the same in the MiNT system. This error can happen in a few different situations: * An operation that would block was attempted on an object that has non-blocking mode selected. Trying the same operation again will block until some external condition makes it possible to read, write or connect (whatever the operation). You can use `select' to find out when the operation will be possible. Portability Note: In many older Unix systems, this condition was indicated by `EWOULDBLOCK', which was a distinct error code different from `EAGAIN'. To make your program portable, you should check for both codes and treat them the same. In C programs you should not use a case statement for that because that will trigger a compile-time error for systems where `EWOULDBLOCK' and `EAGAIN' expand to the same numerical value. You should either handle treat it with preprocessor macros (test if they are equal or not) or use an if conditional. * A temporary resource shortage made an operation impossible. `fork' can return this error. It indicates that the shortage is expected to pass, so your program can try the call again later and it may succeed. It is probably a good idea to delay for a few seconds before trying it again, to allow time for other processes to release scarce resources. Such shortages are usually fairly serious and affect the whole system, so usually an interactive program should report the error to the user and return to its command loop. */ #define EAGAIN __KERNEL_NEG() /* Operation would block. */ #define EWOULDBLOCK EAGAIN /* The kernel's buffer for I/O operations are all in use. In GNU, this error is always synonymous with `ENOMEM'; you may get one or the other from network operations. */ #define ENOBUFS __KERNEL_NEG() /* No buffer space available. *//* Too many references: cannot splice. */ #define ETOOMANYREFS __KERNEL_NEG() /* Too many references. */ #define _NE_MAX ETOOMANYREFS #ifndef __KERNEL__ __END_DECLS #endif #endif /* _MINT_ERRNO_H */

LINEAVAR.H

/******************************* lineavar.h ********************************** ** $Revision: $ $Source: /u/lozben/projects/vdi/mtaskvdi/RCS/lineavar.h,v $ *============================================================================ * $Author: lozben $ $Date: 91/09/10 $ $Locker: $ *============================================================================ ** $Log: lineavar.h,v $ * Revision 91/09/10 lozben * Added "WORD qCircle[80]" to the linea structure. ** Revision 91/07/29 lozben * Definition of the line variable structure. ******************************************************************************* */ #ifndef _LINEAVAR_H_ #define _LINEAVAR_H_ typedef struct vdiVars { WORD _angle; WORD begAng; FONT_HEAD *curFont; /* pointer to current font */WORD delAng; WORD deltaY; WORD deltaY1; WORD deltaY2; WORD endAng; WORD filIntersect; WORD fillMaxY; WORD fillMinY; WORD nSteps; WORD oDeltaY; WORD sBegstY; WORD sEndstY; WORD sFilCol; WORD sFillPer; WORD sPatMsk; WORD *sPatPtr; WORD _start; WORD xC; WORD xRad; WORD y; WORD yC; WORD yRad; WORD mPosHx; /* Mouse hot spot - x coord */WORD mPosHy; /* Mouse hot spot - y coord */WORD mPlanes; /* Ms planes (reserved, but we used it) */WORD mCdbBg; /* Mouse background color as pel value */WORD mCdbFg; /* Mouse foreground color as pel value */WORD maskForm[32];/* Storage for ms cursor mask and form */WORD inqTab[45];/* info returned by vq_extnd VDI call */WORD devTab[45];/* info returned by v_opnwk VDI call */WORD gCurX; /* current mouse cursor X position */WORD gCurY; /* current mouse cursor Y position */WORD hideCnt; /* depth at which the ms is hidden */WORD mouseBt; /* current mouse button status */WORD reqCol[16][3];/* internal data for vq_color */WORD sizTab[15];/* size in device coordinates */WORD termCh; /* 16 bit character info */WORD chcMode; /* the mode of the Choice device */ ATTRIBUTE *curWork; /* pointer to current works attributes */ FONT_HEAD *defFont; /* pointer to default font head */ FONT_HEAD *fontRing[4];/* ptrs to link list of fnt hdrs */WORD iniFontCount; /*# of fonts in the FONT_RING lists */WORD lineCW; /* current line width */WORD locMode; /* the mode of the Locator device */WORD numQCLines; /*# of line in the quarter circle */LONG trap14Sav; /* space to save the return address */LONG colOrMask; /* some modes this is ored in VS_COLOR */LONG colAndMask; /* some modes this is anded in VS_COLOR */LONG trap14BSav; /* space to sav ret adr (for reentrency)*/WORD reserved0[32];/* reserved */WORD strMode; /* the mode of the String device */WORD valMode; /* the mode of the Valuator device */BYTE curMsStat; /* Current mouse status */BYTE reserved1; /* reserved */WORD disabCnt; /* hide depth of alpha cursor *//** the next 5 bytes are used as a communication * block to the vblank cursor draw routine. * They must be contiguous!!!!!! */WORD xyDraw[2];/* x,y communication block. */BYTE drawFlag; /* Non-zero means draw ms frm on vblank */BYTE mouseFlag; /* Non-zero if mouse ints disabled */LONG trap1Sav; /* space to save return address */WORD savCXY[2];/* save area for cursor cell coords. */WORD saveLen; /* height of saved form */WORD *saveAddr; /* screen addr of 1st word of plane 0 */WORD saveStat; /* cursor save status */LONG saveArea[64];/* save up to 4 planes. 16 longs/plane */ WORD (*timAddr)();/* ptr to user installed routine */WORD (*timChain)();/* jmps here when done with above */WORD (*userBut)();/* user button vector */WORD (*userCur)();/* user cursor vector */WORD (*userMot)();/* user motion vector */WORD vCelHt; /* height of character cell */WORD vCelMx; /* maximum horizontal cell index */WORD vCelMy; /* maximum vertical cell index */WORD vCelWr; /* screen width (bytes) * cel_ht */WORD vColBg; /* character cell text background color */WORD vColFg; /* character cell text foreground color */WORD *vCurAd; /* cursor address */WORD vCurOff; /* byte ofsset to cur from screen base */WORD vCurCx; /* cursor cell X position */WORD vCurCy; /* cursor cell Y position */BYTE vCTInit; /* vCurTim reload value. */BYTE vCurTim; /* cursor blink rate (# of vblanks) */WORD *vFntAd; /* address of monospaced font data */WORD vFntNd; /* last ASCII code in font */WORD vFntSt; /* first ASCII code in font */WORD vFntWr; /* width of font form in bytes */WORD vHzRez; /* horizontal pixel resolution */WORD *vOffAd; /* address of font offset table *//** bit 0 cursor flash 0:disabled 1:enabled * bit 1 flash state 0:off 1:on * not used bit 2 cursor visibility 0:invisible 1:visible * bit 3 end of line 0:overwrite 1:wrap * bit 4 reverse video 0:on 1:off * bit 5 cursor position saved 0:false 1:true * not used bit 6 critical section 0:false 1:true */BYTE vStat0; /* cursor display mode (look above) */BYTE vDelay; /* cursor redisplay period */WORD vVtRez; /* vertical resolution of the screen */WORD bytesLin; /* copy of vLinWr for concat */WORD vPlanes; /* number of video planes */WORD vLinWr; /* number of bytes/video line */ WORD *contrl; /* ptr to the CONTRL array */WORD *intin; /* ptr to the INTIN array */WORD *ptsin; /* ptr to the PTSIN array */WORD *intout; /* ptr to the INTOUT array */WORD *ptsout; /* ptr to the PTSOUT array *//** The following 4 variables are accessed by the line-drawing * routines as an array (to allow post-increment addressing).* THEY MUST BE CONTIGUOUS !! */WORD fgBp1; /* foreground bit plane #1 value */WORD fgBp2; /* foreground bit plane #2 value */WORD fgBp3; /* foreground bit plane #3 value */WORD fgBp4; /* foreground bit plane #4 value */WORD lstLin; /* 0 => not last line of polyline */WORD lnMask; /* line style mask. */WORD wrtMode; /* writing mode. */WORD x1; /* X1 coordinate */WORD y1; /* Y1 coordinate */WORD x2; /* X2 coordinate */WORD y2; /* Y2 coordinate */WORD *patPtr; /* ptr to pattern. */WORD patMsk; /* pattern index. (mask) */WORD multiFill; /* multiplane fill flag. (0 => 1 plane) */WORD clip; /* clipping flag. */WORD xMnClip; /* x minimum clipping value. */WORD yMnClip; /* y minimum clipping value. */WORD xMxClip; /* x maximum clipping value. */WORD yMxClip; /* y maximum clipping value. */WORD xAccDda; /* accumulator for x DDA */WORD ddaInc; /* the fraction to be added to the DDA */WORD tSclsts; /* scale up or down flag. */WORD monoStatus; /*

1 Lassen iq GPS Receiver System Designer Reference Manual Part Number Revision B April

2 Corporate Office Trimble Navigation Limited Components Technologies Division North Mary Avenue Post Office Box Sunnyvale, CA U.S.A. Phone: , Fax: Support Offices Trimble Navigation Limited Components Technologies Division North Mary Avenue Post Office Box Sunnyvale, CA U.S.A. Phone: , Fax: Trimble Navigation Europe Limited Trimble House Meridian Office Park Osborn Way, Hook Hampshire RG27 9HX England Phone: Fax: Copyright and Trademarks Trimble Navigation Limited. All rights reserved. No part of this manual may be copied, reproduced, translated, or reduced to any electronic medium or machine-readable form for any use other than with the Lassen iq GPS Receiver. Release Notice This is the April release (Revision B) of the Lassen iq GPS Receiver System Designer Reference Manual, part number The following limited warranties give you specific legal rights. You may have others, which vary from state/jurisdiction to state/jurisdiction. Waste Electrical and Electronic Equipment (WEEE) Notice This Trimble product is furnished on an OEM basis. By incorporating this Trimble product with your finished goods product(s) you shall be deemed the producer of all such products under any laws, regulations or other statutory scheme providing for the marking, collection, recycling and/or disposal of electrical and electronic equipment (collectively, WEEE Regulations ) in any jurisdiction whatsoever, (such as for example national laws implementing EC Directive /96 on waste electrical and electronic equipment, as amended), and shall be solely responsible for complying with all such applicable WEEE Regulations. Hardware Limited Warranty Trimble warrants that this Trimble hardware product (the Product ) shall be free from defects in materials and workmanship and will substantially conform to Trimble s applicable published specifications for the Product for a period of one (1) year, starting from the date of delivery. The warranty set forth in this paragraph shall not apply to software/firmware products. The Globe & Triangle logo, Trimble, Colossus, FirstGPS, and Lassen, are trademarks of Trimble Navigation Limited. The Sextant logo with Trimble is a trademark of Trimble Navigation Limited, registered in the United States Patent and Trademark Office. All other trademarks are the property of their respective owners.

3 Software and Firmware License, Limited Warranty This Trimble software and/or firmware product (the Software ) is licensed and not sold. Its use is governed by the provisions of the applicable End User License Agreement ( EULA ), if any, included with the Software. In the absence of a separate EULA included with the Software providing different limited warranty terms, exclusions, and limitations, the following terms and conditions shall apply. Trimble warrants that this Trimble Software product will substantially conform to Trimble s applicable published specifications for the Software for a period of ninety (90) days, starting from the date of delivery. Warranty Remedies Trimble's sole liability and your exclusive remedy under the warranties set forth above shall be, at Trimble s option, to repair or replace any Product or Software that fails to conform to such warranty ( Nonconforming Product ), or refund the purchase price paid by you for any such Nonconforming Product, upon your return of any Nonconforming Product to Trimble in accordance with Trimble s standard return material authorization procedures. Warranty Exclusions and Disclaimer These warranties shall be applied only in the event and to the extent that: (i) the Products and Software are properly and correctly installed, configured, interfaced, maintained, stored, and operated in accordance with Trimble s relevant operator's manual and specifications, and; (ii) the Products and Software are not modified or misused. The preceding warranties shall not apply to, and Trimble shall not be responsible for defects or performance problems resulting from (i) the combination or utilization of the Product or Software with products, information, data, systems or devices not made, supplied or specified by Trimble; (ii) the operation of the Product or Software under any specification other than, or in addition to, Trimble's standard specifications for its products; (iii) the unauthorized modification or use of the Product or Software; (iv) damage caused by accident, lightning or other electrical discharge, fresh or salt water immersion or spray; or (v) normal wear and tear on consumable parts (e.g., batteries). THE WARRANTIES ABOVE STATE TRIMBLE'S ENTIRE LIABILITY, AND YOUR EXCLUSIVE REMEDIES, RELATING TO PERFORMANCE OF THE PRODUCTS AND SOFTWARE. EXCEPT AS OTHERWISE EXPRESSLY PROVIDED HEREIN, THE PRODUCTS, SOFTWARE, AND ACCOMPANYING DOCUMENTATION AND MATERIALS ARE PROVIDED AS-IS AND WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND BY EITHER TRIMBLE NAVIGATION LIMITED OR ANYONE WHO HAS BEEN INVOLVED IN ITS CREATION, PRODUCTION, INSTALLATION, OR DISTRIBUTION, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT. THE STATED EXPRESS WARRANTIES ARE IN LIEU OF ALL OBLIGATIONS OR LIABILITIES ON THE PART OF TRIMBLE ARISING OUT OF, OR IN CONNECTION WITH, ANY PRODUCTS OR SOFTWARE. SOME STATES AND JURISDICTIONS DO NOT ALLOW LIMITATIONS ON DURATION OR THE EXCLUSION OF AN IMPLIED WARRANTY, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. TRIMBLE NAVIGATION LIMITED IS NOT RESPONSIBLE FOR THE OPERATION OR FAILURE OF OPERATION OF GPS SATELLITES OR THE AVAILABILITY OF GPS SATELLITE SIGNALS.

4 Limitation of Liability TRIMBLE S ENTIRE LIABILITY UNDER ANY PROVISION HEREIN SHALL BE LIMITED TO THE GREATER OF THE AMOUNT PAID BY YOU FOR THE PRODUCT OR SOFTWARE LICENSE OR U.S.$ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL TRIMBLE OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES WHATSOEVER UNDER ANY CIRCUMSTANCE OR LEGAL THEORY RELATING IN ANY WAY TO THE PRODUCTS, SOFTWARE, AND ACCOMPANYING DOCUMENTATION AND MATERIALS, (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS), REGARDLESS OF WHETHER TRIMBLE HAS BEEN ADVISED OF THE POSSIBILITY OF ANY SUCH LOSS AND REGARDLESS OF THE COURSE OF DEALING WHICH DEVELOPS OR HAS DEVELOPED BETWEEN YOU AND TRIMBLE. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

5 Table of Contents Table of Contents 1 Starter Kit Product Overview Starter Kit Receiver Performance Interface Protocols Ordering Starter Kit Components Starter Kit Interface Unit Power Hardware Setup Software Toolkit Hardware Integration General Description Connectors Power Requirements Serial Interface Serial Port Connections Pulse-Per-Second (PPS) Mounting GPS Antennas Software Interface Start-up Communicating with the Lassen iq GPS Receiver Port Protocol and Data Output Options Custom Port Configuration Timing Applications Known Anomalies in Firmware Release Operation and Performance Introduction GPS Satellite Message Satellite Acquisition and Time to First Fix Satellite Mask Settings Standard Operating Modes Lassen iq GPS Receiver

6 Table of Contents Differential GPS Operating Modes Position Accuracy Coordinate Systems Performance Characteristics Lassen iq GPS Receiver Sensitivity Modes Lassen iq GPS Receiver Aided GPS Feature GPS Timing Pulse-Per-Second (PPS) System Architecture A B Trimble Standard Interface Protocol (TSIP) Interface Scope Packet Structure Automatic Output Packets Customizing Receiver Operations Automatic Position and Velocity Reports Initialization Packets to Speed Start-up Packets Output at Power-Up Timing Packets Satellite Data Packets Backwards Compatibility Recommended TSIP Packets Command Packets Sent to the Receiver Report Packets Sent by the Receiver to the User Key Setup Parameters or Packet BB Packet Descriptions TAIP Message Output (Packet 0x7E) TSIP Superpackets TSIP Tool kit User s Guide iq_monitor Lassen iq GPS Receiver

7 Table of Contents C Trimble ASCII Interface Protocol (TAIP) Message Format Sample PV Message Time and Distance Reporting Latitude and Longitude Conversion Message Data Strings Communication Scheme for TAIP D GPSSK User s Guide (TAIP) E NMEA The NMEA Communication Interface NMEA Message Format Field Definitions NMEA Message Options NMEA Message Formats Exception Behavior F G Specifications and Mechanical Drawings Lassen iq GPS Receiver Specifications Ultra Compact Embedded Antenna Compact Magnetic Mount Antenna Compact Unpackaged Antenna Glossary Lassen iq GPS Receiver

8 Table of Contents Lassen iq GPS Receiver

9 About this Manual Welcome to System Designer Reference Manual for the Lassen iq GPS receiver. This manual describes how to integrate and operate the Lassen iq GPS receiver. If you are not familiar with GPS, visit Trimble s website, for an interactive look at Trimble and GPS. Trimble assumes that you are familiar with Microsoft Windows and know how to use a mouse, select options from menus and dialogs, make selections from lists, and refer to online help. Technical Assistance If you have a problem and cannot find the information you need in the product documentation, contact the Trimble Technical Assistance Center at Your Comments Your feedback about the supporting documentation helps us to improve it with each revision. To forward your comments, send an to Lassen iq GPS Receiver

10 About this Manual 6 Lassen iq GPS Receiver

11 CHAPTER 1 Starter Kit 1 Product Overview Starter Kit Receiver Performance Interface Protocols Ordering Starter Kit Components Starter Kit Interface Unit Power Hardware Setup Software Toolkit

12 1 Starter Kit Product Overview The Lassen iq GPS receiver is a full featured, ultra low power receiver on a miniature form factor, suitable for a variety of mobile, embedded applications. The Lassen iq GPS receiver incorporates Trimble s FirstGPS TM architecture in the form of two ASICS: Colossus RF down converter and IO-C33 baseband chip. The IO-C33 integrates Trimble s IO digital signal processor with the Epson C33 RISC processor, real-time clock, UART, and 1Mbit memory. Together with the colossus RF, this implementation of FirstGPS technology makes possible one of the smallest (26 mm x 26 mm x 6mm) and lowest power (less than 89 mw) GPS modules available. The Lassen iq GPS receiver outputs a complete position, velocity, and time (PVT) solution in the NMEA Version ASCII protocol, the Trimble ASCII Interface Protocol (TAIP), and the Trimble TSIP binary protocol. A Pulse-Per-Second signal is available for very accurate timing applications. 2 Lassen iq GPS Receiver

13 Starter Kit Starter Kit 1 The Starter Kit makes it simple to evaluate the Lassen iq GPS receiver s exceptional performance. The Starter Kit can be used as a platform for configuring the receiver module and as a platform for troubleshooting your design. The Starter Kit includes: Shielded Lassen iq GPS module mounted on an interface motherboard in a durable metal enclosure. The motherboard accepts VDC power and provides regulated +V power to the Lassen iq GPS receiver. The motherboard also contains: V lithium battery that provides back-up power to the receiver. Circuitry to convert the TTL output to RS, enabling the user to connect the RS ports in the Starter Kit to the PC COM port via an RS cable connection. Compact Magnetic-Mount GPS Antenna with a 5 meter cable. Ultra-Compact Embedded Antenna with an 8 cm cable. 9-pin RS interface cable. AC/DC power supply adapter (input: VAC, output: 12 VDC). DC power cable. Cigarette lighter adapter power cable. CD containing software tools used to communicate with the receiver, the System Designer Reference Manual, and C programming source routines to be used as software templates for communicating directly with the receiver. Lassen iq GPS Receiver 3

14 1 Starter Kit Removing the Lassen iq GPS Module The Lassen iq GPS module is secured to the motherboard with double-sided adhesive tape allowing for easy removal and integration with the user s application. (The adhesive tape used by Trimble is 3M Scotch, part number ). Follow these steps to remove the module from the motherboard: Unplug the I/O cable and the RF cable from the module. Use a small flat-head screw driver to pry the Lassen iq GPS receiver module off the motherboard. Warning When the Lassen iq GPS receiver module is removed from the motherboard, the double-sided tape looses some of it s adhesive quality. This adhesive tape may only be re-used for laboratory testing. The original adhesive tape should not be re-used for drive testing the Starter Kit interface unit because the module could loosen and cause short circuit when contacting other motherboard components. If drive testing is required, use a new piece of double-sided adhesive tape to re-attach the Lassen iq GPS receiver module to the motherboard. 4 Lassen iq GPS Receiver

15 Receiver Performance Starter Kit 1 The Lassen iq GPS receiver is a complete channel parallel tracking GPS receiver designed to operate with the L1 frequency, Standard Position Service, Coarse Acquisition code. Using two highly integrated Trimble custom integrated circuits, the receiver is designed in a modular format especially suited for embedded applications where small size and extremely low power consumption are required. The receiver features Trimble's latest signal processing code, a highgain RF section for compatibility with standard 27 db active gain GPS antennas, and a CMOS TTL level pulse-per-second (PPS) output for timing applications or for use as a general purpose synchronization signal. The Lassen iq GPS receiver acquires a position fix with minimal delay after power cycling. The battery back-up RAM is used to keep the Real Time clock (RTC) alive, and to store the following: Almanac Ephemeris Last position User settings such as port parameters, NMEA, and TAIP configurations can be stored in the receiver s non-volatile (Flash) memory. These settings are retained without application of main power or battery back-up power. The Lassen iq GPS receiver has two configurable serial I/O communication ports. Warning When customizing port assignments or characteristics, confirm that your changes do not affect your ability to communicate with the receiver (see Chapter 3, Software Interface). Lassen iq GPS Receiver 5

16 1 Starter Kit Interface Protocols The Lassen iq GPS receiver operates using one of three protocols Trimble Standard Interface Protocol (TSIP), Trimble ASCII Interface Protocol (TAIP), or NMEA Protocol selection and port characteristics are user configurables. The factory default settings are: Port 1, TSIP bi-directional Port 2, NMEA OUT/RTCM SC V IN TSIP TSIP is a powerful binary packet protocol that allows the system designer maximum configuration control over the GPS receiver for optimum performance in any number of applications. TSIP supports over 20 commands and their associated response packets for use in configuring the Lassen iq GPS receiver to meet user requirements TAIP TAIP is the Trimble ASCII interface protocol designed specifically for vehicle tracking applications. It is a bi-directional protocol using simple ASCII commands with the associated ASCII responses NMEA NMEA is an industry standard protocol common to marine applications. NMEA provides direct compatibility with other NMEAcapable devices such as chart plotters, radars, etc. The Lassen iq GPS receiver supports most NMEA messages for GPS navigation. NMEA messages and output rates can be user selected as required DGPS The Lassen iq GPS receiver can be configured for RTCM SC input which is the GPS industry standard for differential correction data. The receive side of Port 2 is factory configured to accept RTCM data. 6 Lassen iq GPS Receiver

17 Ordering Starter Kit Components Starter Kit 1 The Lassen iq GPS receiver is available in a Starter Kit or as an individual module and associated antenna. The Starter Kit (PN ) includes all the components necessary to quickly test and integrate the module: Compact Magnetic-Mount Antenna with 5m cable Ultra-Compact Embedded Antenna with 8cm cable AC/DC power supply adapter DC Power cable (3-wire) RS interface cable DB9M/DB9F (pin to pin) Cigarette lighter adapter power cable CD-ROM containing software tools and the System Designer Reference Manual Table provides ordering information for the Lassen iq GPS module and the associated antennas and cables. Table Lassen iq GPS Receiver Ordering Information Products Part Number Lassen iq GPS receiver Module / Lassen iq GPS receiver Starter Kit Antenna transition cable, MCX-HFL connector Antenna transition cable, SMA-HFL connector Ultra-Compact Embedded Antenna, V, 8cm cable Compact Unpackaged Antenna, 3V, 11cm cable, MCX connector Compact Magnetic Mount Antenna, 3V, 5m cable, MCX connector Compact Magnetic Mount Antenna, 3V, 5m cable, SMA connector Note Part numbers are subject to change. Confirm part numbers with your Trimble representative when placing your order. Lassen iq GPS Receiver 7

18 1 Starter Kit Starter Kit Interface Unit The Starter Kit interface unit consists of a Lassen iq GPS module attached to an interface motherboard, housed in a sturdy metal enclosure. This packaging simplifies testing and evaluation of the module by providing two RS serial interfaces which are compatible with most PC communication ports. Power ( VDC) is supplied through the power connector on the front of the interface unit. The motherboard features a switching power supply which converts this voltage input to the volts required by the module. The two DB9 connectors allow for easy connection to a PC serial port using the serial interface cable provided in the Starter Kit. The metal enclosure protects the module and the motherboard for testing outside of the laboratory environment. The Lassen iq GPS receiver is a single module encased in a sturdy metal enclosure. The dimensions of the receiver in this enclosure are 26 mm H x 26 mm L x 6 mm H ( W x L x H). A straight-in, panel-mount RF connector (J1) supports the GPS antenna connection. The center conductor of the coaxial connector also supplies + VDC for the Low Noise Amplifier of the active antenna. An 8-pin (2x4), inch header (J2) supports the two serial interfaces (CMOS TTL level), the pulse-per-second (PPS) signal (CMOS TTL level), and the input power (+ VDC). Figure illustrates the module in the metal enclosure. 8 Lassen iq GPS Receiver

19 Starter Kit 1 Bottom Shield Top Shield Figure Lassen iq GPS receiver Module The interface motherboard includes a 9 to 32 VDC switching power supply which provides regulated + VDC power to the receiver, and contains circuitry which provides two RS interface ports. A V lithium backup battery enables quick hot starts. The TTL level PPS is brought directly out to Pin 9 of the Port 2 DB9 connector on the front of the interface unit. The Starter Kit includes an AC/DC converter for powering the module from an AC wall socket. The metal enclosure (see Figure ) provides 2 DB9 interface port connectors, an antenna connector, and a power connector. Port 1 and Port 2 are used for serial I/O. Lassen iq GPS Receiver 9

20 1 Starter Kit The mounting plate is secured to the metal enclosure with four screws. The eight pin I/O header on the receiver module connects to a mating connector on a ribbon cable. The ribbon cable is attached to a mating I/O connector on the interface motherboard. Figure illustrates the Starter Kit interface unit. Port 2 Port 1 Figure Starter Kit Interface Unit 10 Lassen iq GPS Receiver

21 Starter Kit Serial Port Interface The Starter Kit interface unit is a DCE (Data Communication Equipment) device. To connect to a host computer, or DTE (Data Terminal Equipment) device, use a straight through cable. To connect a Differential Radio (DCE device) to the receiver (DCE Device) use a cross over cable or null modem cable. Table Port 1 Pinouts Pin Description 1 NC 2 TX 3 RX 4 NC 5 GND 6 NC 7 NC 8 NC 9 NC Table Port 2 Pinouts Pin Description 1 NC 2 TX 3 RX 4 NC 5 GND 6 NC 7 NC 8 NC 9 PPS Out Lassen iq GPS Receiver 11

22 1 Starter Kit Pulse-Per-Second (PPS) The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 9 of the port 2 DB9 connector of the interface unit (see Table ). The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise time. The PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. The PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and generates position fixes. The PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the receiver is not tracking satellites, is unspecified and should not be used for synchronization. Note Trimble has measured better than 50 nanosecond accuracy on the Lassen iq GPS receiver s PPS signal in static mode. For more information on use of the Lassen iq GPS receiver in timing applications, contact your Trimble sales representative. 12 Lassen iq GPS Receiver

23 Starter Kit Power The Lassen iq GPS receiver receiver is designed for embedded applications and requires a regulated + VDC input (+ to + VDC). The receiver provided in the Starter Kit is installed on a motherboard, providing a DC power regulator which converts a 9 to 32 VDC input to the regulated VDC required by the receiver. Power can be applied to the interface unit using one of three options: the DC power cable (Figure ), the AC/DC power converter (Figure ), or the cigarette lighter adapter. Figure DC Power Cable The DC power cable is ideal for bench-top or automotive testing environments. The power cable is terminated at one end with a 3-pin plastic connector which mates with the power connector on the metal enclosure. The un-terminated end of the cable provides easy connection to a DC power supply. Connect the red power lead to a source of DC positive +9 to +32 VDC, and connect the black power lead to ground. This connection supplies power to both the receiver and the antenna. Note To ensure compliance with CE conducted emissions requirements when using the DC power cable, the Starter Kit interface unit must be bonded to a ground plane. Note The yellow wire of the DC power cable is not used. Battery back-up power is provided by a factory installed V lithium battery on the motherboard. Lassen iq GPS Receiver 13

24 1 Starter Kit The AC/DC power converter may be used as an alternate power source for the interface unit. The AC/DC power converter converts or VAC to a regulated 12 VDC compatible with the interface unit. The AC/DC power converter output cable is terminated with a 3-pin connector compatible with the power connector on the metal enclosure. The AC power cable is not provided in the kit, since this cable is country-specific. The input connector is a standard 3-prong connector used on many desktop PCs. Figure AC/DC Power Converter 14 Lassen iq GPS Receiver

25 Hardware Setup Starter Kit 1 The Lassen iq GPS receiver supports the TSIP and NMEA protocols. A single port supports both the input/output of TSIP messages and the output of NMEA messages. Follow the steps below to setup the Starter Kit interface unit. Figure illustrates the setup. Po we r Supply Lassen iq GPS Starter Kit GPS Re c e iver DCE DCE 9 to 32 VDC DTE Computer GPS Antenna Figure Starter Kit Interface Unit Lassen iq GPS Receiver 15

26 1 Starter Kit 1. For use with the TSIP or TAIP protocols, connect one end of the 9-pin serial interface cable to Port 1 (or Port 2 to view NMEA data) of the receiver module. Connect the other end of the cable to COM1 or COM2 on a PC. If your PC has a pin communication port, a 9-pin-topin adapter may be required for this serial interface connection. 2. Connect the antenna cable to the interface unit. This connection is made by pushing the antenna cable connector onto the MCX connector on the module. Place the antenna so that it has a clear view of the sky. Note To remove the antenna cable, grasp the antenna mating MCX connector and pull from the MCX connector mounted on the interface unit. 3. Using either the DC power cable or an AC/DC power converter, connect to the 3-pin power connector on the interface unit. DC Power Cable connect the terminated end of the power cable to the power connector on the interface unit. Connect the red lead to DC positive voltage (+9 to +32 VDC) and black power lead to DC ground. The yellow wire is not used. Switch on the DC power source. AC/DC Power Converter connect the output cable of the converter to the 3-pin power connector on the interface unit. Using the appropriate 3-prong AC power cable (not provided), connect the converter to an AC wall socket ( VAC or VAC). The AC power cable is not provided in the Starter Kit. Warning If the Lassen iq GPS Starter Kit is powered-up and attached to a PC COM port, the Windows operating system may recognize the Starter Kit as a new serial device and assign it to the mouse driver. This can cause erratic mouse control. To disable serial mouse detection at start-up, add one of the following lines in the sprers.eu file in the root directory: /NOSERIALMICE (detection is disabled on all serial ports) or /NOSERIALMICE=COMx,COMy,COMz (detection is disabled on one or more specified com ports) 16 Lassen iq GPS Receiver

27 Software Toolkit Starter Kit 1 The CD provided in the Starter Kit contains the iq_monitor, the iq_chat, and the GPSSK interface programs used to monitor GPS performance and to assist system integrators in developing a software interface for the GPS module. These applications are described in detail in Appendix B, TSIP User's Guide. iq_monitor runs on the Windows 95/98//XP platforms. iq_chat runs under the DOS operating system on a or higher processor. Following are quick start instructions for using the iq_monitor application to monitor the receiver s performance. 1. Connect one end of the serial interface cable to Port 1 of the interface unit. Connect the other end of the cable to the COM port of your PC. 2. Turn on the DC power source or plug in the AC/DC converter. 3. Insert the CD in the computer s CD-ROM drive. 4. The iq_monitor program may be run directly off the CD or it may be copied onto your computer s hard drive. To run the program off the CD, initiate the iq_sprers.eu file. 5. When the iq_monitor screen appears, the TX and RX indicators appear in the lower left corner of the status bar. A blinking TX indicates that the PC is transmitting commands to the receiver; a blinking RX indicates that the PC is receiving reports from the receiver. If either of these indicators stop blinking, there is no activity. The PC COM port settings appear in the lower right corner of this same status bar. 6. After a GPS antenna is connected to the receiver and the receiver has achieved a position fix, the transmitted position reports, time, velocity, satellites tracked, and GPS receiver status appear on the screen. The receiver also sends a health report every few seconds, even if satellites are not being tracked. Lassen iq GPS Receiver 17

28 1 Starter Kit Note If the iq_monitor program displays a question mark (?) in a data field, the receiver has not reported a status for this field. If a (?) remains in the data field, the GPS module may not be communicating with the computer. Re-check the interface cable connections and verify the serial port selection and settings. If the communication failure continues after checking all connections and settings, please call the Trimble Technical Assistance Center (TAC) at 1 () Lassen iq GPS Receiver

29 CHAPTER 2 Hardware Integration 2 In this chapter: General Description Connectors Power Requirements Serial Interface Pulse-Per-Second (PPS) Mounting GPS Antennas

30 2 Hardware Integration General Description Trimble s new Lassen iq GPS receiver adds complete GPS functionality to mobile products, in a postage-stamp-sized footprint with ultra-low power consumption. Using Trimble s breakthrough FirstGPS architecture, the module delivers complete position, velocity and time (PVT) solutions for use in mobile, battery-powered applications such as hand-held devices, PDAs, asset tracking devices, and navigation applications. The Lassen iq GPS module is packaged in a tiny form factor (26 mm x 26 mm x 6 mm, including the metal shield). It typically requires only less than 89 mw of power (at VDC). The module includes flash memory for firmware upgrades and storing the user configuration. Figure Lassen iq GPS Receiver Board without Shield 20 Lassen iq GPS Receiver

31 Hardware Integration Connectors Digital IO/Power Connector The Lassen iq GPS module uses a single 8-pin (2x4) male header connector for both power and data I/O. The power and I/O connector, J2, is a surface mount micro terminal strip. This connector uses inch (mm) high pins on inch (mm) spacing. The manufacturer of this connector is Samtec, part number ASP Note See Appendix F for mechanical drawings and specifications. Mating Connectors The customer must supply his own mating connector to the Lassen iq GPS receiver 8-pin (2x4) connector. There are two mating connectors available: Surface-Mount Mating Connector A recommended surface mount mating connector is Samtec s part number CLP When a surface-mount mating connector is chosen, the RF connector must be attached to the Lassen iq GPS module prior to securing the module to the user s PCB. The mounting tabs may be used for securing the Lassen iq GPS module to the PCB when using the surface-mount mating scheme. Lassen iq GPS Receiver 21

32 2 Hardware Integration Cable Strip Mating Connector A low profile, cable strip mating connector is the second I/O mating method. A recommended cable strip part is Samtec s part number FFSD?-XX part. The user will need to substitute the following letters and numbers into the part number when ordering this part where the '?' and 'XX' symbols occur: for the '?' symbol substitute the letter S for single end or D for double end; for the 'XX' symbol substitute the overall length in inches, ± 1/8 inch, with a 2 inch minimum. Since the signals are CMOS TTL level signals, Trimble does not recommend cable lengths of longer than six inches. If the cable strip I/O connector scheme is used, the connector side of the Lassen iq GPS receiver will be facing up and the mounting tabs will be on the top of the module away from PCB. The RF connector is easily accessible, using this interfacing methodology. Figure Cable Strip Mating Connector 22 Lassen iq GPS Receiver

33 Hardware Integration RF Connector The RF connector mounted on the Lassen iq GPS receiver is a Hirose connector, part number sprers.eu-R-SMT (10) 50 Ohm. The mating RF connector is Hirose sprers.eu-LP-XXX where XXX depends on the cable type. Figure Lassen iq GPS Module with Connectors Possible cable manufactures include the following: mm diameter (single shield) cable: CO-6F/FH-SB manufactured by Hitachi Cable Ltd. UL manufactured by Junkosha Co., Ltd. DS-PBE manufactured by Sumitomo Electric Industry Co., Ltd mm diameter cable (double shield): A12B manufactured by Junkosha Co., Ltd mm diameter cable (single shield): CXN manufactured by W.L. Gore & Associated, Inc. Lassen iq GPS Receiver 23

34 2 Hardware Integration Trimble offers three antennas for use with the Lassen iq GPS receiver receiver: The Ultra-Compact Embedded Antenna, which mates directly to the RF connector. The Compact Unpackaged Antenna and the Compact Magnetic-Mount Antenna, which mate through the optional RF transition cable to the module s RF connector. For more information on the antennas, see page Digital IO/Power Connector Pinout The digital IO/Power connector pinout information is listed in Table Table J2 I/O Connector Signals Pin number Function Description 1 TXD A Serial Port A transmit, V TTL CMOS 2 GND Ground, Power and Signal 3 RXD A Serial Port A receive, V TTL CMOS 4 PPS Pulse-Per-Second, V TTL CMOS 5 TXDB Serial port B transmit, V TTL CMOS 6 RXDB Serial port B receive, V TTL CMOS 7 Prime Power (VCC) + VDC to ± VDC 8 Battery Backup Power + VDC to VDC 24 Lassen iq GPS Receiver

35 Power Requirements Hardware Integration 2 The Lassen iq GPS module requires + VDC ± VDC at 33 ma, typical excluding the antenna. The on-board capacitance is 10 µf. An important design consideration for power is the module's internal clock frequency at MHz ± 3 KHz. Interference spurs on prime power in this narrow frequency band should be kept to less than 1mV. The receiver does not require any special power up or down sequencing. The receiver power is supplied through pin 7 of the I/O connector. See Table for the + VDC power specifications. Warning The Lassen iq GPS receiver is ready to accept TSIP commands approximately seconds after power -up. If a command is sent to the receiver within this second window, the receiver will ignore the command. The Lassen iq GPS receiver will not respond to commands sent within the second window and will discard any associated command data. Battery Back-up The Lassen iq GPS receiver provides an input for battery back-up (BBU) power to keep the module's RAM memory alive and to power the real-time clock when the receiver's prime power is turned off. RAM memory is used to store the GPS almanac, ephemeris, and last position. User configuration data, including port parameters and receiver processing options can be stored in non-volatile Flash which does not require back-up power. By using battery back-up, time to first fix in a hot start is reduced to 10 seconds (typical). Though not required, providing BBU power can reduce time to first fix. A volt lithium battery used for back-up power can last up to three years. Lassen iq GPS Receiver 25

36 2 Hardware Integration Warning If battery power is not present, the receiver s power can be turned off and then back on to force a system reset and a cold start. The receiver should be off for no less than 3 minutes to ensure that the RAM memory does not retain any old data due to the residual voltage from the power supply. To avoid waiting the 3 minutes, turn the receiver unit back on immediately and issue TSIP command 0x1E with the value 4B. This packet forces a cold start and clears battery backed RAM. Note V is the minimum allowable battery back-up voltage. When the battery back-up power output drops below V, the real-time clock may not operate over the specified temperature range. This can also significantly extend the time to first fix. Trimble does not recommend the use of Super Caps as battery back-up. Table Power Requirements Signal Voltage Current J2 Pin # VCC to ma 7 Battery Back-up to µA (at volts, +25 C) 8 Ground Note For proper operation when using battery back-up, the voltage value of the battery should be 10% less than the value of the VCC. 26 Lassen iq GPS Receiver

37 Serial Interface Hardware Integration 2 As an embedded design, the Lassen iq GPS module provides direct CMOS compatible TTL level serial I/O. The RX and TX signals on the J2 I/O connector are driven directly by the DUART on the Lassen iq GPS receiver. Interfacing these signals directly to a UART in your application circuitry provides direct serial communication without the complication of RS or RS line drivers. Note The serial I/O signals on J2 are TTL level. They are not inverted or driven to RS levels. Lassen iq GPS Receiver 27

38 2 Hardware Integration Serial Port Connections Below are the required connections for the Lassen iq GPS Rx pins when they are not used for communication. This is required for firmware release and recommended for all subsequent firmware releases. Table Serial Port Connections for Rx Pins Serial Port Pin # Assignment Default Required Connections 1 Pin 3 RxA TSIP-IN High (VCC) (via pullup) 2 Pin 6 RxB RTCM-IN High (VCC) (via pullup) Below are the allowable connections for the Lassen iq GPS Tx pins when the pins are not used for communication. This configuration applies to all firmware versions. Table Serial Port Connections for Tx Pins Serial Port Pin # Assignment Default Allowable Connections 1 Pin 1 TxA TSIP-OUT Floating or High (VCC) (via pullup) 2 Pin 5 TxB NMEA-OUT Floating or High (VCC) (via pullup) Note Attaching the Tx lines (pins 1 and 5) to VCC and using pullup resistors is not required. Use of pullup resistors and attaching to VCC on Rx lines (pins 3 and 6) is mandatory (for firmware release and recommended for subsequent firmware releases) if these pints are not otherwise connected to the system s communication ports. 28 Lassen iq GPS Receiver

39 Hardware Integration 2 Below are the failure modes that will be experienced if the Lassen iq GPS pins are not connected as recommended (see above). Table Serial Port Connections for Tx and Rx Pins Pin # High (VCC) Low (GND) Floating Pin 1 (TxA, SI01 Works Board will be damaged Works Pin 3 RxA, SI01 Works Will never produce a position fix Do not choose this option for firmware release Operation cannot be guaranteed. Failure mode: will never produce a position fix Pin 5 (TxB, SI02 Works Board will be damaged Works Pin 6 RxB, SI02 Works Do not choose this option! Operation cannot be guaranteed. Failure modes: may never produce a position fix, may output potentially bad fixes intermittently Do not choose this option for firmware release Operation cannot be guaranteed. Failure modes: may never produce a position fix, may output potentially bad fixes intermittently Note The table above indicates that the Tx pins 1 and 5 should not be tied to Ground. As there are no internal pullups or current limiting resistors, tying Tx to Ground will directly pull down the VCC rail through the chip. This will pull excessive current, stressing the chip beyond specification until it eventually fails. Lassen iq GPS Receiver 29

40 2 Hardware Integration Pullup Resistor A pullup resistor should be added to the board in the range of 1K to K ohms for connecting the above-mentioned pins to VCC. One end of the pullup resistor is connected to the iq pin and the other end is connected to the positive supply voltage VCC. Note The pullup resistor does not have to be powered by VCC. A separate power source can be used, as long as it is not greater than VCC. The minimum power for the pullup is V. Resistor Impact on PCB Power Consumption The pullups do not affect the Lassen iq GPS power consumption since the resistors will be external to the board. The overall power consumption of the user s PCB will increase slightly. Assuming V VCC and k-pullup resistor, the power consumption increase will be uW or 33uA per pullup. With a 1k pullup resistor, the power consumption increase will be mW or mA per pullup. To reduce the current draw, the users can choose higher value pullup resistors in the allowable resistor range of 1KK ohms. To minimize the overall power consumption of the user s board, K ohms pullup can be selected. To keep BOM items to a minimum, the user can choose the highest value resistor used on their board. 30 Lassen iq GPS Receiver

41 Pulse-Per-Second (PPS) Hardware Integration 2 The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 4 of the power and I/O connector. The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise time. In early PPS mode, the PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. In it s default mode PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and is getting fixes. In early PPS mode, the PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the Lassen iq GPS receiver is not tracking satellites, is unspecified and should not be used for synchronization. The PPS output modes can be controlled with TSIP packet 0x The modes are Always on (default), Fix Based, or Always Off. Cable delay compensation is available through the use of TSIP packet 0x8E-4A. After a specific mode is selected, it can be stored in non-volatile memory (FLASH) using TSIP command 0x8E For more information, see Appendix A. Note Trimble Navigation has measured better than 50 nanoseconds accuracy on the Lassen iq GPS receiver PPS signal in static mode. For more information on the use of the Lassen iq GPS module in timing applications, contact your Trimble sales representative. Lassen iq GPS Receiver 31

42 2 Hardware Integration Mounting The Lassen iq GPS PCB is encased in a metal enclosure. The enclosure acts as a protective case. There are four mounting solder tabs on the bottom of the enclosure. When the surface-mount mating connector is used, the mounting tabs may be used for securing the Lassen iq GPS module on the user s PCB. When the cable strip I/O connector scheme is used, the connector side of the Lassen iq GPS module will be faced up and the mounting tabs will be on the top of the module away from PCB. The Lassen iq GPS module can be attached to the integrator platform by many methodologies including solder, glue, double sided adhesive tape, and custom hold down mounts for the module's mounting tabs. Note See Appendix F for mechanical drawings and specifications regarding the spacing of the mounting tabs and the dimensions of the enclosure. 32 Lassen iq GPS Receiver

43 GPS Antennas Hardware Integration 2 The antenna receives the GPS satellite signals and passes them to the receiver. The GPS signals are spread spectrum signals in the MHz range and do not penetrate conductive or opaque surfaces. Therefore, the antenna must be located outdoors with a clear view of the sky. The Lassen iq GPS receiver requires an active antenna. The received GPS signals are approximately dbm, at the surface of the earth (in typical environments). Trimble's active antennas include a preamplifier that filters and amplifies the GPS signals before delivery to the receiver. Trimble offers three antennas for use with the Lassen iq GPS receiver described below and in Appendix D. 1. The Ultra-Compact Embedded GPS Antenna with an HFL connector, is ideal for portable and mobile applications. This unpackaged antenna is approximately the same size as the module itself, and can be easily integrated into mobile applications. This antenna is supplied with the Starter Kit (see Figure ). 2. A Compact Unpackaged Antenna with an MCX connector, slightly larger than the ultra-compact model (see #1 above), mates to the Hirose connector on the Lassen iq GPS module with an optional RF transition cable (see Figure ). Lassen iq GPS Receiver 33

44 2 Hardware Integration 3. A Compact Magnetic-Mount GPS Antenna with a 5 m cable and an MCX or SMA connector. This antenna provides for a flexible, movable installation. The MCX or SMA output connector mates to the Hirose connector on the Lassen iq GPS module with an optional RF transition cable. The antenna with the MCX connector is supplied with the Starter Kit (see Figure ). The MCX connector on the end of the antenna cable mates to the MCX connector in the front of the Starter Kit interface unit. The two screw holes on the bottom of the antenna can be used to mount the antenna to a metal plate. The dimensions of these holes are mm in diameter and 5mm in depth. Warning When magnetic-mount or permanent-mount GPS antennas are installed on a metal surface for prolonged periods, care must be taken to insulate the antennas in order to prevent galvanic corrosion. 34 Lassen iq GPS Receiver

45 Hardware Integration 2 Figure Ultra-Compact Embedded GPS Antenna Figure Compact Unpackaged GPS Antenna Figure Compact Magnetic-Mount GPS Antenna Lassen iq GPS Receiver 35

46 2 Hardware Integration 36 Lassen iq GPS Receiver

47 CHAPTER 3 Software Interface 3 In this chapter: Start-up Communicating with the Lassen iq GPS Receiver Port Protocol and Data Output Options Custom Port Configuration When prompted, select the factory default option.

48 3 Software Interface Start-up Lassen iq GPS receiver module is a complete channel parallel tracking GPS receiver designed to operate with the L1 frequency, standard position service, Coarse Acquisition code. When connected to an external GPS antenna, the receiver contains all the circuitry necessary to automatically acquire GPS satellite signals, track up to 12 GPS satellites, and compute location, speed, heading, and time. The receiver will automatically begin to search for and track GPS satellite signals at power-up. The performance of a GPS receiver at power-on is determined largely by the availability and accuracy of the satellite ephemeris data and the availability of a GPS system almanac. The first time the receiver is powered-up, it is searching for satellites from a cold start (no almanac). While the receiver will begin to compute position solutions within the first two minutes, the receiver must continuously track satellites for approximately 15 minutes to download a complete almanac. This initialization process should not be interrupted. With a complete almanac and back-up power, the time to first fix can typically be shortened to less than 42 seconds. The receiver will respond to commands almost immediately after power-up (see Warning below). Note See Chapter 4 for further detail on ephemeris data and the GPS almanac. Warning The Lassen iq GPS Receiver is ready to accept TSIP commands approximately seconds after power -up. If a command is sent to the receiver within this second window, the receiver will ignore the command. The Lassen iq GPS Receiver will not respond to commands sent within the second window and will discard any associated command data. 38 Lassen iq GPS Receiver

49 Software Interface Communicating with the Lassen iq GPS Receiver The Lassen iq GPS Receiver supports three message protocols: TSIP, TAIP, and NMEA. Communication with the module is through two CMOS compatible, TTL level serial ports. The port characteristics can be modified to accommodate your application requirements. Port parameters can be stored in non-volatile memory (FLASH) which does not require backup power. Table lists the default port characteristics Software Tools The Software Tools provided on the Starter Kit CD-ROM include both user friendly Windows and DOS applications to facilitate communication with the receiver, via the Trimble Standard Interface Protocol (TSIP). This CD also includes sample C source code and reusable routines to aid in developing applications. Note The TSIP, TAIP, and NMEA protocols are discussed beginning on page 42 of this chapter, and in the Appendices of this document. Lassen iq GPS Receiver 39

50 3 Software Interface Port Configuration The Lassen iq GPS receiver module has two I/O ports. Table provides the default protocols and port configurations for the receiver, as delivered from the factory. TSIP IN/OUT is the default protocol on Port 1 and RTCM-IN and NMEA-OUT is the default protocol on Port 2. Table Default Protocols and Port Configurations Port Input Protocol Default Setup 1 TSIP Baud Rate: Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control 2 RTCM Baud Rate: Data Bits: 8 Parity: None Stop Bits: 1 No Flow Control Output Language Default Setup TSIP Baud Rate: Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control NMEA Baud Rate: Data Bits: 8 Parity: None Stop Bits: 1 No Flow Control The Lassen iq GPS Receiver can also be configured to output TAIP messages. The Trimble standard port characteristics for TAIP are: Baud Rate: Data Bits: 8 Parity: None Stop Bits:1 No Flow Control Any standard serial communications program, such as Windows Hyper-Terminal or PROCOMM, can be used to view the NMEA or TAIP output messages. TSIP is a binary protocol and outputs raw binary serial data that cannot be read when using Windows Terminal or PROCOMM. To view the output of the TSIP protocol in text format, use the iq_chat or the iq_monitor program (see the CD- ROM provided in the Starter Kit). 40 Lassen iq GPS Receiver

51 Software Interface 3 The serial port driver in the iq_chat Tool Kit matches the Lassen iq GPS receiver serial port characteristics. The TSIPPRNT program converts binary data logged with the iq_chat program into text that may be printed and displayed. Both of these tools are included in the Software Developer s Toolkit. Warning When using the TSIP protocol to change port assignments or settings, confirm that your changes do not affect the ability to communicate with the receiver (e.g., selecting the PC COM port settings that do not match the receiver s, or changing the output protocol to TSIP while not using iq_chat). Lassen iq GPS Receiver 41

52 3 Software Interface Port Protocol and Data Output Options Protocol Configuration and Interface The factory default I/O protocol for Port 1 of the Lassen iq GPS receiver is the Trimble Standard Interface Protocol (TSIP) for both input and output. The settings for Port 1 are baud 8-odd The factory default protocol for Port 2 is RTCM-IN and NMEA-OUT. The settings for Port 2 are baud 8-none The receiver protocol can be re-configured using TSIP command packet 0xBC, in conjunction with iq_chat, iq_monitor, or a user written serial interface program. See Appendix A for details on the 0xBC command packet. iq_chat provides the simplest means to communicate with the receiver using a PC ( or higher) running either the DOS or Windows operating systems. Responses are displayed on the computer monitor in text format. iq_monitor, a Windows-based GUI, provides a versatile graphical interface for monitoring TSIP data. This application allows the user to view complete receiver operations including data output, status and configuration. In this application, the entry of command packets is replaced by traditional point and click pull-down menus. C source code routines for iq_chat are also provided on the CD contained in the Starter Kit. When used as software design templates, this source code can significantly speed-up code development. The protocol settings and options are stored in battery-backed Random-Access-Memory (BBRAM). They can also be saved into the non-volatile memory (Flash), if desired, using command 0x8E See to Appendix A for additional information on Flash storage for custom operation. 42 Lassen iq GPS Receiver

53 Software Interface TSIP Data Output Modes TSIP is the default protocol for Port 1 on the Lassen iq GPS receiver. This binary language offers users a wide variety of commands and reports. TSIP enables the Lassen iq GPS receiver to operate in two data output modes, both available during operation. In Query Mode, packet data is returned in response to input query packets. In Automatic Mode, a selected group of data packets is output continuously at two fixed rates every second and every five seconds. The format and ensemble of the automatic output packets is configured using packets 0x35, 0x70, and 0x8E (see Appendix A for packet details). Packet settings are stored in BBRAM. They can also be saved in non-volatile memory (Flash) using command packet 0x8E See Appendix A for additional information on Flash storage for custom operation Default TSIP Output Settings Default 0x35 setting (byte 0=2, 1= 2, 2=0, 3=0): Position and velocity data precision: single precision floating point Position output option and format (byte 0 setting): Latitude radian Longitude radian Altitude meters (WGS) No super-packet output Velocity output option and format: East Velocity meters/sec.; + for East North Velocity meters/sec.; + for North Up Velocity meters/sec.; + for Up Timing GPS Time Output PPS Always ON Auxiliary/Pseudo Range Measurement Raw Measurements OFF Raw Pseudo Ranges OFF Output AMU values Lassen iq GPS Receiver 43

54 3 Software Interface Default 0x70 setting (byte 0=1, 1=1. 2=1. 3=0): Position-Velocity Dynamic Filter enabled Position-Velocity static Filter enabled Altitude Filter enabled Default 0x8E setting (byte 1 = 1): 0x8F output is included in the super-packet for automatic output IF packet 0x35 selects the super-packet for automatic output options Automatic TSIP Output Packets (fixed rate) One second interval: 0x4A (1) GPS position fix; (2) clock bias and time of fix; {20 byte format} 0x56 velocity fix 0x6D (1) list of satellites used for position fixes; (2) PDOP, HDOP, VDOP; (3) fix mode 0x82 DGPS position fix mode Five second interval: 0x41 (1) GPS time of the week (seconds); (2) extended GPS week number; (3) GPS UTC offset (seconds) 0x46 health of receiver 0x4B (1) Machine/Code ID; (2) Real-time-clock availability status; (3) almanac validity status; (4) having super-packet support status 44 Lassen iq GPS Receiver

55 Software Interface Packet Output Order After power up or a software reset (packet 0x1E), seven start-up packets are sent, only once, by the receiver in this order: 45, 46, 4B, 4A, 56, 41, 82 Before position fixes are available, the 1 second and 5 second interval packets are sent in this order, periodically: Every one second for 5 seconds: 6D, 82 Every five seconds 41, 46, 4B When position fixes are available, the 1 second and 5 second interval packets are sent in this order, periodically: Every one second for 4 seconds: 4A, 56, 6D, 82 Every 5 seconds: 4A, 56, 41, 46, 4B, 6D, 82 Lassen iq GPS Receiver 45

56 3 Software Interface NMEA Protocol and Data Output Options The National Marine Electronics Association (NMEA) protocol is an industry standard data protocol which was developed for the marine industry. Trimble has chosen to adhere stringently to the NMEA data specification as published by the NMEA. The Lassen iq GPS receiver also adheres to the NMEA , Version specification. NMEA data is output in standard ASCII sentence formats. Message identifiers are used to signify what data is contained in each sentence. Data fields are separated by commas within the NMEA sentence. In the Lassen iq GPS receiver, NMEA is an output only protocol. The NMEA protocol is described in detail in Appendix E. The receiver is shipped from the factory with the TSIP protocol configured on Port 1 and RTCM-IN/NMEA-OUT on Port 2. The Port 2 characteristics conform to the NMEA industry standard: baud 8 data bits No parity 1 stop bit No flow control The receiver can be reconfigured using TSIP command packet 0xBC, in conjunction with iq_chat, iq_monitor, or a user written serial interface program. The NMEA output messages selection and message output rate can be set using TSIP command packet 0x7A. The default setting on Port 2 is to output the GGA and VTG messages at a 1 second interval. If the NMEA configuration is permanently changed for the application, the protocol configuration (0xBC) and NMEA message output setting (0x7A) can be stored in the non-volatile memory (onboard FLASH) using TSIP command 0x8E Lassen iq GPS Receiver

57 Custom Port Configuration Software Interface 3 iq_chat can be used to customize the Lassen iq GPS receiver configuration settings and to save a configuration to non-volatile memory. The most recent port configuration is stored in BBRAM. This eliminates the need to repeat setup each time the receiver power is cycled. However, if the battery-backed power is accidentally lost, the port configuration automatically resets to either what was saved in the non-volatile memory (FLASH) or to the factory default. Tip To ensure continuous operation, store all port configuration changes in the non-volatile memory. Following are step-by-step instructions for using iq_chat to customize Lassen iq GPS receiver port configuration. Customizing the Configuration 1. Insert the CD in the CD-ROM drive of your computer. 2. Open a DOS window and set the path to the iq_chat location. 3. To run the program, type iq_chat c1 if attached to PC COM1, or type iq_chat c2 if attached to PC COM2. 4. Power-up the receiver. Automatic report streams should be scrolling up in the DOS window. Assuming that your receiver is set to the default configuration, the settings will be: baud, 8-odd Note If data is not being output after receiver power up, use the ^I command in iq_chat to reset the COM1/COM2 setting in PC (not the receiver). Tip Entering? in the iq_chat window displays all the available commands and their corresponding TSIP packets. Lassen iq GPS Receiver 47

58 3 Software Interface 5. To re-configure the port settings and protocol, type U and respond to the input prompts. At the end of this procedure, select the option that resets the PC COM port to match the new settings. Communication should resume almost immediately. Saving the Configuration 1. Before storing the new configuration in FLASH, confirm that the receiver has been configured to the desired settings. Warning Record the new serial port settings. If power is lost, this will speed-up recovery. Alternatively, the receiver can always be returned to the default configuration. 2. To save the configuration to Flash: Enter = to access the command list page for the 0x8E command packet. Enter s, to send the 0x8E command packet. Communication is momentarily suspended while the configuration is being stored in Flash. 3. To confirm that the configuration changes have been saved, turn-off the power supply and the battery back-up for a few minutes. Then, power-up the receiver and confirm that the configuration changes have been retained. Alternatively, you can use Packet 1E to command a cold start. Note Command packet 0x8E executes storage of various types of receiver settings in addition to the port and protocol. See Table for a complete list of the settings that can be stored in FLASH memory. 48 Lassen iq GPS Receiver

59 Software Interface 3 Returning to the Factory Settings At any time, the receiver can be returned to the factory default configuration, using command packet 0x1E. 1. Type ^k to invoke the 0x1E command. 2. When prompted, select the factory default option. Table iq_chat Command Settings Stored in Flash Memory Command Packet 0x8E TSIP Command ID iq_chat Keystroke Description 0x35 O TSIP input/output formatting Superpacket output (on/off) Position format (LLA and/or ECEF) Precision (double or single) altitude format (MSL or HAE) Timetag format (GPS or UTC) PPS modes TSIP Response ID 0x55 SNR format (AMU or C/N 0 Automatic pseudorange output 0x69 e Enhanced Sensitivity Mode Control 0x70 l Position filter controls Position filter on/off Static filter on/off Altitude filter on/off 0x7A q NMEA message formats and schedule NMEA output messages NMEA output interval 0x7e a TAIP message formats and schedules 0x89 0x70 0x7B 0x7F Lassen iq GPS Receiver 49

60 3 Software Interface Table iq_chat Command Settings Stored in Flash Memory Command Packet 0x8E (Continued) TSIP Command ID iq_chat Keystroke Description 0xBB p GPS configuration parameters Operating dimension (2D, 3D,) DGPS mode Dynamics mode Elevation mask SNR mask DOP mask PDOP switch DGPS correction age 0xBC U Serial port configuration Protocol: input, output Baud, data bits, parity, stop bits 0x8E = g Fixed point superfix control (default = on) TSIP Response ID 0xBB 0xBC 0x8F Lassen iq GPS Receiver

61 Timing Applications Software Interface 3 The Lassen iq GPS receiver is an excellent source for accurate system timing. Two examples of applications requiring accurate time are environmental data acquisition and synchronization of communications networks. The timing functions of the receiver are supported by the TSIP protocol and the PPS signal. See Report Packet 0x41 or Super Packet 0x8F in Appendix A for a description of the time function reports for TSIP. Note GPS time differs from UTC (Universal Coordinated Time) by a variable integer number of seconds: UTC = (GPS time) - (GPS UTC Offset) As of April , the GPS UTC offset was 13 seconds. The offset increases by 1 second approximately every 18 months. System designers should plan to read the offset value as a part of the timing interface to obtain UTC. The GPS week number is in reference to a base week (Week #0), starting January 6, The current GPS UTC offset is contained within the almanac transmitted by the GPS system. The Lassen iq GPS Receiver must have a complete almanac before the offset data is valid. Note As of January , the GPS Control Organization has not added leap seconds on the usual 18 month schedule. As a result, the offset has remained at 13 seconds Extended GPS Week Number The Lassen iq GPS Receiver outputs the Extended GPS Week Number as the absolute number of weeks since the beginning of GPS time or January 6, If the true GPS Week Number is desired, ignore the extra MSBs of the Extended GPS Week Number and use only the 10 LSBs (bytes 4 and 5 of Packet 0x41). Note After week number , in year , the TSIP week number rolls back to All dates reported in NMEA and TAIP, will be invalid. Lassen iq GPS Receiver 51

62 3 Software Interface Known Anomalies in Firmware Release The following are know anomalies found in Lassen iq FW v These anomalies will be fixed in all follow on versions: Position outages during the Weekend Rollover The receiver would experience satellites being dropped and thus several seconds of position outages during the weekend rollover, which happens during Saturday to Sunday at midnight each week. This anomaly is found in Lassen iq GPS receiver firmware version and will be fixed in all future firmware releases. Position outages during WNRO (Week Number Rollover) The receiver would experience satellites being dropped and thus several seconds of position outages during the next week number rollover, which will happen on April 7, (GPS time). This problem is caused by the End-Of-the-Week Rollover problem as End-Of-the-Week Rollover occurs during WNRO. This anomaly is found in Lassen iq GPS receiver firmware version and will be fixed in all future firmer releases. Extended TTFF times in year The user would experience extended warm and hot startup times between years to This anomaly is found in the Lassen iq GPS receiver firmware version and will be fixed in all future firmware releases. Static Filter issue The static filter can be turned and stay on/off, based on user configuration or by TSIP packet 0x However, when it is set to off, it will be turned on internally after position fixes are generated. The query on the status of the static filter would still indicate that it is being turned off even though it has been turned on internally. This anomaly is found in Lassen iq GPS receiver firmware version and will be fixed in all future firmer releases. TSIP packet 0x65 is not functional in Lassen iq GPS receiver FW v It will be fixed in all future firmware releases. 52 Lassen iq GPS Receiver

63 CHAPTER 4 Operation and Performance 4 In this chapter: Introduction GPS Satellite Message Satellite Acquisition and Time to First Fix Satellite Mask Settings Standard Operating Modes Position Accuracy Coordinate Systems Performance Characteristics Lassen iq GPS Receiver Sensitivity Modes Lassen iq GPS Receiver Aided GPS Feature GPS Timing System Architecture

64 4 Operation and Performance Introduction This chapter describes the Lassen iq GPS receiver satellite acquisition and tracking processes, performance characteristics, and system architecture. This discussion assumes that you are familiar with the basic theory of the Global Positioning System. Before proceeding to the detailed discussion of the satellite acquisition and tracking process, please review the GPS satellite message description on the next page. The Lassen iq GPS receiver satellite acquisition and tracking algorithms can achieve a position solution without any initialization. The receiver automatically selects and tracks the best combination of satellites to compute position and velocity. As satellites move out of view, the Lassen iq GPS receiver automatically acquires new satellites and includes them in the solution set as required. 54 Lassen iq GPS Receiver

65 GPS Satellite Message Operation and Performance 4 Every GPS satellite transmits the Coarse/Acquisition (C/A) code and satellite data modulated onto the L1 carrier frequency ( MHz). The satellite data transmitted by each satellite includes a satellite almanac for the entire GPS system, its own satellite ephemeris and its own clock correction. The satellite data is transmitted in second frames. Each frame contains the clock correction and ephemeris for that specific satellite, and two pages of the page GPS system almanac. The almanac is repeated every minutes. The ephemeris is repeated every 30 seconds. The system almanac contains information about each of the satellites in the constellation, ionospheric data, and special system messages. The GPS system almanac is updated weekly and is typically valid for months. The ephemeris contains detailed orbital information for a specific satellite. Ephemeris data changes hourly, but is valid for up to four hours. The GPS control segment updates the system almanac weekly and the ephemeris hourly through three ground-based control stations. During normal operation, the Lassen iq GPS receiver module updates its ephemeris and almanac as needed. The performance of a GPS receiver at power-on is determined largely by the availability and accuracy of the satellite ephemeris data and the availability of a GPS system almanac. Lassen iq GPS Receiver 55

66 4 Operation and Performance Satellite Acquisition and Time to First Fix Cold-Start The term cold-start describes the performance of a GPS receiver at power-on when no navigation data is available. cold signifies that the receiver does not have a current almanac, satellite ephemeris, initial position, or time. The cold-start search algorithm applies to a Lassen iq GPS receiver which has no memory of its previous session (i.e., is powered on without the memory backup circuit connected to a source of DC power). This is the out of the box condition of the GPS module as received from the factory. In a cold-start condition the receiver automatically selects a set of twelve satellites and dedicates an individual tracking channel to each satellite, to search the Doppler range frequency for each satellite in the set. If none of the twelve selected satellites is acquired after a predetermined period of time (time-out), the receiver will select a new search set of twelve satellites and will repeat the process, until the first satellite is acquired. As satellites are acquired, the receiver automatically collects ephemeris and almanac data. The Lassen iq GPS receiver uses the knowledge gained from acquiring a specific satellite to eliminate other satellites, those below the horizon, from the search set. This strategy speeds the acquisition of additional satellites required to achieve the first position fix. The cold-start search sets are established to ensure that at least three satellites are acquired within the first two time-out periods. As soon as three satellites are found, the receiver will compute an initial position fix. The typical time to first fix is less than 2 minutes. A complete system almanac is not required to achieve a first position fix. However, the availability and accuracy of the satellite ephemeris data and the availability of a GPS almanac can substantially shorten the time to first fix. 56 Lassen iq GPS Receiver

67 Operation and Performance Warm Start In a warm-start condition the receiver has been powered down for at least one hour but has stored a current almanac, an initial position, and time, in memory. When connected to an external back-up power source (battery back-up), the Lassen iq GPS receiver retains the almanac, approximate position, and time to aid in satellite acquisition and reduce the time to first fix. When an external back-up battery is not used, the TSIP protocol allows the almanac, an initial position, and time to be uploaded to the receiver via the serial port, to initiate a warm start. During a warm start, the Lassen iq GPS receiver identifies the satellites which are expected to be in view, given the system almanac, the initial position and the approximate time. The receiver calculates the elevation and expected Doppler shift for each satellite in this expected set and directs the twelve tracking channels in a parallel search for these satellites. The warm start time to first fix, when the receiver has been powered down for more than 60 minutes (i.e. the ephemeris data is old), is usually less than 45 seconds Hot Start A hot start strategy applies when the Lassen iq GPS receiver has been powered down for less than 60 minutes, and the almanac, position, ephemeris, and time are valid. The hot start search strategy is similar to a warm start, but since the ephemeris data in memory is considered current and valid, the acquisition time is typically less than 20 seconds. Lassen iq GPS Receiver 57

68 4 Operation and Performance Garage Search Strategy During a warm start search, the Lassen iq GPS receiver knows which satellites to search for, based on the system almanac, the initial position (last known position) and the current time. In some cases, the receiver may not be able to acquire the expected satellite signals (e.g., a vehicle parked in a garage or a vessel in a covered berth). Trimble's patented garage search strategy, also known as a split search, is designed for such situations. If the receiver does not acquire the expected set of satellites within 5 minutes of power-on, some of the twelve tracking channels will continue to search for the expected satellites (warm search) while the remaining channels are directed in a cold start search. This strategy minimizes the time to first fix in cases where the stored almanac, position and time are invalid. The stored information is flushed from memory, if the cold start search proves effective and the warm search fails System Reset The Lassen iq GPS receiver can be reset with software commands or by cycling power. A system reset will cause the receiver to restart and begin the satellite acquisition and tracking process again. There are three types of system resets: soft reset, hard reset, and factory reset. The TSIP protocol supports all three resets using the 0x1E command. Power cycling can be used for either the soft reset or the hard reset. A soft reset is a system restart. In a soft reset, the system will attempt to acquire satellites using the satellite information and last position data stored in RAM, and the time information supplied by the realtime clock. There are two ways to initiate a soft reset: Cycling main power while keeping the memory and the realtime clock alive with back-up power. Issuing Command Packet 0x A soft reset is the same as a warm or hot start, if the information contained in memory and supplied by the real-time clock is valid. 58 Lassen iq GPS Receiver

69 Operation and Performance 4 A hard reset is a system restart that results in satellite acquisition search using a default search set. Any data contained within RAM memory is discarded and the real-time clock is re-initialized. Even if back-up power is supplied, the information from memory and the realtime clock is not used. There are two ways to initiate a soft reset: Issuing the 0x1E command with a value of 0x4B. Cycling power without back-up power applied. Using this method, power must be removed for at least 3 minutes to ensure any residual memory storage is erased. If power is cycled rapidly, the 0x1E command with a value of 0x4B must then be issued to the receiver seconds after power is restored to ensure a hard reset. A factory reset is used to restore all the factory default settings into the receiver. Any user settings stored in Flash memory will be erased. Issuing the 0x1E command with a value of 0x46 will initiate a factory reset. Lassen iq GPS Receiver 59

70 4 Operation and Performance Satellite Mask Settings Once the Lassen iq GPS receiver has acquired and locked onto a set of satellites, which pass the mask criteria listed in this section, and has obtained a valid ephemeris for each satellite, it will output regular position, velocity and time reports according to the protocol selected. The default satellite masks observed by the Lassen iq GPS receiver are listed in Table 1. These masks serve as the screening criteria for satellites used in fix computations and ensure that position solutions meet a minimum level of accuracy. The Lassen iq GPS receiver will only output position, course, speed and time when a satellite set can be acquired which meets all of the mask criteria. The satellite masks can be adjusted in GPS receivers accepting the TSIP protocol. (See Appendix A for details on key setup parameters.) Table Satellite Mask Settings Mask Setting Elevation 5 SNR 2 PDOP 12 PDOP Switch 6 60 Lassen iq GPS Receiver

71 Operation and Performance Elevation Mask Satellites below a 5 elevation are not used in the position solution. Although low elevation satellites can contribute to a lower/better PDOP, the signals from low elevation satellites are poorer quality, since they suffer greater tropospheric and ionospheric distortion than the signals from higher elevation satellites. These signals travel further through the ionospheric and tropospheric layers. In addition, low elevation satellites can contribute to frequent constellation switches, since the signals from these satellites are more easily obscured by buildings and terrain. Constellation switches can cause noticeable jumps in the position output. Since worldwide GPS satellite coverage is generally excellent, it is not usually necessary to use satellites below a 5 elevation to improve GPS coverage time. In some applications, like urban environments, a higher mask may be warranted to minimize the frequency of constellation switches and the impact of reflected signals SNR Mask Although the Lassen iq GPS receiver is capable of tracking signals with SNRs as low as 0, the default SNR mask in Standard Sensitivity Mode is set to 2 to eliminate poor quality signals from the fix computation and minimize constellation switching. Low SNR values may result from: Low Elevation Satellites Partially Obscured Signals (e.g. Dense Foliage) Multi-Reflected Signals (Multi-Path) The distortion of signals and the frequent constellation switches associated with low-elevation satellites were discussed above. In mobile applications, the attenuation of signals by foliage is typically a temporary condition. Since the Lassen iq GPS receiver can maintain lock on signals with SNRs as low as 0, it offers excellent performance when traveling through heavy foliage. Lassen iq GPS Receiver 61

72 4 Operation and Performance Multi-reflected signals, also known as Multi-path, can degrade the position solution. Multi-path is most commonly found in urban environments with many tall buildings and a preponderance of mirrored glass, which is popular in modern architecture. Multireflected signals tend to be weak (low SNR value), since each reflection attenuates the signal. By setting the SNR mask to 3 or higher, the impact of multi-reflected signals is minimized DOP Mask Position Dilution of Precision (DOP) is a measure of the error caused by the geometric relationship of the satellites used in the position solution. Satellite sets which are tightly clustered or aligned in the sky will have a high DOP and will contribute to a lower position accuracy. For most applications, a DOP mask of 12 offers a satisfactory trade-off between accuracy and GPS coverage time. With world-wide GPS coverage now available, the DOP mask can be lowered even further for many applications without sacrificing coverage PDOP Switch The default positioning mode for the Lassen iq GPS receiver is Automatic. In this mode, the receiver attempts to generate a 3- dimensional (3D) position solution, when four or more satellites meeting the mask criteria are visible. If such a satellite set cannot be found, the receiver will automatically switch to 2-dimensional (2D) mode. The PDOP switch establishes the trade-off between 3D positioning and PDOP. With the PDOP Switch set to 6, the receiver will compute a 2D position with a HDOP below 6 rather than a 3D position with a PDOP greater than 6, even when four or more satellites are visible. Note PDOP Switch is only used in Auto mode. 62 Lassen iq GPS Receiver

73 Standard Operating Modes Operation and Performance 4 The tracking mode controls the allocation of the receiver's tracking channels and the method used for computing position fixes Fix Modes The Lassen iq GPS receiver offers three positioning modes: 2D Manual, 3D Manual, and Automatic 2D/3D. Automatic 2D/3D is the default mode for the Lassen iq GPS receiver. The positioning mode can be modified in receivers accepting TSIP commands. (See Appendix A for more information on the TSIP protocol.) 2D Manual In 2D Manual mode, the Lassen iq GPS receiver will only generate 2-dimensional (2D) position solutions (latitude and longitude only), regardless of the number of visible satellites. If the altitude is not entered, the receiver uses zero as the default altitude. The greater the deviation between the actual and default altitudes, the greater the error in the 2D position. For TSIP applications, enter local altitude in MSL/HAE via TSIP packet 2AH (see Appendix A). 3D Manual In manual 3D mode, the Lassen iq GPS receiver will only generate 3-dimensional (3D) position solutions (latitude, longitude, and altitude). A 3D solution requires at least four visible satellites which pass the mask criteria. If less than four conforming satellites are visible, the Lassen iq GPS receiver will suspend position data outputs. Lassen iq GPS Receiver 63

74 4 Operation and Performance 2D/3D Automatic The default operating mode for the Lassen iq GPS receiver is 2D/3D Automatic. In this mode, the Lassen iq GPS receiver attempts to generate a 3-dimensional (3D) position solution, if four or more satellites meeting the mask criteria are visible. If only three satellites are visible which meet the mask criteria, the Lassen iq GPS receiver will automatically switch to 2-dimensional (2D) mode and will use the last calculated altitude, if available, or the default altitude in the position solution. In 2D/3D Automatic mode, the PDOP switch is active Differential GPS Operating Modes The default mode for the Lassen iq GPS receiver is DGPS Automatic. The receiver supports three DGPS Modes: On, Off, and Automatic. The mode may be changed by issuing the appropriate TSIP command (see Appendix A for details). DGPS On When DGPS On is selected, the Lassen iq GPS receiver will only provide differential GPS solutions. If the source of the correction data is interrupted or becomes invalid, the receiver will suspend output of all position, course and speed data. When a valid source of correction data is restored, the receiver will resume outputting data. DGPS Off When DGPS Off is selected, the Lassen iq GPS receiver will not provide differential GPS solutions even if a valid source of correction data is supplied. In this mode, the receiver will only supply standard GPS position data. 64 Lassen iq GPS Receiver

75 Operation and Performance 4 DGPS Automatic DGPS Automatic is the default operating mode for the Lassen iq GPS receiver. In this mode, the receiver will provide differential GPS suitableness when valid correction data is available. If a set of differentially correctable satellites cannot be found which meet the satellite mask settings, the receiver will transition to output standard GPS solutions. The Lassen iq GPS receiver automatically switches between DGPS and standard GPS based on the availability of valid correction data. Differential GPS Operation The Lassen iq GPS receiver is capable of accepting and decoding RTCM data, the industry standard protocol for differential correction data. The receiver is configured to accept RTCM SC correction data over Port 2 (PIN 6). Alternatively, you can use TSIP packet 60 or the TAIP DC message to input differential corrections through the primary serial port (PIN 3). Position Accuracy GPS position accuracy is degraded by atmospheric distortion, satellite geometry, satellite clock errors, and receiver clock errors. Effective models for atmospheric distortion of satellite signals have been developed to minimize the impact of tropospheric and ionospheric effects. The impact of satellite clock errors is minimized by incorporating the clock corrections transmitted by each satellite used in the position solution. Lassen iq GPS Receiver 65

76 4 Operation and Performance Coordinate Systems Once the Lassen iq GPS receiver achieves its first fix, it is ready to commence output of position, velocity, and time information. This information is output over serial communication channel in either the TSIP or NMEA protocol, as determined by the settings of the receiver. These protocols are defined in the Appendices. To change from one protocol to another, see Appendix A TSIP Coordinate Systems TSIP has the widest choice of coordinate systems. The output format is chosen by TSIP command 0x The output formats include the following: LLA position Latitude, longitude, altitude (LLA) according to the WGS ellipsoid. Altitude can be chosen to be height above ellipsoid (HAE) or height above mean sea level (MSL). ENU velocity ENU velocity is the velocity in East, North, and Up coordinates. These coordinates are easily converted to speed and heading. ECEF position and velocity ECFF position and velocity is Earth-Centered, Earth-Fixed frame is a Cartesian coordinate frame with its center at the earth's center, the z-axis through the North Pole, and the x-axis through longitude 0 degrees, latitude 0 degrees. Velocity is reported relative to the same axes. 66 Lassen iq GPS Receiver

77 Operation and Performance 4 There are also two time coordinate systems: GPS time GPS time is determined by an ensemble of atomic clocks operated by the Department of Defense (DOD). UTC time UTC time is the world standard maintained by an ensemble of atomic clocks operated by government organizations around the world. UTC time replaced GMT (Greenwitch Mean Time) as the world standard, in GPS time is steered relative to Universal Coordinated Time (UTC). GPS does not recognize leap seconds resulting in a situation where GPS time is currently 13 seconds ahead of UTC time. Time tags for most output messages can be in either UTC time or GPS time, as chosen by TSIP command 0x NMEA The NMEA protocol only supports LLA format and UTC time. Velocity is always described as horizontal speed and heading; vertical speed is not output. Lassen iq GPS Receiver 67

78 4 Operation and Performance Performance Characteristics Update Rate The Lassen iq GPS receiver computes and outputs position solutions once per second, on the second. NMEA outputs can be scheduled at a slower rate using TSIP command 0x7A (see Appendix A). TAIP outputs may be controlled with TSIP packet 0x7E Dynamic Limits The dynamic operating limits for the Lassen iq GPS receiver are listed below. These operating limits assume that the GPS module is correctly embedded and that the overall system is designed to operate under the same dynamic conditions. Table Lassen iq GPS Receiver Operating Limits Operation Limit Acceleration 4 g ( m/s 2 ) Jerk 20 m/s 3 Speed Altitude m/s 18, m Note The Lassen iq GPS Receiver firmware contains an algorithm that allows either the speed limit or altitude limit to be exceeded, but not both. This allows the receiver to be used in high altitude (research balloon) applications without a special factory configuration. 68 Lassen iq GPS Receiver

79 Operation and Performance Re-Acquisition Re-acquisition time for a momentary signal blockages is typically under 2 seconds. When a satellite signal is momentarily interrupted during normal operation, the receiver continues to search for the lost signal at the satellite's last known Doppler frequency. If the signal is available again within 15 seconds, the receiver will normally re-establish track within two seconds. If the lost signal is not re-acquired within 15 seconds, the receiver initiates a broader frequency search. The receiver will continue to search for the satellite until it falls below the elevation mask. Lassen iq GPS Receiver 69

80 4 Operation and Performance Lassen iq GPS Receiver Sensitivity Modes The Lassen iq GPS receiver features two sensitivity modes: Standard Sensitivity (default) and Enhanced Sensitivity Standard Sensitivity Mode In the Standard Sensitivity mode, the receiver acquires GPS satellite signals in Cold Start, Warm Start, and Hot Start TTFF using 1 ms PDI (Pre-Detection Integration) setting to search the frequency range. Considering the fact that the minimum integration time of the GPS signal (1 ms PDI) has been applied, the receiver is optimized for faster acquisition times. In the standard mode, the default setting for the AMU mask (Amplitude Measurement Unit) is 2. AMU mask establishes the minimum signal strength that the receiver will use for GPS (position, velocity and time) calculations. The standard mode settings are AMU Mask = 2 and PDI = 1 ms. These standard mode settings are the factory recommendations for fastest acquisition and best performance under normal signal conditions Enhanced Sensitivity Mode Enhanced Sensitivity mode enables the receiver to acquire lower strength GPS satellite signals and generate position fixes under poor signal conditions. When the Enhanced Mode is enabled, the receiver will begin its search for GPS satellite signals using a 1ms PDI acquisition. If no valid GPS satellite signals are detected after one complete frequency search, the receiver will switch to the extended PDI acquisition of 5 ms. Using a longer PDI allows the unit to detect lower level signals but does require longer to complete the frequency search. 70 Lassen iq GPS Receiver

81 Operation and Performance 4 In addition to the automatic switch to an extended PDI if needed, the Enhanced Sensitivity mode also uses a lower AMU mask. When Enhanced Sensitivity mode is enabled, the AMU mask is immediately set to the lower value of This lower setting allows weaker signals to pass the filters of the GPS system and be used for calculating the position. The default AMU mask for the Enhanced Sensitivity is The user can change the AMU mask to a different value. When this is done, the receiver will overwrite the default setting of and use the selected AMU. The enhanced mode settings for the first frequency sweep are AMU Mask= and PDI = 1 ms. If the receiver can not acquire after the first frequency sweep, the enhanced mode settings are AMU Mask= and PDI = 5 ms. The user will also experience extended startup times Extended Startup Times Due to the extended PDI acquisition in the Enhanced Sensitivity Mode, longer TTFF times (Time to First Fix) is normal. In the Enhanced Sensitivity Mode, the receiver is optimized for increased sensitivity, 6 db more sensitive than the standard setting, at the cost of the longer startup times. This means that operating in the higher sensitivity mode is a trade-off between the faster start up times of the standard mode versus the higher sensitivity of the Enhanced Sensitivity mode. Therefore, the user must determine for each particular application which sensitivity mode will provide the best performance. The following tables illustrate the comparison between the TTFF times in Standard and Enhanced Sensitivity modes. Note that the Enhanced Mode is not applicable for Cold Starts. Lassen iq GPS Receiver 71

82 4 Operation and Performance Table Standard Sensitivity Mode TTFF Times Standard Sensitivity Mode 50% (sec) 90% (sec) Hot Start Warm Start Table Enhanced Sensitivity Mode TTFF Times Standard Sensitivity Mode 50% (sec) 90% (sec) Hot Start TBD TBD Warm Start TBD TBD Enabling the Enhanced Sensitivity Mode New TSIP Command The Lassen iq GPS receiver is configured from the factory with the Enhanced Sensitivity feature turned off. A new TSIP (Trimble Standard Interface Protocol) command and a new set of APIs have been generated for switching between the Standard and the Enhanced Sensitivity Modes. You can turn the Enhanced Sensitivity feature on, using one of three tools: The iq_chat program found in the iq Starter Kit or The iq_monitor program found in the iq Starter Kit or The new TSIP Command Packet 0x The Lassen iq GPS receiver will respond with the new TSIP response packet 0x A soft reset is required to make the switch effective. Following are the details of the command packet 0x69 and report packet 0x Lassen iq GPS Receiver

83 Operation and Performance 4 Table Command Packet 0x69 Set/Request Enhanced Sensitivity Mode Byte Item Type Value Definition 0 Enhanced Sensitivity Mode 1 Reserved Byte 0 1 Off (standard) On (enhanced) Table Report Packet 0x89 Report Enhanced Sensitivity Mode Byte Item Type Value Definition 0 Current Enhanced Sensitivity Mode 1 Enhanced Sensitivity Mode After Reset Byte 0 1 Byte 0 1 Off (standard) On (enhanced) Off (standard) On (enhanced) In order to change the receiver to the Enhanced Sensitivity Mode completely and take effect, a soft reset is required. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, the settings can be saved to flash memory using the TSIP 8Ex26 Command. Lassen iq GPS Receiver 73

84 4 Operation and Performance Setting the Enhanced Sensitivity Mode Following is a 'typical' scenario using the TSIP packets 0x69 and 0x Request the current sensitivity status from a factory configured Lassen iq GPS receiver. Send Packet 0x69 with no data. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 0; byte 1 = Turn on the Enhanced Sensitivity feature. Send Packet 0x69 with byte 0 = 1. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 0; byte 1 = 1. Send Packet 0x25 (soft reset). The Lassen iq GPS receiver will respond with Packet 0x45 (Software Version Information) Send Packet 0x69 with no data. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 1; byte 1 = The Lassen iq GPS receiver is now in Enhanced Sensitivity mode until a cold start command is executed or a power cycle is initiated. To Permanently set The Enhanced Sensitivity Mode 1. Execute the 8Ex26 command before the cold start or power cycle is executed. 2. The 8Ex26 command sets the enhanced sensitivity configuration into flash memory. 74 Lassen iq GPS Receiver

85 Operation and Performance Lassen iq GPS Receiver Aided GPS Feature This feature allows the Lassen iq GPS receiver to take advantage of the fast startup times of hot start. The fast hot startup times can be achieved by uploading almanac, ephemeris, time, and position to the receiver using TSIP packets. There are two methodologies to provide this information. One is to use the iq_monitor program by downloading and uploading the information through the Starter kit. The second methodology is for the user to write an application using TSIP commands to download and upload the appropriate information in his own application. Warning To ensure proper format of the ephemeris file and almanac file, a Trimble receiver must be used to gather this data. Using almanac files from non-trimble receivers may not be in proper format and thus may not work, i.e. almanac files downloaded from the Internet iq_monitor Method 1. Attach the Lassen iq GPS receiver starter box to your PC. 2. Place the GPS antenna, where there is a clear view of sky. 3. Allow the starter kit box to run and to calculate fixes. 4. On the main screen, wait for the almanac indicator to turn green indicating that the receiver has collected almanac. Note It takes 12,5 minutes of uninterrupted iq operation to collect almanac from the satellites. 5. Click on the initialized pulldown menu and use the download features on the bottom of the pulldown to download the almanac, position, time and ephemeris to files on your PC. 6. Now that you have collected these files, you can upload them using the upload features on the initialize pulldown window in iq_monitor. Note The collected ephemeris will be only good for approximately 2 hours. Lassen iq GPS Receiver 75

86 4 Operation and Performance The TSIP Commands Method 1. Allow the receiver to run long enough to collect almanac. Note It takes 12,5 minutes of uninterrupted iq operation to collect almanac from the satellites. 2. Use packet 0 x 26 to request the health of the receiver. The response packets 0x46 and 0x4B indicate when the almanac is complete and current. 3. Use packet 0x 38 to request the almanac and the ephemeris. The receiver responses with packet 0 x Use packet 0 x 21 to request time from the receiver. The receiver responses with packet 0x 41 and this can be used to set your own off-board clock. 5. You also need to request position from the receiver. This can be done by using packets 0x42, 0x4A, 0x83 0r 0x To upload this information back to the receiver, the following order of the upload commands shall be followed: 1. Upload the time using packet 0x2E. Wait for upload confirmation report packet 0x Upload position using packet 0x31 or 0x No confirmation report packet available. 3. Upload the ephemeris, using packet 0x Wait for upload confirmation report packet 0x Upload almanac using packet ox Wait for upload confirmation report packet 0x Note For details regarding all the mentioned TSIP packets, see Appendix A. 76 Lassen iq GPS Receiver

87 Operation and Performance 4 Warning To operate the Lassen iq GPS receiver under Hot Start conditions, the following conditions are required. 1) The almanac must be valid. Almanac data is generally valid for months. The Lassen iq GPS receiver automatically flushes almanac every 8 weeks. 2) The ephemeris must be less than 2 hours old. 3) The position must be within Km of the current iq position. 4) Time must be within 5 minutes of UTC. GPS Timing In many timing applications, such as time/frequency standards, site synchronization systems and event measurement systems, GPS receivers are used to discipline local oscillators. The GPS constellation consists of 24 orbiting satellites. Each GPS satellite contains a highly-stable atomic (Cesium) clock, which is continuously monitored and corrected by the GPS control segment. Consequently, the GPS constellation can be considered a set of 24 orbiting clocks with worldwide hour coverage. GPS receivers use the signals from these GPS clocks to correct its internal clock, which is not as stable or accurate as the GPS atomic clocks. GPS receivers like the Lassen iq GPS receiver output a highly accurate timing pulse (PPS) generated by its internal clock, which is constantly corrected using the GPS clocks. This timing pulse is synchronized to UTC within ±50 ns. In addition to serving as a highly accurate stand-alone time source, GPS receivers are used to synchronize distant clocks in communication or data networks. This synchronization is possible since all GPS satellite clocks are corrected to a common master clock. Therefore, the relative clock error is the same, regardless of which satellite or satellites are used. For timing applications requiring a common clock, GPS is the ideal solution. Lassen iq GPS Receiver 77

88 4 Operation and Performance The position and time errors are related by the speed of light. Therefore, a position error of meters corresponds to a time error of approximately ns. The hardware and software implementation affects the GPS receiver's PPS accuracy level. The receiver's clocking rate determines the PPS steering resolution. The Lassen iq GPS receiver clocking rate is MHz. This rate corresponds to a steering resolution of ±40 ns Serial Time Output The TSIP, TAIP, and NMEA protocols include time messages. See report packets 41 and 8F in Appendix A for a description of the time reports for the TSIP protocol. See the TAIP Appendix for a description of the TM message. See the NMEA Appendix for a description of the ZDA message. Note GPS time differs from UTC (Universal Coordinated Time) by a variable, integer number of seconds UTC=(GPS time)-(gps UTC offset). As of January , the GPS UTC offset was 13 seconds. The offset has historically increased by 1 second about every 18 months. The GPS Control Organization has not added leap seconds on its usual 18 month schedule. As a result, the offset remains at 13 seconds. System designers should plan to read the offset value as a part of the timing interface to obtain UTC. The GPS week number is in reference to a base week (Week #0), starting January 6, Lassen iq GPS Receiver

89 Pulse-Per-Second (PPS) Operation and Performance 4 The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 4 of the Lassen iq GPS receiver power and I/O connector. The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise time. The PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. The PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and is obtaining fixes. The PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the Lassen iq GPS receiver is not tracking satellites, is unspecified and should not be used for synchronization PPS Output Mode PPS output mode can be controlled by TSIP command packet 0 x Once a specific mode is selected, it can be stored in non-volatile memory (flash) using TSIP command 0x8E The following PPS modes are supported. Always Off When the Always Off mode is selected, the PPS output remains low at all times. Disabling the PPS output has no affect on normal receiver operations, and position fixes are calculated as usual. This mode can be selected at any time during receiver operation. The PPS output is immediately switched off (disabled) when the TSIP command for this mode is received. Lassen iq GPS Receiver 79

90 4 Operation and Performance Always On (default) When the PPS output is configured for Always On (early PPS), it is driven by the Real Time Clock (RTC) until the receiver acquires GPS time is generating position fixes. In this mode, the PPS output continues even if the receiver loses GPS tracking. The maximum drift of the PPS pulse when not tracking satellites could be quite large, therefore the PPS output should not be used for precise synchronization when no position fix occurs. The PPS can be switched to Always On mode any time during normal operation. This mode is the factory default setting. Fix Based In this mode, the PPS output is turned on only while fixes are taking place. If the receiver is not tracking satellites, the PPS output is turned off until the signals are required and position fixes are valid again. If the receiver is switched from Always On to Fix Mode, and the receiver has not yet started generating position fixes, the PPS output will turn off until a new fix is obtained. Programmable Characteristics - Signal Offset (Cable Delay Compensation) The receiver firmware also enables the user to offset the delay of the PPS pulse with reference to the actual UTC second tick. This delay is the result of antenna cable length and propagation delay of the PPS output signal. The delay compensation parameter can be set (in nano seconds) using TSIP super packet 0x8E-4A. Note that the current firmware version only allows the update of the PPS offset parameter of the PPS definition packet (0x8E-4A). Other parameters are read only. The PPS offset selection can be stored in non-volatile memory by sending command packet 0x8E to the receiver. 80 Lassen iq GPS Receiver

91 Operation and Performance 4 Note Trimble Navigation has measured better than 50 nanoseconds accuracy of the Lassen iq GPS receiver PPS signal in static mode. For more information on timing applications, contact your Trimble sales representative. The Lassen iq GPS receiver was designed primarily as a navigation receiver. The long term stability of the PPS signal has not been tested. Therefore Trimble does not recommend use of Lassen iq in timing or synchronization applications where guaranteed stability of the PPS signal is required. Contact your Trimble sales representative for more information about products designed for critical timing applications. Lassen iq GPS Receiver 81

92 4 Operation and Performance System Architecture The Lassen iq GPS receiver (see Figure ) uses twelve processing channels operating on the L1 frequency of MHz and using the coarse acquisition (C/A) code. The module uses custom integrated circuitry designed by Trimble to track the GPS satellite signals. These ICs also contain support circuitry to the navigation processor. An integrated bit microprocessor is used for tracking, computing a position, and performing the I/O operations. The Lassen iq GPS receiver receives the amplified GPS satellite signals through the antenna feed line connector and passes them to the RF down converter. A highly stable crystal reference oscillator operating at MHz is used by the down converter to produce the signals used by the channel signal processor. Thechannel signal processor tracks the GPS satellite signals and extracts the carrier code information as well as the navigation data at 50 bits per second. Operation of the tracking channels is controlled by the navigation processor. The tracking channels are used to track the highest twelve satellites above the horizon. The navigation processor will then use the optimum satellite combination to compute a position. The navigation processor also manages the ephemeris and almanac data for all of the satellites, and performs the data I/O. 82 Lassen iq GPS Receiver

93 Operation and Performance 4 Figure Lassen iq GPS receiver Block Diagram Lassen iq GPS Receiver 83

94 4 Operation and Performance 84 Lassen iq GPS Receiver

95 APPENDIX A Trimble Standard Interface Protocol (TSIP) A The Trimble Standard Interface Protocol (TSIP) provides the system designer with over 20 commands that may be used to configure a GPS receiver for optimum performance in a variety of applications. TSIP enables the system designer to customize the configuration of a GPS module to meet the requirements of a specific application. This appendix provides the information needed to make judicious use of the powerful features TSIP has to offer, to greatly enhance overall system performance, and to reduce the total development time. The provided reference tables will help you determine which packets apply to your application. For those applications requiring customization see Customizing Receiver Operations, page 89 for a detailed description of the key setup parameters. Application guidelines are provided for each TSIP Command Packet, beginning on page

96 A Trimble Standard Interface Protocol (TSIP) A.1 Interface Scope The Trimble Standard Interface Protocol is used extensively in Trimble receiver designs. The protocol was originally created for the Trimble Advanced Navigation Sensor (TANS) and is colloquially known as the TANS protocol even though the protocol applies to many other devices. The Lassen iq GPS receiver has two serial I/O communications ports. These are bi-directional control and data ports. The data I/O port characteristics, protocol definitions, and other options are user programmable and can be stored in non-volatile FLASH memory. The TSIP protocol is based on the transmission of packets of information between the user equipment and the unit. Each packet includes an identification code (1 byte, representing 2 hexadecimal digits) that identifies the meaning and format of the data that follows. Each packet begins and ends with control characters. This document describes in detail the format of the transmitted data, the packet identification codes, and all available information over the output channel to allow the user to choose the data required for his particular application. As will be discussed, the receiver transmits some of the information (position and velocity solutions, etc.) automatically when it is available, while other information is transmitted only on request. Additional packets may be defined for particular products and these will be covered in the specifications for those products as necessary. The iq_chat utility, part of the GPS Tool Kit, is designed to exercise many of the TSIP packets. 86 Lassen iq GPS Receiver

97 Trimble Standard Interface Protocol (TSIP) A A.2 Packet Structure TSIP packet structure is the same for both commands and reports. The packet format is: Where: <DLE> <id> <data string bytes> <DLE> <ETX> <DLE> is the byte 0x10 <ETX> is the byte 0x03 <id> is a packet identifier byte, which can have any value excepting <ETX> and <DLE>. The bytes in the data string can have any value. To prevent confusion with the frame sequences <DLE> <ID> and <DLE> <ETX>, every <DLE> byte in the data string is preceded by an extra <DLE> byte ('stuffing'). These extra <DLE> bytes must be added ('stuffed') before sending a packet and removed after receiving the packet. Notice that a simple <DLE> <ETX> sequence does not necessarily signify the end of the packet, as these can be bytes in the middle of a data string. The end of a packet is <ETX> preceded by an odd number of <DLE> bytes. Multiple-byte numbers (integer, float, and double) follow the ANSI/IEEE Std. IEEE Standard for binary Floating-Point Arithmetic. They are sent most-significant byte first. This may involve switching the order of the bytes as they are normally stored in Intel based machines. Specifically: UINT8 = Byte: An 8 bit unsigned integer. UINT16 = Word: A 16 bit unsigned integer. INT16 = Integer: A 16 bit integer. INT32 = Long: A 32 bit integer. UINT32 = ULong: A 32 bit unsigned integer. Single Float, or 4 byte REAL has a precision of 24 significant bits, roughly digits. Double 8 byte REAL has a precision of 52 significant bits. It is a little better than 15 digits. Lassen iq GPS Receiver 87

98 A Trimble Standard Interface Protocol (TSIP) A.3 Automatic Output Packets The Lassen iq GPS receiver receiver is configured to automatically output the following packets. For minimal system implementations, these output packets provide all of the information required for operation including time, position, velocity, and receiver and satellite status and health. Position and velocity are reported using one or more of the packets listed below, depending on the selected I/O options. While there are other packets automatically output, the following packets provide the information most commonly used. No input packets are required. Table A.1 Automatic Output Packets Output Packet ID Description Reporting Interval 0x41 GPS time 5 seconds 0x42, 0x83, 0x4A, 0x84, 0x8F position (choose packet with I/O options) 1 second 0x43, 0x56, 0x8F velocity (choose packet with I/O options) 1 second 0x46 health of receiver 5 seconds 0x4B machinecode/status (includes antenna fault detect) 5 seconds 0x6D all-in-view satellite selection, DOPs, Fix Mode 1 second 0x82 DGPS position fix mode (only in DGPS mode) 1 second 88 Lassen iq GPS Receiver

99 Trimble Standard Interface Protocol (TSIP) A A.4 Customizing Receiver Operations For information on customizing receiver operations, see the following tables on selecting report data. A.5 Automatic Position and Velocity Reports The receiver automatically outputs position and velocity reports at set intervals. Automatic report packets are controlled by Packet Setting the control bits as indicated in the table below allows you to control which position and velocity packets are output. Table A.2 Packet Automatic Position and Velocity Reports Control Setting Bits Report Packet ID 0x42 0x83 Requested Setting single precision XYZ position double-precision XYZ position Packet 0x35, Byte 0 Packet 0x35, Byte 1 Bit 0 Bit 1 Bit 4 Bit 5 Bit 0 Bit x4A single-precision LLA position 1 (default) 0 0x84 double-precision LLA position 1 1 0x43 velocity fix (XYZ, ECEF) 1 0x56 velocity fix (ENU) 1(default) 0x8F LLA and ENU 1 Lassen iq GPS Receiver 89

A Trimble Standard Interface Protocol (TSIP) A.6 Initialization Packets to Speed Start-up If you are not supplying the receiver with battery power when main power is off, you can still warm-start the receiver by sending the following commands after the receiver has completed its internal initialization and has sent Packet Table A.3 Input Byte 0x2B 0x2E 0x38 0x38 0x38 0x38 Description initial position initial time almanac (for each SV) almanac health ionosphere page UTC correction 90 Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A.7 Packets Output at Power-Up The following table lists the messages output by the receiver at powerup. After completing its self-diagnostics, the receiver automatically outputs a series of packets which indicate the initial operating condition of the receiver. Messages are output as listed in the table below. After Packet 82 is output, the sequence is complete and the receiver is ready to accept commands. Table A.4 Packet Power-up Output Messages Output ID Description Notes 0x45 software version -- 0x46 receiver health -- 0x4B machine code/status -- As chosen, see Table A.3 default: 0 x 4A, 0 x 56 0x41 position/velocity output GPS time 82 DGPS position fix mode -- As chosen, see Table A A.8 Timing Packets If you are using the Lassen iq GPS receiver as a timing system, you may need to implement the following TSIP control commands. Table A.5 Timing Packet TSIP Control Commands Input ID Description Output ID 0x21 get the current GPS time 0x41 0x request UTC parameters 0x Lassen iq GPS Receiver 91

A Trimble Standard Interface Protocol (TSIP) A.9 Satellite Data Packets The following packets contain a variety of GPS satellite data. Table A.6 Satellite Data Packet Data I/O Descriptions Input ID Description Output ID 0x27 request signal levels 0x47 0x38 request/load satellite system data 0x58 0x3C request tracking status 0x5C ABackwards Compatibility TSIP packets implemented in the Lassen iq GPS receiver are backward compatible with those used in Lassen SK II GPS receiver. For information regarding compatibility with other Trimble receivers, contact the Trimble Technical Assistance Center. 92 Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A ARecommended TSIP Packets Table A.7 Recommended TSIP Packet Data Function Description Input Output Protocol and port setup set/query port configuration 0xBC 0xBC set/query NMEA configuration 0x7A 0x7B set/query I/O options (autoreport and format options) 0x35 0x55 Navigation GPS time 0x21 0x41 Satellite and tracking information position & velocity (superpacket) 0x8E or 0x37 or auto 0x8F double-precision LLA 0x37/auto 0x84 double-precision XYZ 0x37/auto 0x83 ENU velocity 0x37/auto 0x56 XYZ velocity 0x37/auto 0x43 query receiver state (health) 0x26 0x46, 0x4B query current satellite selection 0x24 0x6D query signal levels 0x27 0x47 query satellite information (azimuth, elevation, etc.) 0x3C 0x5C Receiver settings query software version 0x1F 0x45 query receiver ID & error status 0x26 0x4B, 0x46 set/query receiver configuration 0xBB 0xBB set altitude for 2D mode 0x2A 0x4A disable PV/altitude filters 0x70 0x70 set/query positioning mode (2D v. 3D) 0xBB 0xBB GPS System query/load GPS system data 0x38 0x58 Lassen iq GPS Receiver 93

A Trimble Standard Interface Protocol (TSIP) Table A.7 (Continued)Recommended TSIP Packet Data Function Description Input Output Initialization full reset (clear battery backup and/or nonvolatile settings) soft reset 0x1E 0x25 set GPS time 0x2E 0x4E set exact LLA set approx. XYZ set approx. LLA set exact XYZ 0x32 0x23 0x2B 0x31 ACommand Packets Sent to the Receiver The table below summarizes the command packets sent to the receiver. The table includes the input Packet ID, a short description of each packet, and the associated response packet. In some cases, the response packets depend on user-selected options. These selections are covered in the packet descriptions beginning on page Table A.8 User-Selected Command Packet Options Input ID Packet Description Output ID 0x1E clear battery back-up/reset See Note 1 0x1F software version 0x45 0x21 current time 0x41 0x23 initial position (XYZ ECEF) -- 0x24 request receiver position fix mode 0x6D 0x25 soft reset & self-test See Note 1 0x26 receiver health 0x46, 0x4B 0x27 signal levels 0x47 0x2A altitude for 2-D mode 0x4A 94 Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A.8 User-Selected Command Packet Options (Continued) Input ID Packet Description Output ID 0x2B initial position (Lat, Lon, Alt) -- 0x2D oscillator offset 0x4D 0x2E set GPS time 0x4E 0x31 accurate initial position (XYZ Cartesian ECEF) -- 0x32 accurate initial position -- 0x35 I/O options 0x55 0x37 status and values of last position and velocity 0x57 0x38 load or request satellite system data 0x58 0x3C tracking status 0x5C, see Note 2 0x69 enhanced sensitivity 0x89 0x70 filter configuration 0x70 0x7A set/request NMEA output configuration 0x7B 0xBB set receiver configuration 0xBB 0xBC set port configuration 0xBC 0x8E last fix with extra information (fixed point) 0x8F 0x8E Store settings in Flash memory. 0x8F Note 1 Output is determined by packet 0 x See Table A.4 to determine which messages are output at power-up. Note 2 No response sent if data is not available. Lassen iq GPS Receiver 95

A Trimble Standard Interface Protocol (TSIP) AReport Packets Sent by the Receiver to the User The table below summarizes the packets output by the receiver. The response packets may depend on user-selected options (see page 82). Table A.

Trimble Standard Interface Protocol (TSIP) A AKey Setup Parameters or Packet BB Selecting the correct operating parameters has significant impact on receiver performance. Packet 0xBB (set receiver configuration) controls the key setup parameters. The default operating parameters allow the receiver to perform well in almost any environment. The user can optimize the receiver to a particular application if the vehicle dynamics and expected level of obscuration are understood. If the receiver is then taken out of this environment, the specifically tuned receiver may not operate as well as a receiver with the default options. The table below lists suggested parameter selections as a function of obscuration and whether accuracy or fix density is important. In this table, NA indicates that the operating parameter is not applicable, DC (don't care) indicates that the user may choose the operating parameter. Table A Setup Parameters in Packet 0xBB Parameter Accuracy Fixes Factory Default Fix mode Man 3D AUTO AUTO Dynamics code Land Land Land Elevation mask Signal mask DOP mask DOP switch NA DGPS correction age 10 Seconds N/A 30 Seconds The default values in Table A allow the receiver to operate well under the most varied and demanding conditions. A user may choose to change the default parameters if the receiver is only required to perform in a specific or limited environment. The user should be warned that when the receiver is exposed to operating conditions which are different from the conditions described by the user setup, then the performance may be degraded. Lassen iq GPS Receiver 97

A Trimble Standard Interface Protocol (TSIP) Initially, the user must consider the environment in which the receiver is expected to operate. There is a trade-off between how frequently a position fix is output versus the absolute accuracy of the fix. The user must decide which takes priority and then make the appropriate selections. This becomes increasingly important when frequent satellite blockages are expected, as in downtown urban canyon environments and heavily foliated areas. Following is a description of the key fields in Packet 0xBB. A Set Fix Mode Packet 0xBB is used to choose the appropriate position fix mode for your application: 2-D, 3-D or AUTO. The default mode is AUTO 2- D/3-D, where the receiver first attempts to obtain a 3-D solution with a PDOP below the DOP switch. If this is not possible, then the receiver attempts to obtain a 2-D solution with a DOP less than the DOP mask. This mode supplies fairly continuous position fixes even when there is frequent obscuration. This mode is preferable for most land or air applications, where altitude changes are occurring and there is occasional obscuration. The highest accuracy fix mode is 3-D manual, where altitude is always calculated along with the latitude, longitude, and time. However, this requires four satellites with a PDOP below the DOP mask set in Packet BB in order to obtain a position. Normally, this will provide the most accurate solution. Thus, if only 3-D solutions are desired, then the user should request 3-D manual mode. Depending on how the PDOP mask is set, this may be restrictive when the receiver is subjected to frequent obscuration, or when the geometry is poor due to an incomplete constellation. Alternatively, if the user only wants a 2-D solution, then 2-D manual should be requested. In this case, the receiver uses either the last altitude obtained in a 3-D fix, or the altitude supplied by the user. However, any error in the assumed altitude will affect the accuracy of the latitude and longitude solution. 98 Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A When using the 2-D mode, expect fixes with accuracies which are at best as accurate as the supplied altitude. If a marine user enters sealevel as the altitude, then small errors in the horizontal solution will occur when the sea state is rough or there are high tidal variations. However, these errors may be smaller than the altitude errors induced by SA, so 2-D may be preferable for a marine user who does not want to observe unusual altitudes. A Dynamics Code The feature default is LAND mode, where the receiver assumes a moderate dynamic environment. In this case, the satellite search and re-acquisition routines are optimized for vehicle type environments. In SEA mode, the search and re-acquisition routines assume a low acceleration environment and reverts to user entered altitude in 2-D auto. In AIR mode, the search and re-acquisition routines are optimized for high acceleration conditions. A Elevation Mask This is the minimum elevation angle for satellites to be used in a solution output by the receiver. Satellites which are near the horizon are typically more difficult to track due to signal attenuation, and are also generally less accurate due to higher variability in the ionospheric and tropospheric corruption of the signal. When there are no obstructions, the receiver can generally track a satellite down to near the horizon. However, when this mask is set too low, the receiver may experience frequent constellation switching due to low elevation satellites being obscured. Lassen iq GPS Receiver 99

A Trimble Standard Interface Protocol (TSIP) Frequent constellation switching is undesirable because position jumps may be experienced when SA is present and DGPS is not available to remove these effects. The benefit of a low elevation mask is that more satellites are available for use in a solution and a better PDOP may be yielded. The current mask is set to five degrees and provides a reasonable trade-off of the benefits and drawbacks. High accuracy users may prefer a mask angle around ten degrees, where the ionosphere and troposphere begin to be more predictable A Signal Level Mask This mask defines the minimum signal strength for a satellite used in a solution. There is some internal hysteresis on this threshold which allows brief excursions below the threshold if lock is maintained and the signal was previously above the mask. The factory default mask has been set to 2 (AMU). High accuracy users may use a slightly higher mask of , since weaker measurements may be slightly noisier and are often caused by reflected signals which provide erroneous ranges. One should also resist the temptation to set the elevation and SNR masks too low. The satellite geometry is sometimes improved considerably by selecting low elevation satellites. They are, however, subject to significant signal degradation by the greater ionospheric and tropospheric attenuation that occurs. They are also subject to more obscuration by the passing scenery when the receiver is in a moving vehicle. The code phase data from those satellites is therefore more difficult to decode and therefore has more noise. Note A level of hysteresis in the signal level mask is allowed in the core operating software. The hysteresis allows the receiver to continue using satellite signals which fall slightly below the mask and prevents the receiver from incorporating a new signal until the signal level slightly exceeds the mask. This feature minimizes constellation changes caused by temporary fluctuations in signal levels. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A DOP Mask and Switch The DOP mask is the maximum DOP limit for any 2-D or 3-D position solution will be made. The DOP switch is the level at which the receiver stops attempting a 3-D solution, and tries for a 2-D solution when in automatic 2-D, 3-D mode. The switch level has no effect in either manual mode. Raising the DOP mask will generally increase the fix density during obscuration, but the fixes with the higher DOP will be less accurate (especially with SA present). Lowering the mask will improve the average accuracy at the risk of lowering the fix density. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) APacket Descriptions A Command Packet 0x1E - Clear Battery Backup, then Reset This packet commands the GPS receiver to clear all battery back-up data and to perform a software reset. This packet contains one data byte. Table A Command Packet 0x1E Format Byte Item Type Value Definition 0 Reset mode UINT 8 0x4B 0x46 Cold start: Erase BBRAM and restart Factory reset: Erase BBRAM and Flash and restart Warning All almanac, ephemeris, current position, mode, and communication port setup information is lost when executing the Factory Reset command. In normal use this packet should not be sent. Warning It is very helpful to keep a fresh copy of the current almanac, which is stored in the file sprers.eu collected by the iq_chat command!. This allows near-instantaneous recuperation by the receiver in case of power loss or clearing of battery-backed memory by using the iq_chat to load it back into the receiver memory. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x1F - Request Software Versions This packet requests information about the version of software running in the Navigation and Signal Processors. This packet contains no data. The GPS receiver returns Packet 0x A Command Packet 0x21 - Request Current Time This packet requests current GPS time. This packet contains no data. The GPS receiver returns Packet 0x A Command Packet 0x23 - Initial Position (XYZ Cartesian ECEF) This packet provides the GPS receiver with an approximate initial position in XYZ coordinates. This packet is useful if the user has moved more than about 1, miles since the previous fix. (Note that the GPS receiver can initialize itself without any data from the user; this packet merely reduces the time required for initialization.) This packet is ignored if the receiver is already calculating positions. The data format is shown below. Note To initialize using the Latitude-Longitude-Altitude representation, use Command Packet 0x2B. Table A Command Packet 0x23 Data Format Byte Item Type Units X Single Meters Y Single Meters Z Single Meters Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x24 - Request GPS Receiver Position Fix Mode This packet requests current position fix mode of the GPS receiver. This packet contains no data. The GPS receiver returns Packet 0x6D. A Command Packet 0x25 - Initiate Soft Reset & Self Test This packet commands the GPS receiver to perform a software reset. This is equivalent to cycling the power. The GPS receiver performs a self-test as part of the reset operation. This packet contains no data. Following completion of the reset, the receiver will output the start-up messages (see Table A.4). The GPS receiver sends Packet 0x45 only on power-up and reset (or on request); thus if Packet 0x45 appears unrequested, then either the GPS receiver power was cycled or the GPS receiver was reset. A Command Packet 0x26 - Request Health This packet requests health and status information from the GPS receiver. This packet contains no data. The GPS receiver returns Packet 0x46 and 0x4B. A Command Packet 0x27 - Request Signal Levels This packet requests signal levels for all satellites currently being tracked. This packet contains no data. The GPS receiver returns Packet 0x A Command Packet 0x2A - Altitude for 2-D Mode Reference Altitude is the altitude used for manual 2-D positions if the altitude flag is set. Altitude is in units of HAE WGS or MSL depending on the selected I/O options for the position. The Altitude Flag determines whether or not the Reference Altitude will be used. If set, it will be used. If cleared, altitude hold (last 3-D altitude) is used. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Note With no data byte, this packet requests the current values of these altitude parameters. In this case, the GPS receiver returns Packet 4A. This packet sets or requests the altitude parameters used for the Manual 2-D mode: Reference Altitude and Altitude Flag. Packet 0x4A (9 byte format) is returned. Table A Packet 0x2A Set Reference Altitude Description Byte Item Type Definition Altitude Single Reference altitude for 2- D Table A Packet 0x2A Clear Reference Altitude Description Byte Item Type Value Definition 0 Altitude Flag UINT8 0 x FF Clear Altitude flag Note With no data bytes, this packet requests the current values of these altitude parameters. In this case, the GPS receiver returns Packet 4A (9 byte format). Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x2B - Initial Position (Latitude, Longitude, Altitude) This packet provides the GPS receiver with an approximate initial position in latitude and longitude coordinates (WGS). This packet is useful if the user has moved more than about 1, miles since the previous fix. (Note that the GPS receiver can initialize itself without any data from the user; this packet merely reduces the time required for initialization.) This packet is ignored if the receiver is already calculating positions. The data format is shown in the table below. Table A Command Packet 0x2B Data Format Byte Item Type Units Latitude Single Radians, north Longitude Single Radians, east Altitude Single Meters Note To initialize with ECEF position, use Command Packet 0x A Command Packet 0x2D - Request Oscillator Offset This packet requests the calculated offset of the GPS receiver master oscillator. This packet contains no data. The GPS receiver returns Packet 0x4D. This packet is used mainly for service. The permissible oscillator offset varies with the particular GPS receiver unit. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x2E - Set GPS Time This packet provides the approximate GPS time of week and the week number to the GPS receiver. The GPS receiver returns Packet 0x4E. The data format is shown below. The GPS week number reference is Week # 0 starting January 6, The seconds count begins at the midnight which begins each Sunday morning. This packet is usually not required when the battery back-up voltage is applied as the internal clock keeps time to sufficient accuracy. This packet is ignored if the receiver has already calculated the time from tracking a GPS satellite. Note See report Packet 41 for information on the Extended GPS week number. Table A Command Packet 0x2E Data Formats Byte Item Type Units GPS time of week Single Seconds Extended GPS week number INT16 Weeks Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x31 - Accurate Initial Position (XYZ Cartesian ECEF) This packet is identical in content to Packet 0x This packet provides an initial position to the GPS receiver in XYZ coordinates. However, the GPS receiver assumes the position provided in this packet to be accurate. This packet is used for satellite acquisition aiding in systems where another source of position is available. For acquisition aiding, the position provided by the user to the GPS receiver in this packet should be accurate to a few kilometers. For high-accuracy time transfer, position should be accurate to a few meters. Table A Command Packet 0x31 Data Format Byte Item Type Units X-axis Single Meters Y-axis Single Meters Z-axis Single Meters Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x32 - Accurate Initial Position, (Latitude, Longitude, Altitude) This packet is identical in content to Packet 0x2B. This packet provides the GPS receiver with an accurate initial position in latitude, longitude, and altitude coordinates. However, the GPS receiver assumes the position provided in this packet to be accurate. This packet is used for satellite acquisition aiding in systems where another source of position is available. For acquisition aiding, the position provided by the user to the GPS receiver in this packet should be accurate to a few kilometers. For high-accuracy time transfer, position should be accurate to a few meters. Table A Command Packet 0x32 Data Format Byte Item Type Units Latitude Single Radians, North Longitude Single Radians, East Altitude Single Meters Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x35 - Set Request I/O Options This packet requests the current I/O options and allows the I/O options to be set. To request the options settings without any changes, send the packet with no data bytes. To change the options settings, include four data bytes with the values. The I/O options, their default settings, and the byte values for all possible configurations are shown below. The Set/Request I/O options are stored in battery-backed memory. To store them in non-volatile RAM (Flash), use the 0x8E command. The GPS receiver returns Packet 0x These abbreviations are used in the following table: ALT Altitude ECEF Earth-centered, Earth-fixed XYZ Cartesian Coordinates LLA Latitude, Longitude, Altitude HAW Height Above Ellipsoid WGS Earth Model (ellipsoid) MSL Geoid Mean Sea Level UTC Coordinated Universal Time Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table Command Packets 0x35 and 0x55 Data Descriptions Byte Bit Item Type Value Definition Position 0 0 (LSB) XYZ ECEF Bit 0 1 XYZ ECEF output off XYZ ECEF output on 1 LLA Output Bit 0 1 LLA output off LLA output on 2 LLS ALT Output Bit 0 1 HAE (See Note) MSL geoid 3 ALT input Bit 0 1 HAE (See Note) MSL geoid 4 Precision-ofposition output Bit 0 1 Send single-precision packet Send double-precision packet 5 Super Packet Output Bit Reserved Velocity 1 0 XYZ ECEF Bit ENU Output Bit Reserved Timing 2 0 Time Type Bit Reserved Output no Super Packets Output all enabled Super Packets XYZ ECEF output off XYZ ECEF output on ENU output off ENU output on GPS Time UTC Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table Command Packets 0x35 and 0x55 Data Descriptions Byte Bit Item Type Value Definition PPS Mode Bits Reserved Auxiliary/Pseudo Range Measurements 3 0 Raw Bit 0 Measuring 1 1 Raw/Filtered Bit Reserved 3 Output db Hz Bit 0 instead of AMU Reserved Always On Fix Based Always Off Reserved Raw measurements off Raw measurements on Raw PR s in 5A Filtered PR s in 5A Output AMUs Output db Hz Notes In the current version of the Lassen iq GPS, the input and output HAE altitude is in the WGS datum. Packet 8E must be used to specify which Super Packet is to be output. The Lassen iq GPS supports automatic output of 0x5A messages for backwards compatibility with older TSIP applications. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x37 - Request Status and Values of Last Position and Velocity This packet requests information regarding the last position fix and is only used when the receiver is not automatically outputting positions. The GPS receiver returns Report Packet 0x57 followed by the position/velocity packets specified in Command Packet 0x A Command Packet 0x38 - Request/Load Satellite System Data This packet requests current satellite data (almanac, ephemeris, etc.) or permits loading initialization data from an external source (for example, by extracting initialization data from an operating GPS receiver unit via a data logger or computer and then using that data to initialize a second GPS receiver unit). The GPS receiver returns Packet 0x (Note that the GPS receiver can initialize itself without any data from the user; it merely requires more time.) To request data without loading data, use only bytes 0 through 2; to load data, use all bytes. Before loading data, observe the caution notice below. The data formats are located in Report Packet 0x Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A Command Packet 0x38 Data Formats Byte Item Type Value Definition 0 Operation UINT Type of data UINT Sat PRN# UINT Request data from Lassen iq GPS receiver; Load data into Lassen iq GPS receiver Almanac Health page, T_oa, WN_oa Ionosphere UTC Ephemeris Data that is not satellite - ID specific Satellite PRN number 3 Length (n) UINT8 Number of bytes of data to be loaded 4 to n+3 Data UINT8 Satellite data Warning Proper structure of satellite data is critical to Lassen iq GPS receiver operation. Requesting data is not hazardous; Loading data improperly is hazardous. Use this packet only with extreme caution. The data should not be modified in any way. It should only be retrieved and stored for later download. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x3C - Request Current Satellite Tracking Status This packet requests the current satellite tracking status. The GPS receiver returns Packet 0x5C if data is available. Table A Command Packet 0x3C Data Format Byte Item Type Value Definition 0 Satellite # UINT All satellites in the current tracking set desired satellite A Report Packet 0x41 - GPS Time This packet provides the current GPS time of week and the week number. The GPS receiver sends this packet in response to Packet 0x21 and during an automatic packets update cycle. Update cycles occur approximately every 5 seconds. The data format is shown below. Table A Report Packet 0x41 Data Formats Byte Item Type Units GPS time of week Single seconds Extended GPS week number INT16 weeks GPS UTC offset Single seconds Note UTC time lags behind GPS time by an integer number of seconds; UTC = (GPS time) - (GPS UTC offset). Warning GPS week number runs from 0 to and then cycles back to week #0. week # 0 began January 6, The first cycle back to week #0 was on August 22, The extended GPS week number however, does not cycle back to 0. For example: the week # for August 22, = ; the Week # for April 1, = Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) The seconds count begins with 0 each Sunday morning at midnight GPS time. A negative indicated time-of-week indicates that time is not yet known; in that case, the packet is sent only on request. The following table shows the relationship between the information in Packet 0x41, and the Packet 0x46 status code. Table A Packets 0x41 and 0x46 Status Code Relationships Approximate Time Accuracy Time Source Sign (TOW) Packet 46 Status Code none no time at all - 0x01 unknown msec + clock drift approximate time from real-time clock or Packet 2E + 0x01 time from satellite + 0xx0C full accuracy time from GPS solution + 0x00 Note Before using the GPS time from Packet 0x41, verify that the Packet 0x46 status code is 00 ( Doing position fixes ). This will ensure the most accurate GPS time. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x42 - Single-Precision Position Fix, XYZ ECEF This packet provides current GPS position fix in XYZ ECEF coordinates. If the I/O position option is set to XYZ ECEF (byte 0: bit 0, Packet 0x35)and the I/O Precision-of-Position Output (byte 0: bit 4, Packet 0x35) is set to single-precision, then the GPS receiver sends this packet each time a fix is computed. The data format is shown below. Table A Report Packet 0x42 Data Formats Byte Item Type Units X Single meters Y Single meters Z Single meters Time-of-fix Single seconds The time-of-fix is in GPS time or UTC as selected by the I/O timing option. Packet 83 provides a double-precision version of this information. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x43 - Velocity Fix, XYZ ECEF This packet provides current GPS velocity fix in XYZ ECEF coordinates. If the I/O velocity option is set to XYZ ECEF (byte 1, bit 0, Packet 0x35), then the GPS receiver sends this packet each time a fix is computed. The data format is shown below. Table A Report Packet 0x43 Data Formats Byte Item Type Units X velocity Single meters/second Y velocity Single meters/second Z velocity Single meters/second bias rate Single meters/second time-of-fix Single seconds The time-of-fix is in GPS time or UTC as selected by the I/O timing option (byte 2, bit 0, Packet 0x35). Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x45 - Software Version Information This packet provides information about the version of software in the Navigation and Signal Processors. The GPS receiver sends this packet after power-on and in response to Packet 0x1F. Table A Report Packet 0x45 Data Formats Byte Item Type 0 Major version number UINT8 1 Minor version number UINT8 2 Month UINT8 3 Day UINT8 4 Year number minus UINT8 5 Major revision number UINT8 6 Minor revision number UINT8 7 Month UINT8 8 Day UINT8 9 Year number minus UINT8 The first 5 bytes refer to the Navigation Processor and the second 5 bytes refer to the Signal Processor. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x46 - Health of Receiver This packet provides information about the satellite tracking status and the operational health of the receiver. The receiver sends this packet after power-on or software-initiated resets, in response to Packet 0x26 and, every five seconds. Packet 0x4B is always sent along with this packet. Note If receiver status changes between five second outputs, no notification is given until the next cycle. Table A Report Packet 0x46 Data Formats Byte Bit Item Type Value Definition 0 Status code UINT8 0x00 0x01 0x02 0x03 0x08 0x09 0x0A 0x0B 0x0C Doing position fixes Don't have GPS time yet Need initialization (0=normal, 1=shutdown due to RF initialization timeout) PDOP is too high No usable satellites Only 1 usable satellite Only 2 usable satellites Only 3 usable satellites The chosen satellite is unusable 1 0 Battery backup 1 4 Antenna feedline fault Bit 0 1 Bit 0 1 OK BBRAM was not available at start-up OK Short or open detected 1 5 Type of fault Bit 0 1 Open detected Short detected The error codes in Byte 1 of Packet 0x46 are encoded into individual bits within the byte. The bit positions are shown below. Note After status is detected, it s bit remains set until the receiver is reset. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x47 - Signal Levels for all Satellites This packet provides received signal levels for all satellites currently being tracked or on which tracking is being attempted (i.e., above the elevation mask and healthy according to the almanac). The receiver sends this packet only in response to Packet 0x The data format is shown below. Table A Report Packet 0x47 Data Formats Byte Item Type 0 Count UINT8 1 Satellite number 1 UINT8 Signal level 1 Single 6 Satellite number 2 UINT Signal level 2 Single (etc.) (etc.) (etc.) Up to 12 satellite number/signal level pairs may be sent, indicated by the count field. Signal level is normally positive. If it is zero then that satellite has not yet been acquired. If it is negative then that satellite is not currently in lock. The absolute value of signal level field is the last known signal level of that satellite. Note The signal level provided in this packet is a linear measurement of the signal strength after correlation or de-spreading. Units, either AMU or dbhz, are controlled by Packet 0x Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x4A - 20 Byte Format This packet provides current GPS position fix in LLA (latitude, longitude, and altitude) coordinates. If the I/O Position option is set to LLA and the I/O Precision-of-Position Output is set to singleprecision (all controlled by Packet 35), then the receiver sends this packet each time a fix is computed. Command Packet 35 controls position output (XYZ or LLA) and (single or double) output precision. The data format is shown in below. Table A Report Packet 0x4A Data Formats Byte Item Type Units Latitude Single radians; + for north, - for south Longitude Single radians; + for east, - for west Altitude Single meters (HAE or MSL) Clock Bias Single meters Time-of-Fix Single seconds (GPS or UTC) The default altitude conversion is WGS Altitude is referred to the datum ellipsoid or the MSL Geoid, depending on which I/O LLA altitude option is selected. The time-of-fix is in GPS time or UTC, depending on which I/O timing option is selected. This packet also is sent at start-up with a negative time-of-fix to report the current known position. Packet 0x84 provides a double-precision version of this information Warning When converting from radians to degrees, significant and readily visible errors will be introduced by use of an insufficiently precise approximation for the constant PI). The value of the constant PI as specified in ICD-GPS is Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x4A - 9 Byte Format Report Packet 0x4A is also sent in response to the setting or requesting of the Reference Altitude Parameters using Command Packet 0x2A. These parameters can be used in the Manual 2-D mode. Reference Altitude The altitude used for manual 2-D positions if the altitude flag is set. Altitude is in units of HAE WGS or MSL depending on the selected I/O options set for positioning with Command Packet Altitude Flag A flag that determines whether or not the Reference Altitude will be used. If set, it will be used. If cleared, altitude hold (last 3-D altitude) will be used. The data format is shown in the following table. Table A Reference Altitude Byte Item Type Units Reference Altitude Single Meters Reserved Single 8 Altitude flag UINT8 Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x4B - Machine/Code ID and Additional Status The receiver transmits this packet in response to packets 0x25 and 0x26 and following a change in state. In conjunction with Packet 0x46, health of receiver, this packet identifies the receiver and may present status messages. The machine ID can be used by equipment communicating with the receiver to determine the type of receiver to which the equipment is connected. Then the interpretation and use of packets can be adjusted accordingly. Table A Report Packet 0x4B Data Formats Byte Item Type/ Definition 0 Machine ID UINT8 Receiver dependent 1 Status 1 UINT8 See Table A 2 Status 2 UINT8 Bit 0 = Super packets supported The status codes are encoded into individual bits within the bytes. The bit positions and their meanings are listed in the table below. Table A Status 1 Bit Positions Report Packet 0x4B Bit Positions and Descriptions Meaning if bit value = 1 0 (LSB) Not used 1 Real-time Clock was not available at power-up. 2 Not used 3 The almanac stored in the receiver is not complete and current. Not used Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x4D - Oscillator Offset This packet provides the current value of the receiver master oscillator offset in Hertz at carrier. This packet contains one single precision number. The receiver sends this packet in response to Packet 0x2D. The permissible offset varies with the receiver unit. A Report Packet 0x4E - Response to Set GPS Time Indicates whether the receiver accepted the time given in a Set GPS time packet. the receiver sends this packet in response to Packet 0x2E. This packet contains one byte. Table A Value ASCII Y ASCII N Report Packet 0x4E Data Formats Meaning The receiver accepts the time entered via Packet 2E. The receiver has not yet received the time from a satellite. The receiver does not accept the time entered via Packet 2E. The receiver has received the time from a satellite and uses that time. The receiver disregards the time in Packet 0x 2E. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x55 - I/O Options These abbreviations apply to the following table: ALT (Altitude), ECEF (Earth-centered, Earth-fixed), XYZ (Cartesian coordinates), LLA (latitude, longitude, altitude), HAE (height above ellipsoid), WGS (Earth model (ellipsoid)), MSL geoid (Earth (mean sea level) mode), and UTC (coordinated universal time). Table A Command Packets 0x55 and 0x35 Data Descriptions Byte Bit Item Type Value Definition Position 0 0 XYZ ECEF Bit LLA Output Bit LLA ALT Output Bit ALT input Bit Precision-ofposition output 0 5 Super Packet Output reserved Bit 0 1 Bit 0 1 XYZ ECEF output off XYZ ECEF output on LLA output off LLA output on HAE (WGS datum) MSL geoid HAE (WGS datum). MSL geoid Send single-precision packet. Send double-precision packet. Output no Super Packets. Output all enabled Super Packets. Velocity 1 0 XYZ ECEF Bit ENU output Bit reserved XYZ ECEF output off XYZ ECEF output on ENU output off ENU output on Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Command Packets 0x55 and 0x35 Data Descriptions (Continued) Byte Bit Item Type Value Definition Timing 2 0 Time Type Bit reserved GPS time UTC Auxiliary / Range Measurements 3 0 Raw measuring Bit Raw / Filtered Bit reserved 3 3 Output db Hz instead of AMU reserved Bit 0 1 Raw measurements off Raw measurements on Raw PR s in 0x5A Filtered PR s in 0x5A Output db Hz Output AMU s Notes See the associated superpacket output, described later in this appendix. Packet 8E must be used to specify which superpacket is to be output. Automatic output of 0x5A raw measurement messages is supported in the Lassen iq GPS receiver for backwards compatibility with older TSIP applications. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x56 - Velocity Fix, East-North-Up (ENU) If East-North-Up (ENU) coordinates have been selected for the I/O velocity option (see Packet 0x35), the receiver sends this packet under the following conditions: Each time that a fix is computed In response to Packet 0x37 (last known fix) The data format is shown below. Table A Report Packet 0x56 Data Formats Byte Item Type Units East Velocity Single m/s; + for east, - for west North Velocity Single m/s; + for north, - for south Up Velocity Single m/s; + for up, - for down Clock Bias Rate Single m/s Time-of-Fix Single seconds (GPS or UTC) The time-of-fix is in GPS or UTC time as selected by the I/O timing option. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x57 - Information About Last Computed Fix This packet provides information concerning the time and origin of the previous position fix. The receiver sends this packet, among others, in response to Packet 0x The data format is shown below. Table A Report Packet 0x57 Data Formats Byte Item Type Units Byte 0 Value/Velocity 0 Source of information 1 Mfg. diagnostic UINT8 -- UINT temporary no fix 01 good current fix Time of last fix Single seconds, GPS time Week of last fix INT16 weeks, GPS time Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x58 - Satellite System Data/Acknowledge from Receiver This packet provides GPS data (almanac, ephemeris, etc.). The receiver sends this packet in response to Packet 0x38 (acknowledges the loading of data). The data format is shown below. Table A Report Packet 0x58 Data Formats Byte Item Type Value Definition 0 Operation UINT Type of data UINT Sat PRN# UINT Request data from receiver; Load data into receiver Almanac Health page, T_oa, WN_oa Ionosphere UTC Ephemeris Data that is not satellite - ID specific satellite PRN number 3 Length (n) UINT8 Number of bytes of data to be loaded 4 to n+3 Data Note If data is not available, byte 3 is set to 0 and no data is sent. The binary almanac, health page, and UTC data streams are similar to Report Packets 0x40, 0x49, and 0x4F respectively, but these reports are preferred. To get ionosphere or ephemeris, this report must be used. Note Ephemeris cannot be loaded into Lassen iq GPS receiver. Table A Report Packet 0x58 Almanac Data Byte Item Type Definition / ICD-GPS t_oa_raw UINT8 Sec SV_HEALTH UINT8 Sec e Single Sec t_oa Single Sec Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Report Packet 0x58 Almanac Data i_o Single Sec OMEGADOT Single Sec sqrt_a Single Sec OMEGA_0 Single Sec omega Single Sec M_0 Single Sec a_f0 Single Sec a_f1 Single Sec Axis Single Sec n Single Sec OMEGA_n Single Sec ODOT_n Single Sec t_zc Single Sec see Note weeknum INT16 Sec wn_oa INT16 Sec Note 1 All angles are in radians. Note 2 If data is not available, t_zc is set to Table A Report Packet 0x58 Almanac Health Data Byte Item Type Definition/ ICD-GPS week # for health UINT8 Sec SV_health UINT8 Sec t_oa for health UINT8 Sec current t_oa UINT8 units = seconds/ current week # INT16 Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A Byte Item Type Definition / IDC-GPS not used alpha_0 Single Sec alpha_1 Single Sec alpha_2 Single Sec alpha_3 Single Sec beta_0 Single Sec beta_1 Single Sec beta_2 Single Sec beta_3 Single Sec Table A Byte Item Type Definition / IDC-GPS not used A_0 Double Sec A_1 Single Sec delta_t_ls Integer Sec t_ot Single Sec WN t Integer Sec WN_LSF Integer Sec DN Integer Sec delta_t_lsf Integer Sec Table A Byte Item Type Definition / IDC -GPS sv_number UINT8 SV PRN number t_ephem Single time of collection weeknum INT16 Sec , Table I Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A (Continued) Byte Item Type Definition / IDC -GPS codel2 UINT8 Sec , Table I 12 L2Pdata UINT8 Sec , Table I 13 SVacc_raw UINT8 Sec , Table I 14 SV_health UINT8 Sec , Table I IODC INT16 Sec , Table I T_GD Single Sec , Table I t_oc Single Sec , Table I a_f2 Single Sec , Table I a_f1 Single Sec , Table I a_f0 Single Sec , Table I SVacc Single Sec , Table I 41 IODE UINT8 Sec fit_interval UINT8 Sec C_rs Single Sec delta_n Single Sec M_0 Double Sec C_uc Single Sec , radians e Double Sec C_us Single Sec , radians sqrt_a Double Sec t_oe Single Sec C_ic Single Sec , radians OMEGA_0 Double Sec C_is Single Sec , radians i_0 Double Sec C_rc Single Sec Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A (Continued) Byte Item Type Definition / IDC -GPS omega Double Sec OMEGADOT Single Sec IDOT Single Sec Axis Double = (sqrt_a) n Double derived from delta_n r1me2 Double = sqrt(e 2 ) OMEGA_n Double derived from OMEGA_0, OMEGADOT ODOT_n Double derived from OMEGADOT Note All angles are in radians. A Report Packet 0x5C - Satellite Tracking Status This packet provides tracking status data for a specified satellite. Some of the information is very implementation-dependent and is provided mainly for diagnostic purposes. The receiver sends this packet in response to Packet 0x3C. The data format is shown below. Table A Report Packet 0x5C Data Formats Byte Bit Item Type Value Definition 0 Satellite PRN number UINT8 number reserved Bits reserved Channel Bits Acquisition flag UINT Never acquired Acquired Re-opened search Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Report Packet 0x5C Data Formats (Continued) Byte Bit Item Type Value Definition 3 Ephemeris flag UINT Signal level Single Same as in Packet 0x GPS time of last measurem ent 51 Single <0 >0 Flag not set Ephemeris is decoded Ephemeris is decoded and healthy Ephemeris is decoded, good and used in the current position fix Ephemeris is decoded, good, used in the fix, and a DGPS correction is available (only relevant if DGPS is enabled in the firmware) No measurements have been taken. Center of the last measurement taken from this satellite Elevation Singles radians Approximate elevation of this satellite above the horizon. Updated about every 15 sec.s. Used for searching and computing measurement correction factors Azimuth Single radians Approximate azimuth from true north to this satellite. Updated typically about every 3 to 5 minutes. Used for computing measurement correction factors reserved UINT8 0 Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x60 - Type 1 Differential GPS Corrections This packet provides the Lassen iq GPS with differential corrections from RTCM SC record types 1 and 9, in the TSIP format. There is no response to this packet. If bit 6 is set, the corrections are as in RTCM Type 9 records. The data format is shown below. Table A Command Packet 0x60 Data Formats Byte Bit Item Type Value Definition Modified z-count UINT SEC 2 Station health UINT Number of SVs in packet Bits Type 9 flag Bit 0 type 1 1 Type Version 2 flag Bit 1 must be set Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A The next 5 bytes are repeated as a group for each satellite. The SV PRN and scale factor contains the SV PRN in the lower 5 bits, and the scale factor in the upper 3 bits. Range corrections are scaled by meters times 2 raised to the scale factor power. Range-rate corrections are scaled by meters per second times 2 raised to the scale factor power. The data format is shown below. Table A Command Packet 0x60 Data Formats Byte Bit Item Type Value Definition 4+ (N*5) SV PRN is SV (N*5) Scale factor 0 Low scale factor (m, m/s) 5+ (N*5) Number of SVs in packet Bits 4 7 High scale factor (m, m/s) Correction not usable RTCM (N*5) Type 9 flag Bit RTCM (N*5) Version 2 flag Bit Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x62 - Set/Request Differential Position Fix Mode Note This command packet has been replaced by command packet 0xBB. Although the Lassen iq GPS retains compatibility with this command, it is recommended that you use the 0xBB command packet to set the Differential Fix Mode. This packet requests the Differential Position Fix Mode of the GPS receiver. A single data byte is sent. To request report packet 0x82, the data byte is set to 0xFF. A Command Packet 0x65 - Set/Request Differential Position Fix Mode This packet requests the status of differential corrections for a specific satellite or for all satellites for which data is available. This packet contains only one byte specifying the PRN number of the desired satellite or zero to request all available. The response is a packet 0x85 for each satellite if data is available. If the receiver has not valid data for any satellite, no reply will be sent. Note TSIP packet 0x65 is not functional in the Lassen iq GPS firmware release Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x6D - All-In-View Satellite Selection This packet provides a list of satellites used for position fixes by the GPS receiver. The packet also provides the PDOP, HDOP, and VDOP of that set and provides the current mode (automatic or manual, 3-D or 2-D). This packet has variable length equal to 16+nSVs where nsvs is the number of satellites used in the solution. The GPS receiver sends this packet in response to Packet 0x The data format is shown below. Table A Report Packet 0x6D Data Formats Byte Bit Item Type Value Definition Dimension UINT D 3D Auto Manual nsvs PDOP Single PDOP HDOP Single HDOP VDOP Single VDOP TDOP Single TDOP (16+nSVvs) SV PRN UINT8 Note The Lassen iq GPS receiver sends this packet automatically after a position fix or every second if no position fix occurs. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x69 - Set/Request Enhanced Sensitivity Mode The Lassen iq GPS receiver is configured at the factory with the Enhanced Sensitivity feature Off. There are several ways to turn the Enhanced Sensitivity feature on: The iq_chat program found in the iq Starter Kit. The iq_monitor program found in the iq Starter Kit. The TSIP command packet 0x69 (receiver responds with packet 0x89). The data format is shown below. Table ACommand Packet 0x69 Data Format Byte Item Type Units Byte 0 Value/Velocity 0 Enhanced Sensitivity Mode 1 Reserved Byte 0 1 Off (Standard) Enhanced Note A soft reset is required to make the switch to Enhanced Sensitivity effective. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, save the setting to flash memory using TSIP command packet 8E Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x70 - Filter Control Trimble OEM receivers have a number of filters. Command 0x70 provides control for these filters. It returns Report 0x There are three filters associated with 0x Position-Velocity (PV) Filter Static Filter Altitude Filter The Position-Velocity (PV) Filter is the main filter and is used to soften the effect of constellation switches on position fixes. The filter has virtually no effect on velocity output and there is no lag due to vehicle dynamics. There may be a small increase in accuracy however. A feature of the PV filter is the Static Filter which engages when the receiver is moving very slowly. This feature improves accuracy in the urban environment. The static filter should be turned off for the following applications: Slow-moving environments such as walking or drifting with the current When rooftop testing of receivers for moving applications The altitude filter is a simple averaging filter with a time constant of a few seconds. It should be left on in marine and land applications. To query for the current settings, use Command Packet 0x70 with no databytes. To input new settings, Command Packet 0x70 is sent with four data bytes. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A Command Packet 70 Data Formats Byte Item Type Value Definition 0 Position Velocity Filter UINT Static Filter UINT Altitude Filter UINT Reserved UINT8 reserved Off On Off On Off On A Report Packet 0x70 This report is sent as a response to Command Packet 0x70 as either a query or a set. It contains four bytes, as shown in Table A Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x7A The NMEA message determines whether or not a given NMEA message will be output. If the bit for a message is set, the message will be sent every interval second. Use the values shown below to determine the NMEA interval and message mask. While fixes are being generated, the output order is: ZDA, GGA, GLL, VTG, GSA, GSV, RMC. Table A Command Packet 0x7A and Report Packet 0x7B Data Formats Byte Bit Item Type Value Definition 0 Subcode UINT8 0 1 Interval UINT Fix interval in seconds 2 Reserved UINT8 0 3 Reserved UINT RMC Bit Reserved Bit GGA Bit GLL Bit VTG Bit GSV Bit GSA Bit ZDA Bit Reserved Bit 0 Off On Off On Off On Off On Off On Off On Off On Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x7B This packet provides the NMEA settings and interval. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A TAIP Message Output (Packet 0x7E) TSIP packet 0x7E is a new command added to Lassen iq GPS for setting up the output configuration for TAIP messages. This packet expands the features similar to what have been provided by packet 0x8E, which can be found in some older generation Trimble receiver products.(the Lassen iq GPS does not support the 0x8E command). The settings provided by the packet can be divided into 4 groups: 1. Reporting Flags byte 1. For information on the RM command, see Appendix A in the Lassen iq GPS Receiver System Designer Reference Manual. 2. The Top-of-Hour Offset byte 2,3. This setting applies to all eight messages included in this packet. (If different values have to be applied to each message individually, use the Time- Distance feature from TAIP protocol.) 3. Automatic Output Intervals for the 8 commonly used messages bytes Device ID bytes This packet provides the capability to set the output frequencies for the eight commonly used messages individually. This is the same as the F<message type><output interval> command in TAIP. In contrast to packet 0x8E, the settings in this packet are not just for the so-called Heartbeat messages, meaning the output frequency settings are not only applied when the receiver is not generating a position fix. In practice, this packet provides a comprehensive but straightforward means to set up the TAIP output configuration. It can also be used to reset the output configuration. For example, if any of these eight messages was set up as Time-Distance mode from the TAIP protocol, this packet would reset any such message back to plain periodic output mode or no automatic output mode (frequency=0). Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) For customization, the settings in this packet can be stored into the Flash by either TSIP packet 0x8E or TAIP command SRTSAVE_CONFIG. The flash storage commands store the latest output configuration which may be set up by either this packet or any other commands from the TAIP protocol. For example, if this packet was executed first from the TSIP protocol and then the Lassen iq GPS was switched to TAIP protocol and the output settings were changed (e.g. changed to Time-Distance mode), or vise-versa, then the latest settings would be stored into the Flash (when the flash storage command is used). Table TAIP Packet 0 x 7E Byte Bit Item Type Value Definition Default 0 Subcode UINT8 0 Setting the packet ID Flag Bit 0/1 On/Off 0 1 CS Flag Bit 0/1 On/Off 1 2 EC Flag Bit 0/1 On/Off 1 3 FR Flag Bit 0/1 On/Off 1 4 CR Flag Bit 0/1 On/Off Reserved 2,3 TOH UINT Top of hour offset 0 4,5 AL output period CP output period 8,9 ID output period 10,11 LN output period 12,13 PV output period 14,15 ST output period UINT Auto output period for AL (sec) 0 (see note) UINT Auto output period for CP (sec) 0 UINT Auto output period for ID (sec) 0 UINT Auto output period for LN (sec) 0 UINT Auto output period for PV (sec) 0 UINT Auto output period for ST (sec) Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table TAIP Packet 0 x 7E Byte Bit Item Type Value Definition Default 16,17 TM output period UINT Auto output period for TM (sec) 0 18,19 VR output UINT Auto output period for VR (sec) 0 period Veh ID String See TAIP ID Vehicle ID Note 0 second period means the corresponding message is not to be output at all. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x82 - Differential Position Fix Mode This packet provides the differential position fix mode of the receiver. This packet contains only one data byte to specify the mode. The packet is sent in response to Packet 0x62 and whenever a satellite selection is made and the mode is Auto GPS / DGPS (modes 2 and 3). The receiver switches automatically between modes 2 and 3 based on the availability of differential corrections for a constellation which meets all other masks. If such a constellation is not available, then the receiver stays in its current automatic mode (2 or 3), and does not do position solutions. Valid modes are: Mode 0 Differential off (Manual GPS) The receiver does position solutions without differential corrections, even if the differential corrections are available. Mode 1 Mode 2 Mode 3 Differential on (Manual DGPS) The receiver only does position solutions if valid differential correction data are available. Differential currently off (Auto DGPS) The receiver is not receiving differential correction data for all satellites in constellation which meets all other masks, and is doing non-differential position solutions. Differential currently on (Auto DGPS) The receiver is receiving differential correction data for all satellites in a constellation which meets all other masks, and is doing differential position solutions. Note The Lassen iq GPS receiver sends this packet automatically after every position fix except when in Mode Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x83 - Double-Precision XYZ Position Fix and Bias Information This packet provides current GPS position fix in XYZ ECEF coordinates. If the I/O Position option is set to XYZ ECEF and the I/O Precision of Position option is set to Double (see Packet 0x35), the receiver sends this packet each time a fix is computed. The data format is shown below. Table A Report Packet 0x83 Data Formats Byte Item Type Units X Double meters Y Double meters Z Double meters clock bias Double meters time-of-fix Single seconds The time-of-fix is in GPS time or UTC, as selected by the I/O timing option. Packet 42 provides a single-precision version of this information. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x84 - Double-Precision LLA Position Fix and Bias Information This packet provides current GPS position fix in LLA coordinates. If the I/O Position option is set to LLA and the Precision of Position option is set to Double (see Packet 0x35), the receiver sends this packet each time a fix is computed. The data format is shown below. Table A Report Packet 0x84 Data Formats Byte Item Type Units latitude Double radians; + for north, - for south longitude Double radians; + for east, - for west altitude Double meters clock bias Double meters time-of-fix Single seconds The time-of-fix is in GPS time or UTC, as selected by the I/O timing option. Warning When converting from radians to degrees, significant and readily visible errors will be introduced by use of an insufficiently precise approximation for the constant p (PI). The value of the constant PI as specified in ICD-GPS is A Packets 0x8E and 0x8F - Superpacket See page for information on Packets 0x8E and 0x8F. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x89 - Set/Request Enhanced Sensitivity Mode The Lassen iq GPS receiver is configured at the factory with the Enhanced Sensitivity feature Off. There are several ways to turn the Enhanced Sensitivity feature On: The iq_chat program found in the iq Starter Kit. The iq_monitor program found in the iq Starter Kit. The TSIP command packet 0x69 (receiver responds with packet 0x89). The data format is shown below. Table A Command Packet 0x69 Data Format Byte Item Type Units Byte 0 Value/Velocity 0 Current Enhanced Sensitivity 1 Enhanced Sensitivity Mode after reset Byte 0 1 Byte 0 1 Off (Standard) On (Enhanced) Off (Standard) On (Enhanced) Note A soft reset is required to make the switch to Enhanced Sensitivity effective. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, save the setting to flash memory using TSIP command packet 8E Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0xBB - Navigation Configuration In query mode, Packet 0xBB is sent with a single data byte and returns Report Packet 0xBB. Note This Command Packet replaces Packets 0x2C, 0x62, 0x75, and 0x Table A Command Packet 0xBB Query Mode Data Format Byte # Item Type Value Definition Default 0 Subcode UINT8 0x00 Query mode TSIP Packet 0xBB is used to set GPS Processing options. The table below lists the individual fields within the 0xBB Packet. Table A Command and Report Packet 0xBB Field Descriptions Byte # Item Type Value Definition Default 0 Subcode UINT8 0x00 Query mode 0x03 1 Operating Dimension UINT DGPS Mode UINT or 3 3 Dynamics Code UINT Reserved Elevation Mask Single (radian) AMU Mask Single (AMU) Automatic (2D/3D) Horizontal (2D) Full Position (3D) DGPS Off DGPS Only DGPS Auto Land Sea Air Stationary Lowest satellite elevation for fixes Minimum signal level for fixes DOP Mask Single Maximum DOP for fixes Automatic DGPS Auto Land (5 o ) Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Command and Report Packet 0xBB Field Descriptions (Continued) Byte # Item Type Value Definition Default DOP Switch Single Selects 2D/3D mode DGPS Age Limit UINT (seconds) Reserved Maximum time to use a DGPS correction (seconds) 30 Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0xBC - Protocol Configuration TSIP Packet 0xBC is used to query the port characteristics. In query mode, Packet 0xBC is sent with a single data byte and returns Report Packet 0xBC. (See Table A.4 for information on saving the settings to non-volatile memory.) TSIP Packet 0xBC is used to set the communication parameters on Port 1. The table below lists the individual fields within the Packet 0xBC and provides query field descriptions. The BC command settings are retained in battery-backed RAM. Table A Command Packet 0xBC Port Characteristics Byte Bit Item Type Value Definition 0 Port to Set UINT xFF 1 Input Baud Rate UINT Port 1 Port 2 Current port Reserved Reserved Reserved baud baud baud baud baud 2 Output Baud Rate UINT 8 As above As above (Note 1) 3 # Data Bits UINT Parity UINT # Stop Bits UINT bits 8 bits None Odd Even 1 bit 2 bits 6 Flow Control UINT = none Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Command Packet 0xBC Port Characteristics (Continued) Byte Bit Item Type Value Definition 7 0 TAIP Bit TSIP input Bit Reserved 3 Reserved Reserved 8 0 TAIP Bit TSIP output Bit NMEA output Bit Reserved 9 Reserved Off On Off On Off On Off On Off On Note The Lassen iq GPS receiver requires that the input and output baud rates be identical. Warning TSIP input or output must have 8 databits (byte 3). Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) ATSIP Superpackets Several packets have been added to the core TSIP protocol to provide additional capability for OEM receivers. In OEM Packets 0x8E and their 0x8F responses, the first data byte is a sub-code which indicates the superpacket type. For example, in Packet 0x8E, 15 is the subcode that indicates the superpacket type. Therefore the ID code for OEM packets is 2 bytes long followed by the data. A Command Packet 8E-4A - Set/Request Lassen iq GPS Cable Delay Using this packet, you can query and control the Lassen iq GPS cable delay characteristics. The receiver responds to a query or control command with packet 8F-4A. The packet contains 16 bytes. Table Command Packet 8E-4A Byte Item Type Meaning 0 Sub-packet ID BYTE Always 0x4A 1 Reserved 2 Reserved 3 Reserved PPS Offset of Cable Delay DOUBLE Seconds (default=) Reserved Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x8E - Request Last Fix with Extra Information This packet requests Packet 0x8F or marks it for automatic output. If only the first byte (20) is sent, an 0x8F report containing the last available fix will be sent immediately. If two bytes are sent, the packet is marked/unmarked for auto report according to the value of the second byte as shown in below. 0x37 can also be used for requesting 0x8F if the 0x8F is scheduled for auto output. Table A Command Packet 0x8E Field Descriptions Byte Item Type Definition 0 Sub-packet id UINT8 0x20 1 Mark for Auto-report (See Packet 35 byte 0 bit 5) UINT8 0 = do not autoreport 1 = mark for autoreport Note Auto-report requires that superpacket output is enabled. Refer to Command Packet Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x8F - Last Fix with Extra Information (binary fixed point) This packet provides complete information about the current position velocity fix in a compact, fixed-length byte packet. The fields are fixed-point with precision matched to the receiver accuracy. It can be used for automatic position/velocity reports. The latest fix can also be requested by 0x8E or 0x37 sprers.eu data format is shown below. Table A Report Packet 0x8F Data Formats Byte Bit Item Type Value Definition 0 Sub-packet id UINT8 Id for this sub-packet (always 0x20) 1 KeyByte UINT8 Reserved for Trimble DGPS Post-processing. east velocity INT m/s or m/s See Note north velocity INT m/s or m/s See Note up velocity INT m/s or m/s See Note Time Of Week UINT32 GPS Time in milliseconds Latitude INT to 2 30 WGS latitude, semicircle ( ) Longitude UINT32 0 to 2 32 WGS latitude, semicircle ( ) Altitude INT32 Altitude above WGS ellipsoid, mm Velocity Scaling reserved 25 reserved m/s m/s 2 26 Datum Datum index + 1 0=unknown Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Report Packet 0x8F Data Formats (Continued) Byte Bit Item Type Value Definition 27 0 Fix Available Bit DGPS Corrected Bit Fix Dimension Bit Alt Hold Bit Filtered Bit reserved Yes No No Yes 3D 2D Last 3D Altitude User-entered altitude Unfiltered Filtered 28 NumSVs UINT8 Number of satellites used for fix. Will be zero if no fix avail. 29 UTC Offset UINT8 Number of leap seconds between UTC and GPS time Week INT16 GPS time of fix, weeks PRN 1 UINT PRN of first satellite reserved 33 IODE 1 UINT8 IODE of first satellite PRN 2 UINT PRN of second satellite reserved 35 IODE 2 UINT8 IODE of second satellite PRN 3 UINT PRN of third satellite reserved 37 IODE 3 UINT8 IODE of third satellite PRN 4 UINT PRN of fourth satellite reserved 39 IODE 4 UINT8 IODE of fourth satellite Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A Report Packet 0x8F Data Formats (Continued) Byte Bit Item Type Value Definition PRN 5 UINT PRN of fifth satellite reserved 41 IODE 5 UINT8 IODE of fifth satellite PRN 6 UINT PRN of sixth satellite reserved 43 IODE 6 UINT8 IODE of sixth satellite PRN 7 UINT PRN of seventh satellite reserved 45 IODE 7 UINT8 IODE of seventh satellite PRN 8 UINT PRN of eighth satellite reserved 47 IODE 8 UINT8 IODE of eighth satellite PRN 9 UINT PRN of ninth satellite reserved 49 IODE 9 UNIT8 IODE of ninth satellite PRN 10 UINT PRN of tenth satellite reserved 51 IODE 10 UNIT8 IODE of tenth satellite PRN 11 UINT PRN of eleventh satellite reserved 53 IODE 11 UNIT8 IODE of eleventh satellite PRN 12 UINT PRN of twelfth satellite reserved 55 IODE 12 UINT8 IODE of twelfth satellite Ionospheric parameters Note Velocity scale controlled by byte 24, bit 1. Overflow = 0x Lassen iq GPS Receiver

1 Lassen iq GPS Receiver System Designer Reference Manual Part Number Revision B April 2005

2 Corporate Office Trimble Navigation Limited Components Technologies Division 749 North Mary Avenue Post Office Box 3642 Sunnyvale, CA U.S.A. Phone: , Fax: Support Offices Trimble Navigation Limited Components Technologies Division 749 North Mary Avenue Post Office Box 3642 Sunnyvale, CA U.S.A. Phone: , Fax: Trimble Navigation Europe Limited Trimble House Meridian Office Park Osborn Way, Hook Hampshire RG27 9HX England Phone: Fax: Copyright and Trademarks 2005 Trimble Navigation Limited. All rights reserved. No part of this manual may be copied, reproduced, translated, or reduced to any electronic medium or machine-readable form for any use other than with the Lassen iq GPS Receiver. Release Notice This is the April 2005 release (Revision B) of the Lassen iq GPS Receiver System Designer Reference Manual, part number The following limited warranties give you specific legal rights. You may have others, which vary from state/jurisdiction to state/jurisdiction. Waste Electrical and Electronic Equipment (WEEE) Notice This Trimble product is furnished on an OEM basis. By incorporating this Trimble product with your finished goods product(s) you shall be deemed the producer of all such products under any laws, regulations or other statutory scheme providing for the marking, collection, recycling and/or disposal of electrical and electronic equipment (collectively, WEEE Regulations ) in any jurisdiction whatsoever, (such as for example national laws implementing EC Directive 2002/96 on waste electrical and electronic equipment, as amended), and shall be solely responsible for complying with all such applicable WEEE Regulations. Hardware Limited Warranty Trimble warrants that this Trimble hardware product (the Product ) shall be free from defects in materials and workmanship and will substantially conform to Trimble s applicable published specifications for the Product for a period of one (1) year, starting from the date of delivery. The warranty set forth in this paragraph shall not apply to software/firmware products. The Globe & Triangle logo, Trimble, Colossus, FirstGPS, and Lassen, are trademarks of Trimble Navigation Limited. The Sextant logo with Trimble is a trademark of Trimble Navigation Limited, registered in the United States Patent and Trademark Office. All other trademarks are the property of their respective owners.

3 Software and Firmware License, Limited Warranty This Trimble software and/or firmware product (the Software ) is licensed and not sold. Its use is governed by the provisions of the applicable End User License Agreement ( EULA ), if any, included with the Software. In the absence of a separate EULA included with the Software providing different limited warranty terms, exclusions, and limitations, the following terms and conditions shall apply. Trimble warrants that this Trimble Software product will substantially conform to Trimble s applicable published specifications for the Software for a period of ninety (90) days, starting from the date of delivery. Warranty Remedies Trimble's sole liability and your exclusive remedy under the warranties set forth above shall be, at Trimble s option, to repair or replace any Product or Software that fails to conform to such warranty ( Nonconforming Product ), or refund the purchase price paid by you for any such Nonconforming Product, upon your return of any Nonconforming Product to Trimble in accordance with Trimble s standard return material authorization procedures. Warranty Exclusions and Disclaimer These warranties shall be applied only in the event and to the extent that: (i) the Products and Software are properly and correctly installed, configured, interfaced, maintained, stored, and operated in accordance with Trimble s relevant operator's manual and specifications, and; (ii) the Products and Software are not modified or misused. The preceding warranties shall not apply to, and Trimble shall not be responsible for defects or performance problems resulting from (i) the combination or utilization of the Product or Software with products, information, data, systems or devices not made, supplied or specified by Trimble; (ii) the operation of the Product or Software under any specification other than, or in addition to, Trimble's standard specifications for its products; (iii) the unauthorized modification or use of the Product or Software; (iv) damage caused by accident, lightning or other electrical discharge, fresh or salt water immersion or spray; or (v) normal wear and tear on consumable parts (e.g., batteries). THE WARRANTIES ABOVE STATE TRIMBLE'S ENTIRE LIABILITY, AND YOUR EXCLUSIVE REMEDIES, RELATING TO PERFORMANCE OF THE PRODUCTS AND SOFTWARE. EXCEPT AS OTHERWISE EXPRESSLY PROVIDED HEREIN, THE PRODUCTS, SOFTWARE, AND ACCOMPANYING DOCUMENTATION AND MATERIALS ARE PROVIDED AS-IS AND WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND BY EITHER TRIMBLE NAVIGATION LIMITED OR ANYONE WHO HAS BEEN INVOLVED IN ITS CREATION, PRODUCTION, INSTALLATION, OR DISTRIBUTION, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT. THE STATED EXPRESS WARRANTIES ARE IN LIEU OF ALL OBLIGATIONS OR LIABILITIES ON THE PART OF TRIMBLE ARISING OUT OF, OR IN CONNECTION WITH, ANY PRODUCTS OR SOFTWARE. SOME STATES AND JURISDICTIONS DO NOT ALLOW LIMITATIONS ON DURATION OR THE EXCLUSION OF AN IMPLIED WARRANTY, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. TRIMBLE NAVIGATION LIMITED IS NOT RESPONSIBLE FOR THE OPERATION OR FAILURE OF OPERATION OF GPS SATELLITES OR THE AVAILABILITY OF GPS SATELLITE SIGNALS.

4 Limitation of Liability TRIMBLE S ENTIRE LIABILITY UNDER ANY PROVISION HEREIN SHALL BE LIMITED TO THE GREATER OF THE AMOUNT PAID BY YOU FOR THE PRODUCT OR SOFTWARE LICENSE OR U.S.$ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL TRIMBLE OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES WHATSOEVER UNDER ANY CIRCUMSTANCE OR LEGAL THEORY RELATING IN ANY WAY TO THE PRODUCTS, SOFTWARE, AND ACCOMPANYING DOCUMENTATION AND MATERIALS, (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS), REGARDLESS OF WHETHER TRIMBLE HAS BEEN ADVISED OF THE POSSIBILITY OF ANY SUCH LOSS AND REGARDLESS OF THE COURSE OF DEALING WHICH DEVELOPS OR HAS DEVELOPED BETWEEN YOU AND TRIMBLE. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

5 Table of Contents Table of Contents 1 Starter Kit Product Overview Starter Kit Receiver Performance Interface Protocols Ordering Starter Kit Components Starter Kit Interface Unit Power Hardware Setup Software Toolkit Hardware Integration General Description Connectors Power Requirements Serial Interface Serial Port Connections Pulse-Per-Second (PPS) Mounting GPS Antennas Software Interface Start-up Communicating with the Lassen iq GPS Receiver Port Protocol and Data Output Options Custom Port Configuration Timing Applications Known Anomalies in Firmware Release Operation and Performance Introduction GPS Satellite Message Satellite Acquisition and Time to First Fix Satellite Mask Settings Standard Operating Modes Lassen iq GPS Receiver

6 Table of Contents Differential GPS Operating Modes Position Accuracy Coordinate Systems Performance Characteristics Lassen iq GPS Receiver Sensitivity Modes Lassen iq GPS Receiver Aided GPS Feature GPS Timing Pulse-Per-Second (PPS) System Architecture A B Trimble Standard Interface Protocol (TSIP) Interface Scope Packet Structure Automatic Output Packets Customizing Receiver Operations Automatic Position and Velocity Reports Initialization Packets to Speed Start-up Packets Output at Power-Up Timing Packets Satellite Data Packets Backwards Compatibility Recommended TSIP Packets Command Packets Sent to the Receiver Report Packets Sent by the Receiver to the User Key Setup Parameters or Packet BB Packet Descriptions TAIP Message Output (Packet 0x7E) TSIP Superpackets TSIP Tool kit User s Guide iq_monitor Lassen iq GPS Receiver

7 Table of Contents C Trimble ASCII Interface Protocol (TAIP) Message Format Sample PV Message Time and Distance Reporting Latitude and Longitude Conversion Message Data Strings Communication Scheme for TAIP D GPSSK User s Guide (TAIP) E NMEA 0183 The NMEA 0183 Communication Interface NMEA 0183 Message Format Field Definitions NMEA 0183 Message Options NMEA 0183 Message Formats Exception Behavior F G Specifications and Mechanical Drawings Lassen iq GPS Receiver Specifications Ultra Compact Embedded Antenna Compact Magnetic Mount Antenna Compact Unpackaged Antenna Glossary Lassen iq GPS Receiver

8 Table of Contents Lassen iq GPS Receiver

9 About this Manual Welcome to System Designer Reference Manual for the Lassen iq GPS receiver. This manual describes how to integrate and operate the Lassen iq GPS receiver. If you are not familiar with GPS, visit Trimble s website, for an interactive look at Trimble and GPS. Trimble assumes that you are familiar with Microsoft Windows and know how to use a mouse, select options from menus and dialogs, make selections from lists, and refer to online help. Technical Assistance If you have a problem and cannot find the information you need in the product documentation, contact the Trimble Technical Assistance Center at Your Comments Your feedback about the supporting documentation helps us to improve it with each revision. To forward your comments, send an to Lassen iq GPS Receiver

10 About this Manual 6 Lassen iq GPS Receiver

11 CHAPTER 1 Starter Kit 1 Product Overview Starter Kit Receiver Performance Interface Protocols Ordering Starter Kit Components Starter Kit Interface Unit Power Hardware Setup Software Toolkit

12 1 Starter Kit 1.1 Product Overview The Lassen iq GPS receiver is a full featured, ultra low power receiver on a miniature form factor, suitable for a variety of mobile, embedded applications. The Lassen iq GPS receiver incorporates Trimble s FirstGPS TM architecture in the form of two ASICS: Colossus RF down converter and IO-C33 baseband chip. The IO-C33 integrates Trimble s IO digital signal processor with the Epson C33 RISC processor, real-time clock, UART, and 1Mbit memory. Together with the colossus RF, this implementation of FirstGPS technology makes possible one of the smallest (26 mm x 26 mm x 6mm) and lowest power (less than 89 mw) GPS modules available. The Lassen iq GPS receiver outputs a complete position, velocity, and time (PVT) solution in the NMEA Version 3.0 ASCII protocol, the Trimble ASCII Interface Protocol (TAIP), and the Trimble TSIP binary protocol. A Pulse-Per-Second signal is available for very accurate timing applications. 2 Lassen iq GPS Receiver

13 1.2 Starter Kit Starter Kit 1 The Starter Kit makes it simple to evaluate the Lassen iq GPS receiver s exceptional performance. The Starter Kit can be used as a platform for configuring the receiver module and as a platform for troubleshooting your design. The Starter Kit includes: Shielded Lassen iq GPS module mounted on an interface motherboard in a durable metal enclosure. The motherboard accepts 9-32 VDC power and provides regulated +3.3V power to the Lassen iq GPS receiver. The motherboard also contains: 3.6V lithium battery that provides back-up power to the receiver. Circuitry to convert the TTL output to RS-232, enabling the user to connect the RS-232 ports in the Starter Kit to the PC COM port via an RS-232 cable connection. Compact Magnetic-Mount GPS Antenna with a 5 meter cable. Ultra-Compact Embedded Antenna with an 8 cm cable. 9-pin RS-232 interface cable. AC/DC power supply adapter (input: VAC, output: 12 VDC). DC power cable. Cigarette lighter adapter power cable. CD containing software tools used to communicate with the receiver, the System Designer Reference Manual, and C programming source routines to be used as software templates for communicating directly with the receiver. Lassen iq GPS Receiver 3

14 1 Starter Kit Removing the Lassen iq GPS Module The Lassen iq GPS module is secured to the motherboard with double-sided adhesive tape allowing for easy removal and integration with the user s application. (The adhesive tape used by Trimble is 3M Scotch, part number 4945). Follow these steps to remove the module from the motherboard: Unplug the I/O cable and the RF cable from the module. Use a small flat-head screw driver to pry the Lassen iq GPS receiver module off the motherboard. Warning When the Lassen iq GPS receiver module is removed from the motherboard, the double-sided tape looses some of it s adhesive quality. This adhesive tape may only be re-used for laboratory testing. The original adhesive tape should not be re-used for drive testing the Starter Kit interface unit because the module could loosen and cause short circuit when contacting other motherboard components. If drive testing is required, use a new piece of double-sided adhesive tape to re-attach the Lassen iq GPS receiver module to the motherboard. 4 Lassen iq GPS Receiver

15 1.3 Receiver Performance Starter Kit 1 The Lassen iq GPS receiver is a complete 12-channel parallel tracking GPS receiver designed to operate with the L1 frequency, Standard Position Service, Coarse Acquisition code. Using two highly integrated Trimble custom integrated circuits, the receiver is designed in a modular format especially suited for embedded applications where small size and extremely low power consumption are required. The receiver features Trimble's latest signal processing code, a highgain RF section for compatibility with standard 27 db active gain GPS antennas, and a CMOS TTL level pulse-per-second (PPS) output for timing applications or for use as a general purpose synchronization signal. The Lassen iq GPS receiver acquires a position fix with minimal delay after power cycling. The battery back-up RAM is used to keep the Real Time clock (RTC) alive, and to store the following: Almanac Ephemeris Last position User settings such as port parameters, NMEA, and TAIP configurations can be stored in the receiver s non-volatile (Flash) memory. These settings are retained without application of main power or battery back-up power. The Lassen iq GPS receiver has two configurable serial I/O communication ports. Warning When customizing port assignments or characteristics, confirm that your changes do not affect your ability to communicate with the receiver (see Chapter 3, Software Interface). Lassen iq GPS Receiver 5

16 1 Starter Kit 1.4 Interface Protocols The Lassen iq GPS receiver operates using one of three protocols Trimble Standard Interface Protocol (TSIP), Trimble ASCII Interface Protocol (TAIP), or NMEA Protocol selection and port characteristics are user configurables. The factory default settings are: Port 1, TSIP bi-directional Port 2, NMEA 0183 OUT/RTCM SC-104 V2.1 IN TSIP TSIP is a powerful binary packet protocol that allows the system designer maximum configuration control over the GPS receiver for optimum performance in any number of applications. TSIP supports over 20 commands and their associated response packets for use in configuring the Lassen iq GPS receiver to meet user requirements TAIP TAIP is the Trimble ASCII interface protocol designed specifically for vehicle tracking applications. It is a bi-directional protocol using simple ASCII commands with the associated ASCII responses NMEA NMEA 0183 is an industry standard protocol common to marine applications. NMEA provides direct compatibility with other NMEAcapable devices such as chart plotters, radars, etc. The Lassen iq GPS receiver supports most NMEA messages for GPS navigation. NMEA messages and output rates can be user selected as required DGPS The Lassen iq GPS receiver can be configured for RTCM SC-104 input which is the GPS industry standard for differential correction data. The receive side of Port 2 is factory configured to accept RTCM data. 6 Lassen iq GPS Receiver

17 1.5 Ordering Starter Kit Components Starter Kit 1 The Lassen iq GPS receiver is available in a Starter Kit or as an individual module and associated antenna. The Starter Kit (PN ) includes all the components necessary to quickly test and integrate the module: Compact Magnetic-Mount Antenna with 5m cable Ultra-Compact Embedded Antenna with 8cm cable AC/DC power supply adapter DC Power cable (3-wire) RS-232 interface cable DB9M/DB9F (pin to pin) Cigarette lighter adapter power cable CD-ROM containing software tools and the System Designer Reference Manual Table 1.1 provides ordering information for the Lassen iq GPS module and the associated antennas and cables. Table 1.1 Lassen iq GPS Receiver Ordering Information Products Part Number Lassen iq GPS receiver Module / Lassen iq GPS receiver Starter Kit Antenna transition cable, MCX-HFL connector Antenna transition cable, SMA-HFL connector Ultra-Compact Embedded Antenna, 3.3V, 8cm cable Compact Unpackaged Antenna, 3V, 11cm cable, MCX connector Compact Magnetic Mount Antenna, 3V, 5m cable, MCX connector Compact Magnetic Mount Antenna, 3V, 5m cable, SMA connector Note Part numbers are subject to change. Confirm part numbers with your Trimble representative when placing your order. Lassen iq GPS Receiver 7

18 1 Starter Kit 1.6 Starter Kit Interface Unit The Starter Kit interface unit consists of a Lassen iq GPS module attached to an interface motherboard, housed in a sturdy metal enclosure. This packaging simplifies testing and evaluation of the module by providing two RS-232 serial interfaces which are compatible with most PC communication ports. Power (9-32 VDC) is supplied through the power connector on the front of the interface unit. The motherboard features a switching power supply which converts this voltage input to the 3.3 volts required by the module. The two DB9 connectors allow for easy connection to a PC serial port using the serial interface cable provided in the Starter Kit. The metal enclosure protects the module and the motherboard for testing outside of the laboratory environment. The Lassen iq GPS receiver is a single module encased in a sturdy metal enclosure. The dimensions of the receiver in this enclosure are 26 mm H x 26 mm L x 6 mm H (1.02 W x 1.02 L x 0.24 H). A straight-in, panel-mount RF connector (J1) supports the GPS antenna connection. The center conductor of the coaxial connector also supplies +3.3 VDC for the Low Noise Amplifier of the active antenna. An 8-pin (2x4), 0.09 inch header (J2) supports the two serial interfaces (CMOS TTL level), the pulse-per-second (PPS) signal (CMOS TTL level), and the input power (+3.3 VDC). Figure 1.1 illustrates the module in the metal enclosure. 8 Lassen iq GPS Receiver

19 Starter Kit 1 Bottom Shield Top Shield Figure 1.1 Lassen iq GPS receiver Module The interface motherboard includes a 9 to 32 VDC switching power supply which provides regulated +3.3 VDC power to the receiver, and contains circuitry which provides two RS-232 interface ports. A 3.6V lithium backup battery enables quick hot starts. The TTL level PPS is brought directly out to Pin 9 of the Port 2 DB9 connector on the front of the interface unit. The Starter Kit includes an AC/DC converter for powering the module from an AC wall socket. The metal enclosure (see Figure 1.2.) provides 2 DB9 interface port connectors, an antenna connector, and a power connector. Port 1 and Port 2 are used for serial I/O. Lassen iq GPS Receiver 9

20 1 Starter Kit The mounting plate is secured to the metal enclosure with four screws. The eight pin I/O header on the receiver module connects to a mating connector on a ribbon cable. The ribbon cable is attached to a mating I/O connector on the interface motherboard. Figure 1.2 illustrates the Starter Kit interface unit. Port 2 Port 1 Figure 1.2 Starter Kit Interface Unit 10 Lassen iq GPS Receiver

21 Starter Kit Serial Port Interface The Starter Kit interface unit is a DCE (Data Communication Equipment) device. To connect to a host computer, or DTE (Data Terminal Equipment) device, use a straight through cable. To connect a Differential Radio (DCE device) to the receiver (DCE Device) use a cross over cable or null modem cable. Table 1.2 Port 1 Pinouts Pin Description 1 NC 2 TX 3 RX 4 NC 5 GND 6 NC 7 NC 8 NC 9 NC Table 1.3 Port 2 Pinouts Pin Description 1 NC 2 TX 3 RX 4 NC 5 GND 6 NC 7 NC 8 NC 9 PPS Out Lassen iq GPS Receiver 11

22 1 Starter Kit Pulse-Per-Second (PPS) The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 9 of the port 2 DB9 connector of the interface unit (see Table 1.3). The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise time. The PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. The PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and generates position fixes. The PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the receiver is not tracking satellites, is unspecified and should not be used for synchronization. Note Trimble has measured better than 50 nanosecond accuracy on the Lassen iq GPS receiver s PPS signal in static mode. For more information on use of the Lassen iq GPS receiver in timing applications, contact your Trimble sales representative. 12 Lassen iq GPS Receiver

23 Starter Kit Power The Lassen iq GPS receiver receiver is designed for embedded applications and requires a regulated +3.3 VDC input (+3.0 to +3.6 VDC). The receiver provided in the Starter Kit is installed on a motherboard, providing a DC power regulator which converts a 9 to 32 VDC input to the regulated 3.3 VDC required by the receiver. Power can be applied to the interface unit using one of three options: the DC power cable (Figure 1.3), the AC/DC power converter (Figure 1.4), or the cigarette lighter adapter. Figure 1.3 DC Power Cable The DC power cable is ideal for bench-top or automotive testing environments. The power cable is terminated at one end with a 3-pin plastic connector which mates with the power connector on the metal enclosure. The un-terminated end of the cable provides easy connection to a DC power supply. Connect the red power lead to a source of DC positive +9 to +32 VDC, and connect the black power lead to ground. This connection supplies power to both the receiver and the antenna. Note To ensure compliance with CE conducted emissions requirements when using the DC power cable, the Starter Kit interface unit must be bonded to a ground plane. Note The yellow wire of the DC power cable is not used. Battery back-up power is provided by a factory installed 3.6V lithium battery on the motherboard. Lassen iq GPS Receiver 13

24 1 Starter Kit The AC/DC power converter may be used as an alternate power source for the interface unit. The AC/DC power converter converts 110 or 220 VAC to a regulated 12 VDC compatible with the interface unit. The AC/DC power converter output cable is terminated with a 3-pin connector compatible with the power connector on the metal enclosure. The AC power cable is not provided in the kit, since this cable is country-specific. The input connector is a standard 3-prong connector used on many desktop PCs. Figure 1.4 AC/DC Power Converter 14 Lassen iq GPS Receiver

25 1.8 Hardware Setup Starter Kit 1 The Lassen iq GPS receiver supports the TSIP and NMEA protocols. A single port supports both the input/output of TSIP messages and the output of NMEA messages. Follow the steps below to setup the Starter Kit interface unit. Figure 1.5 illustrates the setup. Po we r Supply Lassen iq GPS Starter Kit GPS Re c e iver DCE DCE 9 to 32 VDC DTE Computer GPS Antenna Figure 1.5 Starter Kit Interface Unit Lassen iq GPS Receiver 15

26 1 Starter Kit 1. For use with the TSIP or TAIP protocols, connect one end of the 9-pin serial interface cable to Port 1 (or Port 2 to view NMEA data) of the receiver module. Connect the other end of the cable to COM1 or COM2 on a PC. If your PC has a 25-pin communication port, a 9-pin-to-25-pin adapter may be required for this serial interface connection. 2. Connect the antenna cable to the interface unit. This connection is made by pushing the antenna cable connector onto the MCX connector on the module. Place the antenna so that it has a clear view of the sky. Note To remove the antenna cable, grasp the antenna mating MCX connector and pull from the MCX connector mounted on the interface unit. 3. Using either the DC power cable or an AC/DC power converter, connect to the 3-pin power connector on the interface unit. DC Power Cable connect the terminated end of the power cable to the power connector on the interface unit. Connect the red lead to DC positive voltage (+9 to +32 VDC) and black power lead to DC ground. The yellow wire is not used. Switch on the DC power source. AC/DC Power Converter connect the output cable of the converter to the 3-pin power connector on the interface unit. Using the appropriate 3-prong AC power cable (not provided), connect the converter to an AC wall socket (110 VAC or 220 VAC). The AC power cable is not provided in the Starter Kit. Warning If the Lassen iq GPS Starter Kit is powered-up and attached to a PC COM port, the Windows operating system may recognize the Starter Kit as a new serial device and assign it to the mouse driver. This can cause erratic mouse control. To disable serial mouse detection at start-up, add one of the following lines in the BOOT.INI file in the root directory: /NOSERIALMICE (detection is disabled on all serial ports) or /NOSERIALMICE=COMx,COMy,COMz (detection is disabled on one or more specified com ports) 16 Lassen iq GPS Receiver

27 1.9 Software Toolkit Starter Kit 1 The CD provided in the Starter Kit contains the iq_monitor, the iq_chat, and the GPSSK interface programs used to monitor GPS performance and to assist system integrators in developing a software interface for the GPS module. These applications are described in detail in Appendix B, TSIP User's Guide. iq_monitor runs on the Windows 95/98/2000/XP platforms. iq_chat runs under the DOS operating system on a 386 or higher processor. Following are quick start instructions for using the iq_monitor application to monitor the receiver s performance. 1. Connect one end of the serial interface cable to Port 1 of the interface unit. Connect the other end of the cable to the COM port of your PC. 2. Turn on the DC power source or plug in the AC/DC converter. 3. Insert the CD in the computer s CD-ROM drive. 4. The iq_monitor program may be run directly off the CD or it may be copied onto your computer s hard drive. To run the program off the CD, initiate the iq_monitor.exe file. 5. When the iq_monitor screen appears, the TX and RX indicators appear in the lower left corner of the status bar. A blinking TX indicates that the PC is transmitting commands to the receiver; a blinking RX indicates that the PC is receiving reports from the receiver. If either of these indicators stop blinking, there is no activity. The PC COM port settings appear in the lower right corner of this same status bar. 6. After a GPS antenna is connected to the receiver and the receiver has achieved a position fix, the transmitted position reports, time, velocity, satellites tracked, and GPS receiver status appear on the screen. The receiver also sends a health report every few seconds, even if satellites are not being tracked. Lassen iq GPS Receiver 17

28 1 Starter Kit Note If the iq_monitor program displays a question mark (?) in a data field, the receiver has not reported a status for this field. If a (?) remains in the data field, the GPS module may not be communicating with the computer. Re-check the interface cable connections and verify the serial port selection and settings. If the communication failure continues after checking all connections and settings, please call the Trimble Technical Assistance Center (TAC) at 1 (800) Lassen iq GPS Receiver

29 CHAPTER 2 Hardware Integration 2 In this chapter: General Description Connectors Power Requirements Serial Interface Pulse-Per-Second (PPS) Mounting GPS Antennas

30 2 Hardware Integration 2.1 General Description Trimble s new Lassen iq GPS receiver adds complete GPS functionality to mobile products, in a postage-stamp-sized footprint with ultra-low power consumption. Using Trimble s breakthrough FirstGPS architecture, the module delivers complete position, velocity and time (PVT) solutions for use in mobile, battery-powered applications such as hand-held devices, PDAs, asset tracking devices, and navigation applications. The Lassen iq GPS module is packaged in a tiny form factor (26 mm x 26 mm x 6 mm, including the metal shield). It typically requires only less than 89 mw of power (at 3.3 VDC). The module includes flash memory for firmware upgrades and storing the user configuration. Figure 2.1 Lassen iq GPS Receiver Board without Shield 20 Lassen iq GPS Receiver

31 Hardware Integration Connectors Digital IO/Power Connector The Lassen iq GPS module uses a single 8-pin (2x4) male header connector for both power and data I/O. The power and I/O connector, J2, is a surface mount micro terminal strip. This connector uses 0.09 inch (2.286mm) high pins on 0.05 inch (1.27mm) spacing. The manufacturer of this connector is Samtec, part number ASP Note See Appendix F for mechanical drawings and specifications. Mating Connectors The customer must supply his own mating connector to the Lassen iq GPS receiver 8-pin (2x4) connector. There are two mating connectors available: Surface-Mount Mating Connector A recommended surface mount mating connector is Samtec s part number CLP When a surface-mount mating connector is chosen, the RF connector must be attached to the Lassen iq GPS module prior to securing the module to the user s PCB. The mounting tabs may be used for securing the Lassen iq GPS module to the PCB when using the surface-mount mating scheme. Lassen iq GPS Receiver 21

32 2 Hardware Integration Cable Strip Mating Connector A low profile, cable strip mating connector is the second I/O mating method. A recommended cable strip part is Samtec s part number FFSD-04-?-XX part. The user will need to substitute the following letters and numbers into the part number when ordering this part where the '?' and 'XX' symbols occur: for the '?' symbol substitute the letter S for single end or D for double end; for the 'XX' symbol substitute the overall length in inches, ± 1/8 inch, with a 2 inch minimum. Since the signals are CMOS TTL level signals, Trimble does not recommend cable lengths of longer than six inches. If the cable strip I/O connector scheme is used, the connector side of the Lassen iq GPS receiver will be facing up and the mounting tabs will be on the top of the module away from PCB. The RF connector is easily accessible, using this interfacing methodology. Figure 2.2 Cable Strip Mating Connector 22 Lassen iq GPS Receiver

33 Hardware Integration RF Connector The RF connector mounted on the Lassen iq GPS receiver is a Hirose connector, part number H.FL-R-SMT (10) 50 Ohm. The mating RF connector is Hirose H.FL-LP-XXX where XXX depends on the cable type. Figure 2.3 Lassen iq GPS Module with Connectors Possible cable manufactures include the following: 1.48 mm diameter (single shield) cable: CO-6F/FH-SB manufactured by Hitachi Cable Ltd. UL1979 manufactured by Junkosha Co., Ltd. 0.8DS-PBE manufactured by Sumitomo Electric Industry Co., Ltd mm diameter cable (double shield): A12B0733 manufactured by Junkosha Co., Ltd mm diameter cable (single shield): CXN2571 manufactured by W.L. Gore & Associated, Inc. Lassen iq GPS Receiver 23

34 2 Hardware Integration Trimble offers three antennas for use with the Lassen iq GPS receiver receiver: The Ultra-Compact Embedded Antenna, which mates directly to the RF connector. The Compact Unpackaged Antenna and the Compact Magnetic-Mount Antenna, which mate through the optional RF transition cable to the module s RF connector. For more information on the antennas, see page Digital IO/Power Connector Pinout The digital IO/Power connector pinout information is listed in Table 2.1. Table 2.1 J2 I/O Connector Signals Pin number Function Description 1 TXD A Serial Port A transmit, 3.3 V TTL CMOS 2 GND Ground, Power and Signal 3 RXD A Serial Port A receive, 3.3 V TTL CMOS 4 PPS Pulse-Per-Second, 3.3 V TTL CMOS 5 TXDB Serial port B transmit, 3.3V TTL CMOS 6 RXDB Serial port B receive, 3.3V TTL CMOS 7 Prime Power (VCC) +3.3 VDC to ± 0.3 VDC 8 Battery Backup Power +2.5 VDC to VDC 24 Lassen iq GPS Receiver

35 2.3 Power Requirements Hardware Integration 2 The Lassen iq GPS module requires +3.3 VDC ±0.3 VDC at 33 ma, typical excluding the antenna. The on-board capacitance is 10 µf. An important design consideration for power is the module's internal clock frequency at MHz ± 3 KHz. Interference spurs on prime power in this narrow frequency band should be kept to less than 1mV. The receiver does not require any special power up or down sequencing. The receiver power is supplied through pin 7 of the I/O connector. See Table 2.2 for the +3.3 VDC power specifications. Warning The Lassen iq GPS receiver is ready to accept TSIP commands approximately 2.1 seconds after power -up. If a command is sent to the receiver within this 2.1 second window, the receiver will ignore the command. The Lassen iq GPS receiver will not respond to commands sent within the 2.1 second window and will discard any associated command data. Battery Back-up The Lassen iq GPS receiver provides an input for battery back-up (BBU) power to keep the module's RAM memory alive and to power the real-time clock when the receiver's prime power is turned off. RAM memory is used to store the GPS almanac, ephemeris, and last position. User configuration data, including port parameters and receiver processing options can be stored in non-volatile Flash which does not require back-up power. By using battery back-up, time to first fix in a hot start is reduced to 10 seconds (typical). Though not required, providing BBU power can reduce time to first fix. A 3.6 volt lithium battery used for back-up power can last up to three years. Lassen iq GPS Receiver 25

36 2 Hardware Integration Warning If battery power is not present, the receiver s power can be turned off and then back on to force a system reset and a cold start. The receiver should be off for no less than 3 minutes to ensure that the RAM memory does not retain any old data due to the residual voltage from the power supply. To avoid waiting the 3 minutes, turn the receiver unit back on immediately and issue TSIP command 0x1E with the value 4B. This packet forces a cold start and clears battery backed RAM. Note 2.5V is the minimum allowable battery back-up voltage. When the battery back-up power output drops below 2.5V, the real-time clock may not operate over the specified temperature range. This can also significantly extend the time to first fix. Trimble does not recommend the use of Super Caps as battery back-up. Table 2.2 Power Requirements Signal Voltage Current J2 Pin # VCC 3.0 to ma 7 Battery Back-up 2.5 to µA (at 3.3 volts, +25 C) 8 Ground Note For proper operation when using battery back-up, the voltage value of the battery should be 10% less than the value of the VCC. 26 Lassen iq GPS Receiver

37 2.4 Serial Interface Hardware Integration 2 As an embedded design, the Lassen iq GPS module provides direct CMOS compatible TTL level serial I/O. The RX and TX signals on the J2 I/O connector are driven directly by the DUART on the Lassen iq GPS receiver. Interfacing these signals directly to a UART in your application circuitry provides direct serial communication without the complication of RS-232 or RS-422 line drivers. Note The serial I/O signals on J2 are TTL level. They are not inverted or driven to RS-232 levels. Lassen iq GPS Receiver 27

38 2 Hardware Integration 2.5 Serial Port Connections Below are the required connections for the Lassen iq GPS Rx pins when they are not used for communication. This is required for firmware release 1.10 and recommended for all subsequent firmware releases. Table 2.3 Serial Port Connections for Rx Pins Serial Port Pin # Assignment Default Required Connections 1 Pin 3 RxA TSIP-IN High (VCC) (via pullup) 2 Pin 6 RxB RTCM-IN High (VCC) (via pullup) Below are the allowable connections for the Lassen iq GPS Tx pins when the pins are not used for communication. This configuration applies to all firmware versions. Table 2.4 Serial Port Connections for Tx Pins Serial Port Pin # Assignment Default Allowable Connections 1 Pin 1 TxA TSIP-OUT Floating or High (VCC) (via pullup) 2 Pin 5 TxB NMEA-OUT Floating or High (VCC) (via pullup) Note Attaching the Tx lines (pins 1 and 5) to VCC and using pullup resistors is not required. Use of pullup resistors and attaching to VCC on Rx lines (pins 3 and 6) is mandatory (for firmware release 1.10 and recommended for subsequent firmware releases) if these pints are not otherwise connected to the system s communication ports. 28 Lassen iq GPS Receiver

39 Hardware Integration 2 Below are the failure modes that will be experienced if the Lassen iq GPS pins are not connected as recommended (see above). Table 2.5 Serial Port Connections for Tx and Rx Pins Pin # High (VCC) Low (GND) Floating Pin 1 (TxA, SI01 Works Board will be damaged Works Pin 3 RxA, SI01 Works Will never produce a position fix Do not choose this option for firmware release Operation cannot be guaranteed. Failure mode: will never produce a position fix Pin 5 (TxB, SI02 Works Board will be damaged Works Pin 6 RxB, SI02 Works Do not choose this option! Operation cannot be guaranteed. Failure modes: may never produce a position fix, may output potentially bad fixes intermittently Do not choose this option for firmware release Operation cannot be guaranteed. Failure modes: may never produce a position fix, may output potentially bad fixes intermittently Note The table above indicates that the Tx pins 1 and 5 should not be tied to Ground. As there are no internal pullups or current limiting resistors, tying Tx to Ground will directly pull down the VCC rail through the chip. This will pull excessive current, stressing the chip beyond specification until it eventually fails. Lassen iq GPS Receiver 29

40 2 Hardware Integration Pullup Resistor A pullup resistor should be added to the board in the range of 1K to 100K ohms for connecting the above-mentioned pins to VCC. One end of the pullup resistor is connected to the iq pin and the other end is connected to the positive supply voltage VCC. Note The pullup resistor does not have to be powered by VCC. A separate power source can be used, as long as it is not greater than VCC. The minimum power for the pullup is 2.0V. Resistor Impact on PCB Power Consumption The pullups do not affect the Lassen iq GPS power consumption since the resistors will be external to the board. The overall power consumption of the user s PCB will increase slightly. Assuming 3.3V VCC and 100k-pullup resistor, the power consumption increase will be 109uW or 33uA per pullup. With a 1k pullup resistor, the power consumption increase will be 10.9mW or 3.3mA per pullup. To reduce the current draw, the users can choose higher value pullup resistors in the allowable resistor range of 1K-100K ohms. To minimize the overall power consumption of the user s board, 100K ohms pullup can be selected. To keep BOM items to a minimum, the user can choose the highest value resistor used on their board. 30 Lassen iq GPS Receiver

41 2.6 Pulse-Per-Second (PPS) Hardware Integration 2 The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 4 of the power and I/O connector. The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise time. In early PPS mode, the PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. In it s default mode PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and is getting fixes. In early PPS mode, the PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the Lassen iq GPS receiver is not tracking satellites, is unspecified and should not be used for synchronization. The PPS output modes can be controlled with TSIP packet 0x35. The modes are Always on (default), Fix Based, or Always Off. Cable delay compensation is available through the use of TSIP packet 0x8E-4A. After a specific mode is selected, it can be stored in non-volatile memory (FLASH) using TSIP command 0x8E-26. For more information, see Appendix A. Note Trimble Navigation has measured better than 50 nanoseconds accuracy on the Lassen iq GPS receiver PPS signal in static mode. For more information on the use of the Lassen iq GPS module in timing applications, contact your Trimble sales representative. Lassen iq GPS Receiver 31

42 2 Hardware Integration 2.7 Mounting The Lassen iq GPS PCB is encased in a metal enclosure. The enclosure acts as a protective case. There are four mounting solder tabs on the bottom of the enclosure. When the surface-mount mating connector is used, the mounting tabs may be used for securing the Lassen iq GPS module on the user s PCB. When the cable strip I/O connector scheme is used, the connector side of the Lassen iq GPS module will be faced up and the mounting tabs will be on the top of the module away from PCB. The Lassen iq GPS module can be attached to the integrator platform by many methodologies including solder, glue, double sided adhesive tape, and custom hold down mounts for the module's mounting tabs. Note See Appendix F for mechanical drawings and specifications regarding the spacing of the mounting tabs and the dimensions of the enclosure. 32 Lassen iq GPS Receiver

43 2.8 GPS Antennas Hardware Integration 2 The antenna receives the GPS satellite signals and passes them to the receiver. The GPS signals are spread spectrum signals in the 1575 MHz range and do not penetrate conductive or opaque surfaces. Therefore, the antenna must be located outdoors with a clear view of the sky. The Lassen iq GPS receiver requires an active antenna. The received GPS signals are approximately -130 dbm, at the surface of the earth (in typical environments). Trimble's active antennas include a preamplifier that filters and amplifies the GPS signals before delivery to the receiver. Trimble offers three antennas for use with the Lassen iq GPS receiver described below and in Appendix D. 1. The Ultra-Compact Embedded GPS Antenna with an HFL connector, is ideal for portable and mobile applications. This unpackaged antenna is approximately the same size as the module itself, and can be easily integrated into mobile applications. This antenna is supplied with the Starter Kit (see Figure 2.4). 2. A Compact Unpackaged Antenna with an MCX connector, slightly larger than the ultra-compact model (see #1 above), mates to the Hirose connector on the Lassen iq GPS module with an optional RF transition cable (see Figure 2.5). Lassen iq GPS Receiver 33

44 2 Hardware Integration 3. A Compact Magnetic-Mount GPS Antenna with a 5 m cable and an MCX or SMA connector. This antenna provides for a flexible, movable installation. The MCX or SMA output connector mates to the Hirose connector on the Lassen iq GPS module with an optional RF transition cable. The antenna with the MCX connector is supplied with the Starter Kit (see Figure 2.6). The MCX connector on the end of the antenna cable mates to the MCX connector in the front of the Starter Kit interface unit. The two screw holes on the bottom of the antenna can be used to mount the antenna to a metal plate. The dimensions of these holes are 2.06 mm in diameter and 5mm in depth. Warning When magnetic-mount or permanent-mount GPS antennas are installed on a metal surface for prolonged periods, care must be taken to insulate the antennas in order to prevent galvanic corrosion. 34 Lassen iq GPS Receiver

45 Hardware Integration 2 Figure 2.4 Ultra-Compact Embedded GPS Antenna Figure 2.5 Compact Unpackaged GPS Antenna Figure 2.6 Compact Magnetic-Mount GPS Antenna Lassen iq GPS Receiver 35

46 2 Hardware Integration 36 Lassen iq GPS Receiver

47 CHAPTER 3 Software Interface 3 In this chapter: Start-up Communicating with the Lassen iq GPS Receiver Port Protocol and Data Output Options Custom Port Configuration When prompted, select the factory default option.

48 3 Software Interface 3.1 Start-up Lassen iq GPS receiver module is a complete 12-channel parallel tracking GPS receiver designed to operate with the L1 frequency, standard position service, Coarse Acquisition code. When connected to an external GPS antenna, the receiver contains all the circuitry necessary to automatically acquire GPS satellite signals, track up to 12 GPS satellites, and compute location, speed, heading, and time. The receiver will automatically begin to search for and track GPS satellite signals at power-up. The performance of a GPS receiver at power-on is determined largely by the availability and accuracy of the satellite ephemeris data and the availability of a GPS system almanac. The first time the receiver is powered-up, it is searching for satellites from a cold start (no almanac). While the receiver will begin to compute position solutions within the first two minutes, the receiver must continuously track satellites for approximately 15 minutes to download a complete almanac. This initialization process should not be interrupted. With a complete almanac and back-up power, the time to first fix can typically be shortened to less than 42 seconds. The receiver will respond to commands almost immediately after power-up (see Warning below). Note See Chapter 4 for further detail on ephemeris data and the GPS almanac. Warning The Lassen iq GPS Receiver is ready to accept TSIP commands approximately 2.1 seconds after power -up. If a command is sent to the receiver within this 2.1 second window, the receiver will ignore the command. The Lassen iq GPS Receiver will not respond to commands sent within the 2.1 second window and will discard any associated command data. 38 Lassen iq GPS Receiver

49 Software Interface Communicating with the Lassen iq GPS Receiver The Lassen iq GPS Receiver supports three message protocols: TSIP, TAIP, and NMEA. Communication with the module is through two CMOS compatible, TTL level serial ports. The port characteristics can be modified to accommodate your application requirements. Port parameters can be stored in non-volatile memory (FLASH) which does not require backup power. Table 3.1. lists the default port characteristics Software Tools The Software Tools provided on the Starter Kit CD-ROM include both user friendly Windows and DOS applications to facilitate communication with the receiver, via the Trimble Standard Interface Protocol (TSIP). This CD also includes sample C source code and reusable routines to aid in developing applications. Note The TSIP, TAIP, and NMEA protocols are discussed beginning on page 42 of this chapter, and in the Appendices of this document. Lassen iq GPS Receiver 39

50 3 Software Interface Port Configuration The Lassen iq GPS receiver module has two I/O ports. Table 3.1 provides the default protocols and port configurations for the receiver, as delivered from the factory. TSIP IN/OUT is the default protocol on Port 1 and RTCM-IN and NMEA-OUT is the default protocol on Port 2. Table 3.1 Default Protocols and Port Configurations Port Input Protocol Default Setup 1 TSIP Baud Rate: 9600 Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control 2 RTCM Baud Rate: 4800 Data Bits: 8 Parity: None Stop Bits: 1 No Flow Control Output Language Default Setup TSIP Baud Rate: 9600 Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control NMEA Baud Rate: 4800 Data Bits: 8 Parity: None Stop Bits: 1 No Flow Control The Lassen iq GPS Receiver can also be configured to output TAIP messages. The Trimble standard port characteristics for TAIP are: Baud Rate: 4800 Data Bits: 8 Parity: None Stop Bits:1 No Flow Control Any standard serial communications program, such as Windows Hyper-Terminal or PROCOMM, can be used to view the NMEA or TAIP output messages. TSIP is a binary protocol and outputs raw binary serial data that cannot be read when using Windows Terminal or PROCOMM. To view the output of the TSIP protocol in text format, use the iq_chat or the iq_monitor program (see the CD- ROM provided in the Starter Kit). 40 Lassen iq GPS Receiver

51 Software Interface 3 The serial port driver in the iq_chat Tool Kit matches the Lassen iq GPS receiver serial port characteristics. The TSIPPRNT program converts binary data logged with the iq_chat program into text that may be printed and displayed. Both of these tools are included in the Software Developer s Toolkit. Warning When using the TSIP protocol to change port assignments or settings, confirm that your changes do not affect the ability to communicate with the receiver (e.g., selecting the PC COM port settings that do not match the receiver s, or changing the output protocol to TSIP while not using iq_chat). Lassen iq GPS Receiver 41

52 3 Software Interface 3.3 Port Protocol and Data Output Options Protocol Configuration and Interface The factory default I/O protocol for Port 1 of the Lassen iq GPS receiver is the Trimble Standard Interface Protocol (TSIP) for both input and output. The settings for Port 1 are 9600 baud 8-odd-1. The factory default protocol for Port 2 is RTCM-IN and NMEA-OUT. The settings for Port 2 are 4800 baud 8-none-1. The receiver protocol can be re-configured using TSIP command packet 0xBC, in conjunction with iq_chat, iq_monitor, or a user written serial interface program. See Appendix A for details on the 0xBC command packet. iq_chat provides the simplest means to communicate with the receiver using a PC (386 or higher) running either the DOS or Windows operating systems. Responses are displayed on the computer monitor in text format. iq_monitor, a Windows-based GUI, provides a versatile graphical interface for monitoring TSIP data. This application allows the user to view complete receiver operations including data output, status and configuration. In this application, the entry of command packets is replaced by traditional point and click pull-down menus. C source code routines for iq_chat are also provided on the CD contained in the Starter Kit. When used as software design templates, this source code can significantly speed-up code development. The protocol settings and options are stored in battery-backed Random-Access-Memory (BBRAM). They can also be saved into the non-volatile memory (Flash), if desired, using command 0x8E-26. See to Appendix A for additional information on Flash storage for custom operation. 42 Lassen iq GPS Receiver

53 Software Interface TSIP Data Output Modes TSIP is the default protocol for Port 1 on the Lassen iq GPS receiver. This binary language offers users a wide variety of commands and reports. TSIP enables the Lassen iq GPS receiver to operate in two data output modes, both available during operation. In Query Mode, packet data is returned in response to input query packets. In Automatic Mode, a selected group of data packets is output continuously at two fixed rates every second and every five seconds. The format and ensemble of the automatic output packets is configured using packets 0x35, 0x70, and 0x8E-20 (see Appendix A for packet details). Packet settings are stored in BBRAM. They can also be saved in non-volatile memory (Flash) using command packet 0x8E-26. See Appendix A for additional information on Flash storage for custom operation Default TSIP Output Settings Default 0x35 setting (byte 0=2, 1= 2, 2=0, 3=0): Position and velocity data precision: single precision floating point Position output option and format (byte 0 setting): Latitude radian Longitude radian Altitude meters (WGS-84) No super-packet output Velocity output option and format: East Velocity meters/sec.; + for East North Velocity meters/sec.; + for North Up Velocity meters/sec.; + for Up Timing GPS Time Output PPS Always ON Auxiliary/Pseudo Range Measurement Raw Measurements OFF Raw Pseudo Ranges OFF Output AMU values Lassen iq GPS Receiver 43

54 3 Software Interface Default 0x70 setting (byte 0=1, 1=1. 2=1. 3=0): Position-Velocity Dynamic Filter enabled Position-Velocity static Filter enabled Altitude Filter enabled Default 0x8E-20 setting (byte 1 = 1): 0x8F-20 output is included in the super-packet for automatic output IF packet 0x35 selects the super-packet for automatic output options Automatic TSIP Output Packets (fixed rate) One second interval: 0x4A (1) GPS position fix; (2) clock bias and time of fix; {20 byte format} 0x56 velocity fix 0x6D (1) list of satellites used for position fixes; (2) PDOP, HDOP, VDOP; (3) fix mode 0x82 DGPS position fix mode Five second interval: 0x41 (1) GPS time of the week (seconds); (2) extended GPS week number; (3) GPS UTC offset (seconds) 0x46 health of receiver 0x4B (1) Machine/Code ID; (2) Real-time-clock availability status; (3) almanac validity status; (4) having super-packet support status 44 Lassen iq GPS Receiver

55 Software Interface Packet Output Order After power up or a software reset (packet 0x1E), seven start-up packets are sent, only once, by the receiver in this order: 45, 46, 4B, 4A, 56, 41, 82 Before position fixes are available, the 1 second and 5 second interval packets are sent in this order, periodically: Every one second for 5 seconds: 6D, 82 Every five seconds 41, 46, 4B When position fixes are available, the 1 second and 5 second interval packets are sent in this order, periodically: Every one second for 4 seconds: 4A, 56, 6D, 82 Every 5 seconds: 4A, 56, 41, 46, 4B, 6D, 82 Lassen iq GPS Receiver 45

56 3 Software Interface NMEA 0183 Protocol and Data Output Options The National Marine Electronics Association (NMEA) protocol is an industry standard data protocol which was developed for the marine industry. Trimble has chosen to adhere stringently to the NMEA 0183 data specification as published by the NMEA. The Lassen iq GPS receiver also adheres to the NMEA 0183, Version 3.0 specification. NMEA data is output in standard ASCII sentence formats. Message identifiers are used to signify what data is contained in each sentence. Data fields are separated by commas within the NMEA sentence. In the Lassen iq GPS receiver, NMEA is an output only protocol. The NMEA protocol is described in detail in Appendix E. The receiver is shipped from the factory with the TSIP protocol configured on Port 1 and RTCM-IN/NMEA-OUT on Port 2. The Port 2 characteristics conform to the NMEA industry standard: 4800 baud 8 data bits No parity 1 stop bit No flow control The receiver can be reconfigured using TSIP command packet 0xBC, in conjunction with iq_chat, iq_monitor, or a user written serial interface program. The NMEA output messages selection and message output rate can be set using TSIP command packet 0x7A. The default setting on Port 2 is to output the GGA and VTG messages at a 1 second interval. If the NMEA configuration is permanently changed for the application, the protocol configuration (0xBC) and NMEA message output setting (0x7A) can be stored in the non-volatile memory (onboard FLASH) using TSIP command 0x8E Lassen iq GPS Receiver

57 3.4 Custom Port Configuration Software Interface 3 iq_chat can be used to customize the Lassen iq GPS receiver configuration settings and to save a configuration to non-volatile memory. The most recent port configuration is stored in BBRAM. This eliminates the need to repeat setup each time the receiver power is cycled. However, if the battery-backed power is accidentally lost, the port configuration automatically resets to either what was saved in the non-volatile memory (FLASH) or to the factory default. Tip To ensure continuous operation, store all port configuration changes in the non-volatile memory. Following are step-by-step instructions for using iq_chat to customize Lassen iq GPS receiver port configuration. Customizing the Configuration 1. Insert the CD in the CD-ROM drive of your computer. 2. Open a DOS window and set the path to the iq_chat location. 3. To run the program, type iq_chat c1 if attached to PC COM1, or type iq_chat c2 if attached to PC COM2. 4. Power-up the receiver. Automatic report streams should be scrolling up in the DOS window. Assuming that your receiver is set to the default configuration, the settings will be: 9600 baud, 8-odd-1. Note If data is not being output after receiver power up, use the ^I command in iq_chat to reset the COM1/COM2 setting in PC (not the receiver). Tip Entering? in the iq_chat window displays all the available commands and their corresponding TSIP packets. Lassen iq GPS Receiver 47

58 3 Software Interface 5. To re-configure the port settings and protocol, type U and respond to the input prompts. At the end of this procedure, select the option that resets the PC COM port to match the new settings. Communication should resume almost immediately. Saving the Configuration 1. Before storing the new configuration in FLASH, confirm that the receiver has been configured to the desired settings. Warning Record the new serial port settings. If power is lost, this will speed-up recovery. Alternatively, the receiver can always be returned to the default configuration. 2. To save the configuration to Flash: Enter = to access the command list page for the 0x8E command packet. Enter s, to send the 0x8E-26 command packet. Communication is momentarily suspended while the configuration is being stored in Flash. 3. To confirm that the configuration changes have been saved, turn-off the power supply and the battery back-up for a few minutes. Then, power-up the receiver and confirm that the configuration changes have been retained. Alternatively, you can use Packet 1E to command a cold start. Note Command packet 0x8E-26 executes storage of various types of receiver settings in addition to the port and protocol. See Table 3.2 for a complete list of the settings that can be stored in FLASH memory. 48 Lassen iq GPS Receiver

59 Software Interface 3 Returning to the Factory Settings At any time, the receiver can be returned to the factory default configuration, using command packet 0x1E. 1. Type ^k to invoke the 0x1E command. 2. When prompted, select the factory default option. Table 3.2 iq_chat Command Settings Stored in Flash Memory Command Packet 0x8E-26 TSIP Command ID iq_chat Keystroke Description 0x35 O TSIP input/output formatting Superpacket output (on/off) Position format (LLA and/or ECEF) Precision (double or single) altitude format (MSL or HAE) Timetag format (GPS or UTC) PPS modes TSIP Response ID 0x55 SNR format (AMU or C/N 0 Automatic pseudorange output 0x69 e Enhanced Sensitivity Mode Control 0x70 l Position filter controls Position filter on/off Static filter on/off Altitude filter on/off 0x7A q NMEA message formats and schedule NMEA output messages NMEA output interval 0x7e a TAIP message formats and schedules 0x89 0x70 0x7B 0x7F Lassen iq GPS Receiver 49

60 3 Software Interface Table 3.2 iq_chat Command Settings Stored in Flash Memory Command Packet 0x8E-26 (Continued) TSIP Command ID iq_chat Keystroke Description 0xBB p GPS configuration parameters Operating dimension (2D, 3D,...) DGPS mode Dynamics mode Elevation mask SNR mask DOP mask PDOP switch DGPS correction age 0xBC U Serial port configuration Protocol: input, output Baud, data bits, parity, stop bits 0x8E-20 = g Fixed point superfix control (default = on) TSIP Response ID 0xBB 0xBC 0x8F Lassen iq GPS Receiver

61 3.5 Timing Applications Software Interface 3 The Lassen iq GPS receiver is an excellent source for accurate system timing. Two examples of applications requiring accurate time are environmental data acquisition and synchronization of communications networks. The timing functions of the receiver are supported by the TSIP protocol and the PPS signal. See Report Packet 0x41 or Super Packet 0x8F-20 in Appendix A for a description of the time function reports for TSIP. Note GPS time differs from UTC (Universal Coordinated Time) by a variable integer number of seconds: UTC = (GPS time) - (GPS UTC Offset) As of April 2002, the GPS UTC offset was 13 seconds. The offset increases by 1 second approximately every 18 months. System designers should plan to read the offset value as a part of the timing interface to obtain UTC. The GPS week number is in reference to a base week (Week #0), starting January 6, The current GPS UTC offset is contained within the almanac transmitted by the GPS system. The Lassen iq GPS Receiver must have a complete almanac before the offset data is valid. Note As of January 2005, the GPS Control Organization has not added leap seconds on the usual 18 month schedule. As a result, the offset has remained at 13 seconds Extended GPS Week Number The Lassen iq GPS Receiver outputs the Extended GPS Week Number as the absolute number of weeks since the beginning of GPS time or January 6, If the true GPS Week Number is desired, ignore the extra MSBs of the Extended GPS Week Number and use only the 10 LSBs (bytes 4 and 5 of Packet 0x41). Note After week number 2331, in year 2024, the TSIP week number rolls back to All dates reported in NMEA and TAIP, will be invalid. Lassen iq GPS Receiver 51

62 3 Software Interface 3.6 Known Anomalies in Firmware Release 1.10 The following are know anomalies found in Lassen iq FW v1.10. These anomalies will be fixed in all follow on versions: Position outages during the Weekend Rollover The receiver would experience satellites being dropped and thus several seconds of position outages during the weekend rollover, which happens during Saturday to Sunday at midnight each week. This anomaly is found in Lassen iq GPS receiver firmware version 1.10 and will be fixed in all future firmware releases. Position outages during WNRO (Week Number Rollover) The receiver would experience satellites being dropped and thus several seconds of position outages during the next week number rollover, which will happen on April 7, 2019 (GPS time). This problem is caused by the End-Of-the-Week Rollover problem as End-Of-the-Week Rollover occurs during WNRO. This anomaly is found in Lassen iq GPS receiver firmware version 1.10 and will be fixed in all future firmer releases. Extended TTFF times in year The user would experience extended warm and hot startup times between years 2023 to This anomaly is found in the Lassen iq GPS receiver firmware version 1.10 and will be fixed in all future firmware releases. Static Filter issue The static filter can be turned and stay on/off, based on user configuration or by TSIP packet 0x70. However, when it is set to off, it will be turned on internally after 255 position fixes are generated. The query on the status of the static filter would still indicate that it is being turned off even though it has been turned on internally. This anomaly is found in Lassen iq GPS receiver firmware version 1.10 and will be fixed in all future firmer releases. TSIP packet 0x65 is not functional in Lassen iq GPS receiver FW v1.10. It will be fixed in all future firmware releases. 52 Lassen iq GPS Receiver

63 CHAPTER 4 Operation and Performance 4 In this chapter: Introduction GPS Satellite Message Satellite Acquisition and Time to First Fix Satellite Mask Settings Standard Operating Modes Position Accuracy Coordinate Systems Performance Characteristics Lassen iq GPS Receiver Sensitivity Modes Lassen iq GPS Receiver Aided GPS Feature GPS Timing System Architecture

64 4 Operation and Performance 4.1 Introduction This chapter describes the Lassen iq GPS receiver satellite acquisition and tracking processes, performance characteristics, and system architecture. This discussion assumes that you are familiar with the basic theory of the Global Positioning System. Before proceeding to the detailed discussion of the satellite acquisition and tracking process, please review the GPS satellite message description on the next page. The Lassen iq GPS receiver satellite acquisition and tracking algorithms can achieve a position solution without any initialization. The receiver automatically selects and tracks the best combination of satellites to compute position and velocity. As satellites move out of view, the Lassen iq GPS receiver automatically acquires new satellites and includes them in the solution set as required. 54 Lassen iq GPS Receiver

65 4.2 GPS Satellite Message Operation and Performance 4 Every GPS satellite transmits the Coarse/Acquisition (C/A) code and satellite data modulated onto the L1 carrier frequency ( MHz). The satellite data transmitted by each satellite includes a satellite almanac for the entire GPS system, its own satellite ephemeris and its own clock correction. The satellite data is transmitted in 30-second frames. Each frame contains the clock correction and ephemeris for that specific satellite, and two pages of the 50-page GPS system almanac. The almanac is repeated every 12.5 minutes. The ephemeris is repeated every 30 seconds. The system almanac contains information about each of the satellites in the constellation, ionospheric data, and special system messages. The GPS system almanac is updated weekly and is typically valid for months. The ephemeris contains detailed orbital information for a specific satellite. Ephemeris data changes hourly, but is valid for up to four hours. The GPS control segment updates the system almanac weekly and the ephemeris hourly through three ground-based control stations. During normal operation, the Lassen iq GPS receiver module updates its ephemeris and almanac as needed. The performance of a GPS receiver at power-on is determined largely by the availability and accuracy of the satellite ephemeris data and the availability of a GPS system almanac. Lassen iq GPS Receiver 55

66 4 Operation and Performance 4.3 Satellite Acquisition and Time to First Fix Cold-Start The term cold-start describes the performance of a GPS receiver at power-on when no navigation data is available. cold signifies that the receiver does not have a current almanac, satellite ephemeris, initial position, or time. The cold-start search algorithm applies to a Lassen iq GPS receiver which has no memory of its previous session (i.e., is powered on without the memory backup circuit connected to a source of DC power). This is the out of the box condition of the GPS module as received from the factory. In a cold-start condition the receiver automatically selects a set of twelve satellites and dedicates an individual tracking channel to each satellite, to search the Doppler range frequency for each satellite in the set. If none of the twelve selected satellites is acquired after a predetermined period of time (time-out), the receiver will select a new search set of twelve satellites and will repeat the process, until the first satellite is acquired. As satellites are acquired, the receiver automatically collects ephemeris and almanac data. The Lassen iq GPS receiver uses the knowledge gained from acquiring a specific satellite to eliminate other satellites, those below the horizon, from the search set. This strategy speeds the acquisition of additional satellites required to achieve the first position fix. The cold-start search sets are established to ensure that at least three satellites are acquired within the first two time-out periods. As soon as three satellites are found, the receiver will compute an initial position fix. The typical time to first fix is less than 2 minutes. A complete system almanac is not required to achieve a first position fix. However, the availability and accuracy of the satellite ephemeris data and the availability of a GPS almanac can substantially shorten the time to first fix. 56 Lassen iq GPS Receiver

67 Operation and Performance Warm Start In a warm-start condition the receiver has been powered down for at least one hour but has stored a current almanac, an initial position, and time, in memory. When connected to an external back-up power source (battery back-up), the Lassen iq GPS receiver retains the almanac, approximate position, and time to aid in satellite acquisition and reduce the time to first fix. When an external back-up battery is not used, the TSIP protocol allows the almanac, an initial position, and time to be uploaded to the receiver via the serial port, to initiate a warm start. During a warm start, the Lassen iq GPS receiver identifies the satellites which are expected to be in view, given the system almanac, the initial position and the approximate time. The receiver calculates the elevation and expected Doppler shift for each satellite in this expected set and directs the twelve tracking channels in a parallel search for these satellites. The warm start time to first fix, when the receiver has been powered down for more than 60 minutes (i.e. the ephemeris data is old), is usually less than 45 seconds Hot Start A hot start strategy applies when the Lassen iq GPS receiver has been powered down for less than 60 minutes, and the almanac, position, ephemeris, and time are valid. The hot start search strategy is similar to a warm start, but since the ephemeris data in memory is considered current and valid, the acquisition time is typically less than 20 seconds. Lassen iq GPS Receiver 57

68 4 Operation and Performance Garage Search Strategy During a warm start search, the Lassen iq GPS receiver knows which satellites to search for, based on the system almanac, the initial position (last known position) and the current time. In some cases, the receiver may not be able to acquire the expected satellite signals (e.g., a vehicle parked in a garage or a vessel in a covered berth). Trimble's patented garage search strategy, also known as a split search, is designed for such situations. If the receiver does not acquire the expected set of satellites within 5 minutes of power-on, some of the twelve tracking channels will continue to search for the expected satellites (warm search) while the remaining channels are directed in a cold start search. This strategy minimizes the time to first fix in cases where the stored almanac, position and time are invalid. The stored information is flushed from memory, if the cold start search proves effective and the warm search fails System Reset The Lassen iq GPS receiver can be reset with software commands or by cycling power. A system reset will cause the receiver to restart and begin the satellite acquisition and tracking process again. There are three types of system resets: soft reset, hard reset, and factory reset. The TSIP protocol supports all three resets using the 0x1E command. Power cycling can be used for either the soft reset or the hard reset. A soft reset is a system restart. In a soft reset, the system will attempt to acquire satellites using the satellite information and last position data stored in RAM, and the time information supplied by the realtime clock. There are two ways to initiate a soft reset: Cycling main power while keeping the memory and the realtime clock alive with back-up power. Issuing Command Packet 0x25. A soft reset is the same as a warm or hot start, if the information contained in memory and supplied by the real-time clock is valid. 58 Lassen iq GPS Receiver

69 Operation and Performance 4 A hard reset is a system restart that results in satellite acquisition search using a default search set. Any data contained within RAM memory is discarded and the real-time clock is re-initialized. Even if back-up power is supplied, the information from memory and the realtime clock is not used. There are two ways to initiate a soft reset: Issuing the 0x1E command with a value of 0x4B. Cycling power without back-up power applied. Using this method, power must be removed for at least 3 minutes to ensure any residual memory storage is erased. If power is cycled rapidly, the 0x1E command with a value of 0x4B must then be issued to the receiver 2.5 seconds after power is restored to ensure a hard reset. A factory reset is used to restore all the factory default settings into the receiver. Any user settings stored in Flash memory will be erased. Issuing the 0x1E command with a value of 0x46 will initiate a factory reset. Lassen iq GPS Receiver 59

70 4 Operation and Performance 4.4 Satellite Mask Settings Once the Lassen iq GPS receiver has acquired and locked onto a set of satellites, which pass the mask criteria listed in this section, and has obtained a valid ephemeris for each satellite, it will output regular position, velocity and time reports according to the protocol selected. The default satellite masks observed by the Lassen iq GPS receiver are listed in Table 1. These masks serve as the screening criteria for satellites used in fix computations and ensure that position solutions meet a minimum level of accuracy. The Lassen iq GPS receiver will only output position, course, speed and time when a satellite set can be acquired which meets all of the mask criteria. The satellite masks can be adjusted in GPS receivers accepting the TSIP protocol. (See Appendix A for details on key setup parameters.) Table 4.1 Satellite Mask Settings Mask Setting Elevation 5 SNR 2 PDOP 12 PDOP Switch 6 60 Lassen iq GPS Receiver

71 Operation and Performance Elevation Mask Satellites below a 5 elevation are not used in the position solution. Although low elevation satellites can contribute to a lower/better PDOP, the signals from low elevation satellites are poorer quality, since they suffer greater tropospheric and ionospheric distortion than the signals from higher elevation satellites. These signals travel further through the ionospheric and tropospheric layers. In addition, low elevation satellites can contribute to frequent constellation switches, since the signals from these satellites are more easily obscured by buildings and terrain. Constellation switches can cause noticeable jumps in the position output. Since worldwide GPS satellite coverage is generally excellent, it is not usually necessary to use satellites below a 5 elevation to improve GPS coverage time. In some applications, like urban environments, a higher mask may be warranted to minimize the frequency of constellation switches and the impact of reflected signals SNR Mask Although the Lassen iq GPS receiver is capable of tracking signals with SNRs as low as 0, the default SNR mask in Standard Sensitivity Mode is set to 2 to eliminate poor quality signals from the fix computation and minimize constellation switching. Low SNR values may result from: Low Elevation Satellites Partially Obscured Signals (e.g. Dense Foliage) Multi-Reflected Signals (Multi-Path) The distortion of signals and the frequent constellation switches associated with low-elevation satellites were discussed above. In mobile applications, the attenuation of signals by foliage is typically a temporary condition. Since the Lassen iq GPS receiver can maintain lock on signals with SNRs as low as 0, it offers excellent performance when traveling through heavy foliage. Lassen iq GPS Receiver 61

72 4 Operation and Performance Multi-reflected signals, also known as Multi-path, can degrade the position solution. Multi-path is most commonly found in urban environments with many tall buildings and a preponderance of mirrored glass, which is popular in modern architecture. Multireflected signals tend to be weak (low SNR value), since each reflection attenuates the signal. By setting the SNR mask to 3 or higher, the impact of multi-reflected signals is minimized DOP Mask Position Dilution of Precision (DOP) is a measure of the error caused by the geometric relationship of the satellites used in the position solution. Satellite sets which are tightly clustered or aligned in the sky will have a high DOP and will contribute to a lower position accuracy. For most applications, a DOP mask of 12 offers a satisfactory trade-off between accuracy and GPS coverage time. With world-wide GPS coverage now available, the DOP mask can be lowered even further for many applications without sacrificing coverage PDOP Switch The default positioning mode for the Lassen iq GPS receiver is Automatic. In this mode, the receiver attempts to generate a 3- dimensional (3D) position solution, when four or more satellites meeting the mask criteria are visible. If such a satellite set cannot be found, the receiver will automatically switch to 2-dimensional (2D) mode. The PDOP switch establishes the trade-off between 3D positioning and PDOP. With the PDOP Switch set to 6, the receiver will compute a 2D position with a HDOP below 6 rather than a 3D position with a PDOP greater than 6, even when four or more satellites are visible. Note PDOP Switch is only used in Auto mode. 62 Lassen iq GPS Receiver

73 4.5 Standard Operating Modes Operation and Performance 4 The tracking mode controls the allocation of the receiver's tracking channels and the method used for computing position fixes Fix Modes The Lassen iq GPS receiver offers three positioning modes: 2D Manual, 3D Manual, and Automatic 2D/3D. Automatic 2D/3D is the default mode for the Lassen iq GPS receiver. The positioning mode can be modified in receivers accepting TSIP commands. (See Appendix A for more information on the TSIP protocol.) 2D Manual In 2D Manual mode, the Lassen iq GPS receiver will only generate 2-dimensional (2D) position solutions (latitude and longitude only), regardless of the number of visible satellites. If the altitude is not entered, the receiver uses zero as the default altitude. The greater the deviation between the actual and default altitudes, the greater the error in the 2D position. For TSIP applications, enter local altitude in MSL/HAE via TSIP packet 2AH (see Appendix A). 3D Manual In manual 3D mode, the Lassen iq GPS receiver will only generate 3-dimensional (3D) position solutions (latitude, longitude, and altitude). A 3D solution requires at least four visible satellites which pass the mask criteria. If less than four conforming satellites are visible, the Lassen iq GPS receiver will suspend position data outputs. Lassen iq GPS Receiver 63

74 4 Operation and Performance 2D/3D Automatic The default operating mode for the Lassen iq GPS receiver is 2D/3D Automatic. In this mode, the Lassen iq GPS receiver attempts to generate a 3-dimensional (3D) position solution, if four or more satellites meeting the mask criteria are visible. If only three satellites are visible which meet the mask criteria, the Lassen iq GPS receiver will automatically switch to 2-dimensional (2D) mode and will use the last calculated altitude, if available, or the default altitude in the position solution. In 2D/3D Automatic mode, the PDOP switch is active Differential GPS Operating Modes The default mode for the Lassen iq GPS receiver is DGPS Automatic. The receiver supports three DGPS Modes: On, Off, and Automatic. The mode may be changed by issuing the appropriate TSIP command (see Appendix A for details). DGPS On When DGPS On is selected, the Lassen iq GPS receiver will only provide differential GPS solutions. If the source of the correction data is interrupted or becomes invalid, the receiver will suspend output of all position, course and speed data. When a valid source of correction data is restored, the receiver will resume outputting data. DGPS Off When DGPS Off is selected, the Lassen iq GPS receiver will not provide differential GPS solutions even if a valid source of correction data is supplied. In this mode, the receiver will only supply standard GPS position data. 64 Lassen iq GPS Receiver

75 Operation and Performance 4 DGPS Automatic DGPS Automatic is the default operating mode for the Lassen iq GPS receiver. In this mode, the receiver will provide differential GPS suitableness when valid correction data is available. If a set of differentially correctable satellites cannot be found which meet the satellite mask settings, the receiver will transition to output standard GPS solutions. The Lassen iq GPS receiver automatically switches between DGPS and standard GPS based on the availability of valid correction data. Differential GPS Operation The Lassen iq GPS receiver is capable of accepting and decoding RTCM-104 data, the industry standard protocol for differential correction data. The receiver is configured to accept RTCM SC-104 correction data over Port 2 (PIN 6). Alternatively, you can use TSIP packet 60 or the TAIP DC message to input differential corrections through the primary serial port (PIN 3). 4.6 Position Accuracy GPS position accuracy is degraded by atmospheric distortion, satellite geometry, satellite clock errors, and receiver clock errors. Effective models for atmospheric distortion of satellite signals have been developed to minimize the impact of tropospheric and ionospheric effects. The impact of satellite clock errors is minimized by incorporating the clock corrections transmitted by each satellite used in the position solution. Lassen iq GPS Receiver 65

76 4 Operation and Performance 4.7 Coordinate Systems Once the Lassen iq GPS receiver achieves its first fix, it is ready to commence output of position, velocity, and time information. This information is output over serial communication channel in either the TSIP or NMEA protocol, as determined by the settings of the receiver. These protocols are defined in the Appendices. To change from one protocol to another, see Appendix A TSIP Coordinate Systems TSIP has the widest choice of coordinate systems. The output format is chosen by TSIP command 0x35. The output formats include the following: LLA position Latitude, longitude, altitude (LLA) according to the WGS-84 ellipsoid. Altitude can be chosen to be height above ellipsoid (HAE) or height above mean sea level (MSL). ENU velocity ENU velocity is the velocity in East, North, and Up coordinates. These coordinates are easily converted to speed and heading. ECEF position and velocity ECFF position and velocity is Earth-Centered, Earth-Fixed frame is a Cartesian coordinate frame with its center at the earth's center, the z-axis through the North Pole, and the x-axis through longitude 0 degrees, latitude 0 degrees. Velocity is reported relative to the same axes. 66 Lassen iq GPS Receiver

77 Operation and Performance 4 There are also two time coordinate systems: GPS time GPS time is determined by an ensemble of atomic clocks operated by the Department of Defense (DOD). UTC time UTC time is the world standard maintained by an ensemble of atomic clocks operated by government organizations around the world. UTC time replaced GMT (Greenwitch Mean Time) as the world standard, in GPS time is steered relative to Universal Coordinated Time (UTC). GPS does not recognize leap seconds resulting in a situation where GPS time is currently 13 seconds ahead of UTC time. Time tags for most output messages can be in either UTC time or GPS time, as chosen by TSIP command 0x NMEA 0183 The NMEA 0183 protocol only supports LLA format and UTC time. Velocity is always described as horizontal speed and heading; vertical speed is not output. Lassen iq GPS Receiver 67

78 4 Operation and Performance 4.8 Performance Characteristics Update Rate The Lassen iq GPS receiver computes and outputs position solutions once per second, on the second. NMEA outputs can be scheduled at a slower rate using TSIP command 0x7A (see Appendix A). TAIP outputs may be controlled with TSIP packet 0x7E Dynamic Limits The dynamic operating limits for the Lassen iq GPS receiver are listed below. These operating limits assume that the GPS module is correctly embedded and that the overall system is designed to operate under the same dynamic conditions. Table 4.2 Lassen iq GPS Receiver Operating Limits Operation Limit Acceleration 4 g (39.2 m/s 2 ) Jerk 20 m/s 3 Speed Altitude 500 m/s 18,000 m Note The Lassen iq GPS Receiver firmware contains an algorithm that allows either the speed limit or altitude limit to be exceeded, but not both. This allows the receiver to be used in high altitude (research balloon) applications without a special factory configuration. 68 Lassen iq GPS Receiver

79 Operation and Performance Re-Acquisition Re-acquisition time for a momentary signal blockages is typically under 2 seconds. When a satellite signal is momentarily interrupted during normal operation, the receiver continues to search for the lost signal at the satellite's last known Doppler frequency. If the signal is available again within 15 seconds, the receiver will normally re-establish track within two seconds. If the lost signal is not re-acquired within 15 seconds, the receiver initiates a broader frequency search. The receiver will continue to search for the satellite until it falls below the elevation mask. Lassen iq GPS Receiver 69

80 4 Operation and Performance 4.9 Lassen iq GPS Receiver Sensitivity Modes The Lassen iq GPS receiver features two sensitivity modes: Standard Sensitivity (default) and Enhanced Sensitivity Standard Sensitivity Mode In the Standard Sensitivity mode, the receiver acquires GPS satellite signals in Cold Start, Warm Start, and Hot Start TTFF using 1 ms PDI (Pre-Detection Integration) setting to search the frequency range. Considering the fact that the minimum integration time of the GPS signal (1 ms PDI) has been applied, the receiver is optimized for faster acquisition times. In the standard mode, the default setting for the AMU mask (Amplitude Measurement Unit) is 2. AMU mask establishes the minimum signal strength that the receiver will use for GPS (position, velocity and time) calculations. The standard mode settings are AMU Mask = 2 and PDI = 1 ms. These standard mode settings are the factory recommendations for fastest acquisition and best performance under normal signal conditions Enhanced Sensitivity Mode Enhanced Sensitivity mode enables the receiver to acquire lower strength GPS satellite signals and generate position fixes under poor signal conditions. When the Enhanced Mode is enabled, the receiver will begin its search for GPS satellite signals using a 1ms PDI acquisition. If no valid GPS satellite signals are detected after one complete frequency search, the receiver will switch to the extended PDI acquisition of 5 ms. Using a longer PDI allows the unit to detect lower level signals but does require longer to complete the frequency search. 70 Lassen iq GPS Receiver

81 Operation and Performance 4 In addition to the automatic switch to an extended PDI if needed, the Enhanced Sensitivity mode also uses a lower AMU mask. When Enhanced Sensitivity mode is enabled, the AMU mask is immediately set to the lower value of 1.2. This lower setting allows weaker signals to pass the filters of the GPS system and be used for calculating the position. The default AMU mask for the Enhanced Sensitivity is 1.2. The user can change the AMU mask to a different value. When this is done, the receiver will overwrite the default setting of 1.2 and use the selected AMU. The enhanced mode settings for the first frequency sweep are AMU Mask= 1.2 and PDI = 1 ms. If the receiver can not acquire after the first frequency sweep, the enhanced mode settings are AMU Mask= 1.2 and PDI = 5 ms. The user will also experience extended startup times Extended Startup Times Due to the extended PDI acquisition in the Enhanced Sensitivity Mode, longer TTFF times (Time to First Fix) is normal. In the Enhanced Sensitivity Mode, the receiver is optimized for increased sensitivity, 6 db more sensitive than the standard setting, at the cost of the longer startup times. This means that operating in the higher sensitivity mode is a trade-off between the faster start up times of the standard mode versus the higher sensitivity of the Enhanced Sensitivity mode. Therefore, the user must determine for each particular application which sensitivity mode will provide the best performance. The following tables illustrate the comparison between the TTFF times in Standard and Enhanced Sensitivity modes. Note that the Enhanced Mode is not applicable for Cold Starts. Lassen iq GPS Receiver 71

82 4 Operation and Performance Table 4.3 Standard Sensitivity Mode TTFF Times Standard Sensitivity Mode 50% (sec) 90% (sec) Hot Start Warm Start Table 4.4 Enhanced Sensitivity Mode TTFF Times Standard Sensitivity Mode 50% (sec) 90% (sec) Hot Start TBD TBD Warm Start TBD TBD Enabling the Enhanced Sensitivity Mode New TSIP Command The Lassen iq GPS receiver is configured from the factory with the Enhanced Sensitivity feature turned off. A new TSIP (Trimble Standard Interface Protocol) command and a new set of APIs have been generated for switching between the Standard and the Enhanced Sensitivity Modes. You can turn the Enhanced Sensitivity feature on, using one of three tools: The iq_chat program found in the iq Starter Kit or The iq_monitor program found in the iq Starter Kit or The new TSIP Command Packet 0x69. The Lassen iq GPS receiver will respond with the new TSIP response packet 0x89. A soft reset is required to make the switch effective. Following are the details of the command packet 0x69 and report packet 0x Lassen iq GPS Receiver

83 Operation and Performance 4 Table 4.5 Command Packet 0x69 Set/Request Enhanced Sensitivity Mode Byte Item Type Value Definition 0 Enhanced Sensitivity Mode 1 Reserved Byte 0 1 Off (standard) On (enhanced) Table 4.6 Report Packet 0x89 Report Enhanced Sensitivity Mode Byte Item Type Value Definition 0 Current Enhanced Sensitivity Mode 1 Enhanced Sensitivity Mode After Reset Byte 0 1 Byte 0 1 Off (standard) On (enhanced) Off (standard) On (enhanced) In order to change the receiver to the Enhanced Sensitivity Mode completely and take effect, a soft reset is required. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, the settings can be saved to flash memory using the TSIP 8Ex26 Command. Lassen iq GPS Receiver 73

84 4 Operation and Performance Setting the Enhanced Sensitivity Mode Following is a 'typical' scenario using the TSIP packets 0x69 and 0x Request the current sensitivity status from a factory configured Lassen iq GPS receiver. Send Packet 0x69 with no data. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 0; byte 1 = Turn on the Enhanced Sensitivity feature. Send Packet 0x69 with byte 0 = 1. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 0; byte 1 = 1. Send Packet 0x25 (soft reset). The Lassen iq GPS receiver will respond with Packet 0x45 (Software Version Information) Send Packet 0x69 with no data. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 1; byte 1 = The Lassen iq GPS receiver is now in Enhanced Sensitivity mode until a cold start command is executed or a power cycle is initiated. To Permanently set The Enhanced Sensitivity Mode 1. Execute the 8Ex26 command before the cold start or power cycle is executed. 2. The 8Ex26 command sets the enhanced sensitivity configuration into flash memory. 74 Lassen iq GPS Receiver

85 Operation and Performance Lassen iq GPS Receiver Aided GPS Feature This feature allows the Lassen iq GPS receiver to take advantage of the fast startup times of hot start. The fast hot startup times can be achieved by uploading almanac, ephemeris, time, and position to the receiver using TSIP packets. There are two methodologies to provide this information. One is to use the iq_monitor program by downloading and uploading the information through the Starter kit. The second methodology is for the user to write an application using TSIP commands to download and upload the appropriate information in his own application. Warning To ensure proper format of the ephemeris file and almanac file, a Trimble receiver must be used to gather this data. Using almanac files from non-trimble receivers may not be in proper format and thus may not work, i.e. almanac files downloaded from the Internet iq_monitor Method 1. Attach the Lassen iq GPS receiver starter box to your PC. 2. Place the GPS antenna, where there is a clear view of sky. 3. Allow the starter kit box to run and to calculate fixes. 4. On the main screen, wait for the almanac indicator to turn green indicating that the receiver has collected almanac. Note It takes 12,5 minutes of uninterrupted iq operation to collect almanac from the satellites. 5. Click on the initialized pulldown menu and use the download features on the bottom of the pulldown to download the almanac, position, time and ephemeris to files on your PC. 6. Now that you have collected these files, you can upload them using the upload features on the initialize pulldown window in iq_monitor. Note The collected ephemeris will be only good for approximately 2 hours. Lassen iq GPS Receiver 75

86 4 Operation and Performance The TSIP Commands Method 1. Allow the receiver to run long enough to collect almanac. Note It takes 12,5 minutes of uninterrupted iq operation to collect almanac from the satellites. 2. Use packet 0 x 26 to request the health of the receiver. The response packets 0x46 and 0x4B indicate when the almanac is complete and current. 3. Use packet 0x 38 to request the almanac and the ephemeris. The receiver responses with packet 0 x Use packet 0 x 21 to request time from the receiver. The receiver responses with packet 0x 41 and this can be used to set your own off-board clock. 5. You also need to request position from the receiver. This can be done by using packets 0x42, 0x4A, 0x83 0r 0x84. To upload this information back to the receiver, the following order of the upload commands shall be followed: 1. Upload the time using packet 0x2E. Wait for upload confirmation report packet 0x Upload position using packet 0x31 or 0x32. No confirmation report packet available. 3. Upload the ephemeris, using packet 0x38. Wait for upload confirmation report packet 0x Upload almanac using packet ox 38. Wait for upload confirmation report packet 0x58. Note For details regarding all the mentioned TSIP packets, see Appendix A. 76 Lassen iq GPS Receiver

87 Operation and Performance 4 Warning To operate the Lassen iq GPS receiver under Hot Start conditions, the following conditions are required. 1) The almanac must be valid. Almanac data is generally valid for 4-6 months. The Lassen iq GPS receiver automatically flushes almanac every 8 weeks. 2) The ephemeris must be less than 2 hours old. 3) The position must be within 100 Km of the current iq position. 4) Time must be within 5 minutes of UTC. 4.11GPS Timing In many timing applications, such as time/frequency standards, site synchronization systems and event measurement systems, GPS receivers are used to discipline local oscillators. The GPS constellation consists of 24 orbiting satellites. Each GPS satellite contains a highly-stable atomic (Cesium) clock, which is continuously monitored and corrected by the GPS control segment. Consequently, the GPS constellation can be considered a set of 24 orbiting clocks with worldwide 24-hour coverage. GPS receivers use the signals from these GPS clocks to correct its internal clock, which is not as stable or accurate as the GPS atomic clocks. GPS receivers like the Lassen iq GPS receiver output a highly accurate timing pulse (PPS) generated by its internal clock, which is constantly corrected using the GPS clocks. This timing pulse is synchronized to UTC within ±50 ns. In addition to serving as a highly accurate stand-alone time source, GPS receivers are used to synchronize distant clocks in communication or data networks. This synchronization is possible since all GPS satellite clocks are corrected to a common master clock. Therefore, the relative clock error is the same, regardless of which satellite or satellites are used. For timing applications requiring a common clock, GPS is the ideal solution. Lassen iq GPS Receiver 77

88 4 Operation and Performance The position and time errors are related by the speed of light. Therefore, a position error of 100 meters corresponds to a time error of approximately 333 ns. The hardware and software implementation affects the GPS receiver's PPS accuracy level. The receiver's clocking rate determines the PPS steering resolution. The Lassen iq GPS receiver clocking rate is MHz. This rate corresponds to a steering resolution of ±40 ns Serial Time Output The TSIP, TAIP, and NMEA protocols include time messages. See report packets 41 and 8F-20 in Appendix A for a description of the time reports for the TSIP protocol. See the TAIP Appendix for a description of the TM message. See the NMEA Appendix for a description of the ZDA message. Note GPS time differs from UTC (Universal Coordinated Time) by a variable, integer number of seconds UTC=(GPS time)-(gps UTC offset). As of January 2005, the GPS UTC offset was 13 seconds. The offset has historically increased by 1 second about every 18 months. The GPS Control Organization has not added leap seconds on its usual 18 month schedule. As a result, the offset remains at 13 seconds. System designers should plan to read the offset value as a part of the timing interface to obtain UTC. The GPS week number is in reference to a base week (Week #0), starting January 6, Lassen iq GPS Receiver

89 4.12Pulse-Per-Second (PPS) Operation and Performance 4 The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 4 of the Lassen iq GPS receiver power and I/O connector. The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise time. The PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. The PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and is obtaining fixes. The PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the Lassen iq GPS receiver is not tracking satellites, is unspecified and should not be used for synchronization PPS Output Mode PPS output mode can be controlled by TSIP command packet 0 x 35. Once a specific mode is selected, it can be stored in non-volatile memory (flash) using TSIP command 0x8E-26. The following PPS modes are supported. Always Off When the Always Off mode is selected, the PPS output remains low at all times. Disabling the PPS output has no affect on normal receiver operations, and position fixes are calculated as usual. This mode can be selected at any time during receiver operation. The PPS output is immediately switched off (disabled) when the TSIP command for this mode is received. Lassen iq GPS Receiver 79

90 4 Operation and Performance Always On (default) When the PPS output is configured for Always On (early PPS), it is driven by the Real Time Clock (RTC) until the receiver acquires GPS time is generating position fixes. In this mode, the PPS output continues even if the receiver loses GPS tracking. The maximum drift of the PPS pulse when not tracking satellites could be quite large, therefore the PPS output should not be used for precise synchronization when no position fix occurs. The PPS can be switched to Always On mode any time during normal operation. This mode is the factory default setting. Fix Based In this mode, the PPS output is turned on only while fixes are taking place. If the receiver is not tracking satellites, the PPS output is turned off until the signals are required and position fixes are valid again. If the receiver is switched from Always On to Fix Mode, and the receiver has not yet started generating position fixes, the PPS output will turn off until a new fix is obtained. Programmable Characteristics - Signal Offset (Cable Delay Compensation) The receiver firmware also enables the user to offset the delay of the PPS pulse with reference to the actual UTC second tick. This delay is the result of antenna cable length and propagation delay of the PPS output signal. The delay compensation parameter can be set (in nano seconds) using TSIP super packet 0x8E-4A. Note that the current firmware version only allows the update of the PPS offset parameter of the PPS definition packet (0x8E-4A). Other parameters are read only. The PPS offset selection can be stored in non-volatile memory by sending command packet 0x8E-26 to the receiver. 80 Lassen iq GPS Receiver

91 Operation and Performance 4 Note Trimble Navigation has measured better than 50 nanoseconds accuracy of the Lassen iq GPS receiver PPS signal in static mode. For more information on timing applications, contact your Trimble sales representative. The Lassen iq GPS receiver was designed primarily as a navigation receiver. The long term stability of the PPS signal has not been tested. Therefore Trimble does not recommend use of Lassen iq in timing or synchronization applications where guaranteed stability of the PPS signal is required. Contact your Trimble sales representative for more information about products designed for critical timing applications. Lassen iq GPS Receiver 81

92 4 Operation and Performance 4.13System Architecture The Lassen iq GPS receiver (see Figure 4.7) uses twelve processing channels operating on the L1 frequency of MHz and using the coarse acquisition (C/A) code. The module uses custom integrated circuitry designed by Trimble to track the GPS satellite signals. These ICs also contain support circuitry to the navigation processor. An integrated 32-bit microprocessor is used for tracking, computing a position, and performing the I/O operations. The Lassen iq GPS receiver receives the amplified GPS satellite signals through the antenna feed line connector and passes them to the RF down converter. A highly stable crystal reference oscillator operating at MHz is used by the down converter to produce the signals used by the 12-channel signal processor. The12-channel signal processor tracks the GPS satellite signals and extracts the carrier code information as well as the navigation data at 50 bits per second. Operation of the tracking channels is controlled by the navigation processor. The tracking channels are used to track the highest twelve satellites above the horizon. The navigation processor will then use the optimum satellite combination to compute a position. The navigation processor also manages the ephemeris and almanac data for all of the satellites, and performs the data I/O. 82 Lassen iq GPS Receiver

93 Operation and Performance 4 Figure 4.7 Lassen iq GPS receiver Block Diagram Lassen iq GPS Receiver 83

94 4 Operation and Performance 84 Lassen iq GPS Receiver

95 APPENDIX A Trimble Standard Interface Protocol (TSIP) A The Trimble Standard Interface Protocol (TSIP) provides the system designer with over 20 commands that may be used to configure a GPS receiver for optimum performance in a variety of applications. TSIP enables the system designer to customize the configuration of a GPS module to meet the requirements of a specific application. This appendix provides the information needed to make judicious use of the powerful features TSIP has to offer, to greatly enhance overall system performance, and to reduce the total development time. The provided reference tables will help you determine which packets apply to your application. For those applications requiring customization see Customizing Receiver Operations, page 89 for a detailed description of the key setup parameters. Application guidelines are provided for each TSIP Command Packet, beginning on page 102.

96 A Trimble Standard Interface Protocol (TSIP) A.1 Interface Scope The Trimble Standard Interface Protocol is used extensively in Trimble receiver designs. The protocol was originally created for the Trimble Advanced Navigation Sensor (TANS) and is colloquially known as the TANS protocol even though the protocol applies to many other devices. The Lassen iq GPS receiver has two serial I/O communications ports. These are bi-directional control and data ports. The data I/O port characteristics, protocol definitions, and other options are user programmable and can be stored in non-volatile FLASH memory. The TSIP protocol is based on the transmission of packets of information between the user equipment and the unit. Each packet includes an identification code (1 byte, representing 2 hexadecimal digits) that identifies the meaning and format of the data that follows. Each packet begins and ends with control characters. This document describes in detail the format of the transmitted data, the packet identification codes, and all available information over the output channel to allow the user to choose the data required for his particular application. As will be discussed, the receiver transmits some of the information (position and velocity solutions, etc.) automatically when it is available, while other information is transmitted only on request. Additional packets may be defined for particular products and these will be covered in the specifications for those products as necessary. The iq_chat utility, part of the GPS Tool Kit, is designed to exercise many of the TSIP packets. 86 Lassen iq GPS Receiver

97 Trimble Standard Interface Protocol (TSIP) A A.2 Packet Structure TSIP packet structure is the same for both commands and reports. The packet format is: Where: <DLE> <id> <data string bytes> <DLE> <ETX> <DLE> is the byte 0x10 <ETX> is the byte 0x03 <id> is a packet identifier byte, which can have any value excepting <ETX> and <DLE>. The bytes in the data string can have any value. To prevent confusion with the frame sequences <DLE> <ID> and <DLE> <ETX>, every <DLE> byte in the data string is preceded by an extra <DLE> byte ('stuffing'). These extra <DLE> bytes must be added ('stuffed') before sending a packet and removed after receiving the packet. Notice that a simple <DLE> <ETX> sequence does not necessarily signify the end of the packet, as these can be bytes in the middle of a data string. The end of a packet is <ETX> preceded by an odd number of <DLE> bytes. Multiple-byte numbers (integer, float, and double) follow the ANSI/IEEE Std. 754 IEEE Standard for binary Floating-Point Arithmetic. They are sent most-significant byte first. This may involve switching the order of the bytes as they are normally stored in Intel based machines. Specifically: UINT8 = Byte: An 8 bit unsigned integer. UINT16 = Word: A 16 bit unsigned integer. INT16 = Integer: A 16 bit integer. INT32 = Long: A 32 bit integer. UINT32 = ULong: A 32 bit unsigned integer. Single Float, or 4 byte REAL has a precision of 24 significant bits, roughly 6.5 digits. Double 8 byte REAL has a precision of 52 significant bits. It is a little better than 15 digits. Lassen iq GPS Receiver 87

98 A Trimble Standard Interface Protocol (TSIP) A.3 Automatic Output Packets The Lassen iq GPS receiver receiver is configured to automatically output the following packets. For minimal system implementations, these output packets provide all of the information required for operation including time, position, velocity, and receiver and satellite status and health. Position and velocity are reported using one or more of the packets listed below, depending on the selected I/O options. While there are other packets automatically output, the following packets provide the information most commonly used. No input packets are required. Table A.1 Automatic Output Packets Output Packet ID Description Reporting Interval 0x41 GPS time 5 seconds 0x42, 0x83, 0x4A, 0x84, 0x8F-20 position (choose packet with I/O options) 1 second 0x43, 0x56, 0x8F-20 velocity (choose packet with I/O options) 1 second 0x46 health of receiver 5 seconds 0x4B machinecode/status (includes antenna fault detect) 5 seconds 0x6D all-in-view satellite selection, DOPs, Fix Mode 1 second 0x82 DGPS position fix mode (only in DGPS mode) 1 second 88 Lassen iq GPS Receiver

99 Trimble Standard Interface Protocol (TSIP) A A.4 Customizing Receiver Operations For information on customizing receiver operations, see the following tables on selecting report data. A.5 Automatic Position and Velocity Reports The receiver automatically outputs position and velocity reports at set intervals. Automatic report packets are controlled by Packet 35. Setting the control bits as indicated in the table below allows you to control which position and velocity packets are output. Table A.2 Packet 35: Automatic Position and Velocity Reports Control Setting Bits Report Packet ID 0x42 0x83 Requested Setting single precision XYZ position double-precision XYZ position Packet 0x35, Byte 0 Packet 0x35, Byte 1 Bit 0 Bit 1 Bit 4 Bit 5 Bit 0 Bit x4A single-precision LLA position 1 (default) 0 0x84 double-precision LLA position 1 1 0x43 velocity fix (XYZ, ECEF) 1 0x56 velocity fix (ENU) 1(default) 0x8F-20 LLA and ENU 1 Lassen iq GPS Receiver 89

100 A Trimble Standard Interface Protocol (TSIP) A.6 Initialization Packets to Speed Start-up If you are not supplying the receiver with battery power when main power is off, you can still warm-start the receiver by sending the following commands after the receiver has completed its internal initialization and has sent Packet 82. Table A.3 Input Byte 0x2B 0x2E 0x38 0x38 0x38 0x38 Description initial position initial time almanac (for each SV) almanac health ionosphere page UTC correction 90 Lassen iq GPS Receiver

101 Trimble Standard Interface Protocol (TSIP) A A.7 Packets Output at Power-Up The following table lists the messages output by the receiver at powerup. After completing its self-diagnostics, the receiver automatically outputs a series of packets which indicate the initial operating condition of the receiver. Messages are output as listed in the table below. After Packet 82 is output, the sequence is complete and the receiver is ready to accept commands. Table A.4 Packet Power-up Output Messages Output ID Description Notes 0x45 software version -- 0x46 receiver health -- 0x4B machine code/status -- As chosen, see Table A.3 default: 0 x 4A, 0 x 56 0x41 position/velocity output GPS time 82 DGPS position fix mode -- As chosen, see Table A.3. A.8 Timing Packets If you are using the Lassen iq GPS receiver as a timing system, you may need to implement the following TSIP control commands. Table A.5 Timing Packet TSIP Control Commands Input ID Description Output ID 0x21 get the current GPS time 0x41 0x38-05 request UTC parameters 0x58-05 Lassen iq GPS Receiver 91

102 A Trimble Standard Interface Protocol (TSIP) A.9 Satellite Data Packets The following packets contain a variety of GPS satellite data. Table A.6 Satellite Data Packet Data I/O Descriptions Input ID Description Output ID 0x27 request signal levels 0x47 0x38 request/load satellite system data 0x58 0x3C request tracking status 0x5C A.10Backwards Compatibility TSIP packets implemented in the Lassen iq GPS receiver are backward compatible with those used in Lassen SK II GPS receiver. For information regarding compatibility with other Trimble receivers, contact the Trimble Technical Assistance Center. 92 Lassen iq GPS Receiver

103 Trimble Standard Interface Protocol (TSIP) A A.11Recommended TSIP Packets Table A.7 Recommended TSIP Packet Data Function Description Input Output Protocol and port setup set/query port configuration 0xBC 0xBC set/query NMEA configuration 0x7A 0x7B set/query I/O options (autoreport and format options) 0x35 0x55 Navigation GPS time 0x21 0x41 Satellite and tracking information position & velocity (superpacket) 0x8E-20 or 0x37 or auto 0x8F-20 double-precision LLA 0x37/auto 0x84 double-precision XYZ 0x37/auto 0x83 ENU velocity 0x37/auto 0x56 XYZ velocity 0x37/auto 0x43 query receiver state (health) 0x26 0x46, 0x4B query current satellite selection 0x24 0x6D query signal levels 0x27 0x47 query satellite information (azimuth, elevation, etc.) 0x3C 0x5C Receiver settings query software version 0x1F 0x45 query receiver ID & error status 0x26 0x4B, 0x46 set/query receiver configuration 0xBB 0xBB set altitude for 2D mode 0x2A 0x4A disable PV/altitude filters 0x70 0x70 set/query positioning mode (2D v. 3D) 0xBB 0xBB GPS System query/load GPS system data 0x38 0x58 Lassen iq GPS Receiver 93

104 A Trimble Standard Interface Protocol (TSIP) Table A.7 (Continued)Recommended TSIP Packet Data Function Description Input Output Initialization full reset (clear battery backup and/or nonvolatile settings) soft reset 0x1E 0x25 set GPS time 0x2E 0x4E set exact LLA set approx. XYZ set approx. LLA set exact XYZ 0x32 0x23 0x2B 0x31 A.12Command Packets Sent to the Receiver The table below summarizes the command packets sent to the receiver. The table includes the input Packet ID, a short description of each packet, and the associated response packet. In some cases, the response packets depend on user-selected options. These selections are covered in the packet descriptions beginning on page 102. Table A.8 User-Selected Command Packet Options Input ID Packet Description Output ID 0x1E clear battery back-up/reset See Note 1 0x1F software version 0x45 0x21 current time 0x41 0x23 initial position (XYZ ECEF) -- 0x24 request receiver position fix mode 0x6D 0x25 soft reset & self-test See Note 1 0x26 receiver health 0x46, 0x4B 0x27 signal levels 0x47 0x2A altitude for 2-D mode 0x4A 94 Lassen iq GPS Receiver

105 Trimble Standard Interface Protocol (TSIP) A Table A.8 User-Selected Command Packet Options (Continued) Input ID Packet Description Output ID 0x2B initial position (Lat, Lon, Alt) -- 0x2D oscillator offset 0x4D 0x2E set GPS time 0x4E 0x31 accurate initial position (XYZ Cartesian ECEF) -- 0x32 accurate initial position -- 0x35 I/O options 0x55 0x37 status and values of last position and velocity 0x57 0x38 load or request satellite system data 0x58 0x3C tracking status 0x5C, see Note 2 0x69 enhanced sensitivity 0x89 0x70 filter configuration 0x70 0x7A set/request NMEA output configuration 0x7B 0xBB set receiver configuration 0xBB 0xBC set port configuration 0xBC 0x8E-20 last fix with extra information (fixed point) 0x8F-20 0x8E-26 Store settings in Flash memory. 0x8F-26 Note 1 Output is determined by packet 0 x 35. See Table A.4 to determine which messages are output at power-up. Note 2 No response sent if data is not available. Lassen iq GPS Receiver 95

106 A Trimble Standard Interface Protocol (TSIP) A.13Report Packets Sent by the Receiver to the User The table below summarizes the packets output by the receiver. The response packets may depend on user-selected options (see page 82). Table A.

107 Trimble Standard Interface Protocol (TSIP) A A.14Key Setup Parameters or Packet BB Selecting the correct operating parameters has significant impact on receiver performance. Packet 0xBB (set receiver configuration) controls the key setup parameters. The default operating parameters allow the receiver to perform well in almost any environment. The user can optimize the receiver to a particular application if the vehicle dynamics and expected level of obscuration are understood. If the receiver is then taken out of this environment, the specifically tuned receiver may not operate as well as a receiver with the default options. The table below lists suggested parameter selections as a function of obscuration and whether accuracy or fix density is important. In this table, NA indicates that the operating parameter is not applicable, DC (don't care) indicates that the user may choose the operating parameter. Table A.10 Setup Parameters in Packet 0xBB Parameter Accuracy Fixes Factory Default Fix mode Man 3D AUTO AUTO Dynamics code Land Land Land Elevation mask Signal mask DOP mask DOP switch NA DGPS correction age 10 Seconds N/A 30 Seconds The default values in Table A.10 allow the receiver to operate well under the most varied and demanding conditions. A user may choose to change the default parameters if the receiver is only required to perform in a specific or limited environment. The user should be warned that when the receiver is exposed to operating conditions which are different from the conditions described by the user setup, then the performance may be degraded. Lassen iq GPS Receiver 97

108 A Trimble Standard Interface Protocol (TSIP) Initially, the user must consider the environment in which the receiver is expected to operate. There is a trade-off between how frequently a position fix is output versus the absolute accuracy of the fix. The user must decide which takes priority and then make the appropriate selections. This becomes increasingly important when frequent satellite blockages are expected, as in downtown urban canyon environments and heavily foliated areas. Following is a description of the key fields in Packet 0xBB. A.14.1 Set Fix Mode Packet 0xBB is used to choose the appropriate position fix mode for your application: 2-D, 3-D or AUTO. The default mode is AUTO 2- D/3-D, where the receiver first attempts to obtain a 3-D solution with a PDOP below the DOP switch. If this is not possible, then the receiver attempts to obtain a 2-D solution with a DOP less than the DOP mask. This mode supplies fairly continuous position fixes even when there is frequent obscuration. This mode is preferable for most land or air applications, where altitude changes are occurring and there is occasional obscuration. The highest accuracy fix mode is 3-D manual, where altitude is always calculated along with the latitude, longitude, and time. However, this requires four satellites with a PDOP below the DOP mask set in Packet BB in order to obtain a position. Normally, this will provide the most accurate solution. Thus, if only 3-D solutions are desired, then the user should request 3-D manual mode. Depending on how the PDOP mask is set, this may be restrictive when the receiver is subjected to frequent obscuration, or when the geometry is poor due to an incomplete constellation. Alternatively, if the user only wants a 2-D solution, then 2-D manual should be requested. In this case, the receiver uses either the last altitude obtained in a 3-D fix, or the altitude supplied by the user. However, any error in the assumed altitude will affect the accuracy of the latitude and longitude solution. 98 Lassen iq GPS Receiver

109 Trimble Standard Interface Protocol (TSIP) A When using the 2-D mode, expect fixes with accuracies which are at best as accurate as the supplied altitude. If a marine user enters sealevel as the altitude, then small errors in the horizontal solution will occur when the sea state is rough or there are high tidal variations. However, these errors may be smaller than the altitude errors induced by SA, so 2-D may be preferable for a marine user who does not want to observe unusual altitudes. A.14.2 Dynamics Code The feature default is LAND mode, where the receiver assumes a moderate dynamic environment. In this case, the satellite search and re-acquisition routines are optimized for vehicle type environments. In SEA mode, the search and re-acquisition routines assume a low acceleration environment and reverts to user entered altitude in 2-D auto. In AIR mode, the search and re-acquisition routines are optimized for high acceleration conditions. A.14.3 Elevation Mask This is the minimum elevation angle for satellites to be used in a solution output by the receiver. Satellites which are near the horizon are typically more difficult to track due to signal attenuation, and are also generally less accurate due to higher variability in the ionospheric and tropospheric corruption of the signal. When there are no obstructions, the receiver can generally track a satellite down to near the horizon. However, when this mask is set too low, the receiver may experience frequent constellation switching due to low elevation satellites being obscured. Lassen iq GPS Receiver 99

110 A Trimble Standard Interface Protocol (TSIP) Frequent constellation switching is undesirable because position jumps may be experienced when SA is present and DGPS is not available to remove these effects. The benefit of a low elevation mask is that more satellites are available for use in a solution and a better PDOP may be yielded. The current mask is set to five degrees and provides a reasonable trade-off of the benefits and drawbacks. High accuracy users may prefer a mask angle around ten degrees, where the ionosphere and troposphere begin to be more predictable A.14.4 Signal Level Mask This mask defines the minimum signal strength for a satellite used in a solution. There is some internal hysteresis on this threshold which allows brief excursions below the threshold if lock is maintained and the signal was previously above the mask. The factory default mask has been set to 2 (AMU). High accuracy users may use a slightly higher mask of , since weaker measurements may be slightly noisier and are often caused by reflected signals which provide erroneous ranges. One should also resist the temptation to set the elevation and SNR masks too low. The satellite geometry is sometimes improved considerably by selecting low elevation satellites. They are, however, subject to significant signal degradation by the greater ionospheric and tropospheric attenuation that occurs. They are also subject to more obscuration by the passing scenery when the receiver is in a moving vehicle. The code phase data from those satellites is therefore more difficult to decode and therefore has more noise. Note A level of hysteresis in the signal level mask is allowed in the core operating software. The hysteresis allows the receiver to continue using satellite signals which fall slightly below the mask and prevents the receiver from incorporating a new signal until the signal level slightly exceeds the mask. This feature minimizes constellation changes caused by temporary fluctuations in signal levels. 100 Lassen iq GPS Receiver

111 Trimble Standard Interface Protocol (TSIP) A A.14.5 DOP Mask and Switch The DOP mask is the maximum DOP limit for any 2-D or 3-D position solution will be made. The DOP switch is the level at which the receiver stops attempting a 3-D solution, and tries for a 2-D solution when in automatic 2-D, 3-D mode. The switch level has no effect in either manual mode. Raising the DOP mask will generally increase the fix density during obscuration, but the fixes with the higher DOP will be less accurate (especially with SA present). Lowering the mask will improve the average accuracy at the risk of lowering the fix density. Lassen iq GPS Receiver 101

112 A Trimble Standard Interface Protocol (TSIP) A.15Packet Descriptions A.15.1 Command Packet 0x1E - Clear Battery Backup, then Reset This packet commands the GPS receiver to clear all battery back-up data and to perform a software reset. This packet contains one data byte. Table A.11 Command Packet 0x1E Format Byte Item Type Value Definition 0 Reset mode UINT 8 0x4B 0x46 Cold start: Erase BBRAM and restart Factory reset: Erase BBRAM and Flash and restart Warning All almanac, ephemeris, current position, mode, and communication port setup information is lost when executing the Factory Reset command. In normal use this packet should not be sent. Warning It is very helpful to keep a fresh copy of the current almanac, which is stored in the file GPSALM.DAT collected by the iq_chat command!. This allows near-instantaneous recuperation by the receiver in case of power loss or clearing of battery-backed memory by using the iq_chat to load it back into the receiver memory. 102 Lassen iq GPS Receiver

113 Trimble Standard Interface Protocol (TSIP) A A.15.2 Command Packet 0x1F - Request Software Versions This packet requests information about the version of software running in the Navigation and Signal Processors. This packet contains no data. The GPS receiver returns Packet 0x45. A.15.3 Command Packet 0x21 - Request Current Time This packet requests current GPS time. This packet contains no data. The GPS receiver returns Packet 0x41. A.15.4 Command Packet 0x23 - Initial Position (XYZ Cartesian ECEF) This packet provides the GPS receiver with an approximate initial position in XYZ coordinates. This packet is useful if the user has moved more than about 1,000 miles since the previous fix. (Note that the GPS receiver can initialize itself without any data from the user; this packet merely reduces the time required for initialization.) This packet is ignored if the receiver is already calculating positions. The data format is shown below. Note To initialize using the Latitude-Longitude-Altitude representation, use Command Packet 0x2B. Table A.12 Command Packet 0x23 Data Format Byte Item Type Units 0-3 X Single Meters 4-7 Y Single Meters 8-11 Z Single Meters Lassen iq GPS Receiver 103

114 A Trimble Standard Interface Protocol (TSIP) A.15.5 Command Packet 0x24 - Request GPS Receiver Position Fix Mode This packet requests current position fix mode of the GPS receiver. This packet contains no data. The GPS receiver returns Packet 0x6D. A.15.6 Command Packet 0x25 - Initiate Soft Reset & Self Test This packet commands the GPS receiver to perform a software reset. This is equivalent to cycling the power. The GPS receiver performs a self-test as part of the reset operation. This packet contains no data. Following completion of the reset, the receiver will output the start-up messages (see Table A.4). The GPS receiver sends Packet 0x45 only on power-up and reset (or on request); thus if Packet 0x45 appears unrequested, then either the GPS receiver power was cycled or the GPS receiver was reset. A.15.7 Command Packet 0x26 - Request Health This packet requests health and status information from the GPS receiver. This packet contains no data. The GPS receiver returns Packet 0x46 and 0x4B. A.15.8 Command Packet 0x27 - Request Signal Levels This packet requests signal levels for all satellites currently being tracked. This packet contains no data. The GPS receiver returns Packet 0x47. A.15.9 Command Packet 0x2A - Altitude for 2-D Mode Reference Altitude is the altitude used for manual 2-D positions if the altitude flag is set. Altitude is in units of HAE WGS-84 or MSL depending on the selected I/O options for the position. The Altitude Flag determines whether or not the Reference Altitude will be used. If set, it will be used. If cleared, altitude hold (last 3-D altitude) is used. 104 Lassen iq GPS Receiver

115 Trimble Standard Interface Protocol (TSIP) A Note With no data byte, this packet requests the current values of these altitude parameters. In this case, the GPS receiver returns Packet 4A. This packet sets or requests the altitude parameters used for the Manual 2-D mode: Reference Altitude and Altitude Flag. Packet 0x4A (9 byte format) is returned. Table A.13 Packet 0x2A Set Reference Altitude Description Byte Item Type Definition 0-3 Altitude Single Reference altitude for 2- D Table A.14 Packet 0x2A Clear Reference Altitude Description Byte Item Type Value Definition 0 Altitude Flag UINT8 0 x FF Clear Altitude flag Note With no data bytes, this packet requests the current values of these altitude parameters. In this case, the GPS receiver returns Packet 4A (9 byte format). Lassen iq GPS Receiver 105

116 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x2B - Initial Position (Latitude, Longitude, Altitude) This packet provides the GPS receiver with an approximate initial position in latitude and longitude coordinates (WGS-84). This packet is useful if the user has moved more than about 1,000 miles since the previous fix. (Note that the GPS receiver can initialize itself without any data from the user; this packet merely reduces the time required for initialization.) This packet is ignored if the receiver is already calculating positions. The data format is shown in the table below. Table A.15 Command Packet 0x2B Data Format Byte Item Type Units 0-3 Latitude Single Radians, north 4-7 Longitude Single Radians, east 8-11 Altitude Single Meters Note To initialize with ECEF position, use Command Packet 0x23. A Command Packet 0x2D - Request Oscillator Offset This packet requests the calculated offset of the GPS receiver master oscillator. This packet contains no data. The GPS receiver returns Packet 0x4D. This packet is used mainly for service. The permissible oscillator offset varies with the particular GPS receiver unit. 106 Lassen iq GPS Receiver

117 Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x2E - Set GPS Time This packet provides the approximate GPS time of week and the week number to the GPS receiver. The GPS receiver returns Packet 0x4E. The data format is shown below. The GPS week number reference is Week # 0 starting January 6, The seconds count begins at the midnight which begins each Sunday morning. This packet is usually not required when the battery back-up voltage is applied as the internal clock keeps time to sufficient accuracy. This packet is ignored if the receiver has already calculated the time from tracking a GPS satellite. Note See report Packet 41 for information on the Extended GPS week number. Table A.16 Command Packet 0x2E Data Formats Byte Item Type Units 0-3 GPS time of week Single Seconds 4-5 Extended GPS week number INT16 Weeks Lassen iq GPS Receiver 107

118 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x31 - Accurate Initial Position (XYZ Cartesian ECEF) This packet is identical in content to Packet 0x23. This packet provides an initial position to the GPS receiver in XYZ coordinates. However, the GPS receiver assumes the position provided in this packet to be accurate. This packet is used for satellite acquisition aiding in systems where another source of position is available. For acquisition aiding, the position provided by the user to the GPS receiver in this packet should be accurate to a few kilometers. For high-accuracy time transfer, position should be accurate to a few meters. Table A.17 Command Packet 0x31 Data Format Byte Item Type Units 0-3 X-axis Single Meters 4-7 Y-axis Single Meters 8-11 Z-axis Single Meters 108 Lassen iq GPS Receiver

119 Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x32 - Accurate Initial Position, (Latitude, Longitude, Altitude) This packet is identical in content to Packet 0x2B. This packet provides the GPS receiver with an accurate initial position in latitude, longitude, and altitude coordinates. However, the GPS receiver assumes the position provided in this packet to be accurate. This packet is used for satellite acquisition aiding in systems where another source of position is available. For acquisition aiding, the position provided by the user to the GPS receiver in this packet should be accurate to a few kilometers. For high-accuracy time transfer, position should be accurate to a few meters. Table A.18 Command Packet 0x32 Data Format Byte Item Type Units 0-3 Latitude Single Radians, North 4-7 Longitude Single Radians, East 8-11 Altitude Single Meters Lassen iq GPS Receiver 109

120 A Trimble Standard Interface Protocol (TSIP) A.16 Command Packet 0x35 - Set Request I/O Options This packet requests the current I/O options and allows the I/O options to be set. To request the options settings without any changes, send the packet with no data bytes. To change the options settings, include four data bytes with the values. The I/O options, their default settings, and the byte values for all possible configurations are shown below. The Set/Request I/O options are stored in battery-backed memory. To store them in non-volatile RAM (Flash), use the 0x8E-26 command. The GPS receiver returns Packet 0x55. These abbreviations are used in the following table: ALT Altitude ECEF Earth-centered, Earth-fixed XYZ Cartesian Coordinates LLA Latitude, Longitude, Altitude HAW Height Above Ellipsoid WGS-84 Earth Model (ellipsoid) MSL Geoid Mean Sea Level UTC Coordinated Universal Time 110 Lassen iq GPS Receiver

121 Trimble Standard Interface Protocol (TSIP) A Table.19 Command Packets 0x35 and 0x55 Data Descriptions Byte Bit Item Type Value Definition Position 0 0 (LSB) XYZ ECEF Bit 0 1 XYZ ECEF output off XYZ ECEF output on 1 LLA Output Bit 0 1 LLA output off LLA output on 2 LLS ALT Output Bit 0 1 HAE (See Note) MSL geoid 3 ALT input Bit 0 1 HAE (See Note) MSL geoid 4 Precision-ofposition output Bit 0 1 Send single-precision packet Send double-precision packet 5 Super Packet Output Bit Reserved Velocity 1 0 XYZ ECEF Bit ENU Output Bit Reserved Timing 2 0 Time Type Bit Reserved Output no Super Packets Output all enabled Super Packets XYZ ECEF output off XYZ ECEF output on ENU output off ENU output on GPS Time UTC Lassen iq GPS Receiver 111

122 A Trimble Standard Interface Protocol (TSIP) Table.19 Command Packets 0x35 and 0x55 Data Descriptions Byte Bit Item Type Value Definition 5-6 PPS Mode Bits Reserved Auxiliary/Pseudo Range Measurements 3 0 Raw Bit 0 Measuring 1 1 Raw/Filtered Bit Reserved 3 Output db Hz Bit 0 instead of AMU Reserved Always On Fix Based Always Off Reserved Raw measurements off Raw measurements on Raw PR s in 5A Filtered PR s in 5A Output AMUs Output db Hz Notes In the current version of the Lassen iq GPS, the input and output HAE altitude is in the WGS-84 datum. Packet 8E must be used to specify which Super Packet is to be output. The Lassen iq GPS supports automatic output of 0x5A messages for backwards compatibility with older TSIP applications. 112 Lassen iq GPS Receiver

123 Trimble Standard Interface Protocol (TSIP) A A.16.1 Command Packet 0x37 - Request Status and Values of Last Position and Velocity This packet requests information regarding the last position fix and is only used when the receiver is not automatically outputting positions. The GPS receiver returns Report Packet 0x57 followed by the position/velocity packets specified in Command Packet 0x35. A.16.2 Command Packet 0x38 - Request/Load Satellite System Data This packet requests current satellite data (almanac, ephemeris, etc.) or permits loading initialization data from an external source (for example, by extracting initialization data from an operating GPS receiver unit via a data logger or computer and then using that data to initialize a second GPS receiver unit). The GPS receiver returns Packet 0x58. (Note that the GPS receiver can initialize itself without any data from the user; it merely requires more time.) To request data without loading data, use only bytes 0 through 2; to load data, use all bytes. Before loading data, observe the caution notice below. The data formats are located in Report Packet 0x58. Lassen iq GPS Receiver 113

124 A Trimble Standard Interface Protocol (TSIP) Table A.20 Command Packet 0x38 Data Formats Byte Item Type Value Definition 0 Operation UINT Type of data UINT Sat PRN# UINT Request data from Lassen iq GPS receiver; Load data into Lassen iq GPS receiver Almanac Health page, T_oa, WN_oa Ionosphere UTC Ephemeris Data that is not satellite - ID specific Satellite PRN number 3 Length (n) UINT8 Number of bytes of data to be loaded 4 to n+3 Data UINT8 Satellite data Warning Proper structure of satellite data is critical to Lassen iq GPS receiver operation. Requesting data is not hazardous; Loading data improperly is hazardous. Use this packet only with extreme caution. The data should not be modified in any way. It should only be retrieved and stored for later download. 114 Lassen iq GPS Receiver

125 Trimble Standard Interface Protocol (TSIP) A A.16.3 Command Packet 0x3C - Request Current Satellite Tracking Status This packet requests the current satellite tracking status. The GPS receiver returns Packet 0x5C if data is available. Table A.21 Command Packet 0x3C Data Format Byte Item Type Value Definition 0 Satellite # UINT All satellites in the current tracking set desired satellite A.16.4 Report Packet 0x41 - GPS Time This packet provides the current GPS time of week and the week number. The GPS receiver sends this packet in response to Packet 0x21 and during an automatic packets update cycle. Update cycles occur approximately every 5 seconds. The data format is shown below. Table A.22 Report Packet 0x41 Data Formats Byte Item Type Units 0-3 GPS time of week Single seconds 4-5 Extended GPS week number INT16 weeks 6-9 GPS UTC offset Single seconds Note UTC time lags behind GPS time by an integer number of seconds; UTC = (GPS time) - (GPS UTC offset). Warning GPS week number runs from 0 to 1023 and then cycles back to week #0. week # 0 began January 6, The first cycle back to week #0 was on August 22, The extended GPS week number however, does not cycle back to 0. For example: the week # for August 22, 1999 = 1024; the Week # for April 1, 2002 = Lassen iq GPS Receiver 115

126 A Trimble Standard Interface Protocol (TSIP) The seconds count begins with 0 each Sunday morning at midnight GPS time. A negative indicated time-of-week indicates that time is not yet known; in that case, the packet is sent only on request. The following table shows the relationship between the information in Packet 0x41, and the Packet 0x46 status code. Table A.23 Packets 0x41 and 0x46 Status Code Relationships Approximate Time Accuracy Time Source Sign (TOW) Packet 46 Status Code none no time at all - 0x01 unknown msec + clock drift approximate time from real-time clock or Packet 2E + 0x01 time from satellite + 0x02-0x0C full accuracy time from GPS solution + 0x00 Note Before using the GPS time from Packet 0x41, verify that the Packet 0x46 status code is 00 ( Doing position fixes ). This will ensure the most accurate GPS time. 116 Lassen iq GPS Receiver

127 Trimble Standard Interface Protocol (TSIP) A A.16.5 Report Packet 0x42 - Single-Precision Position Fix, XYZ ECEF This packet provides current GPS position fix in XYZ ECEF coordinates. If the I/O position option is set to XYZ ECEF (byte 0: bit 0, Packet 0x35)and the I/O Precision-of-Position Output (byte 0: bit 4, Packet 0x35) is set to single-precision, then the GPS receiver sends this packet each time a fix is computed. The data format is shown below. Table A.24 Report Packet 0x42 Data Formats Byte Item Type Units 0-3 X Single meters 4-7 Y Single meters 8-11 Z Single meters Time-of-fix Single seconds The time-of-fix is in GPS time or UTC as selected by the I/O timing option. Packet 83 provides a double-precision version of this information. Lassen iq GPS Receiver 117

128 A Trimble Standard Interface Protocol (TSIP) A.16.6 Report Packet 0x43 - Velocity Fix, XYZ ECEF This packet provides current GPS velocity fix in XYZ ECEF coordinates. If the I/O velocity option is set to XYZ ECEF (byte 1, bit 0, Packet 0x35), then the GPS receiver sends this packet each time a fix is computed. The data format is shown below. Table A.25 Report Packet 0x43 Data Formats Byte Item Type Units 0-3 X velocity Single meters/second 4-7 Y velocity Single meters/second 8-11 Z velocity Single meters/second bias rate Single meters/second time-of-fix Single seconds The time-of-fix is in GPS time or UTC as selected by the I/O timing option (byte 2, bit 0, Packet 0x35). 118 Lassen iq GPS Receiver

129 Trimble Standard Interface Protocol (TSIP) A A.16.7 Report Packet 0x45 - Software Version Information This packet provides information about the version of software in the Navigation and Signal Processors. The GPS receiver sends this packet after power-on and in response to Packet 0x1F. Table A.26 Report Packet 0x45 Data Formats Byte Item Type 0 Major version number UINT8 1 Minor version number UINT8 2 Month UINT8 3 Day UINT8 4 Year number minus 1900 UINT8 5 Major revision number UINT8 6 Minor revision number UINT8 7 Month UINT8 8 Day UINT8 9 Year number minus 2000 UINT8 The first 5 bytes refer to the Navigation Processor and the second 5 bytes refer to the Signal Processor. Lassen iq GPS Receiver 119

130 A Trimble Standard Interface Protocol (TSIP) A.16.8 Report Packet 0x46 - Health of Receiver This packet provides information about the satellite tracking status and the operational health of the receiver. The receiver sends this packet after power-on or software-initiated resets, in response to Packet 0x26 and, every five seconds. Packet 0x4B is always sent along with this packet. Note If receiver status changes between five second outputs, no notification is given until the next cycle. Table A.27 Report Packet 0x46 Data Formats Byte Bit Item Type Value Definition 0 Status code UINT8 0x00 0x01 0x02 0x03 0x08 0x09 0x0A 0x0B 0x0C Doing position fixes Don't have GPS time yet Need initialization (0=normal, 1=shutdown due to RF initialization timeout) PDOP is too high No usable satellites Only 1 usable satellite Only 2 usable satellites Only 3 usable satellites The chosen satellite is unusable 1 0 Battery backup 1 4 Antenna feedline fault Bit 0 1 Bit 0 1 OK BBRAM was not available at start-up OK Short or open detected 1 5 Type of fault Bit 0 1 Open detected Short detected The error codes in Byte 1 of Packet 0x46 are encoded into individual bits within the byte. The bit positions are shown below. Note After status is detected, it s bit remains set until the receiver is reset. 120 Lassen iq GPS Receiver

131 Trimble Standard Interface Protocol (TSIP) A A.16.9 Report Packet 0x47 - Signal Levels for all Satellites This packet provides received signal levels for all satellites currently being tracked or on which tracking is being attempted (i.e., above the elevation mask and healthy according to the almanac). The receiver sends this packet only in response to Packet 0x27. The data format is shown below. Table A.28 Report Packet 0x47 Data Formats Byte Item Type 0 Count UINT8 1 Satellite number 1 UINT8 2-5 Signal level 1 Single 6 Satellite number 2 UINT Signal level 2 Single (etc.) (etc.) (etc.) Up to 12 satellite number/signal level pairs may be sent, indicated by the count field. Signal level is normally positive. If it is zero then that satellite has not yet been acquired. If it is negative then that satellite is not currently in lock. The absolute value of signal level field is the last known signal level of that satellite. Note The signal level provided in this packet is a linear measurement of the signal strength after correlation or de-spreading. Units, either AMU or dbhz, are controlled by Packet 0x35. Lassen iq GPS Receiver 121

132 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x4A - 20 Byte Format This packet provides current GPS position fix in LLA (latitude, longitude, and altitude) coordinates. If the I/O Position option is set to LLA and the I/O Precision-of-Position Output is set to singleprecision (all controlled by Packet 35), then the receiver sends this packet each time a fix is computed. Command Packet 35 controls position output (XYZ or LLA) and (single or double) output precision. The data format is shown in below. Table A.29 Report Packet 0x4A Data Formats Byte Item Type Units 0-3 Latitude Single radians; + for north, - for south 4-7 Longitude Single radians; + for east, - for west 8-11 Altitude Single meters (HAE or MSL) 2-15 Clock Bias Single meters 6-19 Time-of-Fix Single seconds (GPS or UTC) The default altitude conversion is WGS-84. Altitude is referred to the datum ellipsoid or the MSL Geoid, depending on which I/O LLA altitude option is selected. The time-of-fix is in GPS time or UTC, depending on which I/O timing option is selected. This packet also is sent at start-up with a negative time-of-fix to report the current known position. Packet 0x84 provides a double-precision version of this information Warning When converting from radians to degrees, significant and readily visible errors will be introduced by use of an insufficiently precise approximation for the constant PI). The value of the constant PI as specified in ICD-GPS-200 is Lassen iq GPS Receiver

133 Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x4A - 9 Byte Format Report Packet 0x4A is also sent in response to the setting or requesting of the Reference Altitude Parameters using Command Packet 0x2A. These parameters can be used in the Manual 2-D mode. Reference Altitude The altitude used for manual 2-D positions if the altitude flag is set. Altitude is in units of HAE WGS-84 or MSL depending on the selected I/O options set for positioning with Command Packet 35. Altitude Flag A flag that determines whether or not the Reference Altitude will be used. If set, it will be used. If cleared, altitude hold (last 3-D altitude) will be used. The data format is shown in the following table. Table A.30 Reference Altitude Byte Item Type Units 0-3 Reference Altitude Single Meters 4-7 Reserved Single 8 Altitude flag UINT8 Lassen iq GPS Receiver 123

134 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x4B - Machine/Code ID and Additional Status The receiver transmits this packet in response to packets 0x25 and 0x26 and following a change in state. In conjunction with Packet 0x46, health of receiver, this packet identifies the receiver and may present status messages. The machine ID can be used by equipment communicating with the receiver to determine the type of receiver to which the equipment is connected. Then the interpretation and use of packets can be adjusted accordingly. Table A.31 Report Packet 0x4B Data Formats Byte Item Type/ Definition 0 Machine ID UINT8 Receiver dependent 1 Status 1 UINT8 See Table A.32 2 Status 2 UINT8 Bit 0 = Super packets supported The status codes are encoded into individual bits within the bytes. The bit positions and their meanings are listed in the table below. Table A.32 Status 1 Bit Positions Report Packet 0x4B Bit Positions and Descriptions Meaning if bit value = 1 0 (LSB) Not used 1 Real-time Clock was not available at power-up. 2 Not used 3 The almanac stored in the receiver is not complete and current. 4-7 Not used 124 Lassen iq GPS Receiver

135 Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x4D - Oscillator Offset This packet provides the current value of the receiver master oscillator offset in Hertz at carrier. This packet contains one single precision number. The receiver sends this packet in response to Packet 0x2D. The permissible offset varies with the receiver unit. A Report Packet 0x4E - Response to Set GPS Time Indicates whether the receiver accepted the time given in a Set GPS time packet. the receiver sends this packet in response to Packet 0x2E. This packet contains one byte. Table A.33 Value ASCII Y ASCII N Report Packet 0x4E Data Formats Meaning The receiver accepts the time entered via Packet 2E. The receiver has not yet received the time from a satellite. The receiver does not accept the time entered via Packet 2E. The receiver has received the time from a satellite and uses that time. The receiver disregards the time in Packet 0x 2E. Lassen iq GPS Receiver 125

136 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x55 - I/O Options These abbreviations apply to the following table: ALT (Altitude), ECEF (Earth-centered, Earth-fixed), XYZ (Cartesian coordinates), LLA (latitude, longitude, altitude), HAE (height above ellipsoid), WGS-84 (Earth model (ellipsoid)), MSL geoid (Earth (mean sea level) mode), and UTC (coordinated universal time). Table A.34 Command Packets 0x55 and 0x35 Data Descriptions Byte Bit Item Type Value Definition Position 0 0 XYZ ECEF Bit LLA Output Bit LLA ALT Output Bit ALT input Bit Precision-ofposition output 0 5 Super Packet Output reserved Bit 0 1 Bit 0 1 XYZ ECEF output off XYZ ECEF output on LLA output off LLA output on HAE (WGS-84 datum) MSL geoid HAE (WGS-84 datum). MSL geoid Send single-precision packet. Send double-precision packet. Output no Super Packets. Output all enabled Super Packets. Velocity 1 0 XYZ ECEF Bit ENU output Bit reserved XYZ ECEF output off XYZ ECEF output on ENU output off ENU output on 126 Lassen iq GPS Receiver

137 Trimble Standard Interface Protocol (TSIP) A Table A.34 Command Packets 0x55 and 0x35 Data Descriptions (Continued) Byte Bit Item Type Value Definition Timing 2 0 Time Type Bit reserved GPS time UTC Auxiliary / Range Measurements 3 0 Raw measuring Bit Raw / Filtered Bit reserved 3 3 Output db Hz instead of AMU reserved Bit 0 1 Raw measurements off Raw measurements on Raw PR s in 0x5A Filtered PR s in 0x5A Output db Hz Output AMU s Notes See the associated superpacket output, described later in this appendix. Packet 8E must be used to specify which superpacket is to be output. Automatic output of 0x5A raw measurement messages is supported in the Lassen iq GPS receiver for backwards compatibility with older TSIP applications. Lassen iq GPS Receiver 127

138 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x56 - Velocity Fix, East-North-Up (ENU) If East-North-Up (ENU) coordinates have been selected for the I/O velocity option (see Packet 0x35), the receiver sends this packet under the following conditions: Each time that a fix is computed In response to Packet 0x37 (last known fix) The data format is shown below. Table A.35 Report Packet 0x56 Data Formats Byte Item Type Units 0-3 East Velocity Single m/s; + for east, - for west 4-7 North Velocity Single m/s; + for north, - for south 8-11 Up Velocity Single m/s; + for up, - for down Clock Bias Rate Single m/s Time-of-Fix Single seconds (GPS or UTC) The time-of-fix is in GPS or UTC time as selected by the I/O timing option. 128 Lassen iq GPS Receiver

139 Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x57 - Information About Last Computed Fix This packet provides information concerning the time and origin of the previous position fix. The receiver sends this packet, among others, in response to Packet 0x37. The data format is shown below. Table A.36 Report Packet 0x57 Data Formats Byte Item Type Units Byte 0 Value/Velocity 0 Source of information 1 Mfg. diagnostic UINT8 -- UINT temporary no fix 01 good current fix 2-5 Time of last fix Single seconds, GPS time 6-7 Week of last fix INT16 weeks, GPS time Lassen iq GPS Receiver 129

140 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x58 - Satellite System Data/Acknowledge from Receiver This packet provides GPS data (almanac, ephemeris, etc.). The receiver sends this packet in response to Packet 0x38 (acknowledges the loading of data). The data format is shown below. Table A.37 Report Packet 0x58 Data Formats Byte Item Type Value Definition 0 Operation UINT Type of data UINT Sat PRN# UINT Request data from receiver; Load data into receiver Almanac Health page, T_oa, WN_oa Ionosphere UTC Ephemeris Data that is not satellite - ID specific satellite PRN number 3 Length (n) UINT8 Number of bytes of data to be loaded 4 to n+3 Data Note If data is not available, byte 3 is set to 0 and no data is sent. The binary almanac, health page, and UTC data streams are similar to Report Packets 0x40, 0x49, and 0x4F respectively, but these reports are preferred. To get ionosphere or ephemeris, this report must be used. Note Ephemeris cannot be loaded into Lassen iq GPS receiver. Table A.38 Report Packet 0x58 Almanac Data Byte Item Type Definition / ICD-GPS t_oa_raw UINT8 Sec SV_HEALTH UINT8 Sec e Single Sec t_oa Single Sec Lassen iq GPS Receiver

141 Trimble Standard Interface Protocol (TSIP) A Table A.38 Report Packet 0x58 Almanac Data i_o Single Sec OMEGADOT Single Sec sqrt_a Single Sec OMEGA_0 Single Sec omega Single Sec M_0 Single Sec a_f0 Single Sec a_f1 Single Sec Axis Single Sec n Single Sec OMEGA_n Single Sec ODOT_n Single Sec t_zc Single Sec see Note weeknum INT16 Sec wn_oa INT16 Sec Note 1 All angles are in radians. Note 2 If data is not available, t_zc is set to Table A.39 Report Packet 0x58 Almanac Health Data Byte Item Type Definition/ ICD-GPS week # for health UINT8 Sec SV_health UINT8 Sec t_oa for health UINT8 Sec current t_oa UINT8 units = seconds/ current week # INT16 Lassen iq GPS Receiver 131

142 A Trimble Standard Interface Protocol (TSIP) Table A.40 Byte Item Type Definition / IDC-GPS not used alpha_0 Single Sec alpha_1 Single Sec alpha_2 Single Sec alpha_3 Single Sec beta_0 Single Sec beta_1 Single Sec beta_2 Single Sec beta_3 Single Sec Table A.41 Byte Item Type Definition / IDC-GPS not used A_0 Double Sec A_1 Single Sec delta_t_ls Integer Sec t_ot Single Sec WN t Integer Sec WN_LSF Integer Sec DN Integer Sec delta_t_lsf Integer Sec Table A.42 Byte Item Type Definition / IDC -GPS sv_number UINT8 SV PRN number 5-8 t_ephem Single time of collection 9-10 weeknum INT16 Sec , Table 20-I 132 Lassen iq GPS Receiver

143 Trimble Standard Interface Protocol (TSIP) A Table A.42 (Continued) Byte Item Type Definition / IDC -GPS codel2 UINT8 Sec , Table 20-I 12 L2Pdata UINT8 Sec , Table 20-I 13 SVacc_raw UINT8 Sec , Table 20-I 14 SV_health UINT8 Sec , Table 20-I IODC INT16 Sec , Table 20-I T_GD Single Sec , Table 20-I t_oc Single Sec , Table 20-I a_f2 Single Sec , Table 20-I a_f1 Single Sec , Table 20-I a_f0 Single Sec , Table 20-I SVacc Single Sec , Table 20-I 41 IODE UINT8 Sec fit_interval UINT8 Sec C_rs Single Sec delta_n Single Sec M_0 Double Sec C_uc Single Sec , radians e Double Sec C_us Single Sec , radians sqrt_a Double Sec t_oe Single Sec C_ic Single Sec , radians OMEGA_0 Double Sec C_is Single Sec , radians i_0 Double Sec C_rc Single Sec Lassen iq GPS Receiver 133

144 A Trimble Standard Interface Protocol (TSIP) Table A.42 (Continued) Byte Item Type Definition / IDC -GPS omega Double Sec OMEGADOT Single Sec IDOT Single Sec Axis Double = (sqrt_a) n Double derived from delta_n r1me2 Double = sqrt(1.0-e 2 ) OMEGA_n Double derived from OMEGA_0, OMEGADOT ODOT_n Double derived from OMEGADOT Note All angles are in radians. A Report Packet 0x5C - Satellite Tracking Status This packet provides tracking status data for a specified satellite. Some of the information is very implementation-dependent and is provided mainly for diagnostic purposes. The receiver sends this packet in response to Packet 0x3C. The data format is shown below. Table A.43 Report Packet 0x5C Data Formats Byte Bit Item Type Value Definition 0 Satellite PRN number UINT8 number reserved Bits reserved Channel Bits Acquisition flag UINT Never acquired Acquired Re-opened search 134 Lassen iq GPS Receiver

145 Trimble Standard Interface Protocol (TSIP) A Table A.43 Report Packet 0x5C Data Formats (Continued) Byte Bit Item Type Value Definition 3 Ephemeris flag UINT Signal level Single Same as in Packet 0x GPS time of last measurem ent 51 Single <0 >0 Flag not set Ephemeris is decoded Ephemeris is decoded and healthy Ephemeris is decoded, good and used in the current position fix Ephemeris is decoded, good, used in the fix, and a DGPS correction is available (only relevant if DGPS is enabled in the firmware) No measurements have been taken. Center of the last measurement taken from this satellite Elevation Singles radians Approximate elevation of this satellite above the horizon. Updated about every 15 sec.s. Used for searching and computing measurement correction factors Azimuth Single radians Approximate azimuth from true north to this satellite. Updated typically about every 3 to 5 minutes. Used for computing measurement correction factors reserved UINT8 0 Lassen iq GPS Receiver 135

146 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x60 - Type 1 Differential GPS Corrections This packet provides the Lassen iq GPS with differential corrections from RTCM SC-104 record types 1 and 9, in the TSIP format. There is no response to this packet. If bit 6 is set, the corrections are as in RTCM Type 9 records. The data format is shown below. Table A.44 Command Packet 0x60 Data Formats Byte Bit Item Type Value Definition 0-1 Modified z-count UINT SEC 2 Station health UINT Number of SVs in packet Bits Type 9 flag Bit 0 type 1 1 Type Version 2 flag Bit 1 must be set 136 Lassen iq GPS Receiver

147 Trimble Standard Interface Protocol (TSIP) A The next 5 bytes are repeated as a group for each satellite. The SV PRN and scale factor contains the SV PRN in the lower 5 bits, and the scale factor in the upper 3 bits. Range corrections are scaled by 0.02 meters times 2 raised to the scale factor power. Range-rate corrections are scaled by meters per second times 2 raised to the scale factor power. The data format is shown below. Table A.45 Command Packet 0x60 Data Formats Byte Bit Item Type Value Definition 4+ (N*5) 0-4 SV PRN is SV (N*5) 5-7 Scale factor 0 Low scale factor (.02m,.002 m/s) 5+ (N*5) Number of SVs in packet Bits 4 7 High scale factor (.32m,.032 m/s) Correction not usable RTCM (N*5) Type 9 flag Bit RTCM (N*5) Version 2 flag Bit Lassen iq GPS Receiver 137

148 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x62 - Set/Request Differential Position Fix Mode Note This command packet has been replaced by command packet 0xBB. Although the Lassen iq GPS retains compatibility with this command, it is recommended that you use the 0xBB command packet to set the Differential Fix Mode. This packet requests the Differential Position Fix Mode of the GPS receiver. A single data byte is sent. To request report packet 0x82, the data byte is set to 0xFF. A Command Packet 0x65 - Set/Request Differential Position Fix Mode This packet requests the status of differential corrections for a specific satellite or for all satellites for which data is available. This packet contains only one byte specifying the PRN number of the desired satellite or zero to request all available. The response is a packet 0x85 for each satellite if data is available. If the receiver has not valid data for any satellite, no reply will be sent. Note TSIP packet 0x65 is not functional in the Lassen iq GPS firmware release Lassen iq GPS Receiver

149 Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x6D - All-In-View Satellite Selection This packet provides a list of satellites used for position fixes by the GPS receiver. The packet also provides the PDOP, HDOP, and VDOP of that set and provides the current mode (automatic or manual, 3-D or 2-D). This packet has variable length equal to 16+nSVs where nsvs is the number of satellites used in the solution. The GPS receiver sends this packet in response to Packet 0x24. The data format is shown below. Table A.46 Report Packet 0x6D Data Formats Byte Bit Item Type Value Definition Dimension UINT D 3D Auto Manual nsvs 1-4 PDOP Single PDOP 5-8 HDOP Single HDOP 9-12 VDOP Single VDOP TDOP Single TDOP (16+nSVvs) SV PRN UINT8 Note The Lassen iq GPS receiver sends this packet automatically after a position fix or every second if no position fix occurs. Lassen iq GPS Receiver 139

150 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x69 - Set/Request Enhanced Sensitivity Mode The Lassen iq GPS receiver is configured at the factory with the Enhanced Sensitivity feature Off. There are several ways to turn the Enhanced Sensitivity feature on: The iq_chat program found in the iq Starter Kit. The iq_monitor program found in the iq Starter Kit. The TSIP command packet 0x69 (receiver responds with packet 0x89). The data format is shown below. Table A.47Command Packet 0x69 Data Format Byte Item Type Units Byte 0 Value/Velocity 0 Enhanced Sensitivity Mode 1 Reserved Byte 0 1 Off (Standard) Enhanced Note A soft reset is required to make the switch to Enhanced Sensitivity effective. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, save the setting to flash memory using TSIP command packet 8E Lassen iq GPS Receiver

151 Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x70 - Filter Control Trimble OEM receivers have a number of filters. Command 0x70 provides control for these filters. It returns Report 0x70. There are three filters associated with 0x70: Position-Velocity (PV) Filter Static Filter Altitude Filter The Position-Velocity (PV) Filter is the main filter and is used to soften the effect of constellation switches on position fixes. The filter has virtually no effect on velocity output and there is no lag due to vehicle dynamics. There may be a small increase in accuracy however. A feature of the PV filter is the Static Filter which engages when the receiver is moving very slowly. This feature improves accuracy in the urban environment. The static filter should be turned off for the following applications: Slow-moving environments such as walking or drifting with the current When rooftop testing of receivers for moving applications The altitude filter is a simple averaging filter with a time constant of a few seconds. It should be left on in marine and land applications. To query for the current settings, use Command Packet 0x70 with no databytes. To input new settings, Command Packet 0x70 is sent with four data bytes. Lassen iq GPS Receiver 141

152 A Trimble Standard Interface Protocol (TSIP) Table A.48 Command Packet 70 Data Formats Byte Item Type Value Definition 0 Position Velocity Filter UINT Static Filter UINT Altitude Filter UINT Reserved UINT8 reserved Off On Off On Off On A Report Packet 0x70 This report is sent as a response to Command Packet 0x70 as either a query or a set. It contains four bytes, as shown in Table A Lassen iq GPS Receiver

153 Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x7A The NMEA message determines whether or not a given NMEA message will be output. If the bit for a message is set, the message will be sent every interval second. Use the values shown below to determine the NMEA interval and message mask. While fixes are being generated, the output order is: ZDA, GGA, GLL, VTG, GSA, GSV, RMC. Table A.49 Command Packet 0x7A and Report Packet 0x7B Data Formats Byte Bit Item Type Value Definition 0 Subcode UINT8 0 1 Interval UINT Fix interval in seconds 2 Reserved UINT8 0 3 Reserved UINT RMC Bit Reserved Bit GGA Bit GLL Bit VTG Bit GSV Bit GSA Bit ZDA Bit Reserved Bit 0 Off On Off On Off On Off On Off On Off On Off On Lassen iq GPS Receiver 143

154 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x7B This packet provides the NMEA settings and interval. 144 Lassen iq GPS Receiver

155 Trimble Standard Interface Protocol (TSIP) A A.17 TAIP Message Output (Packet 0x7E) TSIP packet 0x7E is a new command added to Lassen iq GPS for setting up the output configuration for TAIP messages. This packet expands the features similar to what have been provided by packet 0x8E-40, which can be found in some older generation Trimble receiver products.(the Lassen iq GPS does not support the 0x8E-40 command). The settings provided by the packet can be divided into 4 groups: 1. Reporting Flags byte 1. For information on the RM command, see Appendix A in the Lassen iq GPS Receiver System Designer Reference Manual. 2. The Top-of-Hour Offset byte 2,3. This setting applies to all eight messages included in this packet. (If different values have to be applied to each message individually, use the Time- Distance feature from TAIP protocol.) 3. Automatic Output Intervals for the 8 commonly used messages bytes Device ID bytes This packet provides the capability to set the output frequencies for the eight commonly used messages individually. This is the same as the F<message type><output interval> command in TAIP. In contrast to packet 0x8E-40, the settings in this packet are not just for the so-called Heartbeat messages, meaning the output frequency settings are not only applied when the receiver is not generating a position fix. In practice, this packet provides a comprehensive but straightforward means to set up the TAIP output configuration. It can also be used to reset the output configuration. For example, if any of these eight messages was set up as Time-Distance mode from the TAIP protocol, this packet would reset any such message back to plain periodic output mode or no automatic output mode (frequency=0). Lassen iq GPS Receiver 145

156 A Trimble Standard Interface Protocol (TSIP) For customization, the settings in this packet can be stored into the Flash by either TSIP packet 0x8E-26 or TAIP command SRTSAVE_CONFIG. The flash storage commands store the latest output configuration which may be set up by either this packet or any other commands from the TAIP protocol. For example, if this packet was executed first from the TSIP protocol and then the Lassen iq GPS was switched to TAIP protocol and the output settings were changed (e.g. changed to Time-Distance mode), or vise-versa, then the latest settings would be stored into the Flash (when the flash storage command is used). Table.50 TAIP Packet 0 x 7E Byte Bit Item Type Value Definition Default 0 Subcode UINT8 0 Setting the packet ID Flag Bit 0/1 On/Off 0 1 CS Flag Bit 0/1 On/Off 1 2 EC Flag Bit 0/1 On/Off 1 3 FR Flag Bit 0/1 On/Off 1 4 CR Flag Bit 0/1 On/Off Reserved 2,3 TOH UINT Top of hour offset 0 4,5 AL output period 6.7 CP output period 8,9 ID output period 10,11 LN output period 12,13 PV output period 14,15 ST output period UINT Auto output period for AL (sec) 0 (see note) UINT Auto output period for CP (sec) 0 UINT Auto output period for ID (sec) 0 UINT Auto output period for LN (sec) 0 UINT Auto output period for PV (sec) 0 UINT Auto output period for ST (sec) Lassen iq GPS Receiver

157 Trimble Standard Interface Protocol (TSIP) A Table.50 TAIP Packet 0 x 7E Byte Bit Item Type Value Definition Default 16,17 TM output period UINT Auto output period for TM (sec) 0 18,19 VR output UINT Auto output period for VR (sec) 0 period Veh ID String See TAIP ID Vehicle ID 0000 Note 0 second period means the corresponding message is not to be output at all. Lassen iq GPS Receiver 147

158 A Trimble Standard Interface Protocol (TSIP) A.17.1 Report Packet 0x82 - Differential Position Fix Mode This packet provides the differential position fix mode of the receiver. This packet contains only one data byte to specify the mode. The packet is sent in response to Packet 0x62 and whenever a satellite selection is made and the mode is Auto GPS / DGPS (modes 2 and 3). The receiver switches automatically between modes 2 and 3 based on the availability of differential corrections for a constellation which meets all other masks. If such a constellation is not available, then the receiver stays in its current automatic mode (2 or 3), and does not do position solutions. Valid modes are: Mode 0 Differential off (Manual GPS) The receiver does position solutions without differential corrections, even if the differential corrections are available. Mode 1 Mode 2 Mode 3 Differential on (Manual DGPS) The receiver only does position solutions if valid differential correction data are available. Differential currently off (Auto DGPS) The receiver is not receiving differential correction data for all satellites in constellation which meets all other masks, and is doing non-differential position solutions. Differential currently on (Auto DGPS) The receiver is receiving differential correction data for all satellites in a constellation which meets all other masks, and is doing differential position solutions. Note The Lassen iq GPS receiver sends this packet automatically after every position fix except when in Mode Lassen iq GPS Receiver

159 Trimble Standard Interface Protocol (TSIP) A A.17.2 Report Packet 0x83 - Double-Precision XYZ Position Fix and Bias Information This packet provides current GPS position fix in XYZ ECEF coordinates. If the I/O Position option is set to XYZ ECEF and the I/O Precision of Position option is set to Double (see Packet 0x35), the receiver sends this packet each time a fix is computed. The data format is shown below. Table A.51 Report Packet 0x83 Data Formats Byte Item Type Units 0-7 X Double meters 8-15 Y Double meters Z Double meters clock bias Double meters time-of-fix Single seconds The time-of-fix is in GPS time or UTC, as selected by the I/O timing option. Packet 42 provides a single-precision version of this information. Lassen iq GPS Receiver 149

160 A Trimble Standard Interface Protocol (TSIP) A.17.3 Report Packet 0x84 - Double-Precision LLA Position Fix and Bias Information This packet provides current GPS position fix in LLA coordinates. If the I/O Position option is set to LLA and the Precision of Position option is set to Double (see Packet 0x35), the receiver sends this packet each time a fix is computed. The data format is shown below. Table A.52 Report Packet 0x84 Data Formats Byte Item Type Units 0-7 latitude Double radians; + for north, - for south 8-15 longitude Double radians; + for east, - for west altitude Double meters clock bias Double meters time-of-fix Single seconds The time-of-fix is in GPS time or UTC, as selected by the I/O timing option. Warning When converting from radians to degrees, significant and readily visible errors will be introduced by use of an insufficiently precise approximation for the constant p (PI). The value of the constant PI as specified in ICD-GPS-200 is A.17.4 Packets 0x8E and 0x8F - Superpacket See page 156 for information on Packets 0x8E and 0x8F. 150 Lassen iq GPS Receiver

161 Trimble Standard Interface Protocol (TSIP) A A.17.5 Command Packet 0x89 - Set/Request Enhanced Sensitivity Mode The Lassen iq GPS receiver is configured at the factory with the Enhanced Sensitivity feature Off. There are several ways to turn the Enhanced Sensitivity feature On: The iq_chat program found in the iq Starter Kit. The iq_monitor program found in the iq Starter Kit. The TSIP command packet 0x69 (receiver responds with packet 0x89). The data format is shown below. Table A.53 Command Packet 0x69 Data Format Byte Item Type Units Byte 0 Value/Velocity 0 Current Enhanced Sensitivity 1 Enhanced Sensitivity Mode after reset Byte 0 1 Byte 0 1 Off (Standard) On (Enhanced) Off (Standard) On (Enhanced) Note A soft reset is required to make the switch to Enhanced Sensitivity effective. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, save the setting to flash memory using TSIP command packet 8E-26. Lassen iq GPS Receiver 151

162 A Trimble Standard Interface Protocol (TSIP) A.17.6 Command Packet 0xBB - Navigation Configuration In query mode, Packet 0xBB is sent with a single data byte and returns Report Packet 0xBB. Note This Command Packet replaces Packets 0x2C, 0x62, 0x75, and 0x77. Table A.54 Command Packet 0xBB Query Mode Data Format Byte # Item Type Value Definition Default 0 Subcode UINT8 0x00 Query mode TSIP Packet 0xBB is used to set GPS Processing options. The table below lists the individual fields within the 0xBB Packet. Table A.55 Command and Report Packet 0xBB Field Descriptions Byte # Item Type Value Definition Default 0 Subcode UINT8 0x00 Query mode 0x03 1 Operating Dimension UINT DGPS Mode UINT or 3 3 Dynamics Code UINT Reserved 5-8 Elevation Mask Single (radian) 9-12 AMU Mask Single 0-25 (AMU) Automatic (2D/3D) Horizontal (2D) Full Position (3D) DGPS Off DGPS Only DGPS Auto Land Sea Air Stationary Lowest satellite elevation for fixes Minimum signal level for fixes DOP Mask Single Maximum DOP for fixes Automatic DGPS Auto Land (5 o ) Lassen iq GPS Receiver

163 Trimble Standard Interface Protocol (TSIP) A Table A.55 Command and Report Packet 0xBB Field Descriptions (Continued) Byte # Item Type Value Definition Default DOP Switch Single Selects 2D/3D mode DGPS Age Limit UINT (seconds) Reserved Maximum time to use a DGPS correction (seconds) 30 Lassen iq GPS Receiver 153

164 A Trimble Standard Interface Protocol (TSIP) A.17.7 Command Packet 0xBC - Protocol Configuration TSIP Packet 0xBC is used to query the port characteristics. In query mode, Packet 0xBC is sent with a single data byte and returns Report Packet 0xBC. (See Table A.4 for information on saving the settings to non-volatile memory.) TSIP Packet 0xBC is used to set the communication parameters on Port 1. The table below lists the individual fields within the Packet 0xBC and provides query field descriptions. The BC command settings are retained in battery-backed RAM. Table A.56 Command Packet 0xBC Port Characteristics Byte Bit Item Type Value Definition 0 Port to Set UINT xFF 1 Input Baud Rate UINT Port 1 Port 2 Current port Reserved Reserved Reserved 2400 baud 4800 baud 9600 baud baud baud 2 Output Baud Rate UINT 8 As above As above (Note 1) 3 # Data Bits UINT Parity UINT # Stop Bits UINT bits 8 bits None Odd Even 1 bit 2 bits 6 Flow Control UINT = none 154 Lassen iq GPS Receiver

165 Trimble Standard Interface Protocol (TSIP) A Table A.56 Command Packet 0xBC Port Characteristics (Continued) Byte Bit Item Type Value Definition 7 0 TAIP Bit TSIP input Bit Reserved 3 Reserved 4-7 Reserved 8 0 TAIP Bit TSIP output Bit NMEA output Bit Reserved 9 Reserved Off On Off On Off On Off On Off On Note The Lassen iq GPS receiver requires that the input and output baud rates be identical. Warning TSIP input or output must have 8 databits (byte 3). Lassen iq GPS Receiver 155

166 A Trimble Standard Interface Protocol (TSIP) A.18TSIP Superpackets Several packets have been added to the core TSIP protocol to provide additional capability for OEM receivers. In OEM Packets 0x8E and their 0x8F responses, the first data byte is a sub-code which indicates the superpacket type. For example, in Packet 0x8E-15, 15 is the subcode that indicates the superpacket type. Therefore the ID code for OEM packets is 2 bytes long followed by the data. A.18.1 Command Packet 8E-4A - Set/Request Lassen iq GPS Cable Delay Using this packet, you can query and control the Lassen iq GPS cable delay characteristics. The receiver responds to a query or control command with packet 8F-4A. The packet contains 16 bytes. Table.57 Command Packet 8E-4A Byte Item Type Meaning 0 Sub-packet ID BYTE Always 0x4A 1 Reserved 2 Reserved 3 Reserved 4-11 PPS Offset of Cable Delay DOUBLE Seconds (default=0.0) Reserved 156 Lassen iq GPS Receiver

167 Trimble Standard Interface Protocol (TSIP) A A.18.2 Command Packet 0x8E-20 - Request Last Fix with Extra Information This packet requests Packet 0x8F-20 or marks it for automatic output. If only the first byte (20) is sent, an 0x8F-20 report containing the last available fix will be sent immediately. If two bytes are sent, the packet is marked/unmarked for auto report according to the value of the second byte as shown in below. 0x37 can also be used for requesting 0x8F-20 if the 0x8F-20 is scheduled for auto output. Table A.58 Command Packet 0x8E-20 Field Descriptions Byte Item Type Definition 0 Sub-packet id UINT8 0x20 1 Mark for Auto-report (See Packet 35 byte 0 bit 5) UINT8 0 = do not autoreport 1 = mark for autoreport Note Auto-report requires that superpacket output is enabled. Refer to Command Packet 35. Lassen iq GPS Receiver 157

168 A Trimble Standard Interface Protocol (TSIP) A.18.3 Report Packet 0x8F-20 - Last Fix with Extra Information (binary fixed point) This packet provides complete information about the current position velocity fix in a compact, fixed-length 56-byte packet. The fields are fixed-point with precision matched to the receiver accuracy. It can be used for automatic position/velocity reports. The latest fix can also be requested by 0x8E-20 or 0x37 commands.the data format is shown below. Table A.59 Report Packet 0x8F-20 Data Formats Byte Bit Item Type Value Definition 0 Sub-packet id UINT8 Id for this sub-packet (always 0x20) 1 KeyByte UINT8 Reserved for Trimble DGPS Post-processing. 2-3 east velocity INT m/s or m/s See Note north velocity INT m/s or m/s See Note up velocity INT m/s or m/s See Note Time Of Week UINT32 GPS Time in milliseconds Latitude INT to 2 30 WGS-84 latitude, 2-31 semicircle ( ) Longitude UINT32 0 to 2 32 WGS-84 latitude, 2-31 semicircle (0-360 ) Altitude INT32 Altitude above WGS-84 ellipsoid, mm Velocity Scaling reserved 25 reserved m/s m/s 2 26 Datum Datum index + 1 0=unknown 158 Lassen iq GPS Receiver

169 Trimble Standard Interface Protocol (TSIP) A Table A.59 Report Packet 0x8F-20 Data Formats (Continued) Byte Bit Item Type Value Definition 27 0 Fix Available Bit DGPS Corrected Bit Fix Dimension Bit Alt Hold Bit Filtered Bit reserved Yes No No Yes 3D 2D Last 3D Altitude User-entered altitude Unfiltered Filtered 28 NumSVs UINT8 Number of satellites used for fix. Will be zero if no fix avail. 29 UTC Offset UINT8 Number of leap seconds between UTC and GPS time Week INT16 GPS time of fix, weeks PRN 1 UINT PRN of first satellite 6-7 reserved 33 IODE 1 UINT8 IODE of first satellite PRN 2 UINT PRN of second satellite 6-7 reserved 35 IODE 2 UINT8 IODE of second satellite PRN 3 UINT PRN of third satellite 6-7 reserved 37 IODE 3 UINT8 IODE of third satellite PRN 4 UINT PRN of fourth satellite 6-7 reserved 39 IODE 4 UINT8 IODE of fourth satellite Lassen iq GPS Receiver 159

170 A Trimble Standard Interface Protocol (TSIP) Table A.59 Report Packet 0x8F-20 Data Formats (Continued) Byte Bit Item Type Value Definition PRN 5 UINT PRN of fifth satellite 6-7 reserved 41 IODE 5 UINT8 IODE of fifth satellite PRN 6 UINT PRN of sixth satellite 6-7 reserved 43 IODE 6 UINT8 IODE of sixth satellite PRN 7 UINT PRN of seventh satellite 6-7 reserved 45 IODE 7 UINT8 IODE of seventh satellite PRN 8 UINT PRN of eighth satellite 6-7 reserved 47 IODE 8 UINT8 IODE of eighth satellite PRN 9 UINT PRN of ninth satellite 6-7 reserved 49 IODE 9 UNIT8 IODE of ninth satellite PRN 10 UINT PRN of tenth satellite 6-7 reserved 51 IODE 10 UNIT8 IODE of tenth satellite PRN 11 UINT PRN of eleventh satellite 6-7 reserved 53 IODE 11 UNIT8 IODE of eleventh satellite PRN 12 UINT PRN of twelfth satellite 6-7 reserved 55 IODE 12 UINT8 IODE of twelfth satellite Ionospheric parameters Note Velocity scale controlled by byte 24, bit 1. Overflow = 0x Lassen iq GPS Receiver

171

motorola v3 hab error 0x4e

1 Lassen iq GPS Receiver System Designer Reference Manual Part Number Revision B April

2 Corporate Office Trimble Navigation Limited Components Technologies Division North Mary Avenue Post Office Box Sunnyvale, CA U.S.A. Phone:Fax: Support Offices Trimble Navigation Limited Components Technologies Division North Mary Avenue Post Office Box Sunnyvale, CA U.S.A. Phone:Fax: Trimble Navigation Europe Limited Trimble House Meridian Office Park Osborn Way, Hook Hampshire RG27 9HX England Phone: Fax: Copyright and Trademarks Trimble Navigation Limited. All rights reserved. No part of this manual may be copied, reproduced, translated, or reduced to any electronic medium or machine-readable form for any use other than with the Lassen iq GPS Receiver. Release Notice This is the April release (Revision B) of the Lassen iq GPS Receiver System Designer Reference Manual, part number The following limited warranties give you specific legal rights. You may have others, which vary from state/jurisdiction to state/jurisdiction. Waste Electrical and Electronic Equipment (WEEE) Notice This Trimble product is furnished on an OEM basis. By incorporating this Trimble product with your finished goods product(s) you shall be deemed the producer of all such products under any laws, regulations or other statutory scheme providing for the marking, collection, recycling and/or disposal of electrical and electronic equipment (collectively, WEEE Regulations ) in any jurisdiction whatsoever, (such as for example national laws implementing EC Directive /96 on waste electrical and electronic equipment, as amended), and shall be solely responsible for complying with all such applicable WEEE Regulations. Hardware Limited Warranty Trimble warrants that this Trimble hardware product (the Product ) shall be free from defects in materials and workmanship and will substantially conform to Trimble s applicable published specifications for the Product for a period of one (1) year, starting from the date of delivery. The warranty set forth in this paragraph shall not apply to software/firmware products. The Globe & Triangle logo, Trimble, Colossus, FirstGPS, and Lassen, are trademarks of Trimble Navigation Limited. The Sextant logo with Trimble is a trademark of Trimble Navigation Limited, registered motorola v3 hab error 0x4e the United States Patent and Trademark Office. All other trademarks are the property of their respective owners.

3 Software and Firmware License, Limited Warranty This Trimble software and/or firmware product (the Software ) is licensed and not sold. Its use is governed by the provisions of the applicable End User License Agreement ( EULA ), if any, included with the Software. In the absence of a separate EULA included with the Software providing different limited warranty terms, exclusions, and limitations, the following terms and conditions shall apply. Trimble warrants that this Trimble Software product will substantially conform to Trimble s applicable published specifications for the Software for a period of ninety (90) days, starting from the date of delivery. Warranty Remedies Trimble's sole liability and your exclusive remedy under the warranties set forth above shall be, at Trimble s option, to repair or replace any Product or Software that fails to conform to such warranty ( Nonconforming Product ), or refund the purchase price paid by you for any such Nonconforming Product, upon your return of any Nonconforming Product to Trimble in accordance with Trimble s standard return material authorization procedures. Warranty Exclusions and Disclaimer These warranties shall be applied only in the event and to the extent that: (i) the Products and Software are properly and correctly installed, configured, interfaced, maintained, stored, and operated in accordance with Trimble s relevant operator's manual and specifications, and; (ii) the Motorola v3 hab error 0x4e motorola at+cmgl=? error Software are not modified or misused, motorola v3 hab error 0x4e. The preceding warranties shall not apply to, and Trimble shall not be responsible for defects or performance problems resulting from (i) the combination or utilization of the Product or Software with products, motorola v3 hab error 0x4e, information, data, systems or devices not made, supplied or specified motorola v3 hab error 0x4e Trimble; (ii) the operation of the Product or Software under any specification other than, or in addition to, Trimble's standard specifications for its products; (iii) the unauthorized modification or use of the Product or Software; (iv) damage caused by accident, lightning or other electrical discharge, fresh or salt water immersion or spray; or (v) normal wear and tear on consumable parts (e.g., batteries). THE WARRANTIES ABOVE STATE TRIMBLE'S ENTIRE LIABILITY, AND YOUR EXCLUSIVE REMEDIES, RELATING TO PERFORMANCE OF THE PRODUCTS AND SOFTWARE. EXCEPT AS OTHERWISE EXPRESSLY PROVIDED HEREIN, THE PRODUCTS, SOFTWARE, AND ACCOMPANYING DOCUMENTATION AND MATERIALS ARE PROVIDED AS-IS AND WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND BY EITHER TRIMBLE NAVIGATION LIMITED OR ANYONE WHO HAS BEEN INVOLVED IN ITS CREATION, PRODUCTION, INSTALLATION, OR DISTRIBUTION, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT. THE STATED EXPRESS WARRANTIES ARE IN LIEU OF ALL OBLIGATIONS OR LIABILITIES ON THE PART OF TRIMBLE ARISING OUT OF, OR IN CONNECTION WITH, ANY PRODUCTS OR SOFTWARE. SOME STATES AND JURISDICTIONS DO NOT ALLOW LIMITATIONS ON DURATION OR THE EXCLUSION OF AN IMPLIED WARRANTY, SO THE ABOVE LIMITATION Motorola v3 hab error 0x4e NOT APPLY TO YOU. TRIMBLE NAVIGATION LIMITED IS NOT RESPONSIBLE FOR THE OPERATION OR FAILURE OF OPERATION OF GPS SATELLITES OR THE AVAILABILITY OF GPS SATELLITE SIGNALS.

4 Limitation of Liability TRIMBLE S ENTIRE LIABILITY UNDER ANY PROVISION HEREIN SHALL BE LIMITED TO THE GREATER OF THE AMOUNT PAID BY YOU FOR THE PRODUCT OR SOFTWARE LICENSE OR U.S.$ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL TRIMBLE OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES WHATSOEVER UNDER ANY CIRCUMSTANCE OR LEGAL THEORY RELATING IN Hardware error 9216 nlite WAY TO THE PRODUCTS, SOFTWARE, AND ACCOMPANYING DOCUMENTATION AND MATERIALS, (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS), REGARDLESS OF WHETHER TRIMBLE HAS BEEN ADVISED OF THE POSSIBILITY OF ANY SUCH LOSS AND REGARDLESS OF THE COURSE OF DEALING WHICH Android error receiving broadcast intent OR HAS DEVELOPED BETWEEN YOU AND TRIMBLE. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

5 Table of Contents Table of Contents 1 Starter Kit Product Overview Starter Kit Receiver Performance Interface Protocols Ordering Starter Kit Components Starter Kit Interface Unit Power Hardware Setup Software Toolkit Hardware Integration General Description Connectors Power Requirements Serial Interface Serial Port Connections Pulse-Per-Second (PPS) Mounting GPS Antennas Software Interface Start-up Communicating with the Lassen iq GPS Receiver Port Protocol and Data Output Options Custom Port Configuration Timing Applications Known Anomalies in Firmware Release Operation and Performance Introduction GPS Satellite Message Satellite Acquisition and Time to First Fix Satellite Mask Settings Motorola v3 hab error 0x4e Operating Modes Lassen iq GPS Receiver

6 Table of Contents Differential GPS Operating Modes Position Accuracy Coordinate Systems Performance Characteristics Lassen iq GPS Receiver Sensitivity Modes Lassen iq GPS Receiver Aided GPS Feature GPS Timing Pulse-Per-Second (PPS) System Architecture A B Trimble Standard Interface Protocol (TSIP) Interface Scope Packet Structure Automatic Output Packets Customizing Receiver Operations Automatic Position and Velocity Reports Initialization Packets to Speed Start-up Packets Output at Power-Up Timing Packets Satellite Data Packets Backwards Compatibility Recommended TSIP Packets Command Packets Sent to the Receiver Report Packets Sent by the Receiver to the User Key Setup Parameters or Packet BB Packet Descriptions TAIP Message Output (Packet 0x7E) TSIP Superpackets TSIP Tool kit User s Guide iq_monitor Lassen iq GPS Receiver

7 Table of Contents C Trimble ASCII Interface Protocol (TAIP) Message Format Sample PV Message Time and Distance Reporting Latitude and Longitude Conversion Message Data Strings Communication Scheme for TAIP D GPSSK User s Guide (TAIP) E NMEA The NMEA Communication Interface NMEA Message Format Field Definitions NMEA Message Options NMEA Message Formats Motorola v3 hab error 0x4e Behavior F G Specifications and Mechanical Drawings Lassen iq GPS Receiver Specifications Ultra Compact Embedded Antenna Compact Magnetic Mount Antenna Compact Unpackaged Antenna Glossary Lassen iq GPS Receiver

8 Table of Contents Lassen iq GPS Receiver

9 About this Manual Welcome to System Designer Reference Manual for the Lassen iq GPS receiver. This manual describes how to integrate and operate the Lassen iq GPS receiver, motorola v3 hab error 0x4e. If you are not familiar with GPS, visit Trimble s website, for an interactive look at Trimble and GPS. Trimble assumes that you are familiar with Microsoft Windows and know how to use a mouse, select options from menus and dialogs, make selections from lists, and refer to online help. Technical Assistance If you have a problem and cannot find the information you need in the product documentation, contact the Trimble Technical Assistance Center at Your Comments Your feedback about the supporting documentation helps us to improve it with each revision. To forward your comments, send an to Lassen iq GPS Receiver

10 About this Manual 6 Lassen iq GPS Receiver

11 CHAPTER 1 Starter Kit 1 Product Overview Starter Kit Receiver Performance Interface Protocols Ordering Starter Kit Components Starter Kit Interface Unit Power Hardware Setup Software Toolkit

12 1 Starter Kit Product Overview The Lassen iq GPS receiver is a full featured, ultra low power receiver on a miniature form factor, suitable for a variety canon e001 error mobile, embedded applications. The Lassen iq GPS receiver incorporates Trimble s FirstGPS TM architecture in the form of two ASICS: Colossus RF down converter and IO-C33 baseband chip. The IO-C33 integrates Trimble s IO digital signal processor with the Epson C33 RISC processor, real-time clock, UART, motorola v3 hab error 0x4e, and 1Mbit memory. Together with the colossus RF, this implementation of FirstGPS technology makes possible one of the smallest (26 mm x 26 mm x 6mm) and lowest power (less than 89 mw) GPS modules available. The Lassen iq GPS receiver outputs a complete position, velocity, and time (PVT) solution in the NMEA Version ASCII protocol, the Trimble ASCII Interface Protocol (TAIP), and the Trimble TSIP binary protocol. A Pulse-Per-Second signal is available for very accurate timing applications. 2 Lassen iq GPS Receiver

13 Starter Kit Starter Kit 1 The Starter Kit makes it simple to evaluate the Lassen iq GPS receiver s exceptional performance. The Starter Kit can be used as a platform for configuring the receiver module and as a platform for troubleshooting your design. The Starter Kit includes: Shielded Lassen iq GPS module mounted on an interface motherboard in a durable metal enclosure. The motherboard accepts VDC power and provides regulated +V power to the Lassen iq GPS receiver. The motherboard also contains: V lithium battery that provides back-up power to the receiver. Circuitry to convert the TTL output to RS, enabling the user to connect the RS ports in the Starter Kit to the PC COM port via an RS cable connection. Compact Magnetic-Mount GPS Antenna with a 5 meter cable. Ultra-Compact Embedded Antenna with an 8 cm cable. 9-pin RS interface cable. AC/DC power supply adapter (input: VAC, output: 12 VDC). DC power cable. Cigarette lighter adapter power cable. CD containing software tools used to communicate with the receiver, the System Designer Reference Manual, and C programming source routines to be used as software templates for communicating directly with the receiver. Lassen iq GPS Receiver 3

14 1 Starter Kit Removing the Lassen iq GPS Module The Lassen iq GPS module is secured to the motherboard with double-sided adhesive tape allowing for easy removal and integration with the user s application. (The adhesive tape used by Trimble is 3M Scotch, part number ). Follow these steps to remove the module from the motherboard: Unplug the I/O cable and the RF cable from the module. Use a small flat-head screw motorola v3 hab error 0x4e to pry the Lassen iq GPS receiver module off the motherboard. Warning When the Lassen iq GPS receiver module is removed from the motherboard, the double-sided tape looses some of it s adhesive quality. This adhesive tape may only be re-used for laboratory testing. The original adhesive tape should not be re-used for drive testing the Starter Kit interface unit because the module could loosen and cause short circuit when contacting other motherboard components. If drive testing is required, use a new piece of double-sided adhesive tape to re-attach the Lassen iq GPS gpg error adb4438160a655ef module to the motherboard. 4 Lassen iq GPS Receiver

15 Receiver Performance Starter Kit 1 The Lassen iq GPS receiver is a complete channel parallel tracking GPS receiver designed to operate with the L1 frequency, Standard Position Service, Coarse Acquisition code. Using two highly integrated Trimble custom integrated circuits, the receiver is designed in a modular format especially suited for embedded applications where small size and extremely low power consumption are required. The receiver features Trimble's latest signal processing code, a highgain RF section for compatibility with standard 27 db active gain GPS antennas, and a CMOS TTL level pulse-per-second (PPS) output for timing applications or for use as a general purpose synchronization signal. The Lassen iq GPS receiver acquires a position fix with minimal delay after power cycling. The battery back-up RAM is used to keep the Real Time clock (RTC) alive, and to store the following: Almanac Ephemeris Last position User settings such as port parameters, NMEA, and TAIP configurations can be stored in the receiver s non-volatile (Flash) memory. These settings are retained without application of main power or battery back-up power. The Lassen iq GPS receiver has two configurable serial I/O communication ports. Warning When customizing port assignments or characteristics, confirm that your changes do not affect your ability to communicate with the receiver (see Chapter 3, Software Interface). Lassen iq GPS Receiver 5

16 1 Starter Kit Interface Protocols The Lassen iq GPS receiver operates using one of three protocols Trimble Standard Interface Protocol (TSIP), Trimble ASCII Interface Protocol (TAIP), or NMEA Protocol selection and port characteristics are user configurables. The factory default settings are: Port 1, TSIP bi-directional Port 2, NMEA OUT/RTCM SC V IN TSIP TSIP is a powerful binary packet protocol that allows the system designer maximum configuration control over the GPS receiver for optimum performance in any number of applications. TSIP supports over 20 commands and their associated response packets for use in configuring the Lassen iq GPS receiver to meet user requirements TAIP TAIP is the Trimble ASCII interface protocol designed specifically for vehicle tracking applications. It is a bi-directional protocol using simple ASCII commands with the associated ASCII responses NMEA NMEA is an industry standard protocol common to marine applications. NMEA provides direct compatibility with other NMEAcapable devices such as chart plotters, radars, etc. The Lassen iq GPS receiver supports most NMEA messages for GPS navigation. NMEA messages and output rates can be user selected as required DGPS The Lassen iq GPS receiver can be configured for RTCM SC input which is the GPS industry standard for differential correction data. The receive side of Port 2 is factory configured to accept RTCM data. 6 Lassen iq GPS Receiver

17 Ordering Starter Kit Components Starter Kit 1 The Lassen iq GPS receiver is available in a Starter Kit or as an individual module and associated antenna. The Starter Kit (PN ) includes all the components necessary to quickly test and integrate the module: Compact Magnetic-Mount Antenna with 5m cable Ultra-Compact Embedded Antenna with 8cm cable AC/DC power supply adapter DC Power cable (3-wire) RS interface cable DB9M/DB9F (pin to pin) Cigarette lighter adapter power cable CD-ROM containing software tools and the System Designer Reference Manual Table provides ordering information for the Lassen iq GPS module and the associated antennas and cables. Table Lassen iq GPS Receiver Ordering Information Products Part Number Lassen iq GPS receiver Module / Lassen iq GPS receiver Starter Kit Antenna transition cable, MCX-HFL connector Antenna transition cable, SMA-HFL connector Ultra-Compact Embedded Antenna, V, 8cm cable Compact Unpackaged Antenna, 3V, 11cm cable, MCX connector Compact Magnetic Mount Antenna, 3V, 5m cable, MCX connector Compact Magnetic Mount Antenna, 3V, 5m cable, SMA connector Note Part numbers are subject to change. Confirm part numbers with your Trimble representative when placing your order. Lassen iq GPS Receiver 7

18 1 Starter Kit Starter Kit Interface Unit The Starter Kit interface unit consists of a Lassen iq GPS module attached to an interface motherboard, housed in a sturdy metal enclosure. This packaging simplifies testing and evaluation of the module by providing two RS serial interfaces which are compatible with most PC communication ports. Power ( VDC) is supplied through the power connector on the front of the interface unit. The motherboard features a switching power supply which converts this voltage input to the volts required by the grim of zed in error the end. The two DB9 connectors allow for easy connection to a PC serial port using the serial interface cable provided in the Starter Kit. The metal enclosure protects the module and the motherboard for testing outside of the laboratory environment. The Lassen iq GPS receiver is a single module encased in a sturdy metal enclosure. The dimensions of the receiver in this enclosure are 26 mm H x 26 mm L x 6 mm H ( W x L x H). A straight-in, panel-mount RF connector (J1) supports the GPS antenna connection. The center conductor of the coaxial connector also supplies + VDC for the Low Noise Amplifier of the active antenna. An 8-pin (2x4), inch header (J2) supports the two serial interfaces (CMOS TTL level), the pulse-per-second (PPS) signal (CMOS TTL level), and the input power (+ VDC). Figure illustrates the module in the metal enclosure. 8 Lassen iq GPS Receiver

19 Starter Kit 1 Bottom Shield Top Shield Figure Lassen iq GPS receiver Module The interface motherboard includes a 9 to 32 VDC switching power supply which provides regulated + VDC power to the receiver, and contains circuitry which provides two RS interface ports. A V lithium backup battery enables quick hot starts. The TTL level Motorola v3 hab error 0x4e is brought directly out to Pin 9 of the Port 2 DB9 connector on the front of the interface unit. The Starter Kit includes an AC/DC converter for powering the module from an AC wall socket. The metal enclosure (see Figure ) provides 2 DB9 interface port connectors, an antenna connector, and a power connector. Port 1 and Port 2 are used for serial I/O. Lassen iq GPS Receiver 9

20 1 Starter Kit The mounting plate is secured to the metal enclosure with four screws. The eight pin I/O header on the receiver module connects to a mating connector on a ribbon cable. The ribbon cable is attached to a mating I/O connector on the interface motherboard. Figure illustrates the Starter Kit interface unit. Port 2 Port 1 Figure Starter Kit Interface Unit 10 Lassen iq GPS Receiver

21 Starter Kit Serial Port Interface The Starter Kit interface unit is a DCE (Data Communication Equipment) device. To connect to a host computer, or DTE (Data Terminal Equipment) device, use a straight through cable. To connect a Differential Radio (DCE device) to the receiver (DCE Device) use a cross over cable or null modem cable. Table Port 1 Pinouts Pin Description 1 NC 2 TX 3 RX 4 NC 5 GND 6 NC 7 NC 8 NC 9 NC Table Port 2 Pinouts Pin Description 1 NC 2 TX 3 RX 4 NC 5 GND 6 NC 7 NC 8 NC 9 PPS Out Lassen iq GPS Receiver 11

22 1 Starter Kit Pulse-Per-Second (PPS) The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 9 of the port 2 DB9 connector of the interface unit (see Table ). The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and motorola v3 hab error 0x4e circuit can affect the pulse shape and rise time. The PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. The PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and generates position fixes. The PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the receiver is not tracking satellites, is unspecified and should not be used for synchronization. Note Trimble has measured better than 50 nanosecond accuracy on the Lassen iq GPS receiver s PPS signal in static mode. For more information on use of the Lassen iq GPS receiver in timing applications, contact your Trimble sales representative. 12 Lassen iq GPS Receiver

23 Starter Kit Power The Lassen iq GPS receiver receiver is designed for embedded applications and requires a regulated + VDC input (+ to + VDC). The receiver provided in the Starter Kit is installed on a motherboard, providing a DC power regulator which converts a 9 to 32 VDC input to motorola v3 hab error 0x4e regulated VDC required by the receiver. Power can be applied to the interface unit using one of three options: the DC power cable (Figure ), the AC/DC power converter (Figure ), or the cigarette lighter adapter. Figure DC Power Cable The DC power cable is ideal for bench-top or automotive testing environments. The power cable is terminated at one end with a 3-pin plastic connector which mates with the power connector on the metal enclosure. The un-terminated end of the cable provides easy connection to a DC power supply. Connect the red power lead to a source of DC positive +9 to +32 VDC, and connect the black power lead to ground. This connection supplies power to both the receiver and the antenna. Note To ensure compliance with CE conducted emissions requirements when using the DC power cable, the Starter Kit interface unit must be bonded to a ground plane. Note The yellow wire of the DC power cable is not used. Battery back-up power is provided by a factory installed V lithium battery on the motherboard. Lassen iq GPS Receiver 13

24 1 Starter Kit The AC/DC power converter motorola v3 hab error 0x4e be used as an alternate power source for the interface unit. The AC/DC power converter converts or VAC to a regulated 12 VDC compatible with the interface unit. The AC/DC power converter output cable is terminated with a 3-pin connector compatible with the power connector on the metal enclosure. The AC power cable is not provided in the kit, since this cable is country-specific. The input connector is a standard 3-prong connector used on many desktop PCs. Figure AC/DC Power Converter 14 Lassen iq GPS Motorola v3 hab error 0x4e Hardware Setup Starter Kit 1 The Lassen iq GPS receiver supports the TSIP and NMEA protocols. A single port supports both the input/output of TSIP messages and the output of NMEA messages. Follow the steps below to setup the Starter Kit interface unit. Figure illustrates the setup. Po we r Supply Lassen iq GPS Starter Kit GPS Re c e iver DCE DCE 9 to 32 VDC DTE Computer GPS Antenna Figure Starter Kit Interface Unit Lassen iq GPS Receiver 15

26 1 Starter Kit 1. For use with the TSIP or TAIP protocols, connect one end of the 9-pin serial interface cable to Port 1 (or Port nslookup cant find unspecified error to view NMEA data) of the receiver module. Connect the other end of the cable to COM1 or COM2 on a PC. If your PC has a pin communication port, a 9-pin-topin adapter may be required for this serial interface connection. 2. Connect the antenna cable to the interface unit. This connection is made by pushing the antenna cable connector onto the MCX connector on the module. Place the antenna so that it has a clear view of the sky. Note To remove the antenna cable, grasp the antenna mating MCX connector and pull from the MCX connector mounted on the interface unit. 3. Using either the DC power cable or an AC/DC power converter, motorola v3 hab error 0x4e, connect to the 3-pin power connector on the interface unit. DC Power Cable connect the terminated end of the power cable to the power connector on the interface unit. Connect the red lead to DC positive voltage (+9 to +32 VDC) and black power lead to DC ground. The yellow wire is not used. Switch on the DC power source. AC/DC Power Converter connect the output cable of the converter to the 3-pin power connector on the interface unit. Using the appropriate 3-prong AC power cable (not provided), connect the converter to an AC wall socket ( VAC or VAC). The AC power cable is not provided in the Starter Kit. Warning If the Lassen iq GPS Starter Kit is powered-up and attached to a PC COM port, the Windows operating system may recognize the Starter Kit as a new serial device and assign it to the mouse driver. This can cause erratic mouse control. To disable serial mouse detection at start-up, add one of the following lines in the sprers.eu file in the root directory: /NOSERIALMICE (detection is disabled on all serial ports) or /NOSERIALMICE=COMx,COMy,COMz (detection is disabled on one or more specified com ports) 16 Lassen iq GPS Receiver

27 Software Toolkit Starter Kit 1 The CD provided in the Starter Kit contains the iq_monitor, the iq_chat, and the GPSSK interface programs used to monitor GPS performance and to assist system integrators in developing a software interface for the GPS module. These applications are described in detail in Appendix B, TSIP User's Guide. iq_monitor runs on the Windows 95/98//XP platforms. iq_chat runs under the DOS operating system on a or higher processor. Following are quick start instructions designjet 500 error 6105 using the iq_monitor application to monitor the receiver s performance. 1. Connect one end of the serial interface cable to Port 1 of the interface unit. Connect the other end of the cable to the COM port of your PC. 2. Turn on the DC power source or plug in the AC/DC converter. 3. Insert the CD in motorola v3 hab error 0x4e computer s CD-ROM drive. 4. The iq_monitor program may be run directly off the CD or it may be copied onto your computer s hard drive. To run the program off the CD, initiate the iq_sprers.eu file. 5. When the iq_monitor screen appears, the TX and RX indicators appear in the lower left corner of the status bar. A blinking TX indicates that the PC is transmitting commands to the receiver; a blinking RX indicates that the PC is receiving reports from the receiver. If either of these indicators stop blinking, there is no activity. The PC COM port settings appear in the lower right motorola v3 hab error 0x4e of this same status bar. 6. After a GPS antenna is connected to the receiver and the receiver has achieved a position fix, the transmitted position reports, time, velocity, satellites tracked, and GPS receiver status appear on the screen. The receiver also sends hp 2055dn error 49 health report every few seconds, even if satellites are not being tracked. Lassen iq GPS Receiver 17

28 1 Starter Kit Note If the iq_monitor program displays a question mark (?) in a data field, the receiver has not reported a status for this field. If a (?) remains in the data field, the GPS module may not be communicating with the computer. Re-check the interface cable connections and verify the serial port selection and settings. If the communication failure etherlike statistik fcs error multicast after checking all connections and settings, please call the Trimble Technical Assistance Center (TAC) at 1 () Lassen iq GPS Receiver

29 CHAPTER 2 Hardware Integration 2 In this chapter: General Description Connectors Power Requirements Serial Interface Pulse-Per-Second (PPS) Mounting GPS Antennas

30 2 Hardware Integration General Description Trimble s new Lassen iq GPS receiver adds complete GPS functionality to mobile products, in a postage-stamp-sized footprint with ultra-low power consumption. Using Trimble s breakthrough FirstGPS architecture, the module delivers complete position, velocity and time (PVT) solutions for use in mobile, battery-powered applications such as hand-held devices, PDAs, asset tracking devices, and navigation applications. The Lassen iq GPS module is packaged in a tiny form factor (26 mm x 26 mm x 6 mm, including the metal shield). It typically requires only less than 89 mw of power (at VDC). The module includes flash memory for firmware upgrades and storing the user configuration. Figure Lassen iq GPS Receiver Board without Shield 20 Lassen iq GPS Receiver

31 Hardware Integration Connectors Digital IO/Power Connector The Lassen iq GPS module uses a single 8-pin (2x4) male header connector for both power and data I/O. The power and I/O connector, J2, is a surface mount micro terminal strip. This connector uses inch (mm) high pins on inch (mm) spacing. The manufacturer of this connector is Samtec, part number ASP Note See Appendix F for mechanical drawings and specifications. Mating Connectors The customer must supply his own mating connector to the Lassen iq GPS receiver 8-pin (2x4) connector. There are two mating connectors available: Surface-Mount Mating Connector A recommended surface mount mating connector is Samtec s part number CLP When a surface-mount mating connector is chosen, the RF connector must be attached to the Lassen iq GPS module prior to securing the module to the user s PCB. The mounting tabs may be used for securing the Lassen iq GPS module to the PCB when using the surface-mount mating scheme. Lassen iq GPS Receiver 21

32 2 Hardware Integration Cable Strip Mating Connector A low profile, cable strip mating connector is error code=610 gameguard second I/O mating method. A recommended cable strip part is Samtec s part number FFSD?-XX part. The user will need to substitute autodesk ctrl + p error following letters and numbers into the part number when ordering this part where the '?' and 'XX' symbols occur: for the '?' symbol substitute the letter S for single end or D for double end; for the 'XX' symbol substitute the overall length in inches, ± 1/8 inch, with a 2 inch minimum. Since the signals are CMOS TTL level signals, Trimble does not recommend cable lengths of longer than six inches. If the cable strip I/O connector scheme is used, the connector side of the Lassen iq GPS receiver will be facing up and the mounting tabs will be on the top of the module away from PCB, motorola v3 hab error 0x4e. The RF connector is easily accessible, using this interfacing methodology. Figure Cable Strip Mating Connector 22 Lassen iq GPS Receiver

33 Hardware Integration RF Connector The RF connector mounted on the Lassen iq GPS receiver is a Hirose connector, part number sprers.eu-R-SMT (10) 50 Ohm. The mating RF connector is Hirose sprers.eu-LP-XXX where XXX depends on the cable type. Figure Lassen iq GPS Module with Connectors Possible cable manufactures include the following: mm diameter (single shield) cable: CO-6F/FH-SB manufactured by Hitachi Cable Ltd. UL manufactured by Junkosha Co., Ltd. DS-PBE manufactured by Sumitomo Electric Industry Co., Ltd mm diameter cable (double shield): A12B manufactured by Junkosha Co., Ltd mm diameter cable (single shield): CXN manufactured by W.L. Gore & Associated, Inc. Lassen iq GPS Receiver 23

34 2 Hardware Integration Trimble offers three antennas for use with the Lassen iq GPS receiver receiver: The Ultra-Compact Embedded Antenna, which mates directly to the RF connector. The Compact Unpackaged Antenna and the Compact Magnetic-Mount Antenna, motorola v3 hab error 0x4e, which mate through the optional RF transition cable to the module s RF connector. For more information on the antennas, see page Digital IO/Power Connector Pinout The digital IO/Power connector pinout information is listed in Table Table J2 I/O Connector Signals Pin number Function Description 1 TXD A Serial Port A transmit, motorola v3 hab error 0x4e, V TTL CMOS 2 GND Ground, Power and Signal 3 RXD A Serial Port A receive, V TTL CMOS 4 PPS Pulse-Per-Second, V TTL CMOS 5 TXDB Serial port B transmit, V TTL CMOS 6 RXDB Serial port B receive, V TTL CMOS 7 Prime Power (VCC) + VDC to ± VDC 8 Battery Backup Power + VDC to VDC 24 Lassen iq GPS Receiver

35 Power Requirements Hardware Integration 2 The Lassen iq GPS module requires + VDC ± VDC at 33 ma, typical excluding the antenna. The on-board capacitance is 10 µf. An important design consideration for power is the module's internal clock frequency at MHz ± 3 KHz. Interference spurs on prime power in this narrow frequency band should be kept to less than 1mV. The receiver does not require any special power up or down sequencing. The receiver power is supplied through pin 7 of the I/O connector. See Table for the + VDC power specifications. Warning The Lassen iq GPS receiver is ready to accept TSIP commands approximately seconds after power -up. If a command is sent to the receiver within this second window, the receiver will ignore the command. The Lassen iq GPS receiver will not respond to commands sent within the second window and will discard any associated command data. Battery Back-up The Lassen iq GPS receiver provides an input for battery back-up (BBU) power witcher 2 error occured keep the module's RAM memory alive and to power the real-time clock when the receiver's prime power is turned off. RAM memory is used to store the GPS almanac, ephemeris, and last position. User configuration data, including port parameters and receiver processing options can be stored in non-volatile Flash which does not require back-up power. By using battery back-up, time to first fix in a hot start is reduced to 10 seconds (typical). Though not required, providing BBU power can reduce time to first fix. A volt lithium battery used for back-up power can last up to three years. Lassen iq GPS Receiver 25

36 2 Hardware Integration Warning If battery power is not present, the receiver s power can be turned off and then back on to force a system reset and a cold start. The receiver should be off for no less than 3 minutes to ensure that the RAM memory does not retain any old data due to the residual voltage from the power supply. To avoid waiting the 3 minutes, turn the receiver unit back on immediately and issue TSIP command 0x1E with the value 4B. This packet forces a cold start and clears battery backed RAM. Note V is the minimum allowable battery back-up voltage. When the battery back-up power output drops below V, the real-time clock may not operate over the specified temperature range. This can also significantly extend the time to first fix. Trimble does not recommend the use of Super Caps as battery back-up. Table Power Requirements Signal Voltage Current J2 Pin # VCC to ma 7 Battery Back-up to µA (at volts, +25 C) 8 Ground Note For proper operation when using battery back-up, the voltage value of the battery should be 10% less than the value of the VCC. 26 Lassen iq GPS Receiver

37 Serial Interface Hardware Integration 2 As an embedded design, the Lassen iq GPS module provides direct CMOS compatible TTL level serial I/O. The RX and TX signals on the Motorola v3 hab error 0x4e I/O connector are driven directly by the DUART on the Lassen iq GPS receiver. Interfacing these signals directly to a UART in your application circuitry provides direct serial communication roland pnc-1860 motor error the complication of RS or RS line drivers. Note The serial I/O signals on J2 are TTL level. They are not inverted or driven to RS levels. Lassen iq GPS Receiver 27

38 2 Hardware Integration Serial Port Connections Below are the required connections for the Lassen iq GPS Rx pins when they are not used for communication. This is required for firmware release and recommended for all subsequent firmware releases. Table Serial Port Connections for Rx Pins Serial Port Pin # Assignment Default Required Connections 1 Pin 3 RxA TSIP-IN High (VCC) (via pullup) 2 Pin 6 RxB RTCM-IN High (VCC) (via pullup) Below are the allowable connections for the Lassen iq GPS Tx pins when the pins are not used for communication. This configuration applies to all firmware versions. Table Serial Port Connections for Tx Pins Serial Port Pin # Assignment Default Allowable Connections 1 Pin 1 TxA TSIP-OUT Floating or High (VCC) (via pullup) 2 Pin 5 TxB NMEA-OUT Floating or High (VCC) (via pullup) Note Attaching the Tx lines (pins 1 and 5) to VCC and using pullup resistors is not required. Use of pullup resistors and attaching to VCC on Rx lines (pins 3 and 6) is mandatory (for firmware release and recommended for subsequent firmware releases) if these pints are not otherwise connected to the system s communication ports. 28 Lassen iq GPS Receiver

39 Hardware Integration 2 Below are the failure modes that will be experienced if the Lassen iq GPS pins are not connected as recommended (see above). Table Serial Port Connections for Tx and Rx Pins Pin # High (VCC) Low (GND) Floating Pin 1 (TxA, SI01 Works Board will be damaged Works Pin 3 RxA, SI01 Works Will never produce a position fix Do not choose this option for firmware release Operation cannot be guaranteed. Failure mode: will never produce a position fix Pin 5 (TxB, SI02 Works Board will be damaged Works Pin 6 RxB, SI02 Works Do not choose this option! Operation cannot be guaranteed. Failure modes: may never produce a position fix, may output potentially bad fixes intermittently Do not choose this option for firmware release Operation cannot be guaranteed. Failure modes: may never produce a position fix, may output potentially bad fixes intermittently Note The table above indicates that the Tx pins hold on all errors and 5 should not be tied to Ground. As there are no internal pullups or current limiting resistors, tying Tx to Ground will directly pull down the VCC rail through the chip. This will pull excessive current, stressing the chip beyond specification until it eventually fails. Lassen iq GPS Receiver 29

40 2 Hardware Integration Pullup Resistor A pullup resistor should be added to the board in the range of 1K to K ohms for connecting the above-mentioned pins to VCC. One end of the pullup resistor is connected to the iq pin and the other end is connected to the positive supply voltage VCC. Note The pullup resistor does not have to be powered by VCC. A separate power source can be used, as long as it is not greater than VCC. The minimum power for the pullup is V. Resistor Impact on PCB Power Consumption The pullups do not affect the Lassen iq GPS power consumption since the resistors will be external to the board. The overall power consumption of the user s PCB will increase slightly. Assuming V VCC and k-pullup resistor, the power consumption increase will be uW or 33uA per pullup. With a 1k pullup resistor, the power consumption increase will be mW or mA per pullup. To reduce the current draw, the users can choose higher value pullup resistors in the allowable resistor range of 1KK ohms. To minimize the overall power consumption of the user s board, K ohms pullup can be selected. To keep BOM items to a minimum, motorola v3 hab error 0x4e, the user can choose the highest value resistor used on their board. 30 Lassen iq GPS Receiver

41 Pulse-Per-Second (PPS) Hardware Integration 2 The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 4 of the power and I/O connector. The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance motorola v3 hab error 0x4e the attached signal line and input circuit can affect the pulse shape and rise time. In early PPS mode, the PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used, motorola v3 hab error 0x4e. In it s default mode PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and is getting fixes. In early PPS mode, the PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the Lassen iq GPS receiver is not tracking satellites, is unspecified and should not be used for synchronization. The PPS output modes can be controlled with TSIP packet 0x The modes are Always on (default), Fix Based, or Always Off. Cable delay compensation is available through the use of TSIP packet 0x8E-4A. After a specific mode is selected, it can be stored in non-volatile memory (FLASH) using TSIP command 0x8E For more information, see Appendix A. Note Trimble Navigation has measured better than 50 nanoseconds accuracy on the Lassen iq GPS receiver PPS signal in static mode. For more information on the use of the Lassen iq GPS module in timing applications, contact your Trimble sales representative. Lassen iq GPS Receiver 31

42 2 Hardware Integration Mounting The Lassen iq GPS PCB is encased in a metal enclosure. The enclosure acts as a protective case, motorola v3 hab error 0x4e. There are four mounting solder tabs on the bottom of the enclosure. When the surface-mount mating connector is used, the mounting tabs may be used for securing the Lassen iq GPS module on the user s PCB, motorola v3 hab error 0x4e. When the cable strip I/O connector scheme is used, the connector side of the Lassen iq GPS module will be faced up and the mounting tabs will be on the top of the module away from PCB. The Lassen iq GPS module can be attached to the integrator platform by many methodologies including solder, glue, double sided adhesive tape, and custom hold down mounts for the module's mounting tabs. Note See Appendix F for mechanical drawings and specifications regarding the spacing of the mounting tabs and the dimensions of the enclosure. 32 Lassen iq GPS Receiver

43 GPS Antennas Hardware Integration 2 The antenna receives the GPS satellite signals and passes them to the receiver. The GPS signals are spread spectrum signals in the MHz range and do not penetrate conductive or opaque surfaces. Therefore, the antenna must be located outdoors with a clear view of the sky. The Lassen iq GPS receiver requires an active antenna. The received GPS signals are approximately dbm, at the surface of the earth (in typical environments). Trimble's active antennas include a preamplifier that filters and amplifies the GPS signals before delivery to the receiver. Trimble offers three antennas for use with the Lassen iq GPS receiver described below and in Appendix D. 1. The Ultra-Compact Embedded GPS Antenna with an HFL connector, is ideal for portable and mobile applications. This unpackaged antenna is approximately the same size as the module itself, and can be easily integrated into mobile applications. This antenna is supplied with the Starter Kit (see Figure ). 2. A Compact Unpackaged Antenna with an MCX connector, slightly larger than the ultra-compact model (see #1 above), motorola v3 hab error 0x4e, mates to the Hirose connector on the Lassen iq GPS module with an optional RF transition cable (see Figure ). Lassen iq GPS Receiver 33

44 2 Hardware Integration 3. A Compact Magnetic-Mount GPS Antenna with a 5 m cable and an MCX or SMA connector. This antenna provides for a flexible, movable installation. The MCX or SMA output connector mates to the Hirose connector on the Lassen iq GPS module with an optional RF transition cable. The antenna with the MCX connector motorola v3 hab error 0x4e supplied with the Starter Kit (see Figure ). The MCX connector on the end of the antenna cable mates to the MCX connector in the front of the Starter Kit interface unit. The two screw holes on the bottom of the antenna can be used to mount the antenna to a metal plate. The dimensions of these holes are mm in diameter and 5mm in depth. Warning When magnetic-mount or permanent-mount GPS antennas are installed on a metal surface for prolonged periods, motorola v3 hab error 0x4e, care must be taken to insulate the antennas in order to prevent galvanic corrosion. 34 Lassen iq GPS Receiver

45 Hardware Integration 2 Figure Ultra-Compact Embedded GPS Antenna Figure Compact Unpackaged GPS Antenna Figure Compact Magnetic-Mount GPS Antenna Lassen iq GPS Receiver 35

46 2 Hardware Integration 36 Lassen iq GPS Receiver

47 CHAPTER 3 Software Interface 3 In this chapter: Start-up Communicating with the Lassen iq GPS Receiver Port Protocol and Data Output Options Custom Port Configuration When prompted, select the factory default option.

48 3 Software Interface Start-up Lassen iq GPS receiver module is a complete channel parallel tracking GPS receiver designed to operate with the L1 frequency, standard position service, Coarse Acquisition code. When connected to an external GPS antenna, the receiver contains all the circuitry necessary to automatically acquire GPS 22invalid argument xlate filter - returning error signals, track up to 12 GPS satellites, and compute location, speed, heading, and time. The receiver will automatically begin to search for and track GPS satellite signals at power-up. The performance of a GPS receiver at power-on is determined largely by the availability and accuracy of the satellite ephemeris data and the availability of a GPS system almanac. The first time the receiver is powered-up, it is searching for satellites from a cold start (no almanac). While the receiver will begin to compute position solutions within the first two minutes, the receiver must continuously track satellites for approximately 15 minutes to download a complete almanac. This initialization process should not be interrupted. With a complete almanac and canon error 006 power, the time to first fix can typically be shortened to less than 42 seconds. The receiver will respond to commands almost immediately after power-up (see Warning below). Note See Chapter 4 for further detail on ephemeris data and the GPS almanac. Warning The Lassen iq GPS Receiver is ready to accept TSIP commands approximately seconds after power -up. If a command is sent to the receiver within this second window, the receiver will ignore the command. The Lassen iq GPS Receiver will not respond to commands sent within the second window and will discard any associated command data. 38 Lassen iq GPS Receiver

49 Software Interface Communicating with the Lassen iq GPS Receiver Motorola v3 hab error 0x4e Lassen iq GPS Receiver supports three message protocols: TSIP, TAIP, and NMEA. Communication with the module is through two CMOS compatible, TTL level serial ports. The port characteristics can be modified to accommodate your application requirements. Port parameters can be stored in non-volatile memory (FLASH) which does not require backup power. Table lists the default port characteristics Software Tools The Software Tools provided on the Starter Kit CD-ROM include both user friendly Windows and DOS applications to facilitate communication with the receiver, via the Trimble Standard Interface Protocol (TSIP). This CD also includes sample C source code and reusable routines to aid in motorola v3 hab error 0x4e applications. Note The TSIP, TAIP, and NMEA protocols are discussed beginning on page 42 of this chapter, and in the Appendices of this document. Lassen iq GPS Receiver 39

50 3 Software Interface Port Configuration The Lassen iq GPS receiver module has two I/O ports. Table provides the default protocols and port configurations for the receiver, as delivered from the factory. TSIP IN/OUT is the default protocol on Port 1 and RTCM-IN and NMEA-OUT is the default protocol on Port 2. Table Default Protocols and Port Configurations Port Input Protocol Default Setup 1 TSIP Baud Rate: Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control 2 RTCM Baud Rate: Motorola v3 hab error 0x4e Bits: 8 Parity: None Stop Bits: 1 No Flow Control Output Language Default Setup TSIP Baud Rate: Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control NMEA Baud Rate: Data Bits: 8 Parity: None Stop Bits: 1 No Flow Control The Lassen iq GPS Receiver can also be configured to output TAIP messages. The Trimble standard port characteristics for TAIP are: Baud Rate: Data Bits: 8 Parity: None Stop Bits:1 No Flow Control Any standard serial communications program, such as Windows Hyper-Terminal or PROCOMM, can be used to view the NMEA or TAIP output messages. TSIP is a binary protocol and outputs raw binary serial data that cannot be read when using Windows Terminal or PROCOMM. To view the output of the TSIP protocol in text format, use the iq_chat or the iq_monitor program (see the CD- ROM provided in the Starter Kit). 40 Lassen iq GPS Receiver

51 Software Interface 3 The serial port driver in the iq_chat Tool Kit matches the Lassen iq GPS receiver serial port characteristics. The TSIPPRNT program converts binary motorola v3 hab error 0x4e logged with the iq_chat program into text that may be printed and displayed. Both of these tools are included in the Software Developer s Toolkit. Warning When using the TSIP protocol to change port assignments or settings, confirm that your changes do not affect the ability to communicate with the receiver (e.g., selecting the PC COM port settings that do not match the receiver s, or changing the output protocol to TSIP while not using iq_chat). Lassen iq GPS Receiver 41

52 3 Software Interface Port Protocol and Data Output Options Protocol Configuration and Interface The factory default I/O protocol for Port 1 of the Lassen iq GPS receiver is the Trimble Standard Interface Protocol (TSIP) for both input and output. The settings for Port 1 are baud 8-odd The factory default protocol for Port 2 is RTCM-IN and NMEA-OUT. The settings for Port 2 are baud 8-none The receiver protocol can be re-configured using TSIP command packet 0xBC, in conjunction with iq_chat, iq_monitor, or a user written serial interface program. See Appendix A for details on the 0xBC command packet. iq_chat provides the simplest means to communicate with the receiver using a PC ( or higher) running either the DOS or Windows operating systems. Responses are displayed on the computer monitor in text format. iq_monitor, a Windows-based GUI, motorola v3 hab error 0x4e, provides a versatile graphical interface for monitoring TSIP data. Non-system disk or disk error ubuntu 11.04 application allows the user to view complete receiver operations including data output, status and configuration. In this application, the entry of command packets is replaced by traditional point and click pull-down menus. C source code routines for iq_chat are also provided on the CD contained in the Starter Kit. When used as software design templates, motorola v3 hab error 0x4e, this source code can significantly speed-up code development. The protocol settings and options are stored in battery-backed Random-Access-Memory (BBRAM). They can also be saved into the non-volatile memory (Flash), if desired, using command 0x8E See to Appendix A for additional information on Flash storage for custom operation. 42 Lassen iq GPS Receiver

53 Software Interface TSIP Data Output Modes TSIP is the default protocol for Port 1 on the Lassen iq GPS receiver. This binary language offers users a wide variety of commands and reports. TSIP enables the Lassen iq GPS receiver to operate in two data output modes, both available during operation. In Query Mode, packet data is returned in response to input query packets. In Automatic Mode, a selected group of data packets is output continuously at two fixed rates every second and every five seconds. The format and ensemble of the automatic output packets is configured using packets 0x35, 0x70, and 0x8E (see Appendix A for packet details). Packet settings are stored in BBRAM. They can also be saved in non-volatile memory (Flash) using command packet 0x8E See Appendix A for additional information on Flash storage for custom operation Default TSIP Output Settings Default 0x35 setting (byte 0=2, 1= 2, 2=0, 3=0): Position and velocity data precision: single precision floating point Position output option and format (byte 0 setting): Latitude radian Longitude radian Altitude meters (WGS) No super-packet output Velocity output option and format: East Velocity meters/sec.; + for East North Velocity meters/sec.; + for North Up Velocity meters/sec.; + for Up Timing GPS Time Output PPS Always ON Auxiliary/Pseudo Range Measurement Raw Measurements OFF Raw Pseudo Ranges OFF Output AMU values Lassen iq GPS Receiver 43

54 3 Software Interface Default 0x70 setting (byte 0=1, 1=1. 2=1. 3=0): Position-Velocity Dynamic Filter enabled Position-Velocity static Filter enabled Altitude Filter enabled Default 0x8E setting (byte 1 = 1): 0x8F output is included in the super-packet for automatic output IF packet 0x35 selects the super-packet for automatic output options Automatic TSIP Output Packets (fixed rate) One second interval: 0x4A (1) GPS position fix; (2) clock bias and computer databae errors of fix; {20 byte format} 0x56 velocity fix 0x6D (1) list of satellites used for position fixes; (2) PDOP, HDOP, VDOP; (3) fix mode 0x82 DGPS position fix mode Five second interval: 0x41 (1) GPS time of the week (seconds); (2) extended GPS week number; (3) GPS UTC offset (seconds) 0x46 health of receiver 0x4B (1) Machine/Code ID; (2) Real-time-clock availability status; (3) almanac validity status; (4) having super-packet support status 44 Lassen iq GPS Receiver

55 Software Interface Packet Output Order After power up or a software reset (packet 0x1E), seven start-up packets are sent, only once, by motorola v3 hab error 0x4e receiver in this order: 45, 46, motorola v3 hab error 0x4e, 4B, 4A, 56, 41, 82 Before position fixes are available, the 1 second and 5 second interval packets are sent in this order, periodically: Every one second for 5 seconds: 6D, 82 Every five seconds 41, 46, 4B When position fixes are available, the 1 second and 5 second interval packets are sent in this order, periodically: Every one second for 4 seconds: 4A, 56, 6D, 82 Every 5 seconds: 4A, 56, 41, 46, 4B, 6D, 82 Lassen iq GPS Receiver 45

56 3 Software Interface NMEA Protocol and Data Output Options The National Marine Electronics Association (NMEA) protocol is an industry standard data protocol which was developed for the marine industry. Trimble has chosen to adhere stringently to the NMEA data specification as published by the NMEA. The Lassen iq GPS receiver also adheres to the NMEAVersion specification, motorola v3 hab error 0x4e. NMEA data is output in standard ASCII sentence formats. Message identifiers are used to signify what data is contained in each sentence. Data fields are separated by commas within the NMEA sentence. In the Lassen iq GPS receiver, NMEA is an output only protocol. The NMEA protocol is described in detail in Appendix E. The receiver is shipped from the factory with the TSIP protocol configured on Port 1 and RTCM-IN/NMEA-OUT on Port 2. The Port 2 characteristics conform to the NMEA industry standard: baud 8 data bits No parity 1 stop bit No flow control The receiver can be reconfigured using TSIP command packet 0xBC, motorola v3 hab error 0x4e, in conjunction with iq_chat, iq_monitor, or a user written serial interface program. The NMEA output messages selection and message output rate can be set using TSIP command packet 0x7A. The default setting on Port 2 is to output the GGA and VTG messages at a 1 second interval. If the NMEA configuration is permanently changed for the application, the protocol configuration (0xBC) and NMEA message output setting (0x7A) can be stored in the non-volatile memory (onboard FLASH) using TSIP command 0x8E Lassen iq GPS Receiver

57 Custom Port Configuration Software Interface 3 iq_chat can be used to customize the Lassen iq GPS receiver configuration settings and to save a configuration to non-volatile memory. The most recent port configuration is stored in BBRAM. This eliminates the need to repeat setup each time the receiver power is cycled. However, motorola v3 hab error 0x4e, if the battery-backed power is samsung clp 300 error lost, the port configuration automatically resets to either what was saved in the non-volatile memory (FLASH) or to the factory default. Tip To ensure continuous operation, store all port configuration changes in the non-volatile memory. Following are step-by-step instructions for using iq_chat to customize Lassen iq GPS receiver port configuration. Customizing the Configuration 1. Insert the CD in the CD-ROM drive of your computer. 2. Open a DOS window and set the path to the iq_chat location. 3. To run the program, type iq_chat c1 if attached to PC COM1, or type iq_chat c2 if attached to PC COM2. 4. Power-up the receiver. Automatic report streams should be scrolling up in the [email protected] usb error loading newdev.dll window. Assuming that your receiver is set to the default configuration, the settings will be: baud, 8-odd Note If data is not being output after receiver power up, use the ^I command in iq_chat to reset the COM1/COM2 setting in PC (not the receiver). Tip Entering? in the iq_chat window displays all the available commands and their corresponding TSIP packets. Lassen iq GPS Receiver 47

58 3 Software Interface 5. To re-configure the port settings and protocol, type U and respond to the input prompts. At the end of this procedure, select the option that resets the PC COM port to match the new motorola v3 hab error 0x4e. Communication should resume almost immediately. Saving the Configuration 1. Before storing the new configuration in FLASH, confirm that the receiver has been configured to the desired settings. Warning Record the new serial port settings. If power is lost, this will speed-up recovery. Alternatively, the receiver can always be returned to the default configuration. 2. To save the configuration to Flash: Enter = to access the command list page for the 0x8E command packet. Enter s, to send the 0x8E command packet. Communication is momentarily suspended while the configuration is being stored in Flash. 3. To confirm that the configuration changes have been saved, turn-off the power supply and the battery back-up for a few minutes. Then, power-up the receiver and confirm that the configuration changes have been retained. Alternatively, you can use Packet 1E to command a cold start. Note Command packet 0x8E executes storage of various types of receiver settings in addition to the port and protocol. See Table for a complete list of the settings that can be stored in FLASH memory. 48 Lassen iq GPS Receiver

59 Software Interface 3 Returning to the Factory Settings At any time, the receiver can be returned to the factory default configuration, using command packet 0x1E. 1. Type ^k to invoke the 0x1E command. 2. When prompted, select the factory default option. Table iq_chat Command Settings Stored in Flash Memory Command Packet 0x8E TSIP Command ID iq_chat Keystroke Description 0x35 O TSIP input/output formatting Superpacket output (on/off) Position format (LLA and/or ECEF) Precision (double or single) altitude format (MSL or HAE) Timetag format (GPS or UTC) PPS modes TSIP Response ID 0x55 SNR format (AMU or C/N 0 Automatic pseudorange startx xio fatal io error 104 0x69 e Enhanced Sensitivity Mode Control 0x70 l Position filter controls Position filter on/off Static filter on/off Altitude filter on/off 0x7A q NMEA message formats and schedule NMEA output messages NMEA output interval 0x7e a TAIP message formats and schedules 0x89 0x70 0x7B 0x7F Lassen iq GPS Receiver 49

60 3 Software Interface Table iq_chat Command Settings Stored in Flash Memory Command Packet 0x8E (Continued) TSIP Command ID iq_chat Keystroke Description 0xBB p GPS configuration parameters Operating dimension (2D, 3D,) DGPS mode Dynamics mode Elevation mask SNR mask DOP mask PDOP switch DGPS correction age 0xBC U Serial port configuration Protocol: input, motorola v3 hab error 0x4e, output Baud, data bits, parity, stop bits 0x8E = g Fixed point superfix control (default = on) TSIP Response ID 0xBB 0xBC 0x8F Lassen iq GPS Receiver

61 Timing Applications Software Interface 3 The Lassen iq GPS receiver is an excellent source for accurate system timing. Two examples of applications requiring accurate time are environmental data acquisition and synchronization of communications networks. The timing functions of the receiver are supported by the TSIP protocol and the PPS signal. See Report Packet 0x41 or Super Packet 0x8F in Appendix A for a description of the time function reports for TSIP. Note GPS time differs from UTC (Universal Coordinated Time) by a variable integer number of seconds: UTC = (GPS time) - (GPS UTC Offset) As of Aprilthe GPS UTC offset was 13 seconds. The offset increases by 1 second approximately every 18 months. System designers should plan to read the offset value as a part of the timing interface to obtain UTC, motorola v3 hab error 0x4e. The GPS week number is in reference to a base week (Week #0), starting January 6, The current GPS UTC offset is contained within the almanac transmitted by the GPS system. The Lassen iq GPS Receiver must have a complete almanac before the offset data is valid, motorola v3 hab error 0x4e. Note As of Januarythe GPS Control Organization has not added leap seconds on the usual 18 month schedule. As a result, the offset has remained at 13 seconds Extended GPS Week Number The Lassen iq GPS Receiver outputs the Extended GPS Week Number as the absolute number of weeks since the beginning of GPS time or January 6, If the true GPS Week Number is desired, ignore the extra MSBs of the Extended GPS Week Number and use only the 10 LSBs (bytes 4 and 5 of Packet 0x41). Note After week numberin yearthe TSIP week number rolls back to All dates reported in NMEA and TAIP, will be invalid. Lassen iq GPS Receiver 51

62 3 Software Interface Known Anomalies in Firmware Release The following are know anomalies found in Lassen iq FW v These anomalies will be fixed in all follow sqlite error code 17 versions: Position outages during the Weekend Rollover The receiver would experience satellites being dropped and thus several seconds of position outages during the weekend rollover, which happens during Saturday to Sunday at midnight each week. This anomaly is found in Lassen iq GPS receiver firmware version and will be fixed in all future firmware releases. Position outages during WNRO (Week Number Rollover) The receiver would experience satellites being dropped and thus several seconds of position outages during the next week number rollover, which will happen on April 7, (GPS time). This problem is caused by the End-Of-the-Week Rollover problem as End-Of-the-Week Rollover occurs during WNRO. This anomaly is found in Lassen iq GPS receiver firmware version and will be fixed in all future firmer releases. Extended TTFF times in year The user would experience extended warm and hot startup times between years to This anomaly is found in the Lassen iq GPS receiver firmware version and will be fixed in all future firmware releases. Static Filter issue The static filter can be turned and stay on/off, based on user configuration or by TSIP packet 0x However, motorola v3 hab error 0x4e, when it is set to off, it will be turned on internally after position fixes are generated. The query on the status of the static filter would still indicate that it is being turned off even though it has been turned on internally. This anomaly is found in Lassen iq GPS receiver firmware version and will be fixed in all future firmer releases. TSIP packet 0x65 is not functional in Lassen iq GPS receiver FW v It will be fixed in all future firmware releases. 52 Lassen iq GPS Receiver

63 CHAPTER 4 Operation and Performance 4 In this chapter: Introduction GPS Satellite Message Satellite Acquisition and Time to First Fix Satellite Mask Settings Standard Operating Modes Position Accuracy Coordinate Systems Performance Characteristics Lassen iq GPS Receiver Sensitivity Modes Lassen iq GPS Receiver Aided GPS Feature GPS Timing System Architecture

64 4 Operation and Performance Introduction This chapter describes the Lassen iq GPS receiver satellite acquisition and tracking processes, performance characteristics, and system architecture. This discussion assumes that you are familiar with the basic theory of the Global Positioning System. Before proceeding to the detailed discussion of the satellite acquisition and tracking process, please review the GPS satellite message description on the next page. The Lassen iq GPS receiver satellite acquisition and tracking algorithms can achieve a position solution without any initialization. The receiver automatically selects and tracks the best combination of satellites to compute position and velocity. As satellites move out of view, the Lassen iq GPS receiver automatically acquires new satellites and includes them in the solution set as required. 54 Lassen iq GPS Receiver

65 GPS Satellite Message Operation and Performance 4 Every GPS satellite transmits the Coarse/Acquisition (C/A) code and satellite data modulated onto the L1 carrier frequency ( MHz). The satellite data transmitted by each satellite includes a satellite almanac for the entire GPS system, its own satellite ephemeris and its own clock correction. The satellite data is transmitted in second frames. Each frame contains the clock correction and ephemeris for that specific satellite, and two pages of the page GPS system almanac. The almanac is repeated every minutes, motorola v3 hab error 0x4e. The ephemeris is repeated every 30 seconds. The system almanac contains information about each of the satellites in the constellation, motorola v3 hab error 0x4e, ionospheric data, and special system messages. The GPS system almanac is updated weekly and is typically valid for months. The ephemeris contains detailed orbital information for a specific satellite. Ephemeris data changes hourly, but is valid for up to four hours. The GPS control segment updates the system almanac weekly and the ephemeris hourly through three ground-based control stations. During normal operation, the Lassen iq GPS receiver module updates its ephemeris and almanac as needed. The performance of a GPS receiver at power-on is determined largely by the availability and accuracy of the satellite ephemeris data and the availability of a GPS system almanac. Lassen iq GPS Receiver 55

66 4 Operation and Performance Satellite Acquisition and Time to First Fix Cold-Start The term cold-start describes the performance of a GPS receiver at power-on when no navigation data is available. cold signifies that the receiver does not have a current almanac, satellite ephemeris, initial position, or time. The cold-start search algorithm applies to a Lassen iq GPS receiver which has no memory of its previous session (i.e., is powered on without the memory backup circuit connected to a source of DC power). This is the out of the box condition of the GPS module as received from the factory. In a cold-start condition the receiver automatically selects a set of twelve satellites and dedicates an individual tracking channel to each satellite, to search the Doppler range frequency for each satellite in the set. If none of the twelve selected satellites is acquired after a predetermined period of time (time-out), the receiver will select a new search set of twelve satellites and will repeat the process, until the first satellite is acquired. As satellites are acquired, the receiver automatically collects ephemeris and almanac data. The Lassen iq GPS receiver uses the knowledge gained from acquiring a specific satellite to eliminate other satellites, those below the horizon, from the search set. This strategy speeds the acquisition of additional satellites required to achieve the first position fix. The cold-start search sets are established to ensure that at least three satellites are acquired within the first two time-out periods. As soon as three satellites are found, the receiver will compute an initial position fix. The typical time to first fix is less than 2 minutes. A complete system almanac is not required to achieve a first position fix. However, the availability and accuracy of the satellite ephemeris data and the availability of a GPS almanac can substantially shorten the time to first fix. 56 Lassen iq GPS Receiver

67 Operation and Performance Warm Start In a warm-start condition the receiver has been powered down for at least one hour but has stored a current almanac, an initial position, and time, in memory. When connected to an external back-up power source (battery back-up), the Lassen iq GPS receiver retains the almanac, approximate position, and time to aid in satellite acquisition and reduce the time to first fix. When an external back-up battery is not used, the TSIP protocol allows the almanac, an initial position, and time to be uploaded to the receiver via the serial port, to initiate a warm start. During a warm start, the Lassen iq GPS receiver identifies the satellites which are expected to be in view, given the system almanac, the initial position and the approximate time. The receiver calculates the elevation and expected Doppler shift for each satellite in this expected set and directs the twelve tracking channels in a parallel search for these satellites. The warm start time to first fix, when the receiver has been powered down for more than 60 minutes (i.e, motorola v3 hab error 0x4e. the ephemeris data is old), is usually less than 45 seconds Hot Start A hot start strategy applies when the Lassen iq GPS receiver has been powered down for less than 60 minutes, and the almanac, position, ephemeris, and time are valid. The motorola v3 hab error 0x4e start search strategy is similar to a warm start, but since the ephemeris data in memory is considered current and valid, the acquisition time is typically less than 20 seconds. Lassen iq GPS Receiver 57

68 4 Operation and Performance Garage Search Strategy During a warm start search, the Lassen iq GPS receiver knows which satellites to search for, based on the system almanac, the initial position (last known position) and the current time. In some cases, the receiver may not be able to acquire the expected satellite signals (e.g., a vehicle parked in a garage or a vessel in a covered berth). Trimble's patented garage search strategy, also known as a split search, motorola v3 hab error 0x4e, is designed for such situations. If the receiver does not acquire the expected set of satellites within 5 minutes of power-on, some of the twelve tracking channels will continue to search for the expected satellites (warm search) while the remaining channels are directed in a cold start search. This strategy minimizes the time to first fix in cases where the stored almanac, position and time are invalid. The stored information is flushed from memory, if the cold start search proves effective and the warm search fails System Reset The Lassen iq GPS receiver can be reset with software commands or by cycling power. A system reset will cause the receiver to restart and begin the satellite acquisition and tracking process again. There are three types of system resets: soft reset, hard reset, and factory reset. The TSIP protocol supports all three resets using the 0x1E command. Power cycling can be used for either the soft reset or the hard reset. A soft reset is a system restart. In a soft reset, the system will attempt to acquire satellites using the satellite crash reporter error and last position data stored in RAM, and the time information supplied by the realtime clock. There are two ways to initiate a soft reset: Cycling main power while keeping the memory and the realtime clock alive with back-up power. Issuing Command Packet 0x A soft reset is the same as a warm or hot start, if the information contained in memory and supplied by the real-time clock is valid. 58 Lassen iq GPS Receiver

69 Operation and Performance 4 A hard reset is a system restart that results in satellite acquisition search using a default search set. Any data contained within RAM memory is discarded and the real-time clock is re-initialized. Even if back-up power is supplied, the information from memory and the realtime clock is not used. There are two ways to initiate a soft reset: Issuing the 0x1E command with a value of 0x4B. Cycling power without back-up power applied. Using this method, power must be removed for at least 3 minutes to ensure any residual memory storage is erased. If power is cycled rapidly, the 0x1E command with a value of 0x4B must then be issued to the receiver seconds after power is restored to ensure a hard reset. A factory reset is used to restore all the factory default settings into the receiver. Any user settings stored in Flash memory will be erased. Issuing the 0x1E command parity check/ memory parity error a value of 0x46 will initiate a factory reset. Lassen iq GPS Receiver 59

70 4 Operation and Performance Satellite Mask Settings Once the Lassen iq GPS receiver has acquired and locked onto a set of satellites, which pass the mask criteria listed in this section, and has obtained a valid ephemeris for each satellite, it will output regular position, velocity and time reports according to the protocol selected. The default satellite masks observed by the Lassen iq GPS receiver are listed in Table 1. These masks serve as the screening criteria for satellites used in fix computations and ensure that position solutions meet a minimum level of accuracy. The Lassen iq GPS receiver will only output position, course, speed and time when a satellite set can be acquired which meets all of the mask criteria, motorola v3 hab error 0x4e. The satellite masks can be adjusted in GPS receivers accepting the TSIP protocol. (See Appendix A for details on key setup parameters.) Table Satellite Mask Settings Mask Setting Elevation 5 SNR 2 PDOP 12 PDOP Switch 6 60 Lassen iq GPS Receiver

71 Operation and Performance Elevation Mask Satellites below a 5 elevation are not used in the position solution. Although low elevation satellites can contribute to a lower/better PDOP, the signals from low elevation satellites are poorer quality, since they suffer greater tropospheric and ionospheric distortion than the signals from higher elevation satellites. These signals travel further through the ionospheric and tropospheric layers. In addition, low elevation satellites can contribute to frequent constellation switches, since the signals from these satellites are more easily obscured by buildings and terrain. Constellation switches can cause noticeable jumps in the position output. Since worldwide GPS satellite coverage is generally excellent, it is not usually necessary to use satellites below a 5 elevation to improve GPS coverage time. In some applications, like urban environments, motorola v3 hab error 0x4e, a higher mask may be warranted to minimize the frequency of constellation switches motorola v3 hab error 0x4e the impact of reflected signals SNR Mask Although the Lassen iq GPS receiver is capable of tracking signals with SNRs as low as 0, the default SNR mask in Standard Sensitivity Mode is set to 2 to eliminate poor quality signals from the fix computation and minimize constellation switching. Low SNR values may result from: Low Elevation Satellites Partially Obscured Signals (e.g. Dense Foliage) Multi-Reflected Signals (Multi-Path) The distortion of signals and the frequent constellation switches associated with low-elevation satellites were discussed above. In mobile applications, the attenuation of signals by foliage is typically a temporary condition. Since the Lassen iq GPS receiver can maintain lock on signals with SNRs as low as 0, it offers excellent performance when traveling through heavy foliage. Lassen iq GPS Receiver 61

72 4 Operation and Performance Multi-reflected signals, also known as Multi-path, can degrade the position solution, motorola v3 hab error 0x4e. Multi-path is motorola v3 hab error 0x4e commonly found in urban environments with many tall buildings and a preponderance of mirrored glass, which is popular in modern motorola v3 hab error 0x4e. Multireflected signals tend to be weak (low SNR value), since each reflection attenuates the signal. By setting the SNR mask to 3 or higher, the impact of motorola v3 hab error 0x4e signals is minimized DOP Mask Position Dilution of Precision (DOP) is a measure of the error caused by the geometric relationship of the satellites used in the position solution, motorola v3 hab error 0x4e. Satellite sets which are tightly clustered or aligned in the sky will have a high DOP and will contribute to a lower position accuracy. For most applications, a DOP mask of 12 offers a satisfactory trade-off between accuracy and GPS coverage time. With world-wide GPS coverage now available, the DOP mask can be lowered even further for many applications without sacrificing coverage PDOP Switch The default positioning mode for the Lassen iq GPS receiver is Automatic. In this mode, the receiver attempts to generate a 3- dimensional (3D) position solution, when four or more satellites meeting the mask criteria are visible. If such a satellite set cannot be found, the receiver will automatically switch to 2-dimensional (2D) mode. The PDOP switch establishes the trade-off between 3D positioning and PDOP. With the PDOP Switch set to 6, the receiver will compute a 2D position with a HDOP below 6 rather than a 3D position with a PDOP greater than 6, even when four or more satellites are visible. Note PDOP Switch is only used in Auto mode. 62 Lassen iq GPS Receiver

73 Standard Operating Modes Operation and Performance 4 The tracking mode controls the allocation of the receiver's tracking channels and the method used for computing position fixes Fix Modes The Lassen iq GPS receiver offers three positioning modes: 2D Manual, 3D Manual, and Automatic 2D/3D. Automatic 2D/3D is the default mode for the Lassen iq GPS receiver. The positioning mode can be modified in receivers accepting TSIP commands. (See Appendix A for more information on the TSIP protocol.) 2D Manual In motorola v3 hab error 0x4e Manual mode, the Lassen iq GPS receiver will only generate 2-dimensional (2D) position solutions (latitude and longitude only), regardless of the number of visible satellites. If the altitude is not entered, the receiver uses zero as the default altitude. The greater the deviation between the actual and default altitudes, the greater the error in the 2D position. For TSIP applications, enter local altitude in MSL/HAE via TSIP packet 2AH (see Appendix A). 3D Manual In manual 3D mode, the Lassen iq GPS receiver will only generate 3-dimensional (3D) position solutions (latitude, longitude, and altitude). A 3D solution requires at least four visible satellites motorola v3 hab error 0x4e pass the mask criteria. If less than four conforming satellites motorola v3 hab error 0x4e visible, the Lassen iq GPS receiver will suspend position data outputs. Lassen iq GPS Receiver 63

74 4 Operation and Performance 2D/3D Automatic The default operating mode for the Lassen iq GPS receiver is 2D/3D Automatic. In this mode, the Lassen iq GPS receiver attempts to generate a 3-dimensional (3D) position solution, if four or more satellites meeting the mask criteria are visible. If only three satellites are visible which meet the mask criteria, the Lassen iq GPS receiver will automatically switch to 2-dimensional (2D) mode and will use the last calculated altitude, if available, or the default altitude in the position solution. In 2D/3D Automatic mode, the PDOP switch is active Differential GPS Operating Modes The default mode for the Lassen iq GPS receiver is DGPS Automatic. The receiver supports three DGPS Modes: On, Off, and Automatic. The mode may be changed by issuing the appropriate TSIP command (see Appendix A for details). DGPS On When DGPS On is selected, the Lassen iq GPS receiver will only provide differential GPS solutions. If the source of the correction data is interrupted or becomes invalid, the receiver will suspend output of all position, course and speed data. When a valid source of correction data is restored, the receiver will resume outputting data. DGPS Off When DGPS Off is selected, the Lassen iq GPS receiver will not provide differential GPS solutions even if a valid source of correction data is supplied. In this mode, the receiver will only supply standard GPS position data. 64 Lassen iq GPS Receiver

75 Operation and Performance 4 DGPS Automatic DGPS Automatic is the default operating mode for the Lassen iq GPS receiver. In this mode, the receiver will provide differential GPS suitableness when valid correction data is available. If a set of differentially correctable satellites cannot be found which meet the satellite mask settings, the receiver will transition to output standard GPS solutions, motorola v3 hab error 0x4e. The Lassen iq GPS receiver automatically switches between DGPS and standard Motorola v3 hab error 0x4e based on the availability of valid correction data. Differential GPS Operation The Lassen iq GPS receiver is capable of accepting and decoding RTCM data, the industry standard protocol for differential correction data. The receiver is configured to accept RTCM SC correction data over Port 2 (PIN 6). Alternatively, you can use TSIP packet 60 or the TAIP DC message to input differential corrections through the primary serial port (PIN 3). Position Accuracy GPS position accuracy is degraded by atmospheric distortion, satellite geometry, satellite clock errors, and receiver clock errors. Effective models for atmospheric distortion of satellite signals have been developed to minimize the impact of tropospheric and ionospheric effects. The impact of satellite clock errors is minimized by incorporating the clock corrections transmitted by each satellite used in the position solution. Lassen iq GPS Receiver 65

76 4 Operation and Performance Coordinate Systems Once the Lassen iq GPS receiver achieves its first fix, it is ready to commence output of position, velocity, and time information, motorola v3 hab error 0x4e. This information is output over serial communication channel in either the TSIP or NMEA protocol, as determined by the settings of the receiver. These protocols are defined in the Appendices. To change from one protocol to another, see Appendix A TSIP Coordinate Systems TSIP has the widest choice of coordinate systems. The output format is chosen by TSIP command 0x The output formats include the following: LLA position Latitude, longitude, altitude (LLA) according to the WGS ellipsoid. Altitude can be chosen to be height above ellipsoid (HAE) or height above mean sea level (MSL). ENU velocity ENU velocity is the velocity in East, North, and Up coordinates. These coordinates are easily converted to speed and heading. ECEF position and velocity ECFF position and velocity is Earth-Centered, Earth-Fixed frame is a Cartesian coordinate frame with its center at the earth's center, the z-axis through the North Pole, and the x-axis through longitude 0 degrees, latitude 0 degrees. Velocity is reported relative to the same axes. 66 Lassen iq Motorola v3 hab error 0x4e Receiver

77 Operation and Performance 4 There are also two time coordinate systems: GPS time GPS time is determined by an ensemble of atomic clocks operated by the Department of Defense (DOD). UTC time UTC time is the world standard maintained by an ensemble of atomic clocks operated by government organizations around the world. UTC time replaced GMT (Greenwitch Mean Time) as the world standard, in GPS time is steered relative to Universal Coordinated Time (UTC). GPS does not recognize leap seconds resulting in a situation where GPS time is currently 13 seconds ahead of UTC time. Time tags for most output messages can be in either UTC time or GPS time, as chosen by TSIP command 0x NMEA The NMEA protocol only supports LLA format and UTC time. Velocity is always described as horizontal speed and heading; vertical speed is not output. Lassen iq GPS Receiver 67

78 4 Operation and Performance Performance Characteristics Update Rate The Lassen iq GPS receiver computes and outputs position solutions once per second, on the second. NMEA outputs can be scheduled at a slower rate using TSIP command 0x7A (see Appendix A). TAIP outputs may be controlled with TSIP packet 0x7E Dynamic Limits The dynamic operating limits for the Lassen iq GPS receiver are listed below. These operating limits assume that the GPS module is correctly embedded and that the overall system is designed to operate under the same dynamic conditions. Table Lassen iq GPS Receiver Operating Limits Operation Limit Acceleration 4 g ( m/s 2 ) Jerk 20 m/s 3 Speed Altitude m/s 18, m Note The Lassen iq GPS Receiver firmware contains an algorithm that allows either the speed limit or altitude limit to be exceeded, but not both. This allows the receiver to be used in high altitude (research balloon) applications without a special factory configuration. 68 Lassen iq GPS Receiver

79 Operation and Performance Re-Acquisition Re-acquisition time for a momentary signal blockages is typically under 2 seconds. When a satellite signal is momentarily interrupted during normal motorola v3 hab error 0x4e, the receiver continues to search for the lost signal at the satellite's last known Doppler frequency. If the signal is available again within 15 seconds, the motorola v3 hab error 0x4e will normally re-establish track within two seconds. If the lost signal is not re-acquired within 15 seconds, the receiver initiates a broader frequency search. The receiver will continue to search for the satellite until it falls below the elevation mask. Lassen iq GPS Receiver 69

80 4 Operation and Performance Lassen iq GPS Receiver Sensitivity Modes The Lassen iq GPS receiver features two sensitivity modes: Standard Sensitivity (default) and Enhanced Sensitivity Standard Sensitivity Mode In the Standard Sensitivity mode, the receiver acquires GPS satellite signals in Cold Start, Warm Start, and Hot Start TTFF using 1 ms PDI (Pre-Detection Integration) setting to search the frequency range. Considering the fact that the minimum integration time of the GPS signal (1 ms PDI) has been applied, the receiver is optimized for faster acquisition times. In the standard mode, the default setting for the AMU mask (Amplitude Measurement Unit) is 2. AMU mask establishes the minimum signal strength that the receiver will use for GPS (position, velocity and time) calculations. The standard mode settings are AMU Mask = 2 and PDI = 1 ms. These standard mode settings are the factory recommendations for fastest acquisition and best performance under normal signal conditions Enhanced Sensitivity Mode Enhanced Sensitivity mode enables the receiver to acquire lower strength GPS satellite signals and generate position fixes under poor signal conditions. When the Enhanced Mode is enabled, the receiver will begin its search for GPS satellite signals using a 1ms PDI acquisition. If no valid GPS satellite signals are detected after one complete frequency search, the receiver will switch to the extended PDI acquisition of 5 ms. Using a longer PDI allows the unit to detect lower level signals but does require longer to complete the frequency search. 70 Lassen iq GPS Receiver

81 Operation and Performance 4 In addition to the automatic switch to an extended PDI if needed, the Enhanced Sensitivity mode also uses a lower AMU mask. When Enhanced Sensitivity mode is enabled, the AMU mask is immediately set to the lower value of This lower setting allows weaker signals to pass the filters of the GPS system and be used for calculating the position. The default AMU mask for the Enhanced Sensitivity is The user can change the AMU mask to a different value. When this is done, the receiver will overwrite the default setting of and use the selected AMU. The enhanced mode settings for the first frequency sweep are Motorola v3 hab error 0x4e Mask= and PDI = 1 ms. If the receiver can not acquire after the first frequency sweep, the enhanced mode settings are AMU Mask= and PDI = 5 ms. The user will also experience extended startup times Extended Startup Times Due to the extended PDI acquisition in the Enhanced Sensitivity Mode, longer TTFF times (Time to First Fix) is normal. In the Enhanced Sensitivity Mode, the receiver is optimized for increased sensitivity, 6 db more sensitive than the standard setting, at the cost of the longer startup times. This means that operating in the higher sensitivity mode is a trade-off between the faster start up times of the standard mode versus the higher sensitivity of the Enhanced Sensitivity mode. Therefore, the user must determine for each particular application which sensitivity mode will provide the best performance. The following tables illustrate the comparison between the TTFF times in Standard and Enhanced Sensitivity modes. Note that the Enhanced Mode is not applicable for Cold Starts. Lassen motorola v3 hab error 0x4e GPS Receiver 71

82 4 Operation and Performance Table Standard Sensitivity Mode TTFF Times Standard Sensitivity Mode 50% (sec) 90% (sec) Hot Start Motorola v3 hab error 0x4e Start Table Enhanced Sensitivity Mode TTFF Times Standard Sensitivity Mode 50% (sec) 90% (sec) Hot Start TBD TBD Warm Start TBD TBD Enabling the Enhanced Sensitivity Mode New TSIP Command The Lassen iq GPS receiver is configured from the factory with the Enhanced Sensitivity feature turned off, motorola v3 hab error 0x4e. A new TSIP (Trimble Standard Interface Protocol) command and a new set of APIs have been generated for switching between the Standard and the Enhanced Sensitivity Modes. You can turn the Enhanced Sensitivity feature on, using one of three tools: The iq_chat program found in the iq Starter Kit or Motorola v3 hab error 0x4e iq_monitor program found in the iq Starter Kit or The new TSIP Command Packet 0x The Lassen iq GPS receiver will respond with the new TSIP response packet 0x A soft reset is required to make the switch effective. Following are the details of the command packet 0x69 and report packet 0x Lassen iq GPS Receiver

83 Operation and Performance 4 Table Command Packet 0x69 Set/Request Enhanced Sensitivity Mode Byte Item Type Value Definition 0 Enhanced Sensitivity Mode 1 Reserved Byte 0 1 Off (standard) On (enhanced) Table Report Packet 0x89 Report Enhanced Sensitivity Mode Byte Item Type Value Definition 0 Current Enhanced Sensitivity Mode 1 Enhanced Sensitivity Mode After Reset Byte 0 1 Byte 0 1 Off (standard) On (enhanced) Off (standard) On (enhanced) In order to change the receiver to the Enhanced Sensitivity Mode completely and take effect, a soft reset is required. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, the settings can be saved to flash memory using the TSIP 8Ex26 Command. Lassen iq GPS Receiver 73

84 4 Operation and Performance Setting the Enhanced Sensitivity Mode Following is a 'typical' scenario using the TSIP packets 0x69 and 0x Request the current sensitivity status from a factory configured Lassen iq GPS receiver. Send Packet 0x69 with no data. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 0; byte 1 = Turn on the Enhanced Sensitivity feature. Send Packet 0x69 with byte 0 = 1. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 0; byte 1 = 1. Send Packet 0x25 (soft reset). The Lassen iq GPS receiver will motorola v3 hab error 0x4e with Packet 0x45 (Software Version Information) Send Packet 0x69 with no data. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 1; byte 1 = The Lassen iq GPS receiver is now in Enhanced Sensitivity mode until a cold start command is executed or a power cycle is initiated. To Permanently set The Enhanced Sensitivity Mode 1. Execute the 8Ex26 command before the cold start or power cycle is executed. 2. The 8Ex26 command sets the enhanced sensitivity configuration into flash memory. 74 Lassen iq GPS Receiver

85 Operation and Performance Lassen iq GPS Receiver Aided GPS Feature This feature allows the Lassen iq GPS receiver to take advantage of the fast startup times of hot start. The fast hot startup times can be achieved by uploading almanac, ephemeris, time, and position to the receiver using TSIP packets. There are two methodologies to provide this information. One is to use the iq_monitor program by downloading and uploading the information through the Starter kit. The second methodology is for the user to write an application using TSIP commands to download and upload the appropriate information in his own application. Warning To ensure proper format of the ephemeris file and almanac file, a Trimble receiver must be used to gather this data. Using almanac files from non-trimble receivers may not be in proper format and thus may not work, i.e. almanac files downloaded from the Internet iq_monitor Method 1. Attach the Lassen iq GPS receiver starter box to your PC. 2. Place the GPS antenna, where there is a clear view of sky. 3. Allow the starter kit box to run and to calculate fixes. 4. On the main screen, wait for the almanac indicator to turn green indicating that the receiver has collected almanac. Note It takes 12,5 minutes of uninterrupted iq operation to collect almanac from the satellites. 5. Click on the initialized pulldown menu and use the download features on the bottom of the pulldown to download the almanac, position, time and ephemeris to files on your PC. 6. Now that you have collected these files, you can upload them using the upload features on the initialize pulldown window in iq_monitor. Note The collected ephemeris will be only good for approximately 2 hours. Lassen iq GPS Receiver 75

86 4 Operation and Performance The TSIP Commands Method 1. Allow the receiver to run long enough to collect motorola v3 hab error 0x4e. Note It takes 12,5 minutes of uninterrupted iq operation to collect almanac from the satellites. 2. Use packet 0 x 26 to request the health of the receiver. The response packets 0x46 and 0x4B indicate when the almanac is complete and current. 3. Use packet 0x 38 to request the almanac and the ephemeris. The receiver responses with packet 0 x Use packet 0 x 21 to request time from the receiver. The receiver responses with packet 0x 41 and this can be used to set your own off-board clock. 5. You also need to request position from the receiver. This can be done by using packets 0x42, 0x4A, 0x83 0r 0x To upload this information back to the receiver, the following order of the upload commands shall be followed: 1. Upload the time using packet 0x2E. Wait for upload confirmation report packet 0x Upload position using packet 0x31 or 0x No confirmation report packet available. 3. Upload the ephemeris, using packet 0x Wait for upload confirmation report packet 0x Upload almanac using packet ox Wait for upload confirmation report packet 0x Note For details regarding all the mentioned TSIP packets, see Appendix A. 76 Lassen iq GPS Receiver

87 Operation and Performance 4 Warning To operate the Lassen iq GPS receiver under Hot Start conditions, the following conditions are required. 1) The almanac must be valid. Motorola v3 hab error 0x4e data is generally valid for months. The Lassen iq GPS receiver automatically flushes almanac every 8 weeks. 2) The ephemeris must be less than 2 hours old. 3) The position must be within Km of the current iq position. 4) Time must be within 5 minutes of UTC. GPS Timing In many timing applications, such as time/frequency standards, site synchronization systems and event measurement systems, GPS receivers are used to discipline local oscillators. The GPS constellation consists of 24 orbiting satellites. Each GPS satellite contains a highly-stable atomic (Cesium) clock, which is continuously monitored and corrected by the GPS control segment. Consequently, the GPS constellation can be considered a set of 24 orbiting clocks with worldwide hour coverage. GPS receivers use the signals from these GPS clocks to correct its internal clock, which is not as stable or accurate as the GPS atomic clocks, motorola v3 hab error 0x4e. GPS receivers like the Lassen iq GPS receiver output a highly accurate timing pulse (PPS) generated by its internal clock, which is constantly corrected using the GPS clocks. This timing pulse is synchronized to UTC within ±50 ns. In addition to serving as a highly accurate stand-alone time source, GPS receivers are used to synchronize distant clocks in communication or data networks. This synchronization is possible since all GPS satellite clocks are corrected to a common master clock. Therefore, the relative clock error is the same, regardless of which satellite or satellites are used. For timing applications requiring a common clock, GPS is the ideal solution. Lassen iq GPS Receiver 77

88 4 Operation and Performance The position and time errors are related by the speed of motorola v3 hab error 0x4e. Therefore, a position error of meters corresponds to a time error of approximately ns. The hardware and software implementation affects the GPS receiver's PPS accuracy level. The receiver's clocking rate determines the PPS steering resolution. The Lassen iq GPS receiver clocking rate is MHz. This rate corresponds to a steering resolution of ±40 ns Serial Time Output The TSIP, TAIP, and NMEA protocols include time messages. See report packets 41 and 8F in Appendix A for a description of the time reports for mapservermng file load error - no ipaddress TSIP protocol. See the TAIP Appendix for a description of the TM message. See the NMEA Appendix for a description of the ZDA message. Note GPS time differs from UTC (Universal Coordinated Time) by a variable, integer number of seconds UTC=(GPS time)-(gps UTC offset). As of Januarythe GPS UTC offset was 13 seconds. The offset has historically increased by 1 second about every 18 months, motorola v3 hab error 0x4e. The GPS Control Organization has not added leap seconds on its usual 18 month schedule. As a result, the offset remains at 13 seconds. System designers should plan to read the offset value as a part of the timing interface to obtain UTC. The GPS week number is in reference to a base week (Week #0), starting January 6, Lassen iq GPS Receiver

89 Pulse-Per-Second (PPS) Operation and Performance 4 The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 4 of the Lassen iq GPS receiver power and I/O connector. The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise time. The PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. The PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and is obtaining fixes. The PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the Lassen iq GPS receiver is not tracking satellites, motorola v3 hab error 0x4e, is unspecified and should not be used for synchronization PPS Output Mode PPS output mode can be controlled by TSIP command packet 0 x Once a specific mode is selected, it can be stored in non-volatile memory (flash) using TSIP command 0x8E The following PPS modes are supported. Always Off When the Always Off mode is selected, the PPS output remains low at all times. Disabling the PPS output has no affect on normal receiver operations, and position fixes are calculated as usual. This mode can be selected at any time during receiver operation. The PPS output is immediately switched off (disabled) when the TSIP command for this mode is received. Lassen iq GPS Receiver 79

90 4 Operation and Performance Always On (default) Irradiance map thread error the PPS output is configured for Always On (early PPS), it is driven by the Real Time Clock (RTC) until the receiver acquires GPS time is generating position fixes. In this mode, the PPS output continues even if the receiver loses GPS tracking. The maximum drift of the PPS pulse when not tracking satellites could be quite large, therefore the PPS output should not be used for precise synchronization when no position fix occurs. The PPS can be switched to Always On mode any time during normal operation. This mode is the factory default setting. Fix Based In this mode, the PPS output is turned on only while fixes are taking place. If the receiver is not tracking satellites, the PPS output is turned off until the signals are required and position fixes are valid again. If the receiver is switched from Always On to Fix Mode, and the receiver has not yet started generating position fixes, the PPS output will turn off until a new fix is obtained. Programmable Characteristics motorola v3 hab error 0x4e Signal Offset (Cable Delay Compensation) The receiver firmware also enables the user to offset the delay of the PPS pulse with reference to the actual UTC second tick. This delay is the result of antenna cable length and propagation delay of the PPS output signal. The delay compensation parameter can be set (in nano seconds) using TSIP super packet 0x8E-4A, motorola v3 hab error 0x4e. Note that the current firmware version only allows the update of the PPS offset parameter of the PPS definition packet (0x8E-4A). Other parameters are read only. The PPS offset selection can be stored in non-volatile memory by sending command packet 0x8E to the receiver. 80 Lassen iq GPS Receiver

91 Operation and Performance 4 Note Trimble Navigation has measured better than 50 nanoseconds accuracy of the Lassen iq GPS receiver PPS signal in static mode. For more information on timing applications, contact your Trimble sales representative. The Lassen iq GPS receiver was designed primarily as a navigation receiver. The long term stability of the PPS signal has not been tested. Therefore Trimble does not recommend use of Lassen iq in timing or synchronization applications where guaranteed stability of the PPS signal is required. Contact your Trimble sales representative for more information about products designed for critical timing applications. Lassen iq GPS Receiver 81

92 4 Operation and Performance System Architecture The Lassen iq GPS receiver (see Figure ) uses twelve processing channels operating on the L1 frequency of MHz and using the coarse acquisition (C/A) code. The module uses custom integrated circuitry designed by Trimble to track the GPS satellite signals. These ICs also contain support circuitry to the navigation processor. An integrated bit microprocessor is used for tracking, computing a position, and performing the I/O operations. The Lassen iq GPS receiver receives the amplified GPS satellite signals through the antenna feed line connector and passes them to the RF down converter. A highly stable crystal reference oscillator operating at MHz is used by the down converter to produce the signals used by the channel signal processor. Thechannel signal processor tracks the GPS satellite signals and extracts the carrier code information as well as the navigation data at 50 bits per second. Operation of the tracking channels is controlled by the navigation processor. The tracking channels are used to track the highest twelve satellites above the horizon. The navigation processor will then use the optimum satellite combination to compute a position. The navigation processor also manages the ephemeris motorola v3 hab error 0x4e almanac data for all of the satellites, and performs the data I/O. 82 Lassen iq GPS Receiver

93 Operation and Performance 4 Figure Lassen iq GPS receiver Block Diagram Lassen iq GPS Receiver 83

94 4 Operation and Performance 84 Lassen iq GPS Receiver

95 APPENDIX A Trimble Standard Interface Protocol (TSIP) A The Trimble Standard Interface Protocol (TSIP) provides the system designer with over 20 commands that may be used to configure a GPS receiver for optimum performance in a variety of applications. TSIP enables the system designer to customize the configuration of a GPS module to meet the requirements of a specific application. This appendix provides the information needed to make judicious use of the powerful features TSIP has to offer, to greatly enhance overall system performance, and to reduce the total development time. The provided reference tables will help you determine which packets apply to your application, motorola v3 hab error 0x4e. For those applications requiring customization see Customizing Receiver Operations, page 89 for a detailed description of the key setup parameters. Application guidelines are provided for each TSIP Command Packet, beginning on page

96 A Trimble Standard Interface Protocol (TSIP) A.1 Interface Scope The Trimble Standard Interface Protocol is used extensively in Trimble receiver designs. The protocol was originally created for the Trimble Advanced Navigation Sensor (TANS) and is colloquially known as the TANS protocol even though the protocol applies to motorola v3 hab error 0x4e other devices. The Lassen iq GPS receiver has two serial I/O communications ports. These are bi-directional control and data ports. The data I/O port characteristics, protocol definitions, and other options are user programmable and motorola v3 hab error 0x4e be stored in non-volatile FLASH memory. The TSIP protocol is based on the transmission of packets of information between the user equipment and the unit. Each packet includes an identification code (1 byte, representing 2 hexadecimal digits) that identifies the meaning and format of the data that follows. Each packet begins and ends with control characters. This document describes in detail the format of the transmitted data, the packet identification codes, and all available information over the output channel to allow the user to choose the data required for his particular application. As will be discussed, the receiver transmits some of the information (position and velocity solutions, etc.) automatically when it is available, while other information is transmitted only on request, motorola v3 hab error 0x4e. Additional packets may be defined for particular products and these will be covered in the specifications for those products as necessary. The iq_chat utility, part of the GPS Tool Kit, is designed to exercise many of the TSIP packets. 86 Lassen iq GPS Receiver

97 Trimble Standard Interface Protocol (TSIP) A A.2 Packet Structure TSIP packet structure is the same for both commands and reports. The packet format is: Where: <DLE> <id> <data string bytes> <DLE> <ETX> <DLE> is the byte 0x10 <ETX> is the byte 0x03 <id> is a packet identifier byte, which can have any value excepting <ETX> and <DLE>. The bytes in the data string can have any value. To prevent confusion with the frame sequences <DLE> <ID> and <DLE> <ETX>, every <DLE> byte in the data string is preceded by an extra <DLE> byte ('stuffing'). These extra <DLE> bytes must be added ('stuffed') before sending a packet and removed pciidex.sys vista error receiving the packet. Notice that a simple <DLE> <ETX> sequence does not necessarily signify the end of the packet, as these can be bytes in the middle of a data string. The end of a packet is <ETX> preceded by an odd number of <DLE> bytes. Multiple-byte numbers (integer, float, and double) follow the ANSI/IEEE Std. IEEE Standard for binary Floating-Point Arithmetic. They are sent most-significant byte first. This may involve switching the order of the bytes as they are normally stored in Intel based machines. Specifically: UINT8 = Byte: An 8 bit unsigned integer. UINT16 = Word: A 16 bit unsigned integer. INT16 = Integer: A 16 bit integer. INT32 = Long: A 32 bit integer. UINT32 = ULong: A 32 bit unsigned integer. Single Float, or 4 byte REAL has a precision of 24 significant bits, roughly digits. Double 8 byte REAL has a precision of 52 significant bits. It is a little better than 15 digits. Lassen iq GPS Receiver 87

98 A Trimble Standard Interface Protocol (TSIP) A.3 Automatic Output Packets The Lassen iq GPS receiver receiver is configured to automatically output the following packets. For minimal system implementations, these output packets provide all of the information required for operation including time, position, velocity, and receiver and satellite status and health. Position and velocity are reported using one or more of the packets listed below, depending on the selected I/O options. While there are other packets automatically output, the following packets provide the motorola v3 hab error 0x4e most commonly used, motorola v3 hab error 0x4e. No input packets are required. Table A.1 Automatic Output Packets Output Packet ID Description Reporting Interval 0x41 GPS time 5 seconds 0x42, 0x83, 0x4A, 0x84, 0x8F position (choose packet with I/O options) 1 second 0x43, 0x56, 0x8F velocity (choose packet with I/O options) 1 second 0x46 health of receiver 5 seconds 0x4B machinecode/status (includes antenna fault detect) 5 seconds 0x6D all-in-view satellite selection, DOPs, Fix Mode 1 second 0x82 DGPS position fix mode (only in DGPS mode) 1 second 88 Lassen iq GPS Receiver

99 Trimble Standard Interface Protocol (TSIP) A A.4 Customizing Receiver Operations For information on customizing receiver operations, see the following motorola v3 hab error 0x4e on selecting report data, motorola v3 hab error 0x4e. A.5 Automatic Position and Velocity Reports The receiver automatically outputs position and velocity reports at set intervals. Automatic report packets are controlled by Packet Setting the control bits as indicated in the table below allows you to control which position and velocity packets are output. Table A.2 Packet Automatic Position and Velocity Reports Control Setting Bits Report Packet ID 0x42 0x83 Requested Setting single precision XYZ position double-precision XYZ position Packet 0x35, Byte 0 Packet 0x35, Byte 1 Bit 0 Bit 1 Bit 4 Bit 5 Bit 0 Bit x4A single-precision LLA position 1 (default) 0 0x84 double-precision LLA position 1 1 0x43 velocity fix (XYZ, ECEF) 1 0x56 velocity fix (ENU) 1(default) 0x8F LLA and ENU 1 Lassen iq GPS Receiver 89

A Trimble Standard Interface Protocol (TSIP) A.6 Initialization Packets to Speed Start-up If you are not supplying the receiver with battery power when main power is off, you can still warm-start the receiver by sending the following commands after the receiver has completed its internal initialization and has sent Packet Table A.3 Input Byte 0x2B 0x2E 0x38 0x38 0x38 0x38 Description initial position initial time almanac (for each SV) almanac health ionosphere page UTC correction 90 Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A.7 Packets Output at Power-Up The following table lists the messages output by the receiver at powerup. After completing its self-diagnostics, the receiver automatically outputs a series of packets which indicate the initial operating condition of the receiver. Messages are output as listed in the table below. After Packet 82 is output, the sequence is complete and the receiver is ready to accept commands, motorola v3 hab error 0x4e. Table A.4 Packet Power-up Output Messages Output ID Description Notes 0x45 software version -- 0x46 receiver health -- 0x4B machine code/status -- As chosen, see Table A.3 default: 0 x 4A, motorola v3 hab error 0x4e, 0 x 56 0x41 position/velocity output GPS time 82 DGPS position fix mode -- As chosen, see Table A A.8 Timing Packets If you are using motorola v3 hab error 0x4e Lassen iq GPS receiver as a timing system, you may need to implement the following TSIP control commands. Table A.5 Timing Packet TSIP Control Commands Input ID Description Output ID 0x21 get the current GPS time 0x41 0x request UTC parameters 0x Lassen iq GPS Receiver 91

A Trimble Standard Interface Protocol (TSIP) A.9 Satellite Data Packets The following packets contain a variety of GPS satellite data. Table A.6 Satellite Data Blackberry 8520 error Data I/O Descriptions Input ID Description Output ID 0x27 request signal levels 0x47 0x38 request/load satellite system data 0x58 0x3C request tracking status 0x5C ABackwards Compatibility TSIP packets implemented in the Lassen iq GPS receiver are backward compatible with those used in Lassen SK II GPS receiver. For information regarding compatibility with other Trimble receivers, contact the Trimble Technical Assistance Center. 92 Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A ARecommended TSIP Packets Table A.7 Recommended TSIP Packet Data Function Description Input Output Protocol and port setup set/query port configuration 0xBC 0xBC set/query NMEA configuration 0x7A 0x7B set/query I/O options (autoreport and format options) 0x35 0x55 Navigation GPS time 0x21 0x41 Satellite and tracking information position & velocity (superpacket) 0x8E or 0x37 or auto 0x8F double-precision LLA 0x37/auto 0x84 double-precision XYZ 0x37/auto 0x83 ENU velocity 0x37/auto 0x56 XYZ velocity 0x37/auto 0x43 query receiver state (health) 0x26 0x46, motorola v3 hab error 0x4e, 0x4B query current satellite selection 0x24 0x6D query signal levels 0x27 0x47 query satellite information (azimuth, elevation, etc.) 0x3C 0x5C Receiver settings query software version 0x1F 0x45 query receiver ID & error status 0x26 0x4B, motorola v3 hab error 0x4e, 0x46 set/query receiver configuration 0xBB 0xBB set altitude for 2D mode 0x2A 0x4A disable PV/altitude filters 0x70 0x70 set/query positioning mode (2D v. 3D) 0xBB 0xBB GPS System query/load GPS system data 0x38 0x58 Lassen iq GPS Receiver 93

A Trimble Standard Interface Protocol (TSIP) Table A.7 (Continued)Recommended TSIP Packet Data Function Description Input Output Initialization full reset (clear battery backup and/or nonvolatile settings) soft reset 0x1E 0x25 set GPS time 0x2E 0x4E set exact LLA set approx, motorola v3 hab error 0x4e. XYZ set approx. LLA set exact XYZ 0x32 0x23 0x2B 0x31 ACommand Packets Sent to the Receiver The table below summarizes the command packets sent to the receiver. The table includes the input Packet ID, a short description of each packet, and the associated response packet. In some cases, the response packets depend on user-selected options. These selections are covered in the packet descriptions beginning on page Table A.8 User-Selected Command Packet Options Input ID Packet Description Output ID 0x1E clear battery back-up/reset See Note 1 0x1F software version 0x45 0x21 current time 0x41 0x23 initial position (XYZ ECEF) -- 0x24 request receiver position fix mode 0x6D 0x25 soft reset & self-test See Note 1 0x26 receiver health 0x46, 0x4B 0x27 signal levels 0x47 0x2A altitude for 2-D mode 0x4A 94 Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A.8 User-Selected Command Packet Options (Continued) Input ID Packet Description Output ID 0x2B initial position (Lat, Lon, Alt) -- 0x2D oscillator offset 0x4D 0x2E set GPS time 0x4E 0x31 accurate initial position (XYZ Cartesian ECEF) -- 0x32 accurate initial position -- 0x35 I/O options 0x55 0x37 status and values of last position and velocity 0x57 0x38 load or request satellite system data 0x58 0x3C tracking status 0x5C, see Note 2 0x69 enhanced sensitivity 0x89 0x70 filter configuration 0x70 0x7A set/request NMEA output configuration 0x7B 0xBB set receiver configuration 0xBB 0xBC set port configuration 0xBC 0x8E last fix with extra information (fixed point) 0x8F 0x8E Store settings in Flash memory. 0x8F Note 1 Output is determined by packet 0 x See Table A.4 to determine which messages are output at power-up. Note 2 No response sent if data is not available. Lassen iq GPS Receiver 95

A Trimble Standard Interface Protocol (TSIP) AReport Packets Sent by the Receiver to the User Mixmeister fusion error 100 table below summarizes the packets output by the receiver. The response packets may depend on user-selected options (see page 82). Table A.

Trimble Standard Interface Protocol (TSIP) A AKey Setup Parameters or Packet BB Selecting the correct operating parameters has significant impact on receiver performance. Packet 0xBB (set receiver configuration) controls the key setup excel ole error 80020101. The default operating parameters allow the receiver to perform well in almost any environment. The motorola v3 hab error 0x4e can optimize the receiver to a particular application if the vehicle dynamics and expected level of obscuration are understood. If the receiver is then taken out of this environment, the specifically tuned receiver may not operate as well as a receiver with the default options. The table below lists suggested parameter selections as a function of obscuration and whether accuracy or fix density is important. In this table, NA indicates that the operating parameter is not applicable, DC (don't care) indicates that the user may choose the operating parameter. Table A Setup Parameters in Packet 0xBB Parameter Accuracy Fixes Factory Default Fix mode Man 3D AUTO AUTO Dynamics code Land Land Land Elevation mask Signal mask DOP mask DOP switch NA DGPS correction age 10 Seconds N/A 30 Seconds The default values in Table A allow the receiver to operate well under l2walker packet error - [00][4d6da7] most varied and demanding conditions. A user may choose to change the default parameters if the receiver is only required to perform in a specific or limited environment. The user should be warned that when the receiver is exposed to operating conditions which are different from the conditions described by the user setup, then the performance may be degraded. Lassen iq GPS Receiver 97

A Trimble Standard Zyxel keenetic giga error22 Protocol (TSIP) Initially, the user must consider the environment in which the receiver is expected to operate. There is a trade-off between how frequently a position fix is output versus the absolute accuracy of the fix. The user must decide which takes priority and then make the appropriate selections. This becomes increasingly important when frequent satellite blockages are expected, as in downtown urban canyon environments and heavily foliated areas. Following is a description of the key fields in Packet 0xBB. A Set Fix Mode Packet 0xBB is used to choose the appropriate position fix mode for your application: 2-D, 3-D or AUTO. The default 503 error denwer friednly url is AUTO 2- D/3-D, where the receiver first attempts to obtain a 3-D solution with a PDOP below the DOP switch. If this is not possible, then the receiver attempts to obtain a 2-D solution with a DOP less than the DOP mask. This mode supplies fairly continuous position fixes even when there is frequent obscuration. This mode is preferable for most land or air applications, where altitude changes are occurring and there is occasional obscuration. The highest accuracy fix mode is 3-D manual, where altitude is always calculated along with the latitude, longitude, and time. However, this requires four satellites with a PDOP below the DOP mask set in Packet BB in order to obtain a position. Normally, this will provide the most accurate solution. Thus, if only 3-D solutions are desired, then the user should request 3-D manual mode. Depending on how the PDOP mask is set, this may be restrictive when the receiver is subjected to frequent obscuration, or when the geometry is poor due to an incomplete constellation. Alternatively, if the user only wants a 2-D solution, then 2-D manual should be requested. In this case, the receiver uses either the last altitude obtained in a 3-D fix, or the altitude supplied by the user. However, any error in the assumed altitude will affect the accuracy of the latitude and longitude solution. 98 Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A When using the 2-D mode, expect fixes with accuracies which are at best as accurate as the supplied altitude, motorola v3 hab error 0x4e. If a marine user enters sealevel as the altitude, then small errors in the horizontal solution will occur when the sea state is rough or there are high tidal variations. However, these errors may be smaller than the altitude errors induced by SA, motorola v3 hab error 0x4e, so 2-D may be preferable for a marine user who does not want to observe unusual altitudes. A Dynamics Code The feature default is LAND mode, where the receiver assumes a moderate dynamic environment. In this case, the satellite search and re-acquisition routines are optimized for vehicle type environments. In SEA mode, the search and re-acquisition routines assume a low acceleration environment and reverts to user entered altitude in 2-D auto. In AIR mode, the search and re-acquisition routines are optimized for high acceleration conditions. A Elevation Mask This is the minimum elevation angle for satellites to be used in a solution output by the receiver. Satellites which are near the horizon are typically more difficult to track due to signal attenuation, and are also generally less accurate due to higher variability in the ionospheric and tropospheric corruption of the signal. When there are no obstructions, motorola v3 hab error 0x4e, the receiver can generally track a satellite down to near the horizon, motorola v3 hab error 0x4e. However, when this mask is set too low, the receiver may experience frequent constellation switching due to low elevation satellites being obscured. Lassen iq GPS Receiver 99

A Trimble Standard Interface Protocol (TSIP) Frequent constellation switching is undesirable because position jumps may be experienced when SA is present and DGPS is not available to remove these effects. The benefit of a low elevation mask is that more satellites are available for use in a solution and a better PDOP may be yielded. The current mask is set to five degrees and provides a reasonable trade-off of the benefits and drawbacks. High accuracy users may prefer a mask angle around ten degrees, aticonfig error libgl.so.1 the ionosphere and troposphere begin to be more predictable A Signal Level Mask This mask defines the minimum signal strength for a satellite used in a solution. There is some internal hysteresis on this threshold which allows brief excursions below the threshold if lock is maintained and the signal was previously above the mask. The factory default mask has been set to 2 (AMU). High accuracy users may use a slightly higher mask ofsince weaker measurements may be slightly noisier and are often caused by reflected signals which provide erroneous ranges. One should also resist the temptation to set the elevation and SNR masks too low. Rotterdam terror corps skin winamp satellite geometry is sometimes improved considerably by selecting low elevation satellites. They are, however, subject to significant signal degradation by the greater ionospheric and tropospheric attenuation that occurs. They are also subject to more obscuration by the passing scenery when the receiver is in a moving vehicle. The code phase data from those error selected technology is not running is therefore more difficult to decode and therefore has more noise. Note A level of hysteresis in the signal level mask is allowed in the core operating software. The hysteresis allows the receiver to continue using satellite signals which fall slightly below the mask and prevents the receiver from incorporating a new signal until the signal level slightly exceeds the mask. This motorola v3 hab error 0x4e minimizes constellation changes caused by temporary fluctuations in signal levels. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A DOP Mask and Switch The DOP mask is the maximum DOP limit for any 2-D or 3-D position solution will be made. The DOP switch is the level at which the receiver stops attempting a 3-D solution, and tries for a 2-D solution when in automatic 2-D, 3-D mode. The switch level has no effect in either manual mode. Raising the DOP mask will motorola v3 hab error 0x4e increase the fix density during obscuration, motorola v3 hab error 0x4e, but the fixes with the higher DOP will be less accurate (especially with SA present). Lowering the mask will improve the average accuracy at the risk of lowering the fix density. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) APacket Descriptions A Command Packet 0x1E - Clear Battery Backup, then Reset This packet commands the GPS receiver to clear all battery back-up data and to perform a software reset. This packet contains one data byte. Table A Command Packet 0x1E Format Byte Item Type Value Definition 0 Reset mode UINT 8 0x4B 0x46 Cold start: Erase BBRAM and restart Factory reset: Erase BBRAM and Flash and restart Warning All almanac, ephemeris, current position, mode, and communication port setup information is lost when executing the Factory Reset command. In normal use this packet should not be sent. Warning It is very helpful to keep a fresh copy of the current almanac, which is stored in the file sprers.eu collected by the iq_chat command!. This allows near-instantaneous recuperation by the receiver in case of power loss or clearing of battery-backed memory by using the iq_chat to load it back into the receiver memory. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x1F - Request Software Versions This packet requests information about the version of software running in the Navigation and Signal Processors. This packet contains no data. The GPS receiver returns Packet 0x A Command Packet 0x21 - Request Current Time This packet requests current GPS time. This packet contains no data. The GPS receiver returns Packet 0x A Command Packet 0x23 - Initial Position (XYZ Cartesian ECEF) This packet provides the GPS receiver with an approximate initial position in XYZ coordinates. This packet is useful if the user has moved more than about 1, miles since the previous fix. (Note that the GPS receiver can initialize itself without any data from the user; this packet merely reduces the time required for initialization.) This packet is ignored if the receiver is already calculating positions. The data format is shown below. Note To initialize using the Latitude-Longitude-Altitude representation, use Command Packet 0x2B. Table A Command Packet 0x23 Data Format Byte Item Type Units X Single Meters Y Single Meters Z Single Meters Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x24 - Request GPS Receiver Position Fix Mode This packet requests current position fix mode of the GPS receiver. This packet contains no data. The GPS receiver returns Packet 0x6D. A Command Packet 0x25 - Initiate Soft Reset & Self Test This packet commands the GPS receiver to perform a software reset. This is equivalent to cycling the power, motorola v3 hab error 0x4e. The GPS receiver performs a self-test as part of the reset operation. This packet contains no data. Following completion of the reset, the receiver will output the start-up messages (see Table A.4). The GPS receiver sends Packet 0x45 only on power-up and reset (or on request); thus if Packet 0x45 appears unrequested, then either the Motorola v3 hab error 0x4e receiver power was cycled or the GPS receiver was reset. A Command Packet 0x26 - Request Health This packet requests health and status information from the GPS receiver. This packet contains no data. The GPS receiver returns Packet 0x46 and 0x4B. A Command Packet 0x27 - Request Signal Levels This packet requests signal levels for all satellites currently being tracked. This packet contains no data. The GPS receiver returns Packet 0x A Command Packet 0x2A - Altitude for 2-D Mode Reference Altitude is the altitude used for manual 2-D positions if the altitude flag is set. Altitude is in units of HAE WGS or MSL depending on the selected I/O options for the position. The Altitude Flag determines whether or not the Reference Altitude will be used. If set, it will be used. If cleared, altitude hold (last 3-D altitude) is used. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Note With no data byte, this packet requests the current values of these altitude parameters. In this case, the GPS receiver returns Packet 4A. This packet sets or requests the altitude parameters used for the Manual 2-D mode: Reference Altitude and Altitude Flag. Packet 0x4A (9 byte format) is returned. Table A Packet 0x2A Set Reference Altitude Description Byte Item Type Definition Altitude Single Reference altitude for 2- D Table A Packet 0x2A Clear Reference Altitude Description Byte Item Type Value Definition 0 Altitude Flag UINT8 0 x FF Clear Altitude flag Note With no data bytes, this packet requests the current values of these altitude parameters. In this case, the GPS receiver returns Packet 4A (9 byte format). Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x2B - Initial Position (Latitude, Longitude, Altitude) This packet provides the GPS receiver with an approximate initial position in latitude and longitude coordinates (WGS). This packet is useful if the user has moved more than about 1, miles since the previous fix. (Note that the GPS receiver can initialize itself without any data from the user; this packet merely reduces the time required for initialization.) This packet is ignored if the receiver is already calculating positions. The data format is shown in the table below. Table A Command Packet 0x2B Data Format Byte Item Type Units Latitude Single Radians, north Longitude Single Radians, east Altitude Single Meters Note To initialize with ECEF position, use Command Packet 0x A Command Packet 0x2D - Request Oscillator Offset This packet requests the calculated offset of the GPS receiver master oscillator, motorola v3 hab error 0x4e. This packet contains no data. The GPS receiver returns Packet 0x4D. This packet is used mainly for service. The permissible oscillator offset varies with the particular GPS receiver unit. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x2E - Set GPS Time This packet provides the approximate GPS time of week and the week number to the GPS receiver. The GPS receiver returns Packet 0x4E. The data format is shown below. The GPS week number reference is Week motorola v3 hab error 0x4e 0 starting January 6, The seconds count begins at the midnight which begins each Sunday morning. This packet is usually not required when the battery back-up voltage is applied as the internal clock keeps time to sufficient accuracy. This packet is ignored if the receiver has already calculated the time from tracking a GPS satellite. Note See report Packet 41 for information on the Extended GPS week number. Table A Command Packet 0x2E Data Formats Byte Item Type Units GPS time of week Single Seconds Extended GPS week number INT16 Weeks Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x31 - Accurate Initial Position (XYZ Cartesian ECEF) This packet is identical in content to Packet 0x This packet provides an initial position to the GPS receiver in XYZ coordinates. However, the GPS receiver assumes the position provided in this packet to be accurate. This packet is used for cmos configuration error acquisition aiding in systems where another source of position is available. For acquisition aiding, the position provided by the user to the GPS receiver in this packet should be accurate to a few kilometers. For high-accuracy time transfer, position should be accurate to a few meters. Table A Command Packet 0x31 Data Format Byte Item Type Units X-axis Single Meters Y-axis Single Meters Z-axis Single Meters Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x32 - Accurate Initial Position, (Latitude, Longitude, Altitude) This packet is identical in content to Packet 0x2B. This packet provides the GPS receiver with an accurate initial position in latitude, longitude, and altitude coordinates. However, the GPS receiver assumes the position provided in this packet to be accurate. This packet is used for satellite acquisition aiding in systems where another source of position is available. For acquisition aiding, the position provided by the user to the GPS receiver in this packet should be accurate to a few kilometers. For high-accuracy time transfer, position should be accurate to a few meters. Table A Command Packet 0x32 Data Format Byte Item Type Units Latitude Single Radians, North Longitude Single Radians, East Altitude Single Meters Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x35 - Set Request I/O Options This packet requests the current I/O options and allows the I/O options to be set. To request the options settings without any changes, send the packet with no data bytes. To change the options settings, include four data bytes with the values. The I/O options, their default settings, and the byte values for all possible configurations are shown below. The Set/Request I/O options are stored in battery-backed memory. To store them in non-volatile RAM (Flash), use the 0x8E command. The GPS receiver returns Packet 0x These abbreviations are used in the following table: ALT Altitude ECEF Earth-centered, Earth-fixed XYZ Cartesian Coordinates LLA Latitude, motorola v3 hab error 0x4e, Longitude, Altitude HAW Height Above Ellipsoid WGS Earth Model (ellipsoid) MSL Geoid Mean Sea Level UTC Coordinated Universal Time Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table Command Packets 0x35 and 0x55 Data Descriptions Byte Bit Item Type Value Definition Position 0 0 (LSB) XYZ ECEF Bit 0 1 XYZ ECEF output off XYZ ECEF output on 1 LLA Output Bit 0 1 LLA output off LLA output on 2 LLS ALT Output Bit 0 1 HAE (See Note) MSL geoid 3 ALT input Bit 0 1 HAE (See Note) MSL geoid 4 Precision-ofposition output Bit 0 1 Send single-precision packet Send double-precision packet 5 Super Packet Output Bit Reserved Velocity 1 0 XYZ ECEF Bit ENU Output Bit Reserved Timing 2 0 Time Type Bit Reserved Output no Super Packets Output all enabled Super Packets XYZ ECEF output off XYZ ECEF output on ENU output off ENU output on GPS Time UTC Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table Command Packets 0x35 and 0x55 Data Descriptions Byte Bit Item Type Express gate error code 8c000002 Definition PPS Mode Bits Motorola v3 hab error 0x4e Auxiliary/Pseudo Range Measurements 3 0 Raw Bit 0 Measuring 1 1 Raw/Filtered Bit Reserved 3 Output db Hz Bit 0 instead of AMU Reserved Always On Fix Based Always Off Reserved Raw measurements off Raw measurements on Raw PR s in 5A Filtered PR s in 5A Output AMUs Output db Hz Notes In the current version of the Lassen iq GPS, the input and output HAE altitude is in the WGS datum. Packet 8E must be used to specify which Super Packet is to be output. The Lassen iq GPS supports automatic output of 0x5A messages for backwards compatibility with older TSIP applications. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x37 - Request Status and Values of Last Position and Velocity This packet requests information regarding the last position fix and is only used when the receiver is 535 error delphi smtp automatically outputting positions. The GPS receiver returns Report Packet 0x57 followed by the position/velocity packets specified in Command Packet 0x A Command Packet 0x38 - Request/Load Satellite System Data This packet requests current satellite data (almanac, ephemeris, etc.) or permits loading initialization data from an external source (for example, by extracting initialization data from an operating GPS receiver unit via a data logger or computer and then using that data to initialize a second GPS receiver unit). The GPS receiver returns Packet 0x (Note that the GPS receiver can initialize itself without any data from the user; it merely requires more time.) To request data without loading data, use only bytes 0 through 2; to load data, use all bytes. Before loading data, observe the caution notice below. The data formats are located in Report Packet 0x Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A Command Packet 0x38 Data Formats Byte Item Type Value Definition 0 Operation UINT Type of data UINT Sat PRN# UINT Request data from Lassen iq GPS receiver; Load data into Lassen iq GPS receiver Almanac Health page, T_oa, WN_oa Ionosphere UTC Ephemeris Data that is not satellite - ID specific Satellite PRN number 3 Length (n) UINT8 Number of bytes of data to be loaded 4 to n+3 Data UINT8 Satellite data Warning Proper structure of satellite data is critical to Lassen iq GPS receiver operation. Requesting data is not hazardous; Loading data improperly is hazardous. Use this packet only with extreme caution. The data should not be modified in any way. It should only be retrieved and stored for later download. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x3C - Request Current Satellite Tracking Status This packet requests the current satellite tracking status. The GPS receiver returns Packet 0x5C if data is available. Table A Command Packet 0x3C Data Format Byte Item Type Value Definition 0 Satellite # UINT All satellites in the current tracking set desired satellite A Report Packet 0x41 - GPS Time This packet provides the current GPS time of week and motorola v3 hab error 0x4e week number. The GPS receiver sends this packet in response to Packet 0x21 and during an automatic packets update cycle. Update cycles occur approximately every 5 seconds. The data format is shown below. Table A Report Packet 0x41 Data Formats Byte Item Type Units GPS time of week Single seconds Extended GPS week number INT16 weeks GPS UTC offset Single seconds Note UTC time lags behind GPS time by an integer number of seconds; UTC = motorola v3 hab error 0x4e time) - (GPS UTC offset). Warning GPS week number runs from 0 to and then cycles back to week #0. week # 0 began January 6, The first cycle back to week #0 was on August 22, The extended GPS week number however, does not cycle back to 0. For example: the week # for August 22, motorola v3 hab error 0x4e, = ; the Week # for April 1, = Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) The seconds count begins with 0 each Sunday morning at midnight GPS time. A negative indicated time-of-week indicates that time is not yet known; in that case, motorola v3 hab error 0x4e, the packet is sent only on request. The following table shows the relationship between the information in Packet 0x41, and the Packet 0x46 status code. Table A Packets 0x41 and 0x46 Status Code Relationships Approximate Time Accuracy Time Source Sign (TOW) Packet 46 Status Code none no time at all - 0x01 unknown msec + clock drift approximate time from real-time clock or Packet 2E + 0x01 time from satellite + 0xx0C full accuracy time from GPS solution + 0x00 Note Before using the GPS time from Packet 0x41, verify that the Packet 0x46 status code is 00 ( Doing position fixes ). This will ensure the most accurate GPS time. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x42 - Single-Precision Position Fix, XYZ ECEF This packet provides current GPS position fix in XYZ ECEF coordinates. If the I/O position option is set to XYZ ECEF (byte 0: bit 0, Packet 0x35)and the I/O Precision-of-Position Output (byte 0: bit 4, Packet 0x35) is set to single-precision, then the GPS receiver sends this packet each time a fix is computed. The data format is shown below. Table A Report Packet 0x42 Data Formats Byte Item Type Units X Single meters Y Single meters Z Single meters Time-of-fix Single seconds The time-of-fix is in GPS time or UTC as selected by the I/O timing option. Packet 83 provides a double-precision version of this information. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x43 - Velocity Fix, XYZ ECEF This packet provides current GPS velocity fix in XYZ ECEF coordinates. If the I/O velocity option is set to XYZ ECEF (byte 1, bit 0, Packet 0x35), then the GPS receiver sends this packet each time a fix is computed. The data format is shown below. Table A Report Packet 0x43 Data Formats Byte Item Type Units X velocity Single meters/second Y velocity Single meters/second Z velocity Single meters/second bias rate Single meters/second time-of-fix Single seconds The time-of-fix is in GPS time or UTC as selected by the I/O timing option (byte 2, bit 0, Packet 0x35). Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x45 - Software Version Information This packet provides information about the version of software in the Navigation and Signal Processors. The GPS receiver sends this packet after power-on and in response to Packet 0x1F. Table A Report Packet 0x45 Data Formats Byte Item Type 0 Major version number UINT8 1 Minor version number UINT8 2 Month UINT8 3 Day UINT8 4 Year number minus UINT8 5 Major revision number UINT8 6 Minor revision number UINT8 7 Month UINT8 8 Day UINT8 error 91 excel Year number minus UINT8 The first 5 bytes refer to the Navigation Processor and the second 5 bytes refer error killer 2.6.2 rus the Signal Processor. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x46 - Health of Receiver Runtime error 438 packet provides information about the satellite tracking status and the operational health of the receiver. The receiver sends this packet after power-on or software-initiated resets, in response to Packet 0x26 and, every five seconds. Packet 0x4B is always sent along with this packet. Note If receiver status changes between five second outputs, no notification motorola v3 hab error 0x4e given until the next cycle. Table A Report Packet 0x46 Data Formats Byte Bit Item Type Value Definition 0 Status code UINT8 0x00 0x01 0x02 0x03 0x08 0x09 0x0A 0x0B 0x0C Doing position fixes Don't have GPS time yet Need initialization (0=normal, 1=shutdown due to RF initialization timeout) PDOP is too high No usable satellites Only 1 usable satellite Only 2 usable satellites Only 3 usable satellites The chosen satellite is unusable 1 0 Battery backup 1 4 Antenna feedline fault Bit 0 1 Bit 0 1 OK BBRAM was not available at start-up OK Short or open detected 1 5 Type of fault Bit 0 1 Open detected Short detected The error codes in Byte 1 of Packet 0x46 are encoded into individual bits within the byte. The bit positions are shown below. Note After status is detected, it s bit remains set until the receiver is reset. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x47 - Motorola v3 hab error 0x4e Levels for all Satellites This packet provides received signal levels for all satellites currently being tracked or on which tracking is being attempted (i.e., above the elevation mask and healthy according to the almanac). The receiver sends this packet only in response to Packet 0x The data format is shown below. Table A Report Packet 0x47 Data Formats Byte Item Type 0 Count UINT8 1 Satellite number 1 UINT8 Signal level 1 Single 6 Satellite number 2 UINT Signal level 2 Single (etc.) (etc.) (etc.) Up to 12 satellite number/signal level pairs may be sent, indicated by the count motorola v3 hab error 0x4e. Signal level is normally positive. If it is zero then that satellite has not yet been acquired. If it is negative then that satellite is not currently in lock. The absolute value of signal level field is the last known signal level of that satellite. Note The signal level provided in this packet is a linear measurement of the signal strength after correlation or de-spreading. Units, either AMU or dbhz, are controlled by Packet 0x Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x4A - 20 Byte Format This packet provides current GPS motorola v3 hab error 0x4e fix in LLA (latitude, longitude, and altitude) coordinates. If the I/O Position option is set to LLA and the I/O Precision-of-Position Output is set to singleprecision (all controlled by Packet 35), then the receiver sends this packet each time a fix is computed. Command Packet 35 controls position output (XYZ or LLA) and (single or double) output precision. The data format is shown in below. Table A Report Packet 0x4A Data Formats Byte Item Type Units Latitude Single radians; + for north, - for south Longitude Single radians; + for east, motorola v3 hab error 0x4e, - for west Altitude Single meters (HAE or MSL) Clock Bias Single meters Time-of-Fix Single seconds (GPS or UTC) The default altitude conversion is WGS Altitude is referred to the datum ellipsoid or the MSL Geoid, depending on which I/O LLA altitude option is selected. The time-of-fix is in GPS time or UTC, depending on which I/O timing option is selected. This packet also is sent at start-up with a negative time-of-fix to report the current known position. Packet 0x84 provides a double-precision version of write error rate victoria information Warning When converting from radians to degrees, significant and readily visible errors will be introduced by use of an insufficiently error 610 lineage approximation for the constant PI). The value of the constant PI as specified in ICD-GPS is Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x4A - 9 Byte Format Report Packet 0x4A is also sent in response to the setting or requesting of the Reference Altitude Parameters using Command Packet 0x2A. These parameters can be used in the Manual 2-D mode. Reference Altitude The altitude used for manual 2-D positions if the altitude flag is set. Altitude is in units of HAE WGS or MSL depending on the selected I/O options set for positioning with Command Packet Altitude Flag A flag that determines whether or not the Reference Altitude will be used. If set, it will be used. If cleared, altitude hold (last 3-D altitude) will be used. The data format is shown in the following table. Table A Reference Altitude Byte Item Type Units Reference Altitude Single Meters Reserved Single 8 Altitude flag UINT8 Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x4B - Machine/Code ID and Additional Status The receiver transmits this packet in response to packets 0x25 and 0x26 and following a change in state. In conjunction with Packet 0x46, health of receiver, this packet identifies the receiver and may present status messages. The machine ID can be used by equipment communicating with the receiver to determine the type of receiver to which the equipment is connected. Then the interpretation and use of packets can be adjusted accordingly. Table A Report Packet 0x4B Data Formats Byte Item Type/ Definition 0 Machine ID UINT8 Receiver dependent 1 Status 1 UINT8 See Table A 2 Status 2 UINT8 Bit 0 = Super packets supported The status codes are encoded into individual bits within the bytes. The bit positions and their meanings are listed in the table below. Table A Status 1 Bit Positions Report Packet 0x4B Bit Positions and Descriptions Meaning if bit value = 1 0 (LSB) Not used 1 Real-time Clock was not available at power-up. 2 Not used 3 The almanac stored in the receiver is not complete and current. Not used Motorola v3 hab error 0x4e iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x4D - Oscillator Offset This packet provides the current value of the receiver master oscillator offset in Hertz at carrier. This packet contains one single precision number. The receiver sends this packet in response motorola v3 hab error 0x4e Packet 0x2D. The permissible offset varies with the receiver unit. A Report Packet 0x4E - Response to Set GPS Time Indicates whether the receiver accepted the time given in a Set GPS time packet, motorola v3 hab error 0x4e. the motorola v3 hab error 0x4e sends this packet in response to Packet 0x2E. This packet contains one byte. Table A Value ASCII Y ASCII N Report Packet 0x4E Data Formats Meaning The receiver accepts the time entered via Packet 2E. The receiver has not yet received the time from a satellite. The receiver does not accept the time entered via Packet 2E. The receiver has received the time from a satellite and uses that time. The receiver disregards the time in Packet 0x 2E. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x55 - I/O Options These abbreviations motorola v3 hab error 0x4e to the following table: ALT (Altitude), ECEF (Earth-centered, Earth-fixed), XYZ (Cartesian coordinates), LLA (latitude, longitude, altitude), HAE (height above ellipsoid), WGS (Earth model (ellipsoid)), MSL geoid (Earth (mean sea level) mode), and UTC (coordinated universal time). Table A Command Packets 0x55 and 0x35 Data Descriptions Byte Bit Item Type Value Definition Position 0 0 XYZ ECEF Bit LLA Output Bit LLA ALT Output Bit ALT input Bit Precision-ofposition output 0 5 Super Packet Output reserved Bit 0 1 Bit 0 1 XYZ ECEF output off XYZ ECEF output on LLA output off LLA output on HAE (WGS datum) MSL geoid HAE (WGS datum). MSL geoid Send single-precision packet. Send double-precision packet. Output no Super Packets. Output all enabled Super Packets. Velocity 1 0 XYZ ECEF Bit ENU output Bit reserved XYZ ECEF output off XYZ ECEF output on ENU output off ENU output on Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Command Packets 0x55 and 0x35 Data Descriptions (Continued) Byte Bit Item Type Value Definition Timing 2 0 Time Type Bit reserved GPS time UTC Auxiliary / Range Measurements 3 0 Raw measuring Bit Raw / Filtered Bit reserved 3 3 Output db Hz instead of AMU reserved Bit 0 1 Raw measurements off Raw measurements on Raw PR s in 0x5A Filtered PR s in 0x5A Output db Hz Output AMU s Notes See the associated superpacket output, described later in this appendix. Packet 8E must be used to specify which superpacket is to be output. Automatic output of 0x5A raw measurement messages is supported in the Lassen iq GPS receiver for backwards compatibility with older TSIP applications. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x56 - Velocity Fix, East-North-Up (ENU) If East-North-Up (ENU) motorola v3 hab error 0x4e have been selected for the I/O velocity option (see Packet 0x35), the receiver sends this packet under the following conditions: Each time that a fix is computed In response to Packet 0x37 (last known fix) The data format is shown below. Table A Report Packet 0x56 Data Formats Byte Item Type Units East Velocity Single m/s; + for east, - for west North Velocity Single m/s; + for north, - for south Up Velocity Single m/s; + for up, - for down Clock Bias Rate Single m/s Time-of-Fix Single seconds (GPS or UTC) The time-of-fix is in GPS or UTC time as selected by the I/O timing option. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x57 - Information About Last Computed Fix This packet provides information concerning the time and origin of the previous position fix. The receiver sends this packet, among others, in response to Packet 0x The data format is shown below. Table A Report Packet 0x57 Data Formats Byte Item Type Units Byte 0 Value/Velocity 0 Source of information 1 Mfg, motorola v3 hab error 0x4e. diagnostic UINT8 -- UINT temporary no fix 01 good current fix Time of last fix Single seconds, GPS time Week of last fix INT16 weeks, GPS time Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x58 - Satellite System Data/Acknowledge from Receiver This packet provides GPS data (almanac, ephemeris, etc.). The receiver sends this packet in response to Packet 0x38 (acknowledges the loading of data). The data format is shown below. Table A Report Packet 0x58 Data Formats Byte Item Type Value Definition 0 Operation UINT Type of data UINT Sat PRN# UINT Request data from receiver; Load data into receiver Almanac Health page, T_oa, WN_oa Ionosphere UTC Ephemeris Data that is not satellite - ID specific satellite PRN number 3 Length (n) UINT8 Number of bytes of data to be loaded 4 to n+3 Data Note If data is not available, byte 3 is set to 0 and no data is sent. The binary almanac, health page, and UTC data streams are similar to Report Packets 0x40, 0x49, and 0x4F respectively, but these reports are preferred, motorola v3 hab error 0x4e. To get ionosphere or ephemeris, this report must be used. Note Ephemeris cannot be loaded into Lassen iq GPS receiver. Table A Report Packet 0x58 Almanac Data Byte Item Type Definition / ICD-GPS t_oa_raw UINT8 Sec SV_HEALTH UINT8 Sec motorola v3 hab error 0x4e Single Sec t_oa Single Sec Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Report Packet 0x58 Almanac Data i_o Single Sec OMEGADOT Single Sec sqrt_a Single Sec OMEGA_0 Single Sec omega Single Sec M_0 Single Sec a_f0 Single Sec a_f1 Single Sec Axis Single Sec n Single Sec OMEGA_n Single Sec ODOT_n Single Sec t_zc Single Sec see Note weeknum INT16 Sec wn_oa INT16 Sec Note 1 All angles are in radians. Note 2 If data is not available, t_zc is set to Table A Report Packet 0x58 Almanac Health Data Byte Item Type Definition/ ICD-GPS week # for health UINT8 Sec SV_health UINT8 Sec t_oa for health UINT8 Sec current t_oa UINT8 units = seconds/ current week # INT16 Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A Byte Item Type Definition / IDC-GPS not used alpha_0 Single Sec alpha_1 Single Sec alpha_2 Single Sec alpha_3 Single Sec beta_0 Single Sec beta_1 Single Sec beta_2 Single Sec beta_3 Single Sec Table A Byte Item Type Definition / IDC-GPS not used A_0 Double Sec A_1 Single Sec delta_t_ls Integer Sec t_ot Single Sec WN t Integer Sec WN_LSF Integer Sec DN Integer Sec delta_t_lsf Integer Sec Table A Byte Item Type Definition / IDC -GPS sv_number UINT8 SV PRN number t_ephem Single time of collection weeknum INT16 SecTable I Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A (Continued) Byte Item Type Definition / IDC -GPS codel2 UINT8 SecTable I 12 L2Pdata UINT8 SecTable I 13 SVacc_raw UINT8 SecTable I 14 SV_health UINT8 SecTable I IODC INT16 SecTable I T_GD Single SecTable I t_oc Single Secmotorola v3 hab error 0x4e, Table I a_f2 Single SecTable I a_f1 Single SecTable I a_f0 Single SecTable I SVacc Single SecTable I 41 IODE UINT8 Sec fit_interval UINT8 Sec C_rs Single Sec delta_n Single Sec M_0 Double Sec C_uc Single Secmotorola v3 hab error 0x4e, radians e Double Sec C_us Single Secradians sqrt_a Double Sec t_oe Single Sec C_ic Single Secradians OMEGA_0 Double Sec C_is Single Secradians i_0 Double Sec C_rc Single Sec Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A (Continued) Byte Item Type Definition / IDC -GPS omega Double Sec OMEGADOT Single Sec IDOT Single Sec Axis Double = (sqrt_a) n Double derived from delta_n r1me2 Double = sqrt(e 2 ) OMEGA_n Double derived from OMEGA_0, OMEGADOT ODOT_n Double derived from OMEGADOT Note All angles are in radians. A Report Packet 0x5C - Satellite Tracking Status This packet provides tracking status data for a specified satellite. Some of the information is very implementation-dependent and is provided mainly for diagnostic purposes. The receiver sends this packet in response to Packet 0x3C. The data format is shown below. Table A Report Packet 0x5C Data Formats Byte Bit Item Type An error occurred at /admin/build/views/ajax/ add item Definition 0 Satellite PRN number UINT8 number reserved Bits reserved Channel Bits Acquisition flag UINT Never acquired Acquired Re-opened search Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Report Packet 0x5C Data Formats (Continued) Byte Bit Item Type Value Definition 3 Ephemeris flag UINT Signal level Single Same as in Packet 0x GPS time of last measurem ent 51 Single <0 >0 Flag not set Ephemeris is decoded Ephemeris is decoded and healthy Ephemeris is decoded, good and used in the current position fix Ephemeris is decoded, good, used in the fix, and a DGPS correction is available (only relevant if DGPS is enabled in the firmware) No measurements have been taken. Center of the last measurement taken from this satellite Elevation Singles radians Approximate elevation of this satellite above the horizon. Updated about every 15 sec.s. Used for searching and computing measurement correction factors Azimuth Single radians Approximate azimuth from true north to this satellite. Updated typically about every 3 to 5 minutes. Used for computing measurement correction factors reserved UINT8 0 Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x60 - Type 1 Differential GPS Corrections This packet provides the Lassen iq GPS with differential corrections from RTCM SC record types 1 and 9, in the TSIP format. There is no response to this packet. If bit 6 is set, the corrections are as in RTCM Type 9 records. The data format is shown below, motorola v3 hab error 0x4e. Table A Command Packet 0x60 Data Formats Byte Bit Item Type Value Definition Modified z-count UINT SEC 2 Station health UINT Number of SVs in packet Bits Type 9 flag Bit 0 type 1 1 Type Version 2 flag Bit 1 motorola v3 hab error 0x4e be set Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A The next 5 error de escaner samsung scx 4300 are repeated as a group for each satellite. The SV PRN and scale factor contains the SV PRN in the lower 5 bits, and the scale factor in the upper 3 bits. Range corrections are scaled by meters times 2 raised to the scale factor power. Range-rate corrections are scaled by meters per second times 2 raised to the scale factor power. The data format is shown below. Table A Command Packet 0x60 Data Formats Byte Bit Item Type Value Definition 4+ (N*5) SV PRN is SV (N*5) Scale factor 0 Low scale factor (m, m/s) 5+ (N*5) Number of SVs in packet Bits 4 7 High scale factor (m, m/s) Correction not usable RTCM (N*5) Type 9 flag Bit RTCM (N*5) Version 2 flag Bit Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x62 - Set/Request Differential Position Fix Mode Note This command packet has been replaced by command packet motorola v3 hab error 0x4e. Although the Lassen iq GPS retains compatibility with this command, it is recommended that you use the 0xBB command packet to set the Differential Fix Mode. This packet requests the Differential Position Fix Mode of the GPS receiver. A single data byte is sent, motorola v3 hab error 0x4e. To request report packet 0x82, the data byte is set to 0xFF. A Command Packet 0x65 - Set/Request Differential Position Fix Mode This packet requests the status of differential corrections for a specific satellite or for all satellites for which data is available. This packet contains only one byte specifying the PRN number of the desired satellite or zero to request all available. The response is a motorola v3 hab error 0x4e 0x85 for each satellite if data is available. If the receiver has not valid data for any satellite, no reply will be sent. Note TSIP packet 0x65 is not functional in the Lassen iq GPS firmware release Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x6D - All-In-View Satellite Selection This packet provides a list of satellites used for position fixes by the GPS receiver. The packet also provides the PDOP, HDOP, and VDOP of that set and provides the current mode (automatic or manual, 3-D or 2-D). This packet has variable length equal to 16+nSVs where nsvs is the number of satellites used in the solution. The GPS receiver sends this packet in response to Packet 0x The data format is shown below. Table A Report Packet 0x6D Data Formats Byte Bit Item Type Value Definition Dimension UINT D 3D Auto Manual nsvs PDOP Single PDOP HDOP Single HDOP VDOP Single VDOP TDOP Single TDOP (16+nSVvs) SV PRN UINT8 Note The Lassen iq GPS receiver sends this packet automatically after a position fix or every second if no position fix occurs. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x69 - Set/Request Enhanced Sensitivity Mode The Lassen iq GPS receiver is configured at the factory with the Enhanced Sensitivity feature Off. There are several ways to turn the Enhanced Sensitivity feature on: The iq_chat program found in the iq Starter Kit. The iq_monitor program found in the iq Starter Kit. The TSIP command packet 0x69 (receiver responds with packet 0x89). The data format is shown below. Table ACommand Packet 0x69 Data Format Byte Item Type Units Byte 0 Value/Velocity 0 Enhanced Sensitivity Mode 1 Reserved Byte 0 1 Off (Standard) Enhanced Note A soft reset is required to make the switch to Enhanced Sensitivity effective. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, save the setting to flash memory using TSIP command packet 8E Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x70 - Filter Control Trimble OEM receivers have a number of filters. Command 0x70 provides control for these filters. It returns Report 0x There are three filters associated with 0x Position-Velocity (PV) Filter Static Filter Altitude Filter The Position-Velocity (PV) Filter is the main filter and is used to soften the effect of constellation switches on position fixes. The filter has virtually no effect on velocity output and there is no lag due to vehicle dynamics. There may be a small increase in accuracy however. A feature of the PV filter is the Static Filter which engages when the receiver is moving very slowly, motorola v3 hab error 0x4e. This feature improves accuracy in the urban environment. The static filter should be turned off for the following applications: Slow-moving environments such as walking or drifting with the current When rooftop testing of receivers for moving applications The altitude filter is a simple averaging filter with a time constant of a few seconds. It should be left on in marine and land applications. To query for the current settings, use Command Packet 0x70 with no databytes. To input new settings, Command Packet 0x70 is sent with four data bytes. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A Command Packet 70 Data Formats Byte Item Type Value Definition 0 Position Velocity Filter UINT Static Filter UINT Altitude Filter UINT Reserved UINT8 reserved Off On Off On Off On A Report Packet 0x70 This report is sent as a response to Command Packet 0x70 as either a query or a set. It contains four bytes, as shown in Table A Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x7A The NMEA message determines whether or motorola v3 hab error 0x4e a given NMEA message will be output. If the bit for a ibm error 00161 is set, the message will be sent every interval second. Use the values shown below to determine the NMEA interval and message mask. While fixes are being generated, mysql error access denied for user output order is: ZDA, GGA, GLL, VTG, GSA, GSV, RMC. Table A Command Packet 0x7A and Report Packet 0x7B Data Formats Byte Bit Item Type Value Definition 0 Subcode UINT8 0 1 Interval UINT Fix interval in seconds 2 Reserved UINT8 0 3 Reserved UINT RMC Bit Reserved Bit GGA Bit GLL Bit VTG Bit GSV Bit GSA Bit ZDA Bit Reserved Bit 0 Off On Off On Off On Off On Off On Off On Off On Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x7B This packet provides the NMEA settings and interval. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A TAIP Message Output (Packet 0x7E) TSIP packet 0x7E is a new command added to Lassen iq GPS for setting up the output configuration for TAIP messages. This packet expands the features similar to what have been provided by packet 0x8E, motorola v3 hab error 0x4e, which can be found in some older generation Trimble receiver products.(the Lassen iq GPS does not support the 0x8E command). The settings provided by the packet can be divided into 4 groups: 1. Reporting Flags byte 1. For information on the RM command, see Appendix A in the Lassen iq GPS Receiver System Designer Reference Manual. 2. The Top-of-Hour Offset byte 2,3. This setting applies to all eight messages included in this packet. (If different values have to be applied to each message individually, use the Time- Distance feature from TAIP protocol.) 3. Automatic Output Intervals for the 8 commonly used messages bytes Device ID bytes This packet provides the capability to set the output frequencies for the eight commonly used messages individually. This is the same as the F<message type><output interval> command in TAIP. In contrast to packet 0x8E, the settings in this packet are not just for the so-called Heartbeat messages, meaning the output frequency settings are not only applied when the receiver is not generating a position fix. In practice, this packet provides a comprehensive but straightforward means to set up the TAIP output configuration. It can also be used to reset the output configuration. For example, if any of these eight messages was set up as Time-Distance mode from the TAIP protocol, this packet would reset any such message back to plain periodic output mode or no automatic output mode (frequency=0). Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) For customization, the settings in this packet can be stored into the Flash by either TSIP packet 0x8E or TAIP command SRTSAVE_CONFIG. The flash storage commands store the latest output configuration which may be set up by either this packet or any other commands from the TAIP protocol. For example, if this packet was executed first from the TSIP protocol and then the Lassen iq GPS was switched to TAIP protocol and the output settings were changed (e.g. changed to Time-Distance mode), or vise-versa, then the latest settings would be stored into the Flash (when the flash storage command is used). Table TAIP Packet 0 x 7E Byte Bit Item Type Value Definition Default 0 Subcode UINT8 0 Setting the packet ID Flag Bit 0/1 On/Off 0 1 CS Flag Bit 0/1 On/Off 1 2 EC Flag Bit 0/1 On/Off 1 3 FR Flag Bit 0/1 On/Off 1 4 CR Flag Bit 0/1 On/Off Reserved 2,3 TOH UINT Top of hour offset 0 4,5 AL output period CP output period 8,9 ID output period 10,11 LN output period 12,13 PV output period 14,15 ST output period UINT Auto output period for AL (sec) 0 (see note) UINT Auto output period for CP (sec) 0 UINT Auto output period for ID (sec) 0 UINT Auto output period for LN (sec) 0 UINT Auto output period for PV (sec) 0 UINT Auto output period for ST (sec) Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table TAIP Packet 0 x 7E Byte Bit Item Type Value Definition Default 16,17 TM output period UINT Auto output period for TM (sec) 0 18,19 VR output UINT Auto output period for VR (sec) 0 period Veh ID String See TAIP ID Vehicle ID Note 0 second period means the corresponding message is not to be output at all. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x82 - Differential Position Fix Mode This packet provides the differential position fix mode of the receiver. This packet contains only one data byte to specify the mode. The packet is sent in response to Packet 0x62 and whenever a satellite selection is made and the mode is Auto GPS motorola v3 hab error 0x4e DGPS (modes 2 and 3). The receiver switches automatically between modes 2 and 3 based on the availability of differential corrections for a constellation which meets all other masks. If such a constellation is not available, then the receiver stays in its current automatic mode (2 or 3), and does not do position solutions. Valid modes are: Mode 0 Differential off (Manual GPS) The receiver does position solutions without differential corrections, even if the differential corrections are available. Mode 1 Mode 2 Mode 3 Differential on (Manual DGPS) The receiver only does position solutions if valid differential correction data are available. Differential currently off (Auto DGPS) The receiver is not receiving differential correction data for all satellites in constellation which meets all other masks, and is doing non-differential position solutions. Differential currently on (Auto DGPS) The receiver is receiving differential correction data for all satellites in a constellation which meets all other masks, and is doing differential position solutions. Note The Lassen iq GPS receiver sends this packet automatically after every position fix except when in Mode Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x83 - Double-Precision XYZ Position Fix and Bias Information This packet provides current GPS position fix in XYZ ECEF coordinates. If the I/O Position option is set to XYZ ECEF and the I/O Precision of Position option is set to Double (see Packet 0x35), the receiver sends this packet each time a fix is computed, motorola v3 hab error 0x4e. The data format is shown below. Table A Report Packet 0x83 Data Formats Byte Item Type Units X Double meters Y Double meters Z Double meters clock bias Double meters time-of-fix Single seconds The time-of-fix is in GPS time or UTC, as selected motorola v3 hab error 0x4e the I/O timing option. Packet 42 provides a single-precision version of this information. Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x84 - Double-Precision LLA Position Fix and Bias Information This packet provides current GPS position fix in LLA coordinates. If the I/O Position option is set to LLA and the Precision of Position option is set to Double (see Packet 0x35), the receiver sends this packet each time a fix is computed, motorola v3 hab error 0x4e. The data format is shown below. Table A Report Packet 0x84 Data Formats Byte Item Type Units latitude Double radians; + for north, - for south longitude Double radians; + for east, - for west altitude Double meters clock bias Double meters time-of-fix Single seconds The time-of-fix is in GPS time or UTC, as selected by the I/O timing option. Warning When converting from radians to degrees, significant and readily visible errors will be introduced by use of an insufficiently precise approximation for the constant p (PI). The value of the constant PI as specified in ICD-GPS is A Packets 0x8E and 0x8F - Superpacket See page for information on Packets 0x8E and 0x8F. Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x89 - Set/Request Enhanced Sensitivity Mode The Lassen iq GPS receiver is configured at the factory with the Enhanced Sensitivity feature Off. There are several ways to turn the Enhanced Sensitivity feature On: The iq_chat program found in the iq Starter Kit. The iq_monitor program found in the iq Starter Kit, motorola v3 hab error 0x4e. The TSIP command packet 0x69 (receiver responds with packet 0x89). The data format is shown below. Table A Command Packet 0x69 Data Format Byte Motorola v3 hab error 0x4e Type Units Byte 0 Value/Velocity 0 Current Enhanced Sensitivity 1 Enhanced Sensitivity Mode after reset Byte 0 1 Byte 0 1 Off (Standard) On (Enhanced) Off (Standard) On (Enhanced) Note A soft reset is required to make the switch to Enhanced Sensitivity effective. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, save the setting to flash memory using TSIP command packet 8E Lassen iq GPS Receiver

Motorola v3 hab error 0x4e Trimble Standard Interface Protocol (TSIP) A Command Packet 0xBB - Navigation Configuration In query mode, Packet 0xBB is sent with a single data byte and returns Report Packet 0xBB. Note This Command Packet replaces Packets 0x2C, 0x62, 0x75, and 0x Table A Command Packet 0xBB Query Mode Data Format Byte # Item Type Value Definition Default 0 Subcode UINT8 0x00 Query mode TSIP Packet 0xBB is used to set GPS Processing options, motorola v3 hab error 0x4e. The table below lists the individual fields within the 0xBB Packet. Table A Command and Report Packet 0xBB Field Descriptions Byte # Item Type Value Definition Default 0 Subcode UINT8 0x00 Query mode 0x03 1 Operating Dimension UINT DGPS Mode UINT or 3 3 Dynamics Code UINT Reserved Elevation Mask Single (radian) AMU Mask Single (AMU) Automatic (2D/3D) Horizontal (2D) Full Position (3D) Cd loader 1.2 read error 0x20 Off DGPS Only DGPS Auto Land Sea Air Stationary Lowest satellite elevation for fixes Minimum signal level for fixes DOP Mask Single Maximum DOP for fixes Automatic DGPS Auto Land (5 o ) Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Command and Report Packet 0xBB Field Descriptions (Continued) Byte # Item Type Value Definition Default DOP Switch Single Selects 2D/3D mode DGPS Age Limit UINT (seconds) Reserved Maximum time to use a DGPS correction (seconds) 30 Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Command Packet 0xBC - Protocol Configuration TSIP Packet 0xBC is used to query the port characteristics. In query mode, Packet 0xBC is sent with a single data byte and returns Report Packet 0xBC. (See Table A.4 for information on saving the settings to non-volatile memory.) TSIP Packet 0xBC is used to set the communication parameters on Port 1. The table below lists the individual fields within the Packet 0xBC and provides query field descriptions. The BC command settings are retained in battery-backed RAM. Table A Command Packet 0xBC Port Characteristics Byte Bit Item Type Value Definition 0 Port to Set UINT xFF 1 Input Baud Rate UINT Port 1 Port 2 Current port Reserved Reserved Motorola v3 hab error 0x4e baud baud baud baud baud 2 Output Baud Rate UINT 8 As above As above (Note 1) 3 # Data Bits UINT Parity UINT # Stop Bits UINT bits 8 bits None Odd Even 1 bit 2 bits 6 Flow Control UINT = none Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Command Packet 0xBC Port Characteristics (Continued) Byte Bit Item Type Value Definition 7 0 TAIP Bit TSIP input Bit Reserved 3 Reserved Reserved 8 0 TAIP Bit TSIP output Bit NMEA output Bit Reserved 9 Reserved Off On Off On Off On Off On Off On Note The Lassen iq GPS receiver requires that the input and output baud rates be identical. Warning TSIP input or output must have 8 databits (byte 3). Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) ATSIP Superpackets Several packets have been added to the core TSIP protocol to provide additional capability for OEM receivers. In OEM Packets 0x8E and their 0x8F responses, the first data byte is a sub-code which indicates the superpacket type, motorola v3 hab error 0x4e. For example, in Packet 0x8E, 15 is the subcode that indicates the superpacket type. Therefore the ID code for OEM packets is 2 bytes long followed by the data. A Command Packet 8E-4A - Set/Request Lassen iq GPS Cable Delay Using this packet, you can query and control the Lassen iq GPS cable delay characteristics. The receiver responds to a query or control command with packet 8F-4A. The packet contains 16 bytes. Table Command Packet 8E-4A Byte Item Type Meaning 0 Sub-packet ID BYTE Always 0x4A 1 Reserved 2 Reserved 3 Reserved PPS Offset of Cable Delay DOUBLE Seconds (default=) Reserved Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x8E - Request Last Fix with Extra Information This packet requests Packet 0x8F or marks it for automatic output. If only the first byte (20) is sent, an 0x8F report containing the last available fix will be sent immediately. If two bytes are sent, the packet is marked/unmarked for auto report according to the value of the second byte as shown in below. 0x37 can also be used for requesting 0x8F if the 0x8F is scheduled for auto output. Table A Command Packet 0x8E Field Descriptions Byte Item Type Definition 0 Sub-packet id UINT8 0x20 1 Mark for Auto-report (See Packet 35 byte 0 bit 5) UINT8 0 = do not autoreport 1 = mark for autoreport Note Auto-report requires that superpacket output is enabled. Refer to Command Packet Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x8F - Last Fix with Extra Information (binary fixed point) This packet provides complete information about the current position velocity fix in a compact, fixed-length byte packet. The fields are fixed-point with precision matched to the receiver accuracy. It can be used for automatic position/velocity reports. The latest fix can also be requested by 0x8E or 0x37 sprers.eu data format is shown below. Table A Report Packet 0x8F Data Formats Byte Bit Item Type Value Definition 0 Sub-packet id UINT8 Id for this sub-packet (always 0x20) 1 KeyByte UINT8 Reserved for Trimble DGPS Post-processing. east velocity INT m/s or m/s See Note north velocity INT m/s or m/s See Note up velocity INT m/s or m/s See Note Time Of Week UINT32 GPS Time in milliseconds Latitude INT to 2 30 WGS latitude, semicircle ( ) Longitude UINT32 0 to 2 32 WGS latitude, semicircle ( ) Altitude INT32 Altitude above WGS ellipsoid, mm Velocity Scaling reserved 25 reserved m/s m/s 2 26 Datum Datum index + 1 0=unknown Lassen iq GPS Receiver

Trimble Standard Interface Protocol (TSIP) A Table A Motorola v3 hab error 0x4e Packet 0x8F Data Formats (Continued) Byte Bit Item Type Value Definition 27 0 Fix Available Bit DGPS Corrected Bit Fix Dimension Bit Alt Hold Bit Filtered Bit reserved Yes No No Yes 3D 2D Last 3D Altitude User-entered altitude Unfiltered Filtered 28 NumSVs UINT8 Number of satellites used for fix. Will be zero if no fix avail. 29 UTC Offset UINT8 Number of leap seconds between UTC and GPS time Week INT16 GPS time of fix, weeks PRN 1 UINT PRN of first satellite reserved 33 IODE 1 UINT8 IODE of first satellite PRN 2 UINT PRN of second satellite reserved 35 IODE 2 UINT8 IODE of second satellite PRN 3 UINT PRN of third satellite reserved 37 IODE 3 UINT8 IODE of third satellite PRN 4 UINT PRN of fourth satellite reserved 39 IODE 4 UINT8 IODE of fourth satellite Lassen iq GPS Receiver

A Trimble Standard Interface Protocol (TSIP) Table A Report Packet 0x8F Data Formats (Continued) Byte Bit Item Type Value Definition Single_gaming 3 dowload model terrorist 5 UINT PRN of fifth satellite reserved 41 IODE 5 UINT8 IODE of fifth satellite PRN 6 UINT PRN of sixth satellite reserved 43 IODE 6 UINT8 IODE of sixth satellite PRN 7 UINT PRN of seventh satellite reserved 45 IODE 7 UINT8 IODE of seventh satellite PRN 8 UINT PRN of eighth satellite reserved 47 IODE 8 UINT8 IODE of eighth satellite PRN 9 UINT PRN of ninth satellite reserved 49 IODE 9 UNIT8 IODE of ninth satellite PRN 10 UINT PRN of tenth satellite reserved 51 IODE 10 UNIT8 IODE of tenth satellite PRN 11 UINT PRN of eleventh satellite reserved 53 IODE 11 UNIT8 IODE of eleventh satellite PRN 12 UINT PRN of twelfth satellite reserved 55 IODE 12 UINT8 IODE of twelfth satellite Ionospheric parameters Note Velocity scale controlled by byte 24, bit 1. Overflow = 0x Lassen iq GPS Receiver

1 Lassen iq GPS Receiver System Designer Reference Manual Part Number Revision B April 2005

2 Corporate Office Trimble Navigation Limited Components Technologies Division 749 North Mary Avenue Post Office Box 3642 Sunnyvale, CA U.S.A. Phone:Fax: Support Offices Trimble Navigation Limited Components Technologies Division 749 North Mary Avenue Post Office Box 3642 Sunnyvale, CA U.S.A. Phone:Fax: Trimble Navigation Europe Limited Trimble House Meridian Office Park Osborn Motorola v3 hab error 0x4e, Hook Hampshire RG27 9HX England Phone: Fax: Copyright and Trademarks 2005 Trimble Navigation Limited. All rights reserved, motorola v3 hab error 0x4e. No part of this manual may be copied, reproduced, translated, or reduced to any electronic medium or machine-readable form for any use other than with the Lassen iq GPS Receiver. Release Notice This is the April 2005 release (Revision B) of the Lassen iq GPS Receiver System Designer Reference Manual, part number The following limited warranties give you specific legal rights. You may have others, which vary from state/jurisdiction to state/jurisdiction. Waste Electrical and Electronic Equipment (WEEE) Notice This Trimble product is furnished on an OEM basis. By incorporating this Trimble product with your finished goods product(s) you shall be deemed the producer of all such products under any laws, regulations or other statutory scheme providing for the marking, collection, recycling and/or disposal of electrical and electronic equipment (collectively, WEEE Regulations ) in any jurisdiction whatsoever, (such as for example national laws implementing EC Directive 2002/96 on waste electrical and electronic equipment, as amended), and shall be solely responsible for complying with all such applicable WEEE Regulations. Hardware Limited Warranty Trimble warrants that this Trimble hardware product (the Product ) shall be free from defects in materials and workmanship and will substantially conform to Trimble s applicable published specifications for the Product for a period of one (1) year, starting from the date of delivery. The motorola v3 hab error 0x4e set forth in this paragraph shall not apply to software/firmware products. The Globe & Triangle logo, Trimble, Colossus, FirstGPS, and Lassen, are trademarks of Trimble Navigation Limited. The Sextant logo with Trimble is a trademark of Trimble Navigation Limited, registered in the United States Patent and Trademark Office. All other trademarks are the property of their respective owners.

3 Software and Firmware License, Limited Warranty This Trimble software and/or firmware product (the Software ) is licensed and not sold. Its use is governed by the provisions of the applicable End User License Agreement ( EULA ), if any, included with the Software. In the absence of a separate EULA included with the Software providing different limited warranty terms, exclusions, and limitations, the following terms and conditions shall apply. Trimble warrants that this Trimble Software product will substantially conform to Trimble s applicable published specifications for the Software for a period of ninety (90) days, starting from the date of delivery. Warranty Remedies Trimble's sole liability and your exclusive remedy under the warranties set forth above shall be, at Trimble s option, to repair or replace any Product or Software that fails to conform to such warranty ( Nonconforming Product ), or refund the purchase price paid by you for any such Nonconforming Product, motorola v3 hab error 0x4e, upon your return of any Nonconforming Product to Trimble in accordance with Trimble s standard return material authorization procedures. Warranty Exclusions and Disclaimer These warranties shall be applied only in the event and to the extent that: (i) the Products and Software are properly and correctly installed, configured, interfaced, maintained, stored, and operated in accordance with Trimble s relevant operator's manual and specifications, and; (ii) the Products and Software are not modified or misused. The preceding warranties shall not apply to, and Trimble shall not be responsible for defects or performance problems resulting from (i) the combination or utilization of the Product or Software with products, information, data, systems or devices not made, supplied or specified by Trimble; (ii) the operation of the Product or Software under any specification other than, or in addition to, Trimble's standard specifications for its products; (iii) the unauthorized modification or use of the Product or Software; (iv) damage caused by accident, lightning or other electrical discharge, fresh or salt water immersion or spray; or (v) normal wear and tear on consumable parts (e.g., batteries). THE WARRANTIES ABOVE STATE TRIMBLE'S ENTIRE LIABILITY, AND YOUR EXCLUSIVE REMEDIES, RELATING TO PERFORMANCE OF THE PRODUCTS AND SOFTWARE. EXCEPT AS OTHERWISE EXPRESSLY PROVIDED HEREIN, THE PRODUCTS, SOFTWARE, AND ACCOMPANYING DOCUMENTATION AND MATERIALS ARE PROVIDED AS-IS AND WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND BY EITHER TRIMBLE NAVIGATION LIMITED OR ANYONE WHO HAS BEEN INVOLVED IN ITS CREATION, PRODUCTION, INSTALLATION, motorola v3 hab error 0x4e, OR DISTRIBUTION, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT. THE STATED EXPRESS WARRANTIES ARE IN LIEU OF ALL OBLIGATIONS OR LIABILITIES ON THE PART OF TRIMBLE ARISING OUT OF, OR IN CONNECTION WITH, ANY PRODUCTS OR SOFTWARE. SOME STATES AND JURISDICTIONS DO NOT ALLOW LIMITATIONS ON DURATION OR THE EXCLUSION OF AN IMPLIED WARRANTY, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. TRIMBLE NAVIGATION LIMITED IS NOT RESPONSIBLE FOR THE OPERATION OR FAILURE OF OPERATION OF GPS SATELLITES OR THE AVAILABILITY OF GPS SATELLITE SIGNALS.

4 Limitation of Liability TRIMBLE S ENTIRE LIABILITY UNDER ANY PROVISION HEREIN SHALL BE LIMITED TO THE GREATER OF THE AMOUNT PAID BY YOU FOR THE PRODUCT OR SOFTWARE LICENSE OR U.S.$ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL TRIMBLE OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES WHATSOEVER UNDER ANY CIRCUMSTANCE OR LEGAL THEORY RELATING IN ANY WAY TO THE PRODUCTS, SOFTWARE, AND ACCOMPANYING DOCUMENTATION AND MATERIALS, (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS), REGARDLESS OF WHETHER TRIMBLE HAS BEEN ADVISED OF THE POSSIBILITY OF ANY SUCH LOSS AND REGARDLESS OF THE COURSE OF DEALING WHICH DEVELOPS OR HAS DEVELOPED BETWEEN YOU AND TRIMBLE. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

5 Table of Contents Table of Contents 1 Starter Kit Product Overview Starter Kit Receiver Performance Interface Protocols Ordering Starter Kit Components Starter Kit Interface Unit Power Hardware Setup Software Toolkit Hardware Integration General Description Connectors Power Requirements Serial Interface Serial Port Connections Pulse-Per-Second (PPS) Mounting GPS Antennas Software Interface Start-up Communicating with the Lassen iq GPS Receiver Port Protocol and Data Output Options Custom Port Configuration Timing Applications Known Anomalies in Firmware Release Operation and Performance Introduction GPS Satellite Message Satellite Acquisition and Time to First Fix Satellite Mask Settings Standard Operating Modes Lassen iq GPS Receiver

6 Table of Contents Differential GPS Operating Modes Position Accuracy Coordinate Systems Performance Characteristics Lassen iq GPS Receiver Sensitivity Modes Lassen iq GPS Receiver Aided GPS Feature GPS Timing Pulse-Per-Second (PPS) System Architecture A B Motorola v3 hab error 0x4e Standard Interface Protocol (TSIP) Interface Scope Packet Structure Automatic Output Packets Customizing Receiver Operations Automatic Position and Velocity Reports Initialization Packets to Speed Start-up Packets Output at Power-Up Timing Packets Satellite Data Packets Backwards Compatibility Recommended TSIP Packets Command Packets Sent to the Receiver Report Packets Sent by the Receiver to the User Key Setup Parameters or Packet BB Packet Descriptions TAIP Message Output (Packet 0x7E) TSIP Superpackets TSIP Tool kit User s Guide iq_monitor Lassen iq GPS Receiver

7 Table of Contents C Trimble ASCII Interface Protocol (TAIP) Message Format Sample PV Message Time and Distance Reporting Latitude and Longitude Conversion Message Data Strings Communication Scheme for TAIP D GPSSK User s Guide (TAIP) E NMEA 0183 The NMEA 0183 Communication Interface NMEA 0183 Message Format Field Definitions NMEA 0183 Message Options NMEA 0183 Message Formats Exception Behavior F G Specifications and Mechanical Drawings Lassen iq GPS Receiver Specifications Ultra Compact Embedded Antenna Compact Magnetic Mount Antenna Compact Unpackaged Antenna Glossary Lassen iq GPS Receiver

8 Table of Contents Lassen iq GPS Receiver

9 About this Manual Welcome to System Designer Reference Manual for the Lassen iq GPS receiver. This manual describes how to integrate and operate the Lassen iq GPS receiver. If you are not familiar with GPS, visit Trimble s website, for an interactive look at Trimble and GPS. Trimble assumes that you are familiar with Microsoft Windows and know how to use a mouse, select options from menus and dialogs, make selections from lists, and refer to online help. Technical Assistance If you have a problem and cannot find the information you need in the product documentation, contact the Trimble Technical Assistance Center at Your Comments Your feedback about the supporting documentation helps us to improve it with each revision. To forward your comments, send an to Lassen iq GPS Receiver

10 About this Manual 6 Lassen iq GPS Receiver

11 CHAPTER 1 Starter Kit 1 Product Overview Starter Kit Receiver Performance Interface Protocols Ordering Starter Kit Components Starter Kit Interface Unit Power Hardware Setup Software Toolkit

12 1 Starter Kit 1.1 Product Overview The Lassen iq GPS receiver is a full featured, ultra low power receiver on a miniature form factor, suitable for a variety of mobile, embedded applications. The Lassen iq GPS receiver incorporates Trimble s FirstGPS TM architecture in the form of two ASICS: Colossus RF down converter and IO-C33 baseband chip. The IO-C33 integrates Trimble s IO digital signal processor with the Epson C33 RISC processor, real-time clock, UART, and 1Mbit memory. Together with the colossus RF, this implementation of FirstGPS technology makes possible one of the smallest (26 mm x 26 mm x 6mm) and lowest power (less than 89 mw) GPS modules available. The Lassen iq GPS receiver outputs a complete position, velocity, and time (PVT) solution in the NMEA Version 3.0 ASCII protocol, motorola v3 hab error 0x4e, the Trimble ASCII Interface Protocol (TAIP), and the Trimble TSIP binary protocol. A Pulse-Per-Second signal is available for very accurate timing applications. 2 Lassen iq GPS Receiver

13 1.2 Starter Kit Starter Kit 1 The Starter Kit makes it simple to evaluate the Lassen iq GPS receiver s exceptional performance. The Starter Kit can be used as a platform for configuring the receiver module and as a platform for troubleshooting your design. The Starter Kit includes: Shielded Lassen iq GPS module mounted on an interface motherboard in a durable metal enclosure. The motherboard accepts 9-32 VDC power and provides regulated +3.3V power to the Lassen iq GPS receiver. The motherboard also contains: 3.6V lithium battery that provides back-up power to the receiver. Circuitry to convert the TTL output to RS-232, enabling the user to connect the RS-232 ports in the Starter Kit to the PC COM port via an RS-232 cable connection. Compact Magnetic-Mount GPS Antenna with a 5 meter cable. Ultra-Compact Embedded Antenna with an 8 cm cable. 9-pin RS-232 interface cable. AC/DC power supply adapter (input: VAC, output: 12 VDC). DC power cable. Cigarette lighter adapter power cable. CD containing software tools used to communicate with the receiver, the System Designer Reference Manual, and C programming source routines to be used as software templates for communicating directly with the receiver. Lassen iq GPS Receiver 3

14 1 Starter Kit Removing the Lassen iq GPS Module The Lassen iq GPS module is secured to the motherboard with double-sided adhesive tape allowing for easy removal and integration with the user s application. (The adhesive tape used by Trimble is 3M Scotch, part number 4945). Follow these steps to remove the module from the motherboard: Unplug the I/O cable and the RF cable from the newfs wtfs input output error. Use a small flat-head screw driver to pry the Lassen iq GPS receiver module off the motherboard. Warning When the Lassen iq GPS receiver module is removed from the motherboard, the double-sided tape looses some of it s adhesive quality. This adhesive tape may only be re-used for laboratory testing. The original adhesive tape should not be re-used for drive testing the Starter Kit interface unit because the module could loosen and cause short circuit when contacting other motherboard components. If drive testing is required, use a new piece of double-sided adhesive tape to re-attach the Lassen iq GPS receiver module to the motherboard. 4 Lassen iq GPS Receiver

15 1.3 Receiver Performance Starter Kit 1 The Lassen iq GPS receiver is a complete 12-channel parallel tracking GPS receiver designed to operate with the L1 frequency, Standard Position Service, Coarse Motorola v3 hab error 0x4e code. Using two highly integrated Trimble custom integrated circuits, the receiver is designed in a modular format especially suited for embedded applications where small size and extremely low power consumption are required. The receiver features Trimble's latest signal processing code, a highgain RF section for compatibility with standard 27 db active gain GPS antennas, and a CMOS TTL level pulse-per-second (PPS) output for timing applications or for use as a general purpose synchronization signal. The Lassen iq GPS receiver acquires a position fix with minimal delay after power cycling. The battery back-up RAM is used to keep the Real Time clock (RTC) alive, and to store the following: Almanac Ephemeris Last position User settings such as port parameters, NMEA, and TAIP configurations can be stored in the receiver s non-volatile (Flash) memory. These settings are retained without application of main power or battery back-up power. The Lassen iq GPS receiver has two configurable serial I/O communication ports. Warning When customizing port assignments or characteristics, confirm that your changes do not affect your ability to communicate with the receiver (see Chapter 3, Software Interface). Lassen iq GPS Receiver 5

16 1 Starter Kit 1.4 Interface Protocols The Lassen iq GPS receiver operates using one of three protocols Trimble Standard Interface Protocol (TSIP), Trimble ASCII Interface Protocol (TAIP), or NMEA Protocol selection and port characteristics are user configurables. The factory default settings are: Port 1, TSIP bi-directional Port 2, NMEA 0183 OUT/RTCM SC-104 V2.1 IN TSIP TSIP is a powerful binary packet protocol that allows the system designer maximum configuration control over the GPS receiver for optimum performance in any number of applications. TSIP supports over 20 commands and their associated response packets for use in configuring the Lassen iq GPS receiver to meet user requirements TAIP TAIP is the Trimble ASCII interface protocol designed specifically for vehicle tracking applications. It is a bi-directional protocol using simple ASCII commands with the associated ASCII responses NMEA NMEA 0183 is an industry standard protocol common to marine applications. NMEA provides direct compatibility with other NMEAcapable devices such as chart plotters, motorola v3 hab error 0x4e, radars, etc. The Lassen iq GPS receiver supports most NMEA messages for GPS navigation. NMEA messages and output rates can be user selected as required DGPS The Lassen iq GPS receiver can be configured for RTCM SC-104 input which is the GPS industry standard for differential correction data. The receive side of Port 2 is factory configured to accept RTCM data. 6 Lassen iq GPS Receiver

17 1.5 Ordering Starter Kit Components Starter Kit 1 The Lassen iq GPS receiver is available in a Starter Kit or as an individual module and associated antenna. The Starter Kit (PN ) includes all the components necessary to quickly test and integrate the module: Compact Magnetic-Mount Antenna with 5m cable Ultra-Compact Embedded Antenna with 8cm cable AC/DC power supply adapter DC Power cable (3-wire) RS-232 interface cable DB9M/DB9F (pin to pin) Cigarette lighter adapter power cable CD-ROM containing software tools and the System Designer Reference Manual Table 1.1 provides ordering information for the Lassen iq GPS module and the associated antennas and cables. Table 1.1 Lassen iq GPS Receiver Ordering Information Products Part Number Lassen iq GPS receiver Module / Lassen iq GPS receiver Starter Kit Antenna transition cable, MCX-HFL connector Antenna transition cable, SMA-HFL connector Ultra-Compact Embedded Antenna, 3.3V, motorola v3 hab error 0x4e, 8cm cable Compact Unpackaged Antenna, 3V, 11cm cable, MCX connector Compact Magnetic Mount Antenna, 3V, 5m cable, MCX connector Compact Magnetic Mount Antenna, 3V, 5m cable, SMA connector Note Part numbers are subject to change. Confirm part numbers with your Trimble representative when placing your order. Lassen iq GPS Receiver 7

18 1 Starter Kit 1.6 Starter Kit Interface Unit The Starter Kit interface unit consists of a Lassen iq GPS module attached to an interface motherboard, housed in a sturdy metal enclosure. This packaging simplifies testing and evaluation of the module by providing two RS-232 serial interfaces which are compatible with most PC communication ports. Power (9-32 VDC) is supplied through the power connector on the front of the interface unit. The motherboard features a switching power supply which converts this voltage input to the 3.3 volts required by the module. The two DB9 connectors allow for easy connection to a PC serial port using the serial interface cable provided in the Starter Kit. The metal enclosure protects the module and the motherboard for testing outside of the laboratory environment. The Lassen iq GPS receiver is a single module encased in a sturdy metal enclosure. The dimensions of the receiver in this enclosure are 26 mm H x 26 mm L x 6 mm H (1.02 W x 1.02 L x 0.24 H). A straight-in, panel-mount RF connector (J1) supports the GPS antenna connection. The center conductor of the coaxial connector also supplies +3.3 VDC for the Low Noise Amplifier of the active antenna. An 8-pin (2x4), 0.09 inch header (J2) supports the two serial interfaces (CMOS TTL level), the pulse-per-second (PPS) signal (CMOS TTL level), and the input power (+3.3 VDC). Figure 1.1 illustrates the module in the metal enclosure, motorola v3 hab error 0x4e. 8 Lassen iq GPS Receiver

19 Starter Kit 1 Bottom Shield Top Shield Figure 1.1 Lassen iq GPS receiver Module The interface motherboard includes a 9 to 32 VDC switching power supply which provides regulated +3.3 VDC power to the receiver, and contains circuitry which provides two RS-232 interface ports. A 3.6V lithium backup battery enables quick hot starts. The TTL level PPS is brought directly out to Pin 9 of the Port 2 DB9 connector on the front of the interface unit. The Starter Kit includes an AC/DC converter for powering the module from an AC wall socket. The metal enclosure (see Figure 1.2.) provides 2 DB9 interface port connectors, an antenna connector, and a power connector. Port 1 and Port 2 are used for serial I/O. Lassen iq GPS Receiver 9

20 1 Starter Kit The mounting plate is secured to the metal enclosure with four screws. The eight pin I/O header on the receiver module connects to a mating connector on a ribbon cable. The ribbon cable motorola v3 hab error 0x4e attached to a mating I/O connector on the interface motherboard. Figure 1.2 illustrates the Starter Kit interface unit. Port 2 Port 1 Figure 1.2 Starter Kit Interface Unit 10 Lassen iq GPS Receiver

21 Starter Kit Serial Port Interface The Starter Kit interface unit is a DCE (Data Communication Equipment) device. To connect to a host computer, or DTE (Data Terminal Equipment) device, use a straight through cable, motorola v3 hab error 0x4e. To connect a Differential Radio (DCE device) to the receiver (DCE Device) use a cross over cable or null modem cable. Table 1.2 Port 1 Pinouts Pin Description 1 NC 2 TX 3 RX 4 NC 5 GND 6 NC 7 NC 8 NC 9 NC Table 1.3 Port 2 Pinouts Pin Description 1 NC 2 TX 3 RX 4 NC 5 GND 6 NC 7 NC 8 NC 9 PPS Out Lassen iq GPS Receiver 11

22 1 Starter Kit Pulse-Per-Second (PPS) The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 9 of the port 2 DB9 connector of the interface unit (see Table 1.3). The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise time. The PPS can drive a load up to 5mA without damaging the module. Motorola v3 hab error 0x4e falling edge of the pulse should not be used. The PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and generates position fixes. The PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the receiver is not tracking satellites, is unspecified and should not be used for synchronization. Note Trimble has measured better than 50 nanosecond accuracy on the Lassen iq GPS receiver s PPS signal in static mode, motorola v3 hab error 0x4e. For more information on use of the Lassen iq GPS receiver in timing applications, contact your Trimble sales representative. 12 Lassen iq GPS Receiver

23 Starter Kit Power The Lassen iq GPS receiver receiver is designed for embedded applications and requires a regulated +3.3 VDC input (+3.0 to +3.6 VDC). The receiver provided in the Starter Kit is installed on a motherboard, providing a DC power regulator which converts a 9 to 32 VDC input to the regulated 3.3 VDC required by the receiver. Power can be applied motorola v3 hab error 0x4e the interface unit using one of three options: the DC power cable (Figure 1.3), the AC/DC power converter (Figure 1.4), or the cigarette lighter adapter. Figure 1.3 DC Power Cable The DC power cable is ideal for bench-top or automotive testing environments. The power cable is terminated at one end with a 3-pin plastic connector bios ecc error mates with the power connector on the metal enclosure. The un-terminated end of the cable provides easy connection to a DC power supply. Connect the red power lead to a source of DC positive +9 to +32 VDC, and connect the black power lead to ground. This connection supplies power to both the receiver and the antenna. Note To ensure compliance with CE conducted emissions requirements when using the DC power cable, the Starter Kit interface unit must be bonded to a ground plane, motorola v3 hab error 0x4e. Note The yellow wire of the DC power cable is not used. Battery back-up power is provided by a factory installed 3.6V lithium battery on the motherboard. Lassen iq GPS Receiver 13

24 1 Starter Kit The AC/DC power converter may be used as an alternate power source for the interface unit. The AC/DC power converter converts 110 or 220 VAC to a regulated 12 VDC compatible with the interface unit. The AC/DC power converter output cable is terminated with a 3-pin connector compatible with the power connector solaris error log the metal enclosure. The AC power cable is not provided in the kit, since this cable is country-specific. The input connector is a standard 3-prong connector used on many desktop PCs. Figure 1.4 AC/DC Power Converter 14 Lassen iq GPS Receiver

25 1.8 Hardware Setup Starter Kit 1 The Lassen iq GPS receiver supports the TSIP and NMEA protocols. A single port supports motorola v3 hab error 0x4e the input/output of TSIP messages and the output of NMEA messages. Follow the steps below to setup the Starter Kit interface unit. Figure 1.5 illustrates motorola v3 hab error 0x4e setup. Po we r Supply Lassen iq GPS Starter Kit GPS Re c e iver DCE DCE 9 to 32 VDC DTE Computer GPS Antenna Figure 1.5 Starter Kit Interface Unit Lassen iq GPS Receiver 15

26 1 Starter Kit 1. For use with the TSIP or TAIP protocols, connect one end of the 9-pin serial interface cable to Port 1 (or Port 2 to view NMEA data) of the receiver module. Connect the other end of the cable to COM1 or COM2 on a PC. If your PC has a 25-pin communication port, a 9-pin-to-25-pin adapter may be required for this serial interface connection. 2. Connect the antenna cable to the interface unit. This connection is made by pushing the antenna cable connector onto the MCX connector on the module. Place the antenna so that it has a clear view of the sky. Note To remove the antenna cable, grasp the antenna mating MCX connector and pull from the MCX connector mounted on the interface unit. 3. Using either the DC power cable or an AC/DC power converter, connect to the 3-pin power connector on the interface unit. DC Power Cable connect the terminated end of the power cable to the power connector on the interface unit. Connect the red lead to DC positive voltage (+9 to +32 VDC) and black power lead to DC ground. The yellow wire is not used. Switch on the DC power source. AC/DC Power Converter connect the output cable of the converter to the 3-pin power connector on the interface unit. Using the appropriate 3-prong AC power cable (not provided), connect the converter to an AC wall socket (110 VAC or 220 VAC), motorola v3 hab error 0x4e. The Motorola v3 hab error 0x4e power cable is not provided in the Starter Kit. Warning If the Lassen iq GPS Starter Kit is powered-up and attached to a PC COM port, the Windows operating system may recognize the Starter Kit bus errorcore dump a new serial device and assign it to the mouse driver. This can cause erratic mouse control. To disable serial mouse detection at start-up, add one of the following lines in the BOOT.INI file in the root directory: /NOSERIALMICE (detection is disabled on all serial ports) or /NOSERIALMICE=COMx,COMy,COMz (detection is disabled on one or more specified com ports) 16 Lassen iq GPS Receiver

27 1.9 Software Toolkit Starter Kit 1 The CD provided in the Starter Kit contains the iq_monitor, the iq_chat, and the GPSSK interface programs used to monitor GPS performance and to assist system integrators in developing a software interface for the GPS module. These applications are described in detail in Appendix B, Segfault error linux User's Guide. iq_monitor runs on the Windows 95/98/2000/XP platforms. iq_chat runs under the DOS operating system on a 386 or higher processor. Following are quick start instructions for using the iq_monitor application to monitor the receiver s performance. 1. Connect one end of the serial interface cable to Port 1 of the interface unit. Connect the other end of the cable to the COM port of your PC. 2. Turn on the DC power source or plug in the AC/DC converter. 3. Insert the CD in the computer s CD-ROM drive. 4. The iq_monitor program may be run directly off the CD or it may be copied onto your computer s hard drive. To run the program off the CD, initiate the iq_monitor.exe file. 5. When the iq_monitor screen appears, the TX and RX indicators appear in the lower left corner of the motorola v3 hab error 0x4e bar. A blinking TX indicates that the PC is transmitting commands to motorola v3 hab error 0x4e receiver; a blinking RX indicates that the PC is receiving reports from the receiver. If either of these indicators stop blinking, there is no activity. The PC COM port settings appear in the lower right corner of this same status bar. 6. After a GPS antenna is connected to the receiver and the receiver has achieved a position fix, the transmitted position reports, time, velocity, satellites tracked, and GPS receiver status appear on the screen. The receiver also sends a health report every few seconds, even if satellites are not being tracked. Lassen iq GPS Receiver 17

28 1 Starter Kit Note If the iq_monitor program displays a question mark (?) in a data field, the receiver has not reported a status for this field. If a (?) remains in the data field, the GPS module may not be communicating with the computer. Re-check the interface cable connections and verify the serial port selection and settings. If the communication failure continues after checking all connections and settings, please call the Trimble Technical Assistance Center (TAC) at 1 (800) Lassen iq GPS Receiver

29 CHAPTER 2 Hardware Integration 2 In this chapter: General Description Connectors Power Requirements Serial Interface Pulse-Per-Second (PPS) Mounting GPS Antennas

30 2 Hardware Integration 2.1 General Description Trimble s new Lassen iq GPS receiver adds complete GPS functionality to mobile products, in a postage-stamp-sized footprint with ultra-low power consumption. Using Trimble s breakthrough FirstGPS architecture, the module delivers complete position, velocity and time (PVT) solutions for use in mobile, battery-powered applications such as hand-held devices, PDAs, asset tracking devices, and navigation motorola v3 hab error 0x4e. The Lassen iq GPS module is packaged in a tiny form factor (26 mm x 26 mm x 6 mm, including the metal shield). It typically requires only less than 89 mw of power (at 3.3 VDC). The module includes flash memory for firmware upgrades and storing the user configuration. Figure 2.1 Lassen iq GPS Receiver Board without Shield 20 Lassen iq GPS Receiver

31 Hardware Integration Connectors Digital IO/Power Connector The Lassen iq GPS module uses a single 8-pin (2x4) male header connector for both power and data I/O, motorola v3 hab error 0x4e. The power and I/O connector, J2, is a surface mount micro terminal strip. This connector uses 0.09 inch (2.286mm) high pins on 0.05 inch (1.27mm) spacing. The manufacturer of this connector is Samtec, part number ASP Note See Appendix F for mechanical drawings and specifications. Mating Connectors The customer must supply his own mating connector to the Lassen iq GPS receiver 8-pin (2x4) connector. There are two mating connectors available: Surface-Mount Mating Connector A recommended surface mount mating connector is Samtec s part number CLP When a surface-mount mating connector is chosen, the RF connector must be attached to the Lassen iq GPS module prior to securing the module to the user s PCB. The mounting tabs may be used for securing the Lassen iq GPS module to the PCB when using the surface-mount mating scheme. Lassen iq GPS Receiver 21

32 2 Hardware Integration Cable Strip Mating Connector A low profile, cable strip mating connector is the second I/O mating method. A recommended cable strip part is Samtec s part number FFSD-04-?-XX part. The user will need to substitute the following letters and numbers into the part number when ordering this part where the '?' and 'XX' symbols occur: for the '?' symbol substitute the letter S for single end or D for double end; for the 'XX' symbol substitute the overall length in inches, ± 1/8 inch, with a 2 inch minimum. Since the signals are CMOS TTL level signals, Trimble does not recommend cable lengths of longer than six inches. If the cable strip I/O connector scheme is used, the connector side of the Lassen iq GPS receiver will be facing up motorola v3 hab error 0x4e the mounting tabs will be on the top of the module away from PCB. The RF connector is easily accessible, using this interfacing methodology. Figure 2.2 Cable Strip Mating Connector 22 Lassen iq GPS Receiver

33 Hardware Integration RF Connector The RF connector mounted on the Lassen iq GPS receiver is a Hirose connector, part number H.FL-R-SMT (10) 50 Ohm. The mating RF connector is Hirose H.FL-LP-XXX where Motorola v3 hab error 0x4e depends on the cable type. Figure 2.3 Lassen iq GPS Module with Connectors Possible cable manufactures include the following: 1.48 mm diameter (single shield) cable: CO-6F/FH-SB manufactured by Hitachi Cable Ltd. UL1979 manufactured by Junkosha Co., Ltd. 0.8DS-PBE manufactured by Sumitomo Electric Industry Co., Ltd mm diameter cable (double shield): A12B0733 manufactured a critical error occurred spb mobile shell Junkosha Co., Ltd mm diameter cable (single shield): CXN2571 manufactured by W.L. Gore & Associated, Inc. Lassen iq GPS Receiver 23

34 2 Hardware Integration Trimble offers three antennas for use with the Lassen iq GPS receiver receiver: The Ultra-Compact Embedded Antenna, which mates directly to the RF connector. The Compact Unpackaged Antenna and the Compact Magnetic-Mount Antenna, which mate through the optional RF transition cable to the module s RF connector. For more information on the antennas, see page Digital IO/Power Connector Pinout The digital IO/Power connector pinout information is listed in Table 2.1. Table 2.1 J2 I/O Connector Signals Pin number Function Description 1 TXD A Serial Port A transmit, 3.3 V TTL CMOS 2 GND Ground, Power and Signal 3 RXD A Serial Port A receive, 3.3 V TTL CMOS 4 PPS Pulse-Per-Second, 3.3 V TTL CMOS 5 TXDB Serial port B transmit, 3.3V TTL CMOS 6 RXDB Serial port B receive, 3.3V TTL CMOS 7 Prime Power (VCC) +3.3 VDC to ± 0.3 VDC 8 Battery Backup Power +2.5 VDC to VDC 24 Lassen iq GPS Receiver

35 2.3 Power Requirements Hardware Integration 2 The Lassen iq GPS module requires +3.3 VDC ±0.3 VDC at 33 ma, typical excluding the antenna, motorola v3 hab error 0x4e. The on-board capacitance is 10 µf. An important design consideration for power is the module's internal clock frequency at MHz ± 3 KHz. Interference spurs on prime power in this narrow frequency band should be kept to less than 1mV. The receiver does not require any special power up or down sequencing, motorola v3 hab error 0x4e. The receiver power is supplied through pin 7 of the I/O connector. See Table 2.2 for the +3.3 VDC power specifications. Warning The Lassen iq GPS receiver is ready to accept TSIP commands approximately 2.1 seconds after power -up. If a command is sent to the receiver within this 2.1 second window, the receiver will ignore the command. The Lassen iq GPS receiver will not respond to commands sent within the 2.1 second window and will discard any associated command data. Battery Back-up The Lassen iq GPS receiver provides an input for battery back-up (BBU) power to keep the module's RAM memory alive and to power the real-time clock when the receiver's prime power is turned off. RAM memory is used to store the GPS almanac, ephemeris, and last position. User configuration data, including port parameters and receiver processing options can be stored in non-volatile Flash which does not require back-up power. By using battery back-up, time to first fix in a hot start is reduced to 10 seconds (typical). Though not required, providing BBU power can reduce time to first fix. A 3.6 volt lithium battery used for back-up power can last up to three years. Lassen iq GPS Receiver 25

36 2 Hardware Integration Warning If battery power is not present, the receiver s power can be turned off and then back on to force a system reset and a cold start. The receiver should be off for no less than 3 minutes to ensure that the RAM memory does not retain any old data due to the residual voltage from the power supply. To avoid waiting the 3 minutes, turn the receiver unit back on immediately and issue TSIP command 0x1E with the value 4B. This packet forces a cold start and clears battery backed RAM. Note 2.5V is the minimum allowable battery back-up voltage. When the battery back-up power output drops below 2.5V, the real-time clock may not operate over the specified temperature range. This can also significantly extend the time to first fix. Trimble does not recommend the use of Super Caps as battery back-up. Table 2.2 Power Requirements Signal Voltage Current J2 Pin # VCC 3.0 to ma 7 Battery Back-up 2.5 to µA (at 3.3 volts, +25 C) 8 Ground Note For proper operation when using battery back-up, the voltage value of the battery should be 10% less than the value of the VCC. 26 Lassen iq GPS Receiver

37 end too end error Serial Interface Hardware Integration 2 As an embedded design, the Lassen iq GPS module provides direct CMOS compatible TTL level serial I/O. The RX and TX signals on the J2 I/O connector are driven directly by the DUART on the Lassen iq GPS receiver. Interfacing these signals directly to a UART in your application circuitry provides direct serial communication without the complication of RS-232 or RS-422 line error 001 expected token, but found if. Note The serial I/O signals on J2 are TTL level. They are not inverted or driven to RS-232 levels. Lassen iq GPS Receiver 27

38 2 Hardware Integration 2.5 Serial Port Connections Below are the required connections for the Lassen iq GPS Rx pins when they are not used for communication. This is required for firmware release 1.10 and recommended for all subsequent firmware releases, motorola v3 hab error 0x4e. Table 2.3 Serial Port Connections for Rx Pins Serial Port Pin # Assignment Default Required Connections 1 Pin 3 RxA TSIP-IN High (VCC) (via pullup) 2 Pin 6 RxB RTCM-IN High (VCC) (via pullup) Below are the allowable connections for the Lassen iq GPS Tx pins when the pins are not used for communication. This configuration applies to all firmware versions. Table 2.4 Serial Port Connections for Tx Pins Serial Port Pin # Assignment Default Allowable Connections 1 Pin 1 TxA TSIP-OUT Floating or High (VCC) (via pullup) 2 Pin 5 TxB NMEA-OUT Floating or High (VCC) (via pullup) Note Attaching the Tx lines (pins 1 and 5) to VCC and using pullup resistors is not required. Use of pullup resistors and attaching to VCC on Rx lines (pins 3 and 6) is mandatory (for firmware release 1.10 and recommended for subsequent firmware releases) if these pints are not otherwise connected to the system s communication ports. 28 Lassen iq GPS Receiver

39 Hardware Integration 2 Below are the failure modes that will be experienced if the Lassen iq GPS pins are not connected as recommended (see above). Table 2.5 Serial Port Connections for Tx and Rx Pins Pin # High (VCC) Low (GND) Floating Pin 1 (TxA, SI01 Works Board will be damaged Works Pin 3 RxA, SI01 Works Will never produce a position fix Do not choose this option for firmware release Operation cannot be guaranteed. Failure mode: will never produce a position fix Pin 5 (TxB, SI02 Works Board will be damaged Works Pin 6 RxB, SI02 Works Do not choose this option! Operation cannot be guaranteed. Failure modes: may never produce a position fix, may output potentially bad fixes intermittently Do not choose this option for firmware release Operation cannot motorola v3 hab error 0x4e guaranteed. Failure modes: may never produce a position fix, may output potentially bad fixes intermittently Note The table above indicates that the Tx pins 1 and 5 should not be tied to Ground. As there are no internal pullups or current limiting resistors, tying Tx to Ground will directly pull down the VCC rail through the chip. This will pull excessive current, stressing the chip beyond specification until it eventually fails. Lassen iq GPS Receiver 29

40 2 Hardware Integration Pullup Resistor A pullup motorola v3 hab error 0x4e should be added to the board in the range of 1K to 100K ohms for connecting the above-mentioned pins to VCC, motorola v3 hab error 0x4e. One end of the pullup resistor is connected to the iq pin and the other end is connected to the positive supply voltage VCC. Note The pullup resistor does not have to be powered by VCC. A separate power source can be used, as long as it is not greater than VCC. The minimum power for the pullup is 2.0V. Resistor Impact on PCB Power Consumption The pullups do not affect the Lassen iq GPS power consumption since the resistors will be external to the board. The overall power consumption of the user s PCB will increase slightly. Assuming 3.3V VCC and 100k-pullup resistor, the power consumption increase will be 109uW or 33uA per pullup. With a 1k pullup resistor, the power consumption motorola v3 hab error 0x4e will be 10.9mW or 3.3mA per pullup. To reduce the current draw, the users can choose higher value pullup resistors in the allowable resistor range of 1K-100K ohms. To minimize the overall power consumption of the user s board, 100K ohms pullup can be selected. To keep BOM items to a minimum, the user can choose the highest value resistor used on their board. 30 Lassen iq GPS Receiver

41 2.6 Pulse-Per-Second (PPS) Hardware Integration 2 The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 4 of the power and I/O connector. The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise motorola v3 hab error 0x4e. In early PPS mode, the PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. In it s default mode PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and is getting fixes. In early PPS mode, the PPS is output immediately after main power is applied, motorola v3 hab error 0x4e, and continues even if the receiver loses GPS lock. The drift of the PPS, when the Lassen iq GPS receiver is not tracking satellites, is unspecified and should not be used for synchronization. The PPS output modes can be controlled with TSIP packet 0x35. The modes are Always on (default), Fix Based, or Always Off. Cable delay compensation is available through the use of TSIP packet 0x8E-4A. After a specific mode is selected, it can be stored in non-volatile memory (FLASH) using TSIP command 0x8E-26. For more information, see Appendix A. Note Trimble Navigation has measured better than 50 nanoseconds accuracy on the Lassen iq GPS receiver PPS signal in static mode. For more information on the use of the Lassen iq GPS module in timing applications, contact your Trimble sales representative. Lassen iq GPS Receiver 31

42 2 Hardware Integration 2.7 Mounting The Motorola v3 hab error 0x4e iq GPS PCB is encased in a metal enclosure, motorola v3 hab error 0x4e. The enclosure acts as a protective case. There are four mounting solder tabs on the bottom of the enclosure. When the surface-mount mating connector is used, the mounting tabs may be used for securing the Lassen iq GPS module on the user s PCB. When the cable strip I/O connector scheme is used, the connector side of the Lassen iq GPS module will be faced up and the mounting tabs will be on the top of the module away from PCB. The Lassen iq GPS module can be attached to the integrator platform by many methodologies including solder, glue, double sided adhesive tape, and custom hold down mounts for the module's mounting tabs. Note See Appendix F for mechanical drawings and specifications regarding the spacing of the mounting tabs and the dimensions of the enclosure. 32 Lassen iq GPS Receiver

43 2.8 GPS Antennas Hardware Integration 2 The antenna receives the GPS satellite signals and passes them to the receiver. The GPS signals are spread spectrum signals in the 1575 MHz range and do not penetrate conductive or opaque surfaces. Therefore, the antenna must be located outdoors with a clear view of the sky. The Lassen iq GPS receiver requires an active antenna. The received GPS signals are approximately -130 dbm, at the surface of the earth (in typical environments). Trimble's active antennas include a preamplifier that filters and amplifies the GPS signals before delivery to the receiver. Trimble offers three antennas for use with the Lassen iq GPS receiver described below and in Appendix D. 1. The Ultra-Compact Embedded GPS Antenna with an HFL connector, is ideal for portable and mobile applications. This unpackaged antenna is approximately the same size as the module itself, and can be easily error loading gadgert win7 into mobile applications. This antenna is supplied with the Starter Kit (see Figure 2.4). 2. A Compact Unpackaged Antenna with an MCX connector, slightly larger than the ultra-compact model (see #1 above), mates to the Hirose connector on the Lassen iq GPS module with an optional RF transition cable (see Figure 2.5). Lassen iq GPS Receiver 33

44 2 Hardware Integration 3. A Compact Magnetic-Mount GPS Antenna with a 5 m cable and an MCX or SMA connector. This antenna provides for a flexible, movable installation. The MCX or SMA output connector mates to the Hirose connector on the Lassen iq GPS module with an optional RF transition cable. The antenna with the MCX connector is supplied with the Starter Kit (see Figure 2.6). The MCX connector on the end of the antenna cable mates to the MCX connector in the front of the Starter Kit interface unit. The two screw holes on the bottom of the antenna can be used to mount the antenna to a metal plate. The dimensions of these holes are 2.06 mm in diameter and 5mm in depth. Warning When magnetic-mount or permanent-mount GPS antennas are installed on a metal surface for prolonged periods, care must be motorola v3 hab error 0x4e to insulate the antennas in order to prevent galvanic corrosion. 34 Lassen iq GPS Receiver

45 Hardware Integration 2 Figure 2.4 Ultra-Compact Embedded GPS Antenna Figure 2.5 Compact Unpackaged GPS Antenna Figure 2.6 Compact Magnetic-Mount GPS Antenna Lassen iq GPS Receiver 35

46 2 Hardware Integration 36 Lassen iq GPS Receiver

47 CHAPTER 3 Software Interface 3 In this chapter: Start-up Communicating with the Lassen iq GPS Receiver Port Protocol and Data Output Options Custom Port Configuration When prompted, select the factory default option.

48 3 Software Interface 3.1 Start-up Lassen iq GPS receiver module is a complete 12-channel parallel tracking GPS receiver designed to operate with the L1 frequency, standard position service, Coarse Acquisition code. When connected to an external GPS antenna, the motorola v3 hab error 0x4e contains all the circuitry necessary to automatically acquire GPS satellite signals, track up to 12 GPS satellites, motorola v3 hab error 0x4e, and compute location, speed, heading, and time. The receiver will automatically begin to search for and track GPS satellite signals at power-up. The performance of a GPS receiver at power-on is determined largely by the availability and accuracy of the satellite ephemeris data and the availability of a GPS system almanac. The first time the receiver is powered-up, it is searching for satellites from a cold start (no almanac). While the receiver will begin to compute position solutions within the first two minutes, the receiver must continuously track satellites for approximately 15 minutes to download a complete almanac. This initialization process should not be interrupted. With a complete almanac and back-up power, the time to first fix can typically be shortened to less than 42 seconds. The receiver will respond to commands almost immediately after power-up (see Warning below). Note See Chapter 4 for further detail on ephemeris data and the GPS almanac. Warning The Lassen iq GPS Receiver is ready to accept TSIP commands approximately 2.1 seconds after power -up. If a command is sent to the receiver within this 2.1 second window, the receiver will ignore the command. The Lassen iq GPS Receiver will not respond to commands sent within the 2.1 second window and will discard any associated command data. 38 Lassen iq GPS Receiver

49 Software Interface Communicating with the Lassen iq GPS Receiver The Lassen iq GPS Receiver supports three message protocols: TSIP, TAIP, and NMEA. Communication with the module is through two CMOS compatible, TTL level serial ports. The port characteristics can be modified to accommodate your application requirements. Port parameters can be stored in non-volatile memory (FLASH) which does not require backup power. Table 3.1. lists the default port characteristics Software Tools The Software Tools provided on the Starter Kit CD-ROM include both user friendly Windows and DOS applications to facilitate communication with the receiver, via the Trimble Standard Interface Protocol (TSIP). This CD also includes sample C source code and reusable routines to 619 vpn error windows 7 in developing applications. Note The TSIP, TAIP, and NMEA protocols are discussed beginning on page 42 of this chapter, and in the Appendices of this document. Lassen iq GPS Receiver 39

50 3 Software Interface Port Configuration The Lassen iq GPS receiver module has two I/O ports. Table 3.1 provides the default protocols and port configurations for the receiver, as delivered from the factory. TSIP IN/OUT is the default protocol on Port 1 and RTCM-IN and NMEA-OUT is the default protocol on Port 2. Table 3.1 Default Protocols and Port Configurations Port Input Protocol Php redirect to 404 error page Setup 1 TSIP Baud Rate: 9600 Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control 2 RTCM Baud Rate: 4800 Data Bits: 8 Parity: None Stop Bits: 1 No Flow Control Output Language Default Setup TSIP Baud Rate: 9600 Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control NMEA Baud Rate: 4800 Data Bits: 8 Parity: None Stop Bits: 1 No Flow Control The Lassen iq GPS Receiver can also be configured to output TAIP messages. The Trimble standard port characteristics for TAIP are: Baud Rate: 4800 Data Bits: 8 Parity: None Stop Bits:1 No Flow Control Any standard serial communications program, such as Windows Hyper-Terminal or PROCOMM, can be used to view the NMEA or TAIP output messages. TSIP is a binary schan error intr unit=0 src=13 dst=15 and outputs raw binary serial data that cannot be read when using Windows Terminal or PROCOMM. To view the output of the TSIP protocol in text format, use the iq_chat or the iq_monitor program (see the CD- ROM provided in the Starter Kit). 40 Lassen iq GPS Receiver

51 Software Interface 3 The serial port driver in the iq_chat Tool Kit matches the Lassen iq GPS receiver serial port characteristics. The TSIPPRNT program converts binary data logged with the iq_chat program into text that may be printed and displayed. Both motorola v3 hab error 0x4e these tools are included in the Software Developer s Toolkit. Warning When using the TSIP protocol to change port assignments or settings, confirm that msi 990fxa-gd80 ff error changes do not affect the ability to communicate with the receiver (e.g., selecting the PC COM port settings that do not match the receiver s, or changing the output protocol to TSIP while not using iq_chat). Lassen iq GPS Receiver 41

52 3 Software Interface 3.3 Port Protocol and Data Output Options Protocol Configuration and Interface The factory default I/O protocol for Port 1 of the Lassen iq GPS receiver is the Trimble Standard Interface Protocol (TSIP) for both input and output. The settings for Port 1 are 9600 baud 8-odd-1. The factory default protocol for Port 2 is RTCM-IN and NMEA-OUT. The settings for Port 2 are 4800 baud 8-none-1. The receiver protocol can be re-configured using TSIP command packet 0xBC, in conjunction with iq_chat, iq_monitor, or a user written serial interface program. See Appendix A for details on the 0xBC command packet. iq_chat provides the simplest means to communicate with the receiver using a PC (386 or higher) running either the DOS or Windows operating systems. Responses are displayed on the computer monitor in text format. iq_monitor, a Windows-based GUI, provides a versatile graphical interface for monitoring TSIP data. This application allows the user to view complete receiver operations including data output, status and configuration. In this application, the entry of command packets is replaced by traditional point and click pull-down menus. C source code routines for iq_chat are also provided on the CD contained in the Starter Kit. When used as software design templates, this source code can significantly speed-up code development. The protocol settings and options are stored in battery-backed Random-Access-Memory (BBRAM). They can also be saved into the non-volatile memory (Flash), if desired, using command 0x8E-26. See to Appendix A for additional information on Flash storage for custom operation. 42 Lassen iq GPS Receiver

53 Software Interface TSIP Data Output Modes TSIP is the default protocol for Port 1 on the Lassen iq GPS receiver. This binary language offers users a wide variety of commands and reports. TSIP enables the Lassen iq GPS receiver to operate in two data output modes, both available during operation. In Query Mode, packet data is returned in response to input query packets. In Automatic Mode, a selected group of data packets is output continuously at two fixed rates every second and every five seconds. The format and ensemble of the automatic output packets is configured using packets 0x35, 0x70, and 0x8E-20 (see Appendix A for packet details). Packet settings are stored in BBRAM. They can also be saved in non-volatile memory (Flash) using command packet 0x8E-26. See Appendix A for additional information on Flash storage for custom operation Default TSIP Output Settings Default 0x35 setting (byte 0=2, 1= 2, 2=0, 3=0): Position and velocity data precision: single precision floating point Position output option and format (byte 0 setting): Latitude radian Longitude radian Altitude meters (WGS-84) No super-packet output Velocity output option and format: East Velocity meters/sec.; + for East North Velocity meters/sec.; + for North Up Velocity meters/sec.; + for Up Timing GPS Time Output PPS Always ON Auxiliary/Pseudo Range Measurement Raw Measurements OFF Raw Pseudo Ranges OFF Output AMU values Lassen iq GPS Receiver 43

54 3 Software Interface Default 0x70 setting (byte 0=1, 1=1. 2=1, motorola v3 hab error 0x4e. 3=0): Position-Velocity Dynamic Filter enabled Position-Velocity static Filter enabled Altitude Filter enabled Default 0x8E-20 setting (byte 1 = 1): 0x8F-20 output is included in the super-packet for automatic output IF packet 0x35 selects the super-packet for automatic output options Automatic TSIP Output Packets (fixed rate) One second interval: 0x4A (1) GPS position fix; (2) clock bias and time of fix; {20 byte format} 0x56 velocity fix 0x6D (1) list of satellites used for position fixes; (2) PDOP, HDOP, VDOP; (3) fix mode 0x82 DGPS position fix mode Five second interval: 0x41 (1) GPS time of the week (seconds); (2) extended GPS week number; (3) GPS UTC offset (seconds) 0x46 health of receiver 0x4B (1) Machine/Code ID; (2) Real-time-clock availability status; (3) almanac validity status; (4) having super-packet support status 44 Lassen iq GPS Receiver

55 Software Interface Packet Output Order After power up or a software reset (packet 0x1E), seven start-up packets are sent, only once, by the receiver in this order: 45, 46, 4B, motorola v3 hab error 0x4e, 4A, 56, 41, 82 Before position fixes are available, the 1 second and 5 second interval packets are sent in this order, periodically: Every one second for 5 seconds: 6D, 82 Every five seconds 41, 46, 4B When position fixes are available, the 1 second and 5 second interval packets are sent in this order, periodically: Every one second for 4 seconds: 4A, 56, 6D, 82 Every 5 seconds: 4A, 56, 41, 46, 4B, 6D, motorola v3 hab error 0x4e, 82 Lassen iq GPS Receiver 45

56 3 Software Interface NMEA 0183 Protocol and Data Output Options The National Marine Electronics Association (NMEA) protocol is an industry standard data protocol which was developed for the marine industry. Trimble has chosen to adhere stringently to the NMEA 0183 data specification as published by the NMEA. The Lassen iq GPS receiver also adheres to the NMEA 0183, Version 3.0 specification. NMEA data is output in standard ASCII sentence formats. Message identifiers are used to signify what data is contained in each sentence. Data fields are separated by commas within the NMEA sentence. In the Lassen iq GPS receiver, NMEA is an output only protocol. The NMEA protocol is described in detail in Appendix E. The receiver is shipped from the factory with the TSIP protocol configured on Port 1 and RTCM-IN/NMEA-OUT on Port 2. The Port 2 characteristics conform to the NMEA industry standard: 4800 baud 8 motorola v3 hab error 0x4e bits No parity 1 stop bit No flow control The receiver can be reconfigured using TSIP command packet 0xBC, in conjunction with iq_chat, iq_monitor, or a user written serial interface program. The NMEA output messages selection and message output rate can be set using TSIP command packet 0x7A. The default setting on Port 2 is to output the GGA and VTG messages at a 1 second interval, motorola v3 hab error 0x4e. If the NMEA configuration is permanently changed for the application, the protocol configuration (0xBC) and NMEA message output setting (0x7A) can be stored in the non-volatile memory (onboard FLASH) using TSIP command 0x8E Motorola v3 hab error 0x4e iq GPS Receiver

57 3.4 Custom Port Configuration Software Interface 3 iq_chat can be used to customize the Lassen iq GPS receiver configuration settings and to save a configuration to non-volatile memory. The most recent port configuration is stored in BBRAM. This eliminates the need to repeat setup each time the receiver power is cycled. However, if the battery-backed power is accidentally lost, the port configuration automatically resets to either what was saved in the non-volatile memory (FLASH) or to the factory default. Tip To ensure continuous operation, store all port configuration changes in the non-volatile memory. Following are step-by-step instructions for using iq_chat to customize Lassen iq GPS receiver port configuration. Customizing the Configuration 1. Insert the CD in the CD-ROM drive of your computer. runtime error 7777. Open a DOS window and set the path to the iq_chat location. 3. To run the program, type iq_chat c1 if attached to PC COM1, or type iq_chat c2 if attached to PC COM2. 4. Power-up the receiver. Automatic report streams should be scrolling up in the DOS window. Assuming that your receiver is set to the default configuration, the settings will be: 9600 baud, 8-odd-1. Note If data is not being output after receiver power up, use the ^I command in iq_chat to reset the COM1/COM2 setting in PC (not the receiver). Tip Entering? uncorrectable errors count the iq_chat window displays all the available commands and their corresponding TSIP packets. Lassen iq GPS Receiver 47

58 3 Software Interface 5. To re-configure the port settings and protocol, motorola v3 hab error 0x4e, type U and respond to the input prompts. At the end of this procedure, select the option that resets the PC COM port to match the new settings. Communication should resume almost immediately. Saving the Configuration 1. Before storing the new configuration in FLASH, confirm that the receiver has been configured to the desired settings. Warning Record the new serial port settings. If power is lost, this will speed-up recovery. Alternatively, the receiver can always be returned to the default configuration. 2. To save the configuration to Flash: Enter = to access the command list page for the 0x8E command packet. Enter s, to send the 0x8E-26 command packet. Communication is momentarily suspended while the configuration is being stored in Flash. 3. To confirm that the configuration changes have been saved, turn-off the power supply and the battery back-up for a few minutes. Then, power-up the receiver and confirm that the configuration changes have been retained. Alternatively, you can use Packet 1E to command a cold start. Note Command packet 0x8E-26 executes storage of various types of receiver settings in addition to the port and protocol. See Table 3.2 for a complete list of the settings that can be stored in FLASH memory. 48 Motorola v3 hab error 0x4e iq GPS Receiver

59 Software Interface 3 Returning to the Factory Settings At any time, the receiver can be returned to the factory default configuration, using command packet 0x1E. 1. Type ^k to invoke the 0x1E command. 2. When prompted, select the factory default option. Table 3.2 iq_chat Command Settings Stored in Flash Memory Command Packet 0x8E-26 TSIP Command ID iq_chat Keystroke Description 0x35 O TSIP input/output formatting Superpacket output (on/off) Position format (LLA and/or ECEF) Precision (double or single) altitude format (MSL or HAE) Timetag format (GPS or UTC) PPS modes TSIP Response ID 0x55 SNR format (AMU or C/N 0 Automatic pseudorange output 0x69 e Enhanced Sensitivity Mode Control 0x70 l Position filter controls Position filter on/off Static filter on/off Altitude filter on/off 0x7A q NMEA message formats and schedule NMEA output messages NMEA output interval 0x7e a TAIP message formats and schedules 0x89 0x70 0x7B 0x7F Lassen iq GPS Receiver 49

60 3 Software Interface Table 3.2 iq_chat Command Settings Stored in Flash Memory Command Packet 0x8E-26 (Continued) TSIP Command ID iq_chat Keystroke Description 0xBB p GPS configuration parameters Operating dimension (2D, 3D.) DGPS mode Dynamics mode Elevation mask SNR mask DOP mask PDOP switch DGPS correction age 0xBC U Serial port configuration Protocol: input, output Baud, data bits, parity, stop bits 0x8E-20 = g Fixed point superfix control (default = on) TSIP Response ID 0xBB 0xBC 0x8F Lassen iq GPS Receiver

61 3.5 Timing Applications Software Interface 3 The Lassen iq GPS receiver is an excellent source for accurate system timing. Two examples of applications requiring accurate time are environmental data acquisition and synchronization of communications networks. The timing functions of the receiver are supported by the TSIP protocol and the PPS signal. See Report Packet 0x41 or Super Packet 0x8F-20 in Appendix A for a description of the time function reports for TSIP. Note GPS time differs from UTC (Universal Coordinated Time) by a variable integer number of seconds: UTC = (GPS time) - (GPS UTC Offset) As of April 2002, the GPS UTC offset was 13 seconds. The offset increases by 1 second approximately every 18 months. System designers should plan to read the offset value as a part of the timing interface to obtain UTC. The GPS week number is in reference to a base week (Week #0), starting January 6, The current GPS UTC offset is contained within the almanac transmitted by the GPS system. The Lassen iq GPS Receiver must have a complete almanac before the offset data is valid. Note As of January 2005, the GPS Control Organization has not added leap seconds on the usual 18 month schedule. As a result, the offset has remained at 13 seconds Extended GPS Week Number The Lassen iq GPS Receiver outputs the Extended GPS Week Number as the absolute number of weeks since the beginning of GPS time or January 6, If the true GPS Week Number is desired, ignore the extra MSBs of the Extended GPS Week Number and use only the 10 LSBs (bytes 4 and 5 of Packet 0x41). Note After week number 2331, in year 2024, the TSIP week number rolls back to All dates reported in NMEA and TAIP, will be invalid. Lassen iq GPS Receiver 51

62 3 Software Interface 3.6 Known Anomalies in Firmware Release 1.10 The vb runtime error 424 object required are know anomalies found in Lassen iq FW v1.10. These anomalies will be fixed in all follow on versions: Position outages during the Weekend Rollover The receiver would experience satellites being dropped and thus several seconds of position outages during the weekend rollover, which happens during Saturday to Sunday at midnight each week. This anomaly is found in Lassen iq GPS receiver firmware version 1.10 and will be fixed in all future firmware releases. Position outages during WNRO (Week Number Rollover) The receiver would experience satellites being dropped and thus several seconds of position outages during the next week number rollover, which will happen on April 7, 2019 (GPS time). This problem is caused by the End-Of-the-Week Rollover problem as End-Of-the-Week Rollover occurs during WNRO. This anomaly is found in Lassen iq GPS receiver firmware version 1.10 and will be fixed in all future firmer releases. Extended TTFF times in year The user would experience extended warm and hot startup times between years 2023 to This anomaly is found in the Lassen iq GPS receiver firmware version 1.10 and will be fixed in all future firmware releases. Static Filter issue The static filter can be turned and stay on/off, based on user configuration or by TSIP packet 0x70. However, when it is set to off, it will be turned on internally after 255 position fixes are generated. The query on the status of the static filter would still indicate that it is being turned off even though it has been turned on internally. This anomaly is found motorola v3 hab error 0x4e Lassen iq GPS receiver firmware version 1.10 and will be fixed in all future firmer releases. TSIP packet 0x65 is not functional in Lassen iq GPS receiver FW v1.10, motorola v3 hab error 0x4e. It will be fixed in all future firmware releases. 52 Lassen iq GPS Receiver

63 CHAPTER 4 Operation and Performance 4 In this chapter: Introduction GPS Satellite Message Satellite Acquisition and Time to First Fix Satellite Mask Settings Standard Operating Modes Position Accuracy Coordinate Systems Performance Characteristics Lassen iq GPS Receiver Sensitivity Modes Lassen iq GPS Receiver Aided GPS Feature GPS Timing System Architecture

64 4 Operation and Performance 4.1 Introduction This chapter describes the Lassen iq GPS receiver satellite acquisition and tracking processes, performance characteristics, and system architecture. This discussion assumes that you are familiar with the basic theory of the Global Positioning System. Before proceeding to the detailed discussion of the satellite acquisition and tracking process, please review the GPS satellite message description on the next page. The Lassen iq GPS receiver satellite acquisition and motorola v3 hab error 0x4e algorithms can achieve a position solution without any initialization. The receiver automatically selects and tracks the best combination of satellites to compute position and velocity. As satellites move out of view, the Lassen iq GPS receiver automatically acquires new satellites and includes them in the solution set as required. 54 Lassen iq GPS Receiver

65 4.2 GPS Satellite Message Operation and Performance 4 Every GPS satellite transmits the Coarse/Acquisition (C/A) code and satellite data modulated onto the L1 carrier frequency ( MHz). The satellite data transmitted by each satellite includes a satellite almanac for the entire GPS system, its own satellite ephemeris and its own clock correction. The satellite data is transmitted in 30-second frames. Each frame contains the clock correction and ephemeris for that specific satellite, and two pages of the 50-page GPS system almanac. The almanac is repeated every 12.5 minutes. The ephemeris is repeated every 30 seconds. The system almanac contains information about each of the satellites in the constellation, ionospheric data, and special system messages. The GPS system almanac is updated weekly and is typically valid for months. The ephemeris contains detailed orbital information for a specific satellite. Ephemeris data changes hourly, but is valid for up to four hours. The GPS control segment updates the system almanac weekly and the ephemeris hourly through three ground-based control stations. During normal operation, the Lassen iq GPS receiver module updates its ephemeris and almanac as needed. The performance of a GPS receiver at power-on is determined largely by the availability and accuracy of the satellite ephemeris data and the availability of a GPS system almanac. Lassen iq GPS Receiver 55

66 4 Operation and Performance 4.3 Satellite Acquisition and Time to First Fix Cold-Start The term cold-start describes the performance of a GPS receiver at power-on when no navigation data is available. cold signifies that the receiver does not have a current almanac, satellite ephemeris, initial position, or time, motorola v3 hab error 0x4e. The cold-start search algorithm applies to a Lassen iq GPS receiver which has no memory of its previous session (i.e., is powered on without the memory backup circuit connected to a source of DC power). This is the out of the box condition of the GPS module as received from the factory. In a cold-start condition the receiver automatically selects a set of twelve satellites and dedicates an individual tracking channel to each satellite, to search the Doppler range frequency for each satellite in the set. If none of the twelve selected satellites is acquired after a predetermined period of time (time-out), the receiver will select a new search set of twelve satellites and will repeat the process, until the first satellite is acquired. As satellites are acquired, the receiver automatically collects ephemeris and almanac data. The Lassen iq GPS receiver uses the knowledge gained from acquiring a specific satellite to eliminate other satellites, those below the horizon, from the search set. This strategy speeds the acquisition of additional satellites required to achieve the first position fix. The cold-start search sets are established to ensure that at least three satellites are acquired within the first two time-out periods. As soon as three satellites are found, the receiver will compute an initial position fix. The typical time to first fix is less than 2 minutes. A sqlserver error 1115, cannot generate sspi context system almanac is not required to achieve a first position fix. However, the availability and accuracy of the satellite ephemeris data and the availability of a GPS almanac can substantially shorten the time to first fix, motorola v3 hab error 0x4e. 56 Lassen iq GPS Receiver

67 Operation and Performance Warm Start In a warm-start condition the receiver has been powered down for at least one hour but has stored a current almanac, an initial position, and time, in memory. When connected to an external back-up power source (battery back-up), the Lassen iq GPS receiver retains the almanac, approximate position, and time to aid in satellite acquisition and reduce the time to first fix. When an external back-up battery is not used, the TSIP protocol allows the almanac, an initial position, and time to be uploaded to the receiver via the serial port, to initiate a warm start. During a warm start, the Lassen iq GPS receiver identifies the satellites which are expected to be in view, given the system almanac, the initial position and the approximate time. The receiver calculates the elevation and expected Doppler shift for each satellite in this expected set and directs the twelve tracking channels block 768 error uncr a parallel search for these satellites. The warm start time to first fix, when the receiver has been powered down for more than 60 minutes (i.e. the ephemeris data is old), is usually less than 45 seconds Hot Start A hot start strategy applies when the Lassen iq GPS receiver has been powered down for less than 60 minutes, and the almanac, position, ephemeris, and time are valid. The hot start search strategy is similar to a warm start, but since the ephemeris data in memory is considered current and valid, the acquisition time is typically less than 20 seconds. Lassen iq GPS Receiver 57

68 4 Operation and Performance Garage Search Strategy During a warm start search, the Lassen iq GPS receiver knows which satellites to search for, based on the system almanac, the initial position (last known position) and the current time. In some cases, the receiver may not be able to acquire the expected satellite signals (e.g., a vehicle parked in a garage or a vessel in a covered berth). Trimble's patented garage search strategy, also known as a split search, motorola v3 hab error 0x4e, is designed for such situations. If the receiver does not acquire the expected set of satellites within 5 minutes of power-on, motorola v3 hab error 0x4e, some of the twelve tracking channels will continue to search for the expected satellites (warm search) while the remaining channels are directed in a cold start search. This strategy minimizes the time to first fix in cases where the stored almanac, position and time are invalid. The stored information is flushed from memory, if the cold start search proves effective and the warm search fails System Reset The Lassen iq GPS receiver can be reset with software commands or by cycling power. A system reset will cause the receiver to restart and begin the satellite acquisition and tracking process again. There are three types of system resets: soft reset, hard reset, and factory reset. The TSIP protocol supports all three resets using the 0x1E command. Power cycling can be used for either the soft reset or the hard reset, motorola v3 hab error 0x4e. A soft reset is a system restart. In a soft reset, the system will attempt to acquire satellites using the satellite information and last position data stored in RAM, and the time information supplied by the realtime clock. There are two ways to initiate a soft reset: Cycling main power while keeping the memory and the realtime clock alive with back-up power. Issuing Command Packet 0x25. A soft reset is the same as a warm or motorola v3 hab error 0x4e start, if the information contained in memory and supplied by the real-time clock is valid. 58 Lassen iq GPS Receiver

69 Operation and Performance 4 A hard reset is a system restart that results in satellite acquisition search using a default search set. Any data contained within RAM memory is discarded and the real-time clock is re-initialized, motorola v3 hab error 0x4e. Even if back-up power is supplied, the information from memory and the realtime clock is not used. There are two ways to initiate a soft reset: Issuing the 0x1E command with a value of 0x4B. Cycling power without back-up power applied. Using this method, power must be removed for at least 3 minutes to ensure any residual memory storage is erased. If power is cycled rapidly, the 0x1E command with a value of 0x4B must then be issued to the receiver 2.5 seconds after power is restored to ensure a hard reset. A factory reset is used to restore all the factory default settings into the receiver. Any user settings stored in Flash memory will be erased. Issuing the 0x1E command with a value of 0x46 will initiate a factory reset. Lassen iq GPS Receiver 59

70 4 Operation and Performance 4.4 Satellite Mask Settings Once the Lassen iq GPS receiver has acquired and locked onto a set of satellites, which pass the mask criteria listed in this section, and has obtained a valid ephemeris for resetscore.amxx run time error satellite, it will output regular position, velocity and time reports according to the protocol selected. The default satellite masks observed by the Lassen iq GPS receiver are listed in Table 1. These masks serve as the screening criteria for satellites used in fix computations and ensure that position solutions meet a minimum level of accuracy. The Lassen iq GPS receiver will only output position, course, speed and time when a satellite set can be acquired which meets all of the mask criteria. The satellite masks can be adjusted in GPS receivers accepting the TSIP protocol. (See Appendix A for details on key motorola v3 hab error 0x4e parameters.) Table 4.1 Satellite Mask Settings Mask Setting Elevation 5 SNR 2 PDOP 12 PDOP Switch 6 60 Lassen iq GPS Receiver

71 Operation and Performance Elevation Mask Satellites below a 5 elevation are not used in the position solution. Although low elevation satellites can contribute to a lower/better PDOP, the signals from low elevation satellites are poorer quality, since they suffer greater tropospheric and ionospheric distortion than the signals from higher elevation satellites. These signals travel further through the ionospheric and tropospheric layers. In addition, low elevation satellites can contribute to frequent constellation switches, since the signals from these satellites are more easily obscured by buildings and terrain. Constellation switches can cause noticeable jumps in the position output. Since worldwide GPS satellite coverage is generally excellent, it is not usually necessary to use satellites below a 5 elevation to improve GPS coverage time. In some applications, like urban environments, a higher mask may be warranted to minimize the frequency of constellation switches and the impact of reflected signals SNR Mask Although the Lassen iq GPS receiver is capable of tracking signals with SNRs as low as 0, the default SNR mask in Standard Sensitivity Mode is motorola v3 hab error 0x4e to 2 to eliminate poor quality signals from the fix computation and minimize constellation switching. Low SNR values may result from: Low Elevation Satellites Partially Obscured Signals (e.g. Dense Foliage) Multi-Reflected Signals (Multi-Path) The distortion of signals and the frequent constellation switches associated with low-elevation satellites were discussed above. In mobile applications, the attenuation of signals by foliage is typically a temporary condition. Since the Warning mysql error iq GPS receiver can maintain lock on signals with SNRs as low as 0, it offers excellent performance when traveling through heavy foliage. Lassen iq GPS Receiver 61

72 4 Operation and Performance Multi-reflected signals, also known as Multi-path, can degrade the position solution. Multi-path is most commonly found in urban environments with many tall buildings and a preponderance of mirrored glass, which is popular in modern architecture. Multireflected signals tend to be weak (low SNR value), since each reflection attenuates the signal. By setting the SNR mask to 3 or higher, the impact of multi-reflected signals is minimized DOP Mask Position Dilution of Precision (DOP) is a measure of the error caused by the geometric relationship of the satellites used in the position solution. Satellite sets which are tightly clustered or aligned in the sky will have a high DOP and will contribute to a lower position accuracy. For most applications, a DOP mask of 12 offers a satisfactory trade-off between accuracy and GPS coverage time. With world-wide GPS coverage now available, the DOP mask can be lowered even further for many applications without sacrificing coverage PDOP Switch The default positioning mode for the Lassen iq GPS receiver is Automatic. In this mode, the receiver attempts to generate a 3- dimensional (3D) position solution, when four or more satellites meeting the mask criteria are visible. If such a satellite set cannot be found, the receiver will automatically switch to 2-dimensional (2D) mode. The PDOP switch establishes the trade-off between 3D positioning and PDOP. With the PDOP Switch set to 6, the receiver will compute a 2D position with a HDOP below 6 rather than a 3D position with a PDOP greater than 6, even when four or more satellites are visible, motorola v3 hab error 0x4e. Note PDOP Switch is only used in Auto mode. 62 Lassen iq GPS Receiver

73 4.5 Standard Motorola v3 hab error 0x4e Modes Operation and Performance 4 The tracking mode controls the allocation of the receiver's tracking channels and the method used for computing position fixes Fix Modes The Lassen iq GPS receiver offers three positioning modes: 2D Manual, 3D Manual, and Automatic 2D/3D. Automatic 2D/3D is the default mode for the Lassen iq GPS receiver. The positioning mode can be modified in receivers accepting TSIP commands. (See Appendix A for more information on the TSIP protocol.) 2D Manual In 2D Manual mode, the Lassen iq GPS receiver will only generate 2-dimensional (2D) position solutions (latitude and longitude only), regardless of the number of visible satellites. If the altitude is not entered, the receiver uses zero as the default altitude. The greater the deviation between the actual and default altitudes, the greater the error in the 2D position. For TSIP applications, enter local altitude in MSL/HAE via TSIP packet 2AH (see Appendix A). 3D Manual In manual 3D mode, the Lassen iq GPS receiver will only generate 3-dimensional (3D) position solutions (latitude, longitude, and altitude). A 3D solution requires at least four visible satellites which pass the mask criteria. If less than four conforming satellites are visible, motorola v3 hab error 0x4e, the Lassen iq GPS receiver will suspend position data outputs. Lassen iq GPS Receiver 63

74 4 Operation and Performance 2D/3D Automatic The default operating mode for the Lassen iq GPS receiver is 2D/3D Automatic. In this mode, the Lassen iq GPS receiver attempts to generate a 3-dimensional (3D) position solution, if four or more satellites meeting the mask criteria are visible. If only three satellites are visible which meet the mask criteria, the Lassen iq GPS receiver will automatically switch to 2-dimensional (2D) mode and will use the last calculated altitude, if available, or the default altitude in the position solution. In 2D/3D Automatic mode, the PDOP switch is active Differential GPS Operating Modes The default mode for the Lassen iq GPS receiver is DGPS Automatic, motorola v3 hab error 0x4e. The receiver supports three DGPS Modes: On, Off, and Automatic. The mode may be changed by issuing the appropriate TSIP command (see Appendix A for details). DGPS On When DGPS On is selected, the Lassen iq GPS receiver will only provide differential GPS solutions. If the source of the correction data is interrupted or becomes invalid, the receiver will suspend output of all position, course and speed data. When a valid source of correction data is restored, the receiver will resume outputting data. DGPS Off When DGPS Off is selected, the Lassen iq GPS receiver will not provide differential GPS solutions even if a valid source of correction data is supplied. In this mode, the receiver will only supply standard GPS position data. 64 Lassen iq GPS Receiver

75 Operation and Performance 4 DGPS Automatic DGPS Automatic is the default operating mode for the Lassen iq GPS receiver. In this mode, the receiver will provide differential GPS suitableness when valid correction data is available. If a set of differentially correctable satellites cannot motorola v3 hab error 0x4e found which meet the satellite mask settings, the receiver will transition to output standard GPS solutions. The Lassen iq GPS receiver automatically switches between DGPS and standard GPS based on the availability of valid correction data. Differential GPS Operation The Lassen iq GPS receiver is capable of accepting and decoding RTCM-104 data, the industry standard protocol for differential correction data. The receiver is configured to accept RTCM SC-104 correction data over Port 2 (PIN 6). Alternatively, you can use TSIP packet 60 or the TAIP DC message to ami bios 2.6 error differential corrections through the primary serial port (PIN 3). 4.6 Position Accuracy GPS position accuracy is degraded by atmospheric distortion, satellite geometry, satellite clock errors, and receiver clock errors. Effective models for atmospheric distortion of satellite signals have been developed to minimize the impact of tropospheric and ionospheric effects. The impact of satellite clock errors is minimized by incorporating the clock corrections transmitted by each satellite used in the position solution. Lassen iq GPS Receiver 65

76 4 Operation and Performance 4.7 Coordinate Systems Once the Lassen iq GPS receiver achieves its first fix, it is ready to commence output of position, velocity, and time information. This information is output over serial communication channel in either the TSIP or NMEA protocol, as determined by the settings of the receiver. These protocols are defined in the Appendices. To change from one protocol to another, see Appendix A TSIP Coordinate Systems TSIP has the widest choice of coordinate systems. The output format is chosen by TSIP command 0x35. The output formats include the following: LLA position Latitude, longitude, motorola v3 hab error 0x4e, altitude (LLA) according to the WGS-84 ellipsoid. Altitude can be chosen to be height above ellipsoid (HAE) or height above mean sea level (MSL). ENU velocity ENU velocity is the velocity in East, North, and Up coordinates. These coordinates are easily converted to speed and heading. ECEF position and velocity ECFF position and velocity is Earth-Centered, Earth-Fixed frame is a Cartesian coordinate frame with its center at the earth's center, the z-axis through the North Pole, and the x-axis through longitude 0 degrees, latitude 0 degrees, motorola v3 hab error 0x4e. Velocity is reported relative motorola v3 hab error 0x4e the same axes. 66 Lassen iq GPS Receiver

77 Operation and Performance 4 There are also two time coordinate systems: GPS time GPS time is determined by an ensemble of atomic clocks operated by the Department of Defense (DOD). UTC time UTC time is the world standard maintained by an ensemble of atomic clocks operated by government organizations around the world, motorola v3 hab error 0x4e. UTC time replaced GMT (Greenwitch Mean Time) as the world standard, in GPS time is steered relative to Universal Coordinated Time (UTC). GPS does not recognize leap seconds resulting in a situation where GPS time is currently 13 seconds ahead of UTC time. Time tags for most output messages can be in either UTC time or GPS time, as chosen by TSIP command 0x NMEA 0183 The NMEA 0183 protocol only supports LLA format and UTC time. Velocity is always described as horizontal speed and heading; vertical speed is not output. Lassen iq GPS Receiver 67

78 4 Operation and Performance 4.8 Performance Characteristics Update Rate The Lassen iq GPS receiver computes and outputs position solutions once per second, on the second. NMEA outputs can be scheduled at a slower rate using TSIP error number 0x800ccc0f windows mail vista 0x7A (see Appendix A). TAIP outputs may be controlled with TSIP packet 0x7E Dynamic Limits The dynamic operating limits for the Lassen iq GPS receiver are listed below. These operating limits assume that the GPS module is correctly embedded and that the overall system is designed to operate under the same dynamic conditions. Table 4.2 Lassen iq GPS Receiver Operating Limits Operation Limit Acceleration 4 g (39.2 m/s 2 ) Jerk 20 m/s 3 Speed Altitude 500 m/s 18,000 m Note The Lassen iq GPS Receiver firmware contains an algorithm that allows either the speed limit or altitude limit to be exceeded, but not both. This allows the receiver to be used in high altitude (research balloon) applications without a special factory configuration. 68 Lassen iq GPS Receiver

79 Operation and Performance Re-Acquisition Re-acquisition time for a momentary signal blockages is typically under 2 seconds. When a satellite signal is momentarily interrupted during normal operation, the receiver continues to search for the lost signal at the satellite's last known Doppler frequency. If the signal is available again within 15 seconds, the receiver will normally re-establish track within two seconds. If the lost signal is not re-acquired within 15 seconds, the receiver initiates a broader frequency search. The receiver will continue to search for the satellite until it falls below the elevation mask. Lassen iq GPS Receiver 69

80 4 Operation and Performance 4.9 Lassen iq GPS Receiver Sensitivity Modes The Lassen iq GPS receiver features two sensitivity modes: Standard Sensitivity (default) and Enhanced Sensitivity Standard Sensitivity Mode In the Standard Sensitivity mode, the receiver acquires GPS satellite signals in Cold Start, Warm Start, and Hot Start TTFF using 1 ms PDI (Pre-Detection Integration) setting to search the frequency range, motorola v3 hab error 0x4e. Considering the fact that the minimum integration time of the GPS signal (1 ms PDI) has been applied, the receiver is optimized for faster acquisition times. In the standard mode, the default setting for the AMU mask (Amplitude Measurement Unit) is 2. AMU mask establishes the minimum signal strength that the halo - fatal error will use for GPS (position, velocity and time) calculations. The standard mode settings are AMU Mask = 2 and PDI = 1 ms. These standard mode settings are the factory recommendations for fastest acquisition and best performance under normal motorola v3 hab error 0x4e conditions Enhanced Sensitivity Mode Enhanced Sensitivity mode enables the receiver to acquire lower strength GPS satellite signals and generate position fixes under poor signal conditions. When the Enhanced Mode is enabled, the receiver will begin its search for GPS satellite signals using a 1ms PDI acquisition. If no valid GPS satellite signals are detected after one complete frequency search, the receiver will switch to the extended PDI acquisition of 5 ms. Using a longer PDI allows the unit to detect lower level signals but does require longer to complete the frequency search. 70 Lassen iq GPS Receiver

81 Operation and Performance 4 In addition to the automatic switch to an extended PDI if needed, the Enhanced Sensitivity mode also uses a lower AMU mask. When Enhanced Sensitivity mode is enabled, the AMU mask is immediately set to the lower value of 1.2. This lower setting allows weaker signals to pass the filters of the GPS system and be used for motorola v3 hab error 0x4e the position. The default AMU mask for the Enhanced Sensitivity is 1.2. The user can change the AMU mask to a different value. When this is done, the receiver will overwrite the default setting of 1.2 and use the selected AMU. The enhanced mode settings for the first frequency sweep are AMU Mask= 1.2 and PDI = 1 ms. If the receiver can not acquire after the first frequency sweep, the enhanced mode settings are AMU Mask= 1.2 and PDI = 5 ms. The user will also experience extended startup times Extended Startup Times Due to the extended PDI acquisition in the Enhanced Sensitivity Mode, longer TTFF times (Time to First Fix) is normal. In the Enhanced Sensitivity Mode, the receiver is optimized for increased sensitivity, 6 db more sensitive than the standard setting, at the cost of the longer startup times. This means that operating in the higher sensitivity mode is a trade-off between the faster start up times of the standard mode versus the higher sensitivity of the Enhanced Sensitivity mode. Therefore, the user must determine for each particular application which sensitivity mode will provide the best performance. The following tables illustrate the comparison between the TTFF times in Standard and Enhanced Sensitivity modes. Note that the Enhanced Mode is not applicable for Cold Starts. Lassen iq GPS Receiver 71

82 4 Operation and Performance Table 4.3 Standard Sensitivity Mode TTFF Error report dawn of war 2 Standard Sensitivity Mode 50% (sec) 90% (sec) Hot Start Warm Start Table 4.4 Enhanced Sensitivity Mode TTFF Times Standard Sensitivity Mode 50% (sec) 90% (sec) Hot Start TBD TBD Warm Start TBD TBD Enabling the Enhanced Sensitivity Mode New TSIP Command The Lassen iq GPS receiver is configured from the factory with the Enhanced Sensitivity feature turned off. A new TSIP (Trimble Standard Interface Protocol) command and a new set of APIs have been generated for switching between the Standard and the Enhanced Sensitivity Modes. You can turn the Enhanced Sensitivity feature on, using one of three tools: The iq_chat program found in the iq Starter Kit or The iq_monitor program found in the iq Starter Kit or The new TSIP Command Packet 0x69. The Lassen iq GPS receiver will respond with the new TSIP response packet 0x89. A soft reset is required to make the switch effective. Following are the details of the command packet 0x69 and report packet 0x Lassen iq GPS Receiver

83 Operation and Performance 4 Table 4.5 Command Packet 0x69 Set/Request Enhanced Sensitivity Mode Byte Item Type Value Definition 0 Enhanced Sensitivity Mode 1 Reserved Byte 0 1 Off (standard) On (enhanced) Table 4.6 Report Packet 0x89 Report Enhanced Sensitivity Mode Byte Item Type Value Definition 0 Current Enhanced Sensitivity Mode 1 Enhanced Sensitivity Mode After Reset Byte 0 1 Byte 0 1 Off (standard) On (enhanced) Off (standard) On (enhanced) In order to change the receiver to the Enhanced Sensitivity Mode completely and take effect, a soft reset is required. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, the settings can be saved to flash memory using the TSIP 8Ex26 Command. Lassen iq GPS Receiver 73

84 4 Operation and Performance Setting the Enhanced Sensitivity Mode Following is a 'typical' scenario using the TSIP packets 0x69 and 0x Request the current sensitivity status from a factory configured Lassen iq GPS receiver, motorola v3 hab error 0x4e. Send Packet 0x69 with no data. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 0; byte 1 = Turn on the Enhanced Sensitivity feature. Send Packet 0x69 with byte 0 = 1. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 0; byte 1 = 1. Send Packet 0x25 (soft reset). The Lassen iq GPS receiver will respond with Packet 0x45 (Software Version Information) Send Packet 0x69 with no data. The Lassen iq GPS receiver will respond with Packet 0x89; byte 0 = 1; byte 1 = The Lassen iq GPS receiver is now in Enhanced Sensitivity mode until a cold start command is executed or a power cycle is initiated. To Permanently set The Enhanced Sensitivity Mode 1. Execute the 8Ex26 command before the cold start or power cycle is executed. 2. The 8Ex26 command sets the enhanced sensitivity configuration into flash memory. 74 Lassen iq GPS Receiver

85 Operation and Performance Lassen iq GPS Receiver Aided GPS Feature This feature allows the Lassen iq GPS receiver to take advantage of the fast startup times of hot start, motorola v3 hab error 0x4e. The fast hot startup times can be achieved by uploading almanac, ephemeris, time, and position to the receiver using TSIP packets. There are two methodologies to provide this information. One is to use the iq_monitor program by downloading and uploading the information through the Starter kit. The second methodology is for the motorola v3 hab error 0x4e to write an application using TSIP commands to download and upload the appropriate information in his own application. Warning To ensure proper format of the ephemeris file and almanac file, a Trimble receiver must be used to gather this data. Using almanac files from non-trimble receivers may not be in proper format and thus may not work, i.e. almanac files downloaded from the Internet iq_monitor Method 1. Attach the Lassen iq GPS receiver starter box to your PC. 2. Place the GPS antenna, where there is a clear view of sky. 3. Allow the starter kit box to run and to calculate fixes. 4. On the main screen, wait for the almanac indicator to turn green indicating that the receiver has collected almanac. Note It takes 12,5 minutes of uninterrupted iq operation to collect almanac from the satellites. 5. Click motorola v3 hab error 0x4e the initialized pulldown menu and motorola v3 hab error 0x4e the download features on the bottom of the pulldown to download the almanac, position, time and ephemeris to files on your PC. 6. Now that you have collected these files, you can upload them using the upload features on the initialize pulldown window in iq_monitor. Note The collected ephemeris will be only good for approximately 2 hours. Lassen iq GPS Receiver 75

86 4 Operation and Performance The TSIP Commands Method 1. Allow the receiver to run long enough to collect almanac. Note It takes 12,5 minutes of uninterrupted iq operation to collect almanac from the satellites. 2. Use packet 0 x 26 to request the health of the receiver. The response packets 0x46 and 0x4B indicate when the almanac is complete and current. 3. Use packet 0x 38 to request the almanac and the ephemeris. The receiver responses with packet 0 x Use packet 0 x 21 to request time from the receiver. The receiver responses with packet 0x 41 and this can be used to set your own off-board clock. 5. You also need to request position from the receiver. This can be done by using packets 0x42, 0x4A, 0x83 0r 0x84. To upload this information back to the receiver, the following order of the upload commands shall be followed: 1. Upload the time using packet 0x2E. Wait for upload confirmation report packet 0x Upload position using packet 0x31 or 0x32. No confirmation report packet available. 3. Upload the ephemeris, using packet 0x38. Wait for upload confirmation report packet 0x Upload almanac using packet ox 38. Wait for upload confirmation report packet 0x58. Note For details regarding all the mentioned TSIP packets, see Appendix A. 76 Lassen iq GPS Receiver

87 Operation and Performance 4 Warning To operate the Lassen iq GPS receiver under Hot Start conditions, the following conditions are required. 1) The almanac must be valid. Almanac data is generally valid for 4-6 months. The Lassen iq GPS receiver automatically flushes almanac every 8 weeks. 2) The ephemeris must be less than 2 hours old. 3) The position must be within 100 Km of the current iq position. 4) Time must be within 5 minutes of UTC. 4.11GPS Timing In many timing applications, such as time/frequency standards, site synchronization systems and event ryanair payment error systems, GPS receivers are used to discipline local oscillators. The GPS constellation consists of 24 orbiting satellites. Each GPS satellite contains a highly-stable atomic (Cesium) clock, which is continuously monitored and corrected by the GPS control segment. Consequently, the GPS constellation can be considered a set of 24 orbiting clocks with worldwide 24-hour coverage. GPS receivers use the signals from these GPS clocks to correct its internal clock, which is not as stable or accurate as the GPS error 017 undefined symbol setplayerpos clocks. GPS receivers like the Lassen iq GPS receiver output a highly accurate timing pulse (PPS) generated by its internal clock, which is constantly corrected using the GPS clocks. This timing pulse is synchronized to UTC within ±50 ns. In addition to serving as a highly accurate stand-alone time source, GPS receivers are used to synchronize distant clocks in communication or data networks. This synchronization is possible since all GPS satellite clocks are corrected to a common master clock. Therefore, the relative clock error is the same, regardless of which satellite or satellites are used. For timing applications requiring a common clock, GPS is the ideal solution. Lassen iq GPS Receiver 77

88 4 Operation and Performance The position and time errors are related by the speed of light. Therefore, a position error of 100 meters corresponds to a time error of approximately 333 ns. The hardware and software implementation affects the GPS receiver's PPS accuracy level. The receiver's clocking rate determines the PPS steering resolution. The Lassen iq GPS receiver clocking rate is MHz. This rate corresponds to a steering resolution of ±40 ns Serial Time Output The TSIP, TAIP, and NMEA protocols include time messages. See report packets 41 and 8F-20 in Appendix A for a description of the time reports for the TSIP protocol. See the TAIP Appendix for a description of the TM message. See the NMEA Appendix for a description of the ZDA message. Note GPS time differs from UTC (Universal Coordinated Time) by a variable, integer number of seconds UTC=(GPS time)-(gps UTC offset), motorola v3 hab error 0x4e. As of January 2005, the GPS UTC offset was 13 seconds. The offset has historically increased by 1 second about every 18 months. The GPS Control Organization has not added leap seconds on its usual 18 month schedule. As a result, the offset remains at 13 seconds. System designers should plan to read the offset value as a part of the timing interface to obtain UTC. The GPS week number is in reference to a base week (Week #0), starting January 6, Lassen iq GPS Receiver

89 4.12Pulse-Per-Second (PPS) Operation and Performance 4 The Lassen iq GPS receiver provides a four microsecond wide, CMOS compatible TTL level Pulse-Per-Second (PPS). The PPS is a positive pulse available on pin 4 of the Lassen iq GPS receiver power and I/O connector, motorola v3 hab error 0x4e. The rising edge of the PPS pulse is synchronized with respect to UTC. The timing accuracy is ±50 nanoseconds when valid position fixes are being reported. The rising edge of the pulse is typically less than 20 nanoseconds. The distributed impedance of the attached signal line and input circuit can affect the pulse shape and rise time. The PPS can drive a load up to 5mA without damaging the module. The falling edge of the pulse should not be used. The PPS is always on (early PPS) and is driven by the Real Time Clock (RTC) until the receiver acquires GPS time from the satellite and is obtaining fixes. The PPS is output immediately after main power is applied, and continues even if the receiver loses GPS lock. The drift of the PPS, when the Lassen iq GPS receiver is not tracking satellites, motorola v3 hab error 0x4e, is unspecified and should not be used for synchronization PPS Output Mode PPS output mode can be controlled by TSIP command packet 0 x 35. Once a specific mode is selected, it can be stored in non-volatile memory (flash) using TSIP command 0x8E-26. The following PPS modes are supported. Always Off When the Always Off mode is selected, the PPS output remains low at all times. Disabling the PPS output has no motorola v3 hab error 0x4e on normal receiver operations, motorola v3 hab error 0x4e, and position fixes are calculated as usual. This mode can be selected at any time during receiver operation. The PPS output is immediately switched off (disabled) when the TSIP command for this mode is received. Lassen iq GPS Receiver 79

90 4 Operation and Performance Always On (default) When the PPS output is configured for Always On (early PPS), it is driven by the Real Time Clock (RTC) until the receiver acquires GPS time is generating position fixes. In this mode, the PPS output continues even if the receiver loses GPS tracking. The maximum drift of the PPS pulse when not tracking satellites could be quite large, therefore the PPS output should not be used for precise synchronization when no position fix occurs. The PPS can be switched to Always On mode any time during normal operation. This mode is the factory default setting. Fix Based In this mode, the PPS output is turned on only while fixes are taking place. If the receiver is not tracking satellites, the PPS output is turned off until the signals are required and position fixes are valid again, motorola v3 hab error 0x4e. If the receiver is switched from Always On to Fix Mode, and the receiver has not yet started generating position fixes, the PPS output will turn off until a new fix is obtained. Programmable Characteristics - Signal Offset (Cable Delay Compensation) The receiver firmware also enables the user to offset the delay of the PPS pulse with reference to the actual UTC second tick. This delay is the result of antenna cable length and propagation delay of the PPS output signal. The delay compensation parameter can be set (in nano seconds) using TSIP super packet 0x8E-4A. Note that the current firmware version only allows the update of the PPS offset parameter of the PPS definition packet (0x8E-4A). Other parameters are read only. The PPS offset selection can be stored in non-volatile memory by sending command packet 0x8E-26 to the receiver. 80 Lassen iq GPS Receiver

91 Operation and Performance 4 Note Trimble Navigation has measured better than 50 nanoseconds accuracy of the Lassen iq GPS receiver PPS signal in static mode. For more information on timing applications, contact your Trimble sales representative. The Lassen iq GPS receiver was designed primarily as a navigation receiver. The long term stability of the PPS signal has not been tested. Therefore Trimble does not recommend use of Lassen iq in timing or synchronization applications where guaranteed stability of the PPS signal is required. Contact your Trimble sales representative for more information about products designed for critical timing applications. Lassen iq GPS Motorola v3 hab error 0x4e 81

92 4 Operation and Performance 4.13System Architecture The Lassen iq GPS receiver (see Figure 4.7) uses twelve processing channels operating on the L1 frequency of MHz and using the coarse acquisition (C/A) code. The module uses custom integrated circuitry designed by Trimble to track the GPS satellite signals. These ICs also contain support circuitry to the navigation processor. An integrated 32-bit microprocessor is used for dnldmgr error 0x8024402c, computing a position, and performing the I/O operations. The Lassen iq GPS receiver receives the amplified GPS satellite signals through the antenna feed line connector and passes them to the RF down converter. A highly stable crystal reference oscillator operating at MHz is used by the down converter to produce the signals used by the 12-channel signal processor. The12-channel signal processor tracks the GPS satellite signals and extracts the carrier code information as well as the navigation data at 50 bits per second. Operation of the tracking channels is controlled by the navigation processor. The tracking channels are used to track the highest twelve satellites above the horizon. The navigation processor error 027 invalid character constant pawn then use the optimum satellite combination to compute a position. The navigation processor also manages the ephemeris and almanac data for all of the satellites, and performs the data I/O, motorola v3 hab error 0x4e. 82 Lassen iq GPS Receiver

93 Operation and Performance 4 Figure 4.7 Lassen iq GPS receiver Block Diagram Lassen iq GPS Receiver 83

94 4 Operation and Performance 84 Lassen iq GPS Receiver

95 APPENDIX A Trimble Standard Interface Protocol (TSIP) A The Trimble Standard Interface Protocol (TSIP) provides the system designer with over 20 commands that may be used to configure a GPS receiver for optimum performance in a variety of applications. TSIP enables the system designer to customize the configuration of a Motorola v3 hab error 0x4e module to meet the requirements of a specific application. This appendix provides the information needed to make judicious use of the powerful features TSIP has to offer, to greatly enhance overall system performance, and to reduce the total development time. The provided reference tables will help you determine which packets apply to your application. For those applications requiring customization see Customizing Receiver Operations, page 89 for a error c2065 ntcreateprocessex undeclared identifier description of the key setup parameters. Application guidelines are provided for each TSIP Command Packet, beginning on page 102.

96 A Trimble Standard Interface Protocol (TSIP) A.1 Interface Scope The Trimble Standard Interface Protocol is used extensively in Trimble receiver designs. The protocol was originally created for the Trimble Advanced Navigation Sensor (TANS) and is colloquially known as the TANS protocol even though the protocol applies to many other devices. The Lassen iq GPS receiver has two serial I/O communications ports. These are bi-directional control and data ports. The data I/O port characteristics, protocol definitions, and other options are user programmable and can be stored in non-volatile FLASH memory. The TSIP protocol is based on the transmission of packets of information between the user equipment and the unit. Each packet includes an identification code (1 byte, representing 2 hexadecimal digits) that identifies the meaning and format of the data that follows. Each packet begins and ends with control characters. This document describes in detail the format of the transmitted data, the packet identification codes, and all available information over the output channel to allow the user to choose the data required for his particular motorola v3 hab error 0x4e. As will be discussed, the receiver transmits some of the information (position and velocity solutions, etc.) automatically when it is available, while other information is transmitted only on request. Additional packets may be defined 1316 error kaspersky particular products and these will be covered in the specifications for those products as necessary. The iq_chat utility, part of the GPS Tool Kit, is designed to exercise many of the TSIP packets. 86 Lassen iq GPS Receiver

97 Trimble Standard Interface Protocol (TSIP) A A.2 Packet Structure TSIP packet structure is the same for both commands and reports. The packet format is: Where: <DLE> <id> <data string bytes> <DLE> <ETX> <DLE> is the byte 0x10 <ETX> is the byte 0x03 <id> is a packet identifier byte, which can have any value excepting <ETX> and <DLE>. Error opening windows firewall bittorrent livebox bytes in the data string can have any value. To prevent confusion with the frame sequences <DLE> <ID> and <DLE> <ETX>, every <DLE> byte in the data string is preceded by an extra <DLE> byte ('stuffing'). These extra <DLE> motorola v3 hab error 0x4e must be added ('stuffed') before sending a packet and removed after receiving the packet. Notice that a simple <DLE> <ETX> sequence does not necessarily signify the end of the packet, as these can be bytes in the middle of a data string. The end of a packet is <ETX> preceded by motorola v3 hab error 0x4e odd number of <DLE> bytes. Multiple-byte numbers (integer, float, and double) follow the ANSI/IEEE Std. 754 IEEE Standard for binary Floating-Point Arithmetic. They are sent most-significant byte first. This may involve switching the order of the bytes as they are normally stored in Intel based machines. Specifically: UINT8 = Byte: An 8 bit unsigned integer. UINT16 = Word: A 16 bit unsigned integer. INT16 = Integer: A 16 bit integer. INT32 = Long: A 32 bit integer. UINT32 = ULong: A 32 bit unsigned integer. Single Float, or 4 byte REAL has a precision of 24 significant bits, roughly 6.5 digits. Double 8 byte REAL has a precision of 52 significant bits. It is a little better than 15 digits. Lassen iq GPS Receiver 87

98 A Trimble Standard Interface Protocol (TSIP) A.3 Automatic Output Packets The Lassen iq GPS receiver receiver is configured to automatically output the following packets. For minimal system implementations, these output packets provide all of the information required for operation including time, position, velocity, and receiver and satellite motorola v3 hab error 0x4e and health. Position and velocity are reported using one or more of the packets listed below, depending on the selected I/O options. While there are other packets automatically output, the following packets provide the information most commonly used. No input packets are required. Table A.1 Automatic Output Packets Output Packet ID Description Reporting Interval 0x41 GPS time 5 seconds 0x42, motorola v3 hab error 0x4e, 0x83, 0x4A, 0x84, 0x8F-20 position (choose packet with I/O options) 1 second 0x43, 0x56, 0x8F-20 velocity (choose packet with I/O options) 1 second 0x46 health of receiver 5 seconds 0x4B machinecode/status (includes antenna fault detect) 5 seconds 0x6D all-in-view satellite selection, DOPs, Fix Mode 1 second 0x82 DGPS position fix mode (only in DGPS mode) 1 second 88 Lassen iq GPS Receiver

99 Trimble Standard Interface Protocol (TSIP) A A.4 Customizing Receiver Operations For information on customizing receiver operations, see the following tables on selecting report data. A.5 Automatic Position and Velocity Reports The receiver automatically outputs position and velocity reports at set intervals. Automatic report packets are controlled by Packet 35. Setting the control bits as indicated in the table below allows you to control which position and velocity packets are output. Table A.2 Packet 35: Automatic Position and Velocity Reports Control Setting Bits Report Packet ID 0x42 0x83 Requested Setting single precision XYZ position double-precision XYZ position Packet 0x35, Byte 0 Packet 0x35, Byte 1 Bit 0 Bit 1 Bit 4 Bit 5 Bit 0 Bit x4A single-precision LLA position 1 (default) 0 0x84 double-precision LLA position 1 1 0x43 velocity fix (XYZ, ECEF) 1 0x56 velocity fix (ENU) 1(default) 0x8F-20 LLA and ENU motorola v3 hab error 0x4e Lassen iq GPS Receiver 89

100 A Trimble Standard Interface Protocol (TSIP) A.6 Initialization Packets to Speed Start-up If you are not supplying the receiver with battery power when main power is off, you can still warm-start the receiver by sending the following commands after the receiver has completed its internal initialization and has sent Packet 82. Table A.3 Input Byte 0x2B 0x2E 0x38 0x38 0x38 0x38 Description initial position initial time almanac (for each SV) almanac health ionosphere page UTC correction 90 Lassen iq GPS Receiver

101 Trimble Standard Interface Protocol (TSIP) A A.7 Packets Output at Power-Up The following table lists the messages output by the receiver at powerup. After completing its self-diagnostics, the receiver automatically outputs a series of packets which indicate the initial operating condition of the receiver. Messages are output as listed in the table below. After Packet 82 is output, the sequence is complete and the receiver is ready to accept commands. Table A.4 Packet Power-up Output Messages Output ID Description Notes 0x45 software version -- 0x46 receiver health -- 0x4B machine code/status -- As chosen, motorola v3 hab error 0x4e, see Table A.3 default: 0 x 4A, 0 x 56 0x41 position/velocity output GPS time 82 DGPS position fix mode -- As chosen, see Table A.3. A.8 Timing Packets If you are using the Lassen iq GPS receiver as a timing system, you may need to implement the following TSIP control commands. Table A.5 Timing Packet TSIP Control Commands Input ID Description Output ID 0x21 get the current GPS time 0x41 0x38-05 request UTC parameters 0x58-05 Lassen iq GPS Receiver 91

102 A Trimble Standard Interface Protocol (TSIP) A.9 Satellite Data Packets The following packets contain a variety of GPS satellite data. Table A.6 Satellite Data Packet Data I/O Descriptions Input ID Description Output ID 0x27 request signal levels 0x47 0x38 request/load satellite system data 0x58 0x3C request tracking status 0x5C A.10Backwards Compatibility TSIP packets implemented in the Lassen iq GPS receiver are backward compatible with those used in Lassen SK II GPS receiver, motorola v3 hab error 0x4e. For information regarding compatibility with other Trimble receivers, contact the Trimble Technical Assistance Center. 92 Lassen iq GPS Receiver

103 Trimble Standard Interface Protocol (TSIP) A A.11Recommended TSIP Packets Table A.7 Recommended TSIP Packet Data Function Description Input Output Protocol and port setup set/query port configuration 0xBC 0xBC set/query NMEA configuration 0x7A 0x7B set/query I/O options (autoreport and format options) 0x35 0x55 Navigation GPS time 0x21 0x41 Satellite and tracking information position & velocity (superpacket) 0x8E-20 or 0x37 or auto 0x8F-20 double-precision LLA 0x37/auto 0x84 double-precision XYZ 0x37/auto 0x83 ENU velocity 0x37/auto 0x56 XYZ velocity 0x37/auto 0x43 query receiver state (health) 0x26 0x46, 0x4B query current satellite selection 0x24 0x6D query motorola v3 hab error 0x4e levels 0x27 0x47 query satellite information (azimuth, elevation, etc.) 0x3C 0x5C Receiver settings query software version 0x1F 0x45 query receiver ID & error status 0x26 0x4B, 0x46 set/query receiver configuration 0xBB 0xBB set altitude for 2D mode 0x2A 0x4A disable PV/altitude filters 0x70 0x70 set/query positioning mode (2D v. 3D) 0xBB 0xBB GPS System query/load GPS system data 0x38 0x58 Lassen iq GPS Receiver 93

104 A Trimble Standard Interface Protocol (TSIP) Table A.7 (Continued)Recommended TSIP Packet Data Function Description Input Output Initialization full reset (clear battery backup and/or nonvolatile settings) soft reset 0x1E 0x25 set GPS time 0x2E 0x4E set exact LLA motorola v3 hab error 0x4e approx. XYZ set approx. LLA set exact XYZ 0x32 0x23 0x2B 0x31 A.12Command Packets Sent to the Receiver The table below summarizes the command packets sent to the receiver. The table includes the input Packet ID, a short description of each packet, and the associated response packet. In some cases, the response packets depend on user-selected options. These selections are covered in the packet descriptions beginning on page 102. Table A.8 User-Selected Command Packet Options Input ID Packet Description Output ID 0x1E clear battery back-up/reset See Note 1 0x1F software version 0x45 0x21 current time 0x41 0x23 initial position (XYZ ECEF) -- 0x24 request receiver position fix mode 0x6D 0x25 soft reset & self-test See Note 1 0x26 receiver health 0x46, 0x4B 0x27 signal levels 0x47 0x2A altitude for 2-D mode 0x4A 94 Lassen iq GPS Receiver

105 Trimble Standard Interface Protocol (TSIP) A Table A.8 User-Selected Command Packet Options (Continued) Input ID Packet Description Output ID 0x2B initial position (Lat, Lon, Alt) -- 0x2D oscillator offset 0x4D 0x2E set GPS time 0x4E 0x31 accurate initial position (XYZ Cartesian ECEF) -- 0x32 accurate initial position -- 0x35 I/O options 0x55 0x37 status and values of last position and velocity 0x57 0x38 load or request satellite system data 0x58 0x3C tracking status 0x5C, see Note 2 0x69 enhanced sensitivity 0x89 0x70 filter configuration 0x70 0x7A set/request NMEA output configuration 0x7B 0xBB set receiver configuration 0xBB 0xBC set port configuration 0xBC 0x8E-20 last fix with extra information (fixed point) 0x8F-20 0x8E-26 Store settings in Flash memory. 0x8F-26 Note 1 Output is determined by packet 0 x 35. See Table A.4 to determine which messages are output at power-up. Note 2 No response sent if data is not available. Lassen iq GPS Receiver 95

106 A Trimble Standard Interface Protocol (TSIP) A.13Report Packets Sent by the Receiver to the User The table below summarizes the packets output by the receiver. The response packets may depend on user-selected options (see page 82). Table A.

107 Trimble Standard Interface Protocol (TSIP) A A.14Key Setup Parameters or Packet BB Selecting the correct operating parameters has significant impact on receiver performance. Packet 0xBB (set receiver configuration) controls the key setup parameters. The default operating parameters allow the receiver to perform well in almost any environment. The user can optimize the receiver to a particular application if the vehicle dynamics and expected level of obscuration are understood. If the receiver is then taken out of this environment, the specifically tuned motorola v3 hab error 0x4e may not operate as well as a receiver with the default options. The table below lists suggested parameter selections as a function of obscuration and whether accuracy or fix density is important. In this table, NA indicates that the operating parameter is not applicable, DC (don't care) indicates that the user may choose the operating parameter. Table A.10 Setup Parameters in Packet 0xBB Parameter Accuracy Fixes Factory Default Fix mode Man 3D AUTO AUTO Dynamics code Land Land Land Elevation mask Signal mask DOP mask DOP switch NA DGPS correction age 10 Seconds N/A 30 Seconds The default values in Table A.10 allow the receiver to operate well under the most varied and demanding conditions. A user may choose to change the default parameters if the receiver is only required to perform in a specific or motorola v3 hab error 0x4e environment. The user should be warned that when the receiver is exposed to operating conditions which are different from the conditions described by the user setup, then the performance may be degraded. Lassen iq GPS Receiver 97

108 A Trimble Standard Interface Protocol (TSIP) Initially, the user must consider the environment in which the receiver is expected to operate. There is a trade-off between how frequently a position fix is output versus the absolute accuracy of the fix. The user must decide which takes priority and then make the appropriate selections. This becomes increasingly important when frequent satellite blockages are expected, as in downtown urban canyon environments and heavily foliated areas. Following is a description of the key fields in Packet 0xBB. A.14.1 Set Fix Mode Packet 0xBB is used to choose the appropriate position fix mode for your application: 2-D, 3-D or AUTO. The default mode is AUTO 2- D/3-D, where the receiver first attempts to obtain a 3-D solution with a PDOP below the DOP switch. If this is not possible, then the receiver attempts to obtain a 2-D solution with a DOP less than the DOP mask. This mode supplies fairly continuous position fixes even when there is frequent obscuration. This mode is preferable for most land or air applications, where altitude changes are occurring and there is occasional obscuration. The highest accuracy fix mode is 3-D manual, where altitude is always calculated along with the latitude, longitude, and time. However, this requires four satellites with a PDOP below the DOP mask set in Packet BB in order to obtain a position. Normally, this will provide the most accurate solution. Thus, if only 3-D solutions are desired, then the user should request 3-D manual mode. Depending on how the PDOP mask is set, this may be restrictive when the receiver is subjected to frequent obscuration, or when the geometry is poor due to an incomplete constellation. Alternatively, if the user only wants a 2-D solution, then 2-D manual should be requested. In this case, the receiver uses either the last altitude obtained in a 3-D fix, or the altitude motorola v3 hab error 0x4e by the user. However, any error in the assumed altitude will affect the accuracy of the latitude and longitude solution. 98 Lassen iq GPS Receiver

109 Trimble Standard Interface Protocol (TSIP) A When using the 2-D mode, expect fixes with accuracies which are at best as accurate as the supplied altitude. If a marine user enters sealevel as the altitude, then small errors in the horizontal solution will occur when the sea state is rough or there are high tidal variations. However, these errors may be smaller than the altitude errors induced by SA, so 2-D may be preferable for a marine user who does not want to observe unusual altitudes. A.14.2 Dynamics Code The feature default is LAND mode, where the receiver assumes a moderate dynamic environment. In this case, the satellite search and re-acquisition routines are optimized for vehicle type environments. In SEA mode, the search and re-acquisition routines assume a low acceleration environment and reverts to motorola v3 hab error 0x4e entered altitude in 2-D auto. In Error number 1005 mode, the search and re-acquisition routines are optimized for high acceleration conditions. A.14.3 Elevation Mask This is the minimum elevation angle for satellites to be used in a solution output by the receiver. Satellites which are near the horizon are typically more difficult to track due to signal attenuation, and are also generally less accurate due to higher variability in the ionospheric and tropospheric corruption of the signal. When there are no obstructions, the receiver can generally track a satellite down to near the horizon. However, when this mask is set too low, the receiver may experience frequent constellation switching due to low elevation satellites being obscured. Lassen iq GPS Receiver 99

110 A Trimble Standard Interface Protocol (TSIP) Frequent constellation switching is undesirable because position jumps may be experienced when SA is present and DGPS is not available to remove these effects. The benefit of a low elevation mask is that more satellites are available for use in a solution and a better PDOP may be yielded. The current mask is set to five degrees and provides a reasonable trade-off of the benefits and drawbacks. High accuracy users may prefer a mask angle around ten degrees, where the ionosphere and troposphere begin to be more predictable A.14.4 Signal Level Mask This mask defines the minimum signal strength for a satellite used in a solution. There is some internal hysteresis on this threshold which allows brief excursions below the threshold if lock is maintained and the signal was previously above the mask. The factory default mask has been set to 2 (AMU), motorola v3 hab error 0x4e. High accuracy users may use a slightly higher mask ofsince weaker measurements may be slightly noisier and are often caused by reflected signals which provide erroneous ranges. Error inflating class android.widget.button should also resist the temptation to set the elevation and SNR masks too low. The satellite geometry is sometimes improved considerably by selecting low elevation satellites. They are, however, subject to significant signal degradation by the greater ionospheric and tropospheric attenuation that occurs. They are also subject to more obscuration by the passing scenery when the receiver is in a moving vehicle. The code phase data from those satellites is therefore more difficult to decode and therefore has more noise. Note A level of hysteresis in the signal level mask is allowed in the core operating software. The hysteresis allows the receiver to continue using satellite signals which fall slightly below the mask and prevents the receiver from incorporating a new signal until the signal level slightly exceeds the mask. This feature minimizes constellation changes caused by temporary fluctuations in signal levels. 100 Lassen iq GPS Receiver

111 Trimble Standard Interface Protocol (TSIP) A A.14.5 DOP Mask and Switch The DOP mask is the maximum DOP limit for any 2-D or 3-D position solution will be made. The DOP switch is the level at which the receiver stops attempting a 3-D solution, and tries for a 2-D solution when in automatic 2-D, 3-D mode. The switch level has no effect in either manual mode. Raising the DOP mask will generally increase the fix density during obscuration, but the fixes with the higher DOP will be less accurate (especially with SA present). Lowering the mask will improve the average accuracy at the risk of lowering the fix density. Lassen iq GPS Receiver 101

112 A Trimble Standard Interface Protocol (TSIP) A.15Packet Descriptions A.15.1 Command Packet 0x1E - Clear Battery Backup, then Reset This packet commands the GPS receiver to clear all battery back-up data and to perform a software reset. This packet contains one data byte. Table A.11 Command Packet 0x1E Format Byte Item Type Value Definition 0 Reset mode UINT 8 0x4B 0x46 Cold start: Erase BBRAM and restart Factory reset: Erase BBRAM and Flash and restart Warning All almanac, ephemeris, current position, mode, and communication port setup information is lost when executing the Factory Reset command. In normal use this packet should not be sent, motorola v3 hab error 0x4e. Warning It is very helpful to keep a fresh copy of the current almanac, which is stored in the file GPSALM.DAT collected by the iq_chat command!. This allows near-instantaneous recuperation by the receiver in case of power loss or clearing of battery-backed memory by using the iq_chat to load it back into the receiver memory. 102 Lassen iq GPS Receiver

113 Trimble Standard Interface Protocol (TSIP) A A.15.2 Command Packet 0x1F - Request Software Versions This packet requests information about the version of software running in the Navigation and Signal Processors. This packet contains no data. The GPS receiver returns Packet 0x45. Motorola v3 hab error 0x4e Command Packet 0x21 - Request Current Time This packet requests current GPS time. This packet contains no data. The GPS receiver returns Packet 0x41. A.15.4 Command Packet 0x23 - Initial Position (XYZ Cartesian ECEF) This packet provides the GPS receiver with an approximate initial position in XYZ coordinates. This packet is useful if the user has moved more than about 1,000 miles since the previous fix. (Note that the GPS receiver can initialize itself without any data from the user; this packet merely reduces the time required for initialization.) This packet is ignored if the receiver is already calculating positions. The data format is shown below. Note To initialize using the Latitude-Longitude-Altitude representation, use Command Packet 0x2B. Table A.12 Command Packet 0x23 Data Format Byte Item Type Units 0-3 X Single Meters canon p 22 error Y Single Meters 8-11 Z Single Meters Lassen iq GPS Receiver 103

114 A Trimble Standard Interface Protocol (TSIP) A.15.5 Command Packet 0x24 - Request GPS Receiver Position Fix Mode This packet requests current position fix mode of the GPS receiver. This packet contains no data. The GPS receiver returns Packet 0x6D. A.15.6 Command Packet 0x25 - Initiate Soft Reset & Self Test This packet commands the GPS receiver to perform a software reset. This is equivalent to cycling the power, motorola v3 hab error 0x4e. The GPS receiver performs a self-test as part of the reset operation. This packet contains no data. Following completion of the reset, the receiver will output the start-up messages (see Table A.4). The GPS receiver sends Packet 0x45 only on power-up and reset (or on request); thus if Packet 0x45 appears unrequested, then either the GPS receiver power was cycled or the GPS receiver was reset. A.15.7 Command Packet 0x26 - Request Health This packet requests health and status information from the GPS receiver. This packet contains no data. The GPS receiver returns Packet 0x46 and 0x4B. A.15.8 Command Packet 0x27 - Request Signal Levels This packet requests signal levels for all satellites currently being tracked. This packet contains no data. The GPS receiver returns Packet 0x47. A.15.9 Command Packet 0x2A - Altitude for 2-D Mode Reference Altitude is the altitude used for manual 2-D positions if the altitude flag is set, motorola v3 hab error 0x4e. Altitude is in units of HAE WGS-84 or MSL depending on the selected I/O options for the position. The Altitude Flag determines whether or not the Reference Altitude will be used. If set, it will be used. If cleared, altitude hold (last 3-D altitude) is used. 104 Lassen iq GPS Receiver

115 Trimble Standard Interface Protocol (TSIP) A Note With no data byte, this packet requests the current values of these altitude parameters. In this case, the GPS receiver returns Packet 4A. This packet sets or requests the altitude parameters used for the Manual 2-D mode: Reference Altitude and Altitude Flag. Packet 0x4A (9 byte format) is returned. Table A.13 Packet 0x2A Set Reference Altitude Description Byte Item Type Definition 0-3 Altitude Single Reference altitude for 2- D Table A.14 Packet 0x2A Clear Reference Altitude Description Byte Item Type Value Definition 0 Altitude Flag UINT8 0 x FF Clear Altitude flag Note With no data bytes, this packet requests the current values of these altitude parameters. In this case, the GPS receiver returns Packet 4A (9 byte format). Lassen iq GPS Receiver 105

116 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x2B - Initial Position (Latitude, Longitude, Altitude) This packet provides the GPS receiver with an approximate initial position in latitude and longitude coordinates (WGS-84). This packet is useful if the user has moved more than about 1,000 miles since the previous fix. (Note that the GPS receiver can initialize itself without any data from the user; this packet merely reduces the time required for initialization.) This packet is ignored if the receiver is already calculating positions. The data format is shown in the table below. Table A.15 Command Packet 0x2B Data Format Byte Item Type Units 0-3 Latitude Single Radians, north 4-7 Longitude Single Radians, east 8-11 Altitude Single Meters Note To initialize with ECEF position, use Command Packet 0x23. A Command Packet 0x2D - Request Oscillator Offset This packet requests the calculated offset of the GPS receiver master oscillator. This packet contains no data. The Motorola v3 hab error 0x4e receiver returns Packet 0x4D. This packet is used mainly for service. The permissible oscillator offset varies with the particular GPS receiver unit. 106 Lassen iq GPS Receiver

117 Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x2E - Set GPS Time This packet provides the approximate GPS time of week and the week number motorola v3 hab error 0x4e the GPS receiver. The GPS receiver returns Packet 0x4E. The data format is shown below. The GPS week number reference is Week # 0 starting January 6, The seconds count begins at the midnight which begins each Sunday morning. This packet is usually not required when the battery back-up voltage is applied as the internal clock keeps time to sufficient accuracy. This packet is ignored if the receiver has already calculated the time from tracking a GPS satellite. Note See report Packet 41 for information on the Extended GPS week number. Table A.16 Command Packet 0x2E Data Formats Byte Item Type Units 0-3 GPS time of week Single Seconds 4-5 Extended GPS week number INT16 Weeks Lassen iq GPS Receiver 107

118 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x31 - Accurate Initial Position (XYZ Cartesian ECEF) This packet is identical in content to Packet 0x23. This packet provides an initial position to the GPS receiver in XYZ coordinates. However, the GPS receiver assumes the position provided in this packet to be accurate. This packet is used for satellite acquisition aiding in systems where another source of position is available. For acquisition aiding, the position provided by the user to the GPS receiver in this packet should be accurate to a few kilometers. For high-accuracy time transfer, position should be accurate to a few meters. Table A.17 Command Packet 0x31 Data Format Byte Item Type Units 0-3 X-axis Single Meters 4-7 Y-axis Single Meters 8-11 Z-axis Single Meters 108 Lassen iq GPS Receiver

119 Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x32 - Accurate Initial Position, (Latitude, Longitude, Altitude) This packet is identical in content to Packet 0x2B. This packet provides the GPS relocation error undefined symbol with an accurate initial position in latitude, longitude, and altitude coordinates. However, the GPS receiver assumes the position provided in this packet to be accurate. This packet is used for satellite acquisition aiding in systems where another source of position is motorola v3 hab error 0x4e. For acquisition aiding, the position provided by the user to the GPS receiver in this packet should be accurate to a few kilometers. For high-accuracy time transfer, position should be accurate to a few meters. Table A.18 Command Packet 0x32 Data Format Byte Item Type Units 0-3 Latitude Single Radians, North 4-7 Longitude Single Radians, East 8-11 Altitude Single Meters Lassen iq GPS Receiver 109

120 A Trimble Standard Interface Protocol (TSIP) A.16 Command Packet 0x35 - Set Request I/O Options This packet requests the current I/O options and allows the I/O options to be set. To request the options motorola v3 hab error 0x4e without any changes, send the packet with no data bytes. To change the options settings, include four data bytes with the values. The I/O options, their default settings, and the byte values for all possible configurations are shown below. The Set/Request I/O options are stored in battery-backed memory. To store them in non-volatile RAM (Flash), use the motorola v3 hab error 0x4e command. The GPS receiver returns Packet 0x55. These abbreviations are used in the following table: ALT Altitude ECEF Earth-centered, Earth-fixed XYZ Cartesian Coordinates LLA Latitude, Longitude, Altitude HAW Height Above Ellipsoid WGS-84 Earth Model (ellipsoid) MSL Geoid Mean Sea Level UTC Coordinated Universal Time 110 Lassen iq GPS Receiver

121 Trimble Standard Interface Protocol (TSIP) A Table.19 Command Packets 0x35 and 0x55 Data Descriptions Byte Bit Item Type Value Definition Position 0 0 (LSB) XYZ ECEF Bit 0 1 XYZ ECEF output off XYZ ECEF output on 1 LLA Output Bit 0 1 LLA output off LLA output on 2 LLS ALT Output Bit 0 1 HAE (See Note) MSL geoid 3 ALT input Bit 0 1 HAE (See Note) MSL geoid 4 Precision-ofposition output Bit 0 1 Send single-precision packet Send double-precision packet 5 Super Packet Output Bit Reserved Velocity 1 0 XYZ ECEF Bit ENU Output Bit Motorola v3 hab error 0x4e Timing 2 0 Time Type Bit Reserved Output no Super Packets Output all enabled Super Packets XYZ ECEF output off XYZ ECEF output on ENU output off ENU output on GPS Time UTC Lassen iq GPS Receiver 111

122 A Trimble Standard Interface Protocol (TSIP) Table.19 Command Packets 0x35 and 0x55 Data Descriptions Byte Bit Item Type Value Definition 5-6 PPS Mode Bits Reserved Auxiliary/Pseudo Range Measurements 3 0 Raw Bit 0 Measuring 1 1 Raw/Filtered Bit Reserved 3 Output db Hz Bit 0 instead of AMU Reserved Always On Fix Based Always Off Reserved Raw measurements off Raw measurements on Raw PR s in 5A Filtered PR s in 5A Output AMUs Output db Hz Notes In the current version of the Lassen iq GPS, the input and output HAE altitude extjs grid record commit error in the WGS-84 datum. Packet 8E must be used to specify which Super Packet is to be output. The Lassen iq GPS supports automatic output of 0x5A messages for backwards compatibility with older TSIP applications. 112 Lassen iq GPS Receiver

123 Trimble Standard Interface Protocol (TSIP) A A.16.1 Command Packet 0x37 - Request Status and Values of Last Position and Velocity This packet requests information regarding the last position fix and is only used when the receiver is not automatically outputting positions. The GPS receiver returns Report Packet 0x57 followed by the position/velocity packets specified in Command Packet 0x35. A.16.2 Command Packet 0x38 - Request/Load Satellite System Data This packet requests current satellite data (almanac, ephemeris, etc.) or permits loading initialization data from an external source (for example, by extracting initialization data from an operating GPS receiver unit via a data logger or computer and then using that data to initialize a second GPS receiver unit). The GPS receiver returns Packet 0x58. (Note that the GPS receiver can initialize itself without any data from the user; it merely requires more time.) To request data without loading data, use only bytes 0 through 2; to load data, use all bytes. Before loading data, observe the caution notice below. The data formats are located in Report Packet 0x58. Lassen iq GPS Receiver 113

124 A Trimble Standard Motorola v3 hab error 0x4e Protocol (TSIP) Table A.20 Command Packet 0x38 Data Formats Byte Item Type Value Definition 0 Operation UINT Type of data UINT Sat PRN# UINT Request data from Lassen iq GPS receiver; Load data into Lassen iq GPS receiver Almanac Health page, T_oa, WN_oa Ionosphere UTC Ephemeris Data that is not satellite - ID specific Satellite PRN number 3 Length (n) UINT8 Number of bytes of data to be loaded 4 to n+3 Data UINT8 Satellite data Warning Proper structure of satellite data is critical to Lassen iq GPS receiver operation. Requesting data is not hazardous; Loading data improperly is hazardous. Use this packet only with extreme caution. The data should not be modified in any way. It should only be retrieved and stored for later download. 114 Lassen iq GPS Receiver

125 Trimble Standard Interface Protocol (TSIP) A A.16.3 Command Packet 0x3C - Request Current Satellite Tracking Motorola v3 hab error 0x4e This packet requests the current satellite tracking status. The GPS receiver returns Packet 0x5C if data is available. Table A.21 Command Packet 0x3C Data Format Byte Item Type Value Definition 0 Satellite # UINT All satellites in the current tracking set desired satellite A.16.4 Report Packet 0x41 - GPS Time This packet provides the current GPS time of week and the week number. The GPS receiver sends this packet in response to Packet 0x21 and during an automatic packets update cycle. Update cycles occur approximately every 5 seconds. The data format is shown below. Table A.22 Report Packet 0x41 Data Formats Byte Item Type Units 0-3 GPS time of week Single seconds 4-5 Extended GPS week number INT16 weeks 6-9 GPS UTC offset Single seconds Note UTC time lags behind GPS time by an integer number of seconds; UTC = (GPS time) - (GPS UTC offset). Warning GPS week number runs from 0 to 1023 and then cycles back to week #0. week # 0 began January 6, The first cycle back to week #0 was on Motorola v3 hab error 0x4e 22, The extended GPS week number however, motorola v3 hab error 0x4e, does not cycle back to 0. For example: the week # for August 22, 1999 = 1024; the Week # for April 1, 2002 = Lassen iq GPS Receiver 115

126 A Trimble Standard Interface Protocol (TSIP) The seconds count begins with 0 each Sunday morning at midnight GPS time. A negative indicated time-of-week indicates that time is not yet known; in that case, motorola v3 hab error 0x4e, the packet is sent only on request. The following table shows the relationship between the information in Packet 0x41, and the Packet 0x46 status code. Table A.23 Packets 0x41 and 0x46 Status Code Relationships Approximate Time Accuracy Time Source Sign (TOW) Packet 46 Status Code none no time at all - 0x01 unknown msec + clock drift approximate time from real-time clock or Packet 2E + 0x01 time from satellite + 0x02-0x0C full accuracy time from GPS solution + 0x00 Note Before using the GPS time from Packet 0x41, motorola v3 hab error 0x4e, verify that the Packet 0x46 status code is 00 ( Doing position fixes ). This will ensure the most accurate GPS time. 116 Lassen iq GPS Receiver

127 Trimble Standard Interface Protocol (TSIP) A A.16.5 Report Packet 0x42 - Single-Precision Position Fix, XYZ ECEF This packet provides current GPS position fix in XYZ ECEF coordinates. If the I/O position option is set to XYZ ECEF (byte 0: bit 0, Packet 0x35)and the I/O Precision-of-Position Output (byte 0: bit 4, Packet 0x35) is set to single-precision, then the GPS receiver sends this packet each time a fix is computed. The data format is shown below. Table A.24 Report Packet 0x42 Data Formats Byte Item Type Units 0-3 X Single meters 4-7 Y Single meters 8-11 Z Single meters Time-of-fix Single seconds The time-of-fix is in GPS time or UTC as selected by the I/O timing option. Packet 83 provides a double-precision version of this information. Lassen iq GPS Receiver 117

128 A Trimble Standard Interface Protocol (TSIP) A.16.6 Report Packet 0x43 - Velocity Fix, XYZ ECEF This packet provides current GPS velocity fix in XYZ ECEF coordinates. If the I/O velocity option is set to XYZ ECEF (byte 1, bit 0, Packet 0x35), then the GPS receiver sends this packet each time a fix is computed. The data format is shown below. Table A.25 Report Packet 0x43 Data Formats Byte Item Type Units 0-3 X velocity Single meters/second 4-7 Y velocity Single meters/second 8-11 Z velocity Single meters/second bias rate Single meters/second time-of-fix Single seconds The time-of-fix is in GPS time or UTC as selected by the I/O timing option (byte map server load error mu, bit 0, Motorola v3 hab error 0x4e 0x35). 118 Lassen iq GPS Receiver

129 Trimble Standard Interface Protocol (TSIP) A A.16.7 Report Packet 0x45 - Software Version Information This packet provides information about the version of software in the Navigation and Signal Processors. The GPS receiver sends this packet after power-on and in response to Packet 0x1F. Table A.26 Report Packet 0x45 Data Formats Byte Item Type 0 Major version number UINT8 1 Minor version number UINT8 2 Month UINT8 3 Day UINT8 4 Year number minus 1900 UINT8 5 Major revision number UINT8 6 Minor revision number UINT8 7 Month UINT8 8 Day UINT8 9 Year number minus 2000 UINT8 The first 5 bytes refer to the Navigation Processor and the second 5 bytes refer to the Signal Processor. Lassen iq GPS Receiver 119

130 A Trimble Standard Interface Protocol (TSIP) A.16.8 Report Packet 0x46 - Health of Receiver This packet provides information about the satellite tracking status and the operational health of the receiver. The receiver sends this packet after power-on or software-initiated resets, in response to Packet 0x26 and, every five seconds. Packet 0x4B is always sent along with this packet. Note If receiver status changes between five second outputs, no notification is given until the next cycle. Table A.27 Report Packet 0x46 Data Formats Byte Bit Item Type Value Definition 0 Status code UINT8 0x00 0x01 0x02 0x03 0x08 0x09 0x0A 0x0B 0x0C Motorola v3 hab error 0x4e position fixes Don't have GPS time yet Motorola v3 hab error 0x4e initialization (0=normal, 1=shutdown due to RF initialization timeout) PDOP is too high No usable satellites Only 1 usable satellite Only 2 usable satellites Only 3 usable satellites The chosen satellite is unusable 1 0 Battery backup motorola v3 hab error 0x4e 4 Antenna feedline fault Bit 0 1 Bit 0 1 OK BBRAM was not available at start-up OK Short or open detected 1 5 Type of fault Motorola v3 hab error 0x4e 0 1 Open detected Short detected The error codes in Byte 1 of Packet 0x46 are encoded into individual bits within the byte. The bit positions are shown below. Note After status is detected, it s bit remains set until the receiver is reset. 120 Lassen iq GPS Receiver

131 Trimble Standard Interface Protocol (TSIP) A A.16.9 Report Packet 0x47 - Signal Levels for all Satellites This packet provides received signal levels for all satellites currently being tracked or on which tracking is being attempted (i.e., above the elevation mask and healthy according to the almanac). The receiver sends this packet only in response to Packet 0x27. The data format is shown below. Table A.28 Report Packet 0x47 Data Formats Byte Item Type 0 Count Motorola v3 hab error 0x4e 1 Satellite number 1 UINT8 2-5 Signal level 1 Single 6 Satellite number 2 UINT Signal level 2 Single (etc.) (etc.) (etc.) Up to 12 satellite number/signal level pairs may be sent, indicated by the count field, motorola v3 hab error 0x4e. Signal level is normally positive. If it is zero then that satellite has not yet been acquired. If it is negative then that satellite is not currently in lock. The absolute value of signal level field is the last known signal level of that satellite. Note The signal level provided in this packet is a linear measurement of the signal strength after correlation or de-spreading. Units, either AMU or dbhz, are controlled by Packet 0x35. Lassen iq GPS Receiver 121

132 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x4A - 20 Byte Format This packet provides current GPS position fix in LLA (latitude, longitude, and altitude) coordinates. If the I/O Position option is set to LLA and the I/O Precision-of-Position Output is set to singleprecision (all controlled by Packet 35), then the receiver sends this packet each time a fix is computed. Command Packet 35 controls position output (XYZ or LLA) and (single or double) output precision. The data format is shown in below. Table A.29 Report Packet 0x4A Data Formats Byte Item Type Units 0-3 Latitude Single radians; + for north, - for south 4-7 Longitude Single radians; + for east, - for west 8-11 Altitude Single meters (HAE or MSL) 2-15 Clock Bias Single meters 6-19 Time-of-Fix Single seconds (GPS or UTC) The default altitude conversion is WGS-84. Altitude is referred to the datum ellipsoid or the MSL Geoid, depending on which I/O LLA altitude option is selected. The time-of-fix is in GPS time or UTC, depending on which I/O timing option is selected. This packet also is sent at start-up with a negative time-of-fix to report the current known position. Packet 0x84 provides a double-precision version of this information Warning When converting from radians to degrees, significant and readily visible errors will be introduced by use of an insufficiently precise approximation for the constant PI). The value of the constant PI as specified in ICD-GPS-200 is Lassen iq GPS Receiver

133 Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x4A - 9 Byte Format Report Packet 0x4A is also sent in response to the setting or requesting of the Reference Altitude Parameters using Command Packet 0x2A. These parameters can be used in the Manual 2-D mode. Reference Altitude The altitude used for manual 2-D positions if the altitude flag is set. Altitude is in units of HAE WGS-84 or MSL depending on the selected I/O options set for positioning with Command Packet 35. Altitude Flag A flag that determines whether or not the Reference Altitude will be used. If set, it will be used. If cleared, altitude hold (last 3-D altitude) will be used. The data format is shown in the following table. Table A.30 Reference Altitude Byte Item Type Units 0-3 Reference Altitude Single Meters 4-7 Reserved Single 8 Altitude flag UINT8 Lassen iq GPS Receiver 123

134 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x4B - Machine/Code ID and Additional Status The receiver transmits this packet in response to packets 0x25 and 0x26 and following a change in state. In conjunction with Packet 0x46, health of receiver, this packet identifies the receiver and may present status messages, motorola v3 hab error 0x4e. The machine ID can be used by equipment communicating with the receiver to determine the type of receiver to which the equipment is connected. Then the interpretation and use of packets can be adjusted accordingly. Table A.31 Report Packet 0x4B Data Formats Byte Item Type/ Definition 0 Machine ID UINT8 Receiver dependent 1 Status 1 UINT8 See Table A.32 2 Status 2 UINT8 Bit 0 = Super packets supported The status codes are encoded into individual bits within the bytes. The bit positions and their meanings are listed in the table below. Table A.32 Status 1 Bit Positions Report Packet 0x4B Bit Positions and Descriptions Meaning if bit value = 1 0 (LSB) Not used 1 Real-time Clock was not available at power-up. 2 Not used 3 The almanac stored in the receiver is not complete and current. 4-7 Not used 124 Lassen iq GPS Receiver

135 Trimble Standard Centos yum loaded plugins error Protocol (TSIP) A A Report Packet 0x4D - Oscillator Offset This packet provides the current value of the receiver master oscillator offset in Hertz at carrier. This packet contains one single precision number. The receiver sends this packet in response to Packet 0x2D. The permissible offset varies with the receiver unit. A Report Packet 0x4E - Response to Set GPS Time Indicates whether the receiver accepted the time given in a Set GPS time packet. the receiver sends this packet in response to Packet 0x2E. This packet contains one byte. Table A.33 Value ASCII Y ASCII N Report Packet 0x4E Data Formats Meaning The receiver accepts the time entered via Packet 2E. The receiver has not yet received the time from a satellite. The receiver does not accept the time entered via Packet 2E. The receiver has received the time from a satellite and uses that time. The receiver disregards the time in Packet 0x 2E. Lassen iq GPS Receiver 125

136 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x55 - I/O Options These abbreviations apply to the following table: ALT (Altitude), ECEF (Earth-centered, Motorola v3 hab error 0x4e, XYZ (Cartesian coordinates), LLA (latitude, longitude, altitude), motorola v3 hab error 0x4e, HAE (height above ellipsoid), WGS-84 (Earth model (ellipsoid)), MSL geoid (Earth (mean sea level) mode), and UTC (coordinated universal time). Table A.34 Command Packets 0x55 and 0x35 Data Descriptions Byte Bit Item Type Value Definition Position 0 0 XYZ ECEF Bit LLA Output Bit LLA ALT Output Bit ALT input Bit Precision-ofposition output 0 motorola v3 hab error 0x4e Super Packet Output reserved Bit 0 1 Bit 0 1 XYZ ECEF output off XYZ ECEF output on LLA output off LLA output on HAE (WGS-84 datum) MSL geoid HAE (WGS-84 datum). MSL geoid Send single-precision packet. Send double-precision packet. Output no Super Packets. Output all enabled Super Packets. Velocity 1 0 XYZ ECEF Bit ENU output Bit reserved XYZ ECEF output off XYZ ECEF output on ENU output off ENU output on 126 Lassen motorola v3 hab error 0x4e GPS Receiver

137 Trimble Standard Interface Protocol (TSIP) A Table A.34 Command Packets 0x55 and 0x35 Data Descriptions (Continued) Byte Bit Item Type Value Definition Timing 2 0 Time Type Bit reserved GPS time UTC Auxiliary / Range Measurements 3 0 Raw measuring Bit Raw / Filtered Bit reserved 3 3 Output db Hz instead of AMU reserved Bit 0 1 Raw measurements off Raw measurements on Raw PR s in 0x5A Filtered PR s in 0x5A Output db Hz Output AMU s Notes See the associated superpacket output, described later in this appendix. Packet 8E motorola v3 hab error 0x4e be used to specify which superpacket is to be output. Automatic output of 0x5A raw measurement messages is supported in the Lassen iq GPS receiver for backwards compatibility with older TSIP applications. Lassen iq GPS Receiver 127

138 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x56 - Velocity Fix, East-North-Up (ENU) If East-North-Up (ENU) coordinates have been selected for the I/O velocity option (see Packet 0x35), motorola v3 hab error 0x4e, the receiver sends this packet under the following conditions: Each time that a asus p5kc error codes is computed In response to Packet 0x37 (last known fix) The data format is shown below. Table A.35 Report Packet 0x56 Data Formats Byte Item Type Units 0-3 East Velocity Single m/s; + for east, - for west 4-7 North Velocity Single m/s; + for north, - for south 8-11 Up Velocity Single m/s; + for up, - for down Clock Bias Rate Single m/s Time-of-Fix Single seconds (GPS or UTC) The time-of-fix is in GPS or UTC time as selected by the I/O timing option. 128 Lassen iq GPS Receiver

139 Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x57 - Information About Last Computed Fix This packet provides information concerning the time and origin of the previous position fix. The receiver sends this packet, among others, in response to Packet 0x37. The data format is shown below. Table A.36 Report Packet 0x57 Data Formats Byte Item Type Units Byte 0 Value/Velocity 0 Source of information 1 Mfg. diagnostic UINT8 -- UINT temporary no fix 01 good current fix 2-5 Time of last fix Single seconds, motorola v3 hab error 0x4e, GPS time 6-7 Week of last fix INT16 weeks, GPS time Lassen iq GPS Receiver 129

140 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x58 - Satellite System Data/Acknowledge from Receiver This packet provides GPS data (almanac, ephemeris, etc.). The receiver sends this packet in response to Packet 0x38 (acknowledges the loading of data). The data format is shown below. Table A.37 Report Packet 0x58 Data Formats Byte Item Type Value Definition 0 Operation UINT Type of data UINT Sat PRN# UINT Request data from receiver; Load data into receiver Almanac Health page, T_oa, WN_oa Ionosphere UTC Ephemeris Data that is not satellite - ID specific satellite PRN number 3 Length (n) UINT8 Number of bytes of data to be loaded 4 to n+3 Data Note If data is not available, byte 3 is set to 0 and no data is sent. The binary almanac, health page, and UTC data streams are similar to Report Packets 0x40, 0x49, and 0x4F respectively, but these reports are preferred. To get ionosphere or ephemeris, this report must be used. Note Ephemeris cannot be loaded into Lassen iq GPS receiver. Motorola v3 hab error 0x4e A.38 Report Packet 0x58 Almanac Data Byte Item Type Definition / ICD-GPS t_oa_raw UINT8 Sec SV_HEALTH UINT8 Sec e Single Sec t_oa Single Sec Lassen iq GPS Receiver

141 Trimble Standard Interface Protocol (TSIP) A Table A.38 Report Packet 0x58 Almanac Data i_o Single Sec OMEGADOT Single Sec sqrt_a Single Sec OMEGA_0 Single Sec omega Single Sec M_0 Single Sec a_f0 Single Sec a_f1 Single Sec Axis Single Sec n Single Sec OMEGA_n Single Sec ODOT_n Single Sec t_zc Single Sec see Note weeknum INT16 Sec wn_oa INT16 Sec Note 1 All angles are in radians. Note 2 If data is not available, t_zc is set to Table A.39 Report Packet 0x58 Almanac Health Data Byte Item Type Definition/ ICD-GPS week # for health UINT8 Sec SV_health UINT8 Sec t_oa for health UINT8 Sec current t_oa UINT8 units = seconds/ current week # INT16 Lassen iq GPS Receiver 131

142 Service call 142 fatall error Trimble Standard Interface Protocol (TSIP) Table A.40 Byte Item Type Definition / IDC-GPS not used alpha_0 Single Sec alpha_1 Single Sec alpha_2 Single Sec alpha_3 Single Sec beta_0 Single Sec beta_1 Single Sec beta_2 Single Sec beta_3 Single Sec Table A.41 Byte Item Type Definition / IDC-GPS not used A_0 Double Sec A_1 Single Sec delta_t_ls Integer Sec t_ot Single Sec WN t Integer Sec WN_LSF Integer Sec DN Integer Sec delta_t_lsf Integer Sec Table A.42 Byte Item Type Definition / IDC -GPS sv_number UINT8 SV PRN number 5-8 t_ephem Single time of collection 9-10 weeknum INT16 SecTable 20-I 132 Lassen iq GPS Receiver

143 Trimble Standard Interface Protocol (TSIP) A Table A.42 (Continued) Byte Item Type Definition / IDC -GPS codel2 UINT8 SecTable 20-I 12 L2Pdata UINT8 SecTable 20-I 13 SVacc_raw UINT8 SecTable 20-I 14 SV_health UINT8 SecImpresora canon mp250 error p 22 20-I IODC INT16 SecTable 20-I T_GD Single SecTable 20-I t_oc Single SecTable 20-I a_f2 Single SecTable 20-I a_f1 Single SecTable 20-I a_f0 Single SecTable 20-I SVacc Single SecTable 20-I 41 IODE UINT8 Sec fit_interval UINT8 Sec C_rs Single Sec delta_n Single Sec M_0 Double Sec C_uc Single Secradians e Double Sec C_us Single Secradians sqrt_a Double Sec t_oe Single Sec C_ic Single Secradians OMEGA_0 Double Sec C_is Single Secradians i_0 Double Sec C_rc Single Sec Lassen iq GPS Receiver 133

144 A Trimble Standard Interface Protocol (TSIP) Table A.42 (Continued) Byte Item Type Definition / IDC -GPS omega Double Sec OMEGADOT Single Sec IDOT Single Sec Axis Double = (sqrt_a) n Double derived from delta_n r1me2 Double = sqrt(1.0-e 2 ) OMEGA_n Double derived from OMEGA_0, OMEGADOT ODOT_n Double derived from OMEGADOT Note All angles are in radians. A Report Packet 0x5C - Satellite Tracking Status This packet provides tracking status data for a specified satellite. Some of the information is very implementation-dependent and is provided mainly for diagnostic purposes. The receiver sends this packet in response to Packet 0x3C. The data format is shown below. Table A.43 Report Packet 0x5C Data Formats Byte Bit Item Type Value Definition 0 Satellite PRN number UINT8 number reserved Bits reserved Channel Bits Acquisition flag UINT Never acquired Acquired Re-opened search 134 Lassen iq GPS Receiver

145 Trimble Standard Interface Protocol (TSIP) A Table A.43 Report Packet 0x5C Data Formats (Continued) Byte Bit Item Type Value Definition 3 Ephemeris flag UINT Signal level Single Same as in Packet 0x GPS time of last measurem ent 51 Single <0 >0 Flag not set Ephemeris is decoded Ephemeris is decoded and healthy Ephemeris is decoded, good and used in the current position fix Ephemeris is decoded, good, used in the fix, and a DGPS correction is available (only relevant if DGPS is enabled in the firmware) No measurements have been taken. Center of the last measurement taken from this satellite Elevation Singles radians Approximate elevation of this satellite above the horizon. Updated about every 15 sec.s. Used for searching and computing measurement correction factors Azimuth Single radians Approximate azimuth from true north to this satellite. Updated typically about every 3 to 5 minutes. Used for computing measurement correction factors reserved UINT8 0 Lassen iq GPS Receiver 135

146 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x60 - Type 1 Differential GPS Corrections This packet provides the Lassen iq GPS with differential corrections from RTCM SC-104 record types 1 and 9, in the TSIP format. There is no response to this packet. If bit 6 is set, the corrections are as in RTCM Type 9 records. The data format is shown below. Table A.44 Command Packet 0x60 Data Formats Byte Bit Item Type Value Definition 0-1 Modified z-count UINT SEC 2 Station health UINT Number of SVs in packet Bits Type 9 flag Bit 0 type 1 1 Type Version 2 flag Bit 1 must be set 136 Lassen iq GPS Receiver

147 Trimble Standard Interface Protocol (TSIP) A The next 5 bytes are repeated as a group for each satellite. The SV PRN and scale factor contains the SV PRN in the lower 5 bits, and the scale factor in the upper 3 bits. Range corrections are scaled by 0.02 meters times 2 raised to the scale factor power. Range-rate corrections are scaled by meters per second times 2 raised to the scale factor power. The data format is shown below. Table A.45 Command Packet 0x60 Data Formats Byte Bit Item Type Value Definition 4+ (N*5) 0-4 SV PRN is SV (N*5) motorola v3 hab error 0x4e Scale factor 0 Low scale factor (.02m.002 m/s) 5+ (N*5) Number of SVs in packet Bits 4 7 High scale factor (.32m.032 m/s) Correction not usable RTCM (N*5) Type 9 flag Bit RTCM (N*5) Version 2 flag Bit Lassen iq GPS Receiver 137

148 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x62 - Set/Request Differential Position Fix Motorola v3 hab error 0x4e Note This command packet has been replaced by command packet 0xBB. Although the Lassen iq GPS retains compatibility with this command, it is recommended that you use the 0xBB command packet to set the Differential Fix Mercedes start error. This packet requests the Differential Position Fix Mode of the GPS receiver. A single data byte is sent. To request report packet 0x82, the data byte is set to 0xFF. A Command Packet 0x65 - Set/Request Differential Position Fix Mode This packet requests the status of differential corrections for a specific satellite or for all satellites for which data is available. This packet contains only one byte specifying the PRN number of the desired satellite or zero to request all available. The response is a packet 0x85 for each satellite if data is available. If the receiver has not valid data for any satellite, no reply will be sent. Note TSIP packet 0x65 is not functional in the Lassen iq GPS firmware release Lassen iq GPS Receiver

149 Trimble Standard Interface Protocol (TSIP) A A Report Packet 0x6D - All-In-View Satellite Selection This packet provides a list of satellites used for position fixes by the GPS receiver. The packet also provides the PDOP, HDOP, and VDOP of that set and provides the current mode (automatic or manual, 3-D or 2-D). This packet has variable length equal to 16+nSVs where nsvs is the number of satellites used in the solution. The GPS receiver sends this packet in response to Packet 0x24. The data format is shown below. Table A.46 Report Packet 0x6D Data Formats Byte Bit Item Type Value Definition Dimension UINT D 3D Auto Manual nsvs 1-4 PDOP Single PDOP 5-8 HDOP Single HDOP 9-12 VDOP Single VDOP TDOP Single TDOP (16+nSVvs) SV PRN UINT8 Note The Lassen iq GPS receiver sends this packet automatically after a position fix or every second if no position fix occurs, motorola v3 hab error 0x4e. Lassen iq GPS Receiver 139

150 A Trimble Standard Interface Protocol (TSIP) A Command Packet 0x69 - Set/Request Enhanced Sensitivity Mode The Lassen iq GPS receiver is configured at the factory with the Enhanced Sensitivity feature Off. There are several ways to turn the Enhanced Sensitivity feature on: The iq_chat program found in the iq Starter Kit. The iq_monitor program found in the iq Starter Kit. The TSIP command packet 0x69 (receiver responds with packet 0x89). The data format is shown below. Table A.47Command Packet 0x69 Data Format Byte Item Type Units Byte 0 Value/Velocity 0 Enhanced Sensitivity Mode 1 Reserved Byte 0 1 Off (Standard) Enhanced Note A soft reset is required to make the switch to Enhanced Sensitivity effective. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, save the setting to flash memory using TSIP command packet 8E Lassen iq GPS Receiver

151 Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x70 - Filter Control Trimble OEM receivers have a number of filters. Command 0x70 provides control for these filters. It returns Report 0x70. There are three filters associated with 0x70: Position-Velocity (PV) Filter Static Filter Altitude Filter The Position-Velocity (PV) Filter is the main filter and is used to soften the effect of constellation switches on position fixes. The filter has virtually no effect on velocity output and there is no lag due to vehicle dynamics. There may be a small increase in accuracy however. A feature of the PV filter is the Static Filter which engages when the receiver is moving very slowly. This feature improves accuracy in the urban environment. The static filter should be turned off for the following applications: Slow-moving environments such as walking or drifting with the current When rooftop testing of receivers for moving applications The altitude filter is a simple motorola v3 hab error 0x4e filter with a time constant of a few seconds. It should be left on in marine and land applications. To query for the current settings, use Command Packet 0x70 with no databytes. To input new settings, Command Packet 0x70 is sent with four data bytes. Lassen iq GPS Receiver 141

152 A Trimble Standard Interface Protocol (TSIP) Table A.48 Command Packet 70 Data Formats Byte Item Type Value Definition 0 Position Velocity Filter UINT Static Filter UINT Altitude Filter UINT Reserved UINT8 reserved Off On Off On Off On A Report Motorola v3 hab error 0x4e 0x70 This report is sent as a response to Command Packet 0x70 as either a query or a set. It contains four bytes, as shown in Table A Lassen iq GPS Receiver

153 Trimble Standard Interface Protocol (TSIP) A A Command Packet 0x7A The NMEA message determines whether or not a given NMEA message will be output. If the bit for a message is set, motorola v3 hab error 0x4e, the message will be sent every interval second. Use the values shown below to determine the NMEA interval and message mask. While fixes are being generated, the output order is: ZDA, GGA, GLL, VTG, GSA, GSV, RMC. Table A.49 Command Packet 0x7A and Report Packet 0x7B Data Formats Byte Bit Item Type Value Definition 0 Subcode UINT8 0 1 Interval UINT Fix interval in seconds 2 Reserved UINT8 0 3 Reserved UINT RMC Bit Reserved Bit GGA Bit GLL Bit VTG Bit GSV Bit GSA Bit ZDA Bit Reserved Bit 0 Off On Off On Off On Off On Off On Off On Off On Lassen iq GPS Receiver 143

154 A Trimble Standard Interface Protocol (TSIP) A Report Packet 0x7B This packet provides the NMEA settings and interval. 144 Lassen iq GPS Receiver

155 Trimble Standard Interface Protocol (TSIP) Motorola v3 hab error 0x4e A.17 TAIP Message Output (Packet 0x7E) TSIP packet 0x7E is a new command added to Lassen iq GPS for setting up the output configuration for TAIP messages. This packet expands the features similar to what have been provided by packet 0x8E-40, which can be found in some older generation Trimble receiver brother hl-2140 drum error flashing Lassen iq GPS does not support the 0x8E-40 command). The settings provided by the packet can be divided into 4 groups: 1. Reporting Flags byte 1. For information on the RM command, see Appendix A motorola v3 hab error 0x4e the Lassen iq GPS Receiver System Designer Reference Manual. 2. The Top-of-Hour Offset byte 2,3. This setting applies to all eight messages included in this packet. (If different values have to be applied to each message individually, use the Time- Distance feature from TAIP protocol.) 3. Automatic Output Intervals for the 8 commonly used canon mp210 error 1 bytes Device ID bytes This packet provides the capability to set the output frequencies for the eight commonly used messages individually. This is the same as the F<message type><output interval> command in TAIP. In contrast to packet 0x8E-40, the settings in this packet are not just for the so-called Heartbeat messages, meaning the output frequency settings are not only applied when the receiver is not generating a position fix. In practice, this packet provides a comprehensive but straightforward means to set up the TAIP output configuration. It can also be used to reset the output configuration. For example, if any of these eight messages was set up as Time-Distance mode from the TAIP protocol, this packet would reset any such message back to plain periodic output mode or no automatic output mode (frequency=0). Lassen iq GPS Receiver 145

156 A Trimble Standard Interface Protocol (TSIP) For customization, the settings in this packet can be stored into the Flash by either TSIP packet 0x8E-26 or TAIP command SRTSAVE_CONFIG. The flash storage commands store the latest output configuration which may be set up by either this packet or any other commands from the TAIP protocol. For example, if this packet was executed first from the TSIP protocol and then the Lassen iq GPS was switched to TAIP protocol and the output settings were changed (e.g. changed to Time-Distance mode), or vise-versa, then the latest settings would be stored into the Flash (when the flash storage command is used). Table.50 TAIP Packet 0 x 7E Byte Bit Item Type Value Definition Default 0 Subcode UINT8 0 Setting the packet ID Flag Bit 0/1 On/Off 0 1 CS Flag Bit 0/1 On/Off 1 2 EC Flag Bit 0/1 On/Off 1 3 FR Flag Bit 0/1 On/Off 1 4 CR Flag Bit 0/1 On/Off Reserved 2,3 TOH UINT Top of hour offset 0 4,5 AL output period 6.7 CP output period 8,9 ID output period 10,11 LN output period 12,13 PV output period 14,15 ST output period UINT Auto output period for AL (sec) 0 (see note) UINT Auto output period for CP (sec) 0 UINT Auto output period for ID (sec) 0 UINT Auto output period for LN (sec) 0 UINT Auto output period for PV (sec) 0 UINT Auto output period for ST (sec) Lassen motorola v3 hab error 0x4e GPS Receiver

157 Trimble Standard Interface Protocol (TSIP) A Table.50 TAIP Packet 0 x 7E Byte Bit Item Type Value Definition Default 16,17 TM output period UINT Auto output period for TM (sec) 0 18,19 VR output UINT Auto output period for VR (sec) 0 period Veh ID String See TAIP ID Vehicle ID 0000 Note 0 second period means the corresponding message is not to be output at all. Lassen iq GPS Receiver 147

158 A Trimble Standard Interface Protocol (TSIP) A.17.1 Report Packet 0x82 - Differential Position Fix Mode This packet provides the differential position fix mode of the receiver. This packet pcl xl error subsystem kernel only one data byte to specify the mode. The packet is sent in response to Packet 0x62 and whenever a satellite selection is made and the mode is Auto GPS / DGPS (modes 2 and 3). The receiver switches automatically between modes 2 and 3 based on the availability of differential corrections for a constellation which meets all other masks. If such a constellation is not available, then the receiver stays in its current automatic mode (2 or 3), and does not do position solutions. Valid modes are: Mode 0 Differential off (Manual GPS) The receiver does position solutions without differential corrections, even if the differential corrections are available. Mode 1 Mode 2 Mode 3 Differential on (Manual DGPS) The receiver only does position solutions if valid differential correction data are available. Differential currently off (Auto DGPS) The receiver is not receiving differential correction data for all satellites in constellation which meets all other masks, and is doing non-differential position solutions. Differential currently motorola v3 hab error 0x4e (Auto DGPS) The receiver is receiving differential correction data for all satellites in a constellation which meets all other masks, and is doing differential position solutions. Note The Lassen iq GPS receiver sends this packet automatically after every position fix except when in Mode Lassen iq GPS Receiver

159 Trimble Standard Interface Protocol (TSIP) A A.17.2 Report Packet 0x83 - Double-Precision XYZ Position Fix and Bias Information This packet provides current GPS position fix in XYZ ECEF coordinates. If the I/O Position option is set to XYZ ECEF and the I/O Precision of Position option is set to Double (see Packet 0x35), the receiver sends this packet each time a fix is computed. The data format is shown below. Table A.51 Report Packet 0x83 Data Formats Byte Item Type Units 0-7 X Double meters 8-15 Y Double meters Z Double meters clock bias Double meters time-of-fix Single seconds The time-of-fix is in GPS time or UTC, as selected by the I/O timing option. Packet 42 provides a single-precision version of this information. Lassen iq GPS Receiver 149

160 A Trimble Standard Error-l1 hackcheck 0x0 0x19 Protocol (TSIP) A.17.3 Report Packet 0x84 - Double-Precision LLA Position Fix and Bias Information This packet provides current GPS position fix in LLA coordinates. If the I/O Position option is set to LLA and the Precision of Position option is set motorola v3 hab error 0x4e Double (see Packet 0x35), the receiver sends this packet each time a fix is computed. The data format is shown below. Table A.52 Report Packet 0x84 Data Formats Byte Item Type Units 0-7 latitude Double radians; + for north, - for south 8-15 longitude Double radians; + for east, - for west altitude Double meters clock bias Double meters time-of-fix Single seconds The time-of-fix is in GPS time or UTC, as selected by the I/O timing option, motorola v3 hab error 0x4e. Warning When converting from radians to degrees, significant and readily visible errors will be introduced by use of an insufficiently precise approximation for the constant p (PI). The value of the constant PI as specified in ICD-GPS-200 is A.17.4 Packets 0x8E and 0x8F - Superpacket See page 156 for information on Packets 0x8E and 0x8F. 150 Lassen iq GPS Receiver

161 Trimble Standard Interface Protocol (TSIP) A A.17.5 Command Packet 0x89 - Set/Request Enhanced Sensitivity Mode The Lassen iq GPS receiver is configured at the factory with the Enhanced Sensitivity feature Off. There are several ways to turn the Enhanced Sensitivity feature On: The iq_chat program found in ati edid checksum error iq Starter Kit. The iq_monitor program found in the iq Starter Kit. The TSIP command packet 0x69 (receiver responds with packet 0x89). The data format is shown below. Table A.53 Command Packet 0x69 Data Motorola v3 hab error 0x4e Byte Item Type Units Byte 0 Value/Velocity 0 Current Enhanced Sensitivity 1 Enhanced Sensitivity Mode after reset Byte 0 1 Byte 0 1 Off (Standard) On (Enhanced) Off (Standard) On (Enhanced) Note A soft reset is required to make the switch to Enhanced Sensitivity effective. To permanently set the Lassen iq GPS receiver to the Enhanced Sensitivity mode, save the setting to flash memory using TSIP command packet 8E-26. Lassen iq GPS Receiver 151

162 A Trimble Standard Interface Protocol (TSIP) A.17.6 Command Packet 0xBB - Navigation Configuration In query mode, Packet 0xBB is sent with a single data byte and returns Report Packet 0xBB. Note This Command Packet replaces Packets 0x2C, 0x62, 0x75, and 0x77. Table A.54 Command Packet 0xBB Query Mode Data Format Byte # Item Type Value Definition Default 0 Subcode UINT8 0x00 Query mode TSIP Packet 0xBB is used to set GPS Processing options. The table below lists the individual fields within the 0xBB Packet. Table A.55 Command and Report Packet 0xBB Field Descriptions Byte # Item Type Value Definition Default 0 Subcode UINT8 0x00 Query mode 0x03 1 Operating Dimension UINT DGPS Mode UINT or 3 3 Dynamics Code UINT Reserved 5-8 Elevation Mask Single (radian) 9-12 AMU Mask Single 0-25 (AMU) Automatic (2D/3D) Horizontal (2D) Full Position (3D) DGPS Off DGPS Only DGPS Auto Land Sea Air Stationary Lowest satellite elevation for fixes Minimum signal level for fixes DOP Mask Single Maximum DOP for fixes Automatic DGPS Auto Land (5 o ) Lassen iq GPS Receiver

163 Trimble Standard Interface Protocol (TSIP) A Table A.55 Command and Report Packet 0xBB Field Descriptions (Continued) Byte # Item Type Value Definition Default DOP Switch Single Selects 2D/3D mode DGPS Age Limit UINT (seconds) Reserved Maximum time to use a DGPS correction (seconds) 30 Lassen iq GPS Receiver 153

164 A Trimble Standard Interface Protocol (TSIP) A.17.7 Command Packet 0xBC - Protocol Configuration TSIP Packet 0xBC is used to query the port characteristics. In query mode, Packet 0xBC is sent with a single data byte and returns Report Packet 0xBC. (See Table A.4 for information on saving the settings to non-volatile memory.) TSIP Packet 0xBC is used to set the communication parameters on Port 1. The table below lists the individual fields within the Packet 0xBC and provides query field descriptions. The BC command settings are retained in battery-backed RAM. Table A.56 Command Packet 0xBC Port Characteristics Byte Bit Item Type Value Definition 0 Port to Set UINT xFF 1 Input Baud Rate UINT Port 1 Port 2 Current port Reserved Reserved Reserved 2400 baud 4800 baud 9600 baud baud baud 2 Output Baud Rate UINT 8 As above As above (Note 1) 3 # Data Bits UINT Parity UINT mac mail error 51 network is unreachable Stop Bits UINT bits 8 bits None Odd Even 1 bit 2 bits 6 Flow Control UINT = none 154 Lassen iq GPS Receiver

165 Trimble Standard Interface Protocol (TSIP) A Table A.56 Command Packet 0xBC Port Characteristics (Continued) Byte Bit Item Type Value Definition 7 0 TAIP Bit TSIP input Bit Reserved 3 Reserved 4-7 Reserved 8 0 TAIP Bit TSIP output Bit NMEA output Bit Reserved 9 Reserved Off On Off On Off On Off On Off On Motorola v3 hab error 0x4e The Motorola v3 hab error 0x4e iq GPS receiver requires that the input and output baud rates be identical. Warning TSIP input or output must have 8 databits (byte 3). Lassen iq GPS Receiver 155

166 A Trimble Standard Interface Protocol (TSIP) A.18TSIP Superpackets Several packets have been added to the core TSIP protocol to provide additional capability for OEM receivers. In OEM Motorola v3 hab error 0x4e 0x8E and their 0x8F responses, the first data byte is a sub-code which indicates the superpacket type. For example, in Packet 0x8E-15, 15 is the subcode that indicates the superpacket type. Therefore the ID code for OEM packets is 2 bytes long followed by the data. A.18.1 Command Packet 8E-4A - Set/Request Lassen iq GPS Cable Delay Using this packet, you can query and control the Lassen iq GPS cable delay characteristics. The receiver responds to a query or control command with packet 8F-4A. The packet contains 16 bytes. Table.57 Command Packet 8E-4A Byte Item Type Meaning 0 Sub-packet ID BYTE Always 0x4A 1 Reserved 2 Reserved 3 Reserved 4-11 PPS Offset of Cable Delay DOUBLE Seconds (default=0.0) Reserved 156 Lassen iq GPS Receiver

167 Trimble Standard Interface Protocol (TSIP) A A.18.2 Command Packet 0x8E-20 - Request Last Fix with Extra Information This packet requests Packet 0x8F-20 or marks it for automatic output. If only the first byte (20) is sent, an 0x8F-20 report containing the last available fix will be sent immediately. If two bytes are sent, the packet is marked/unmarked for auto report according to the value of the second byte as shown in below. 0x37 can also be used for requesting 0x8F-20 if the 0x8F-20 is scheduled for auto output. Table A.58 Command Packet 0x8E-20 Field Descriptions Byte Item Type Definition 0 Sub-packet id UINT8 0x20 1 Mark for Auto-report (See Packet 35 byte 0 bit 5) UINT8 0 = do not autoreport 1 = mark for autoreport Note Auto-report requires that superpacket output is enabled, motorola v3 hab error 0x4e. Refer to Command Packet 35. Lassen iq GPS Receiver 157

168 A Trimble Standard Interface Protocol (TSIP) A.18.3 Report Packet 0x8F-20 - Last Fix with Extra Information (binary fixed point) This packet provides complete information about the current position velocity fix in a compact, fixed-length 56-byte packet. The fields are fixed-point with precision matched to the receiver accuracy. It can be used for automatic position/velocity reports. The latest fix can also be requested by 0x8E-20 or 0x37 commands.the data format is shown below. Table A.59 Report Packet 0x8F-20 Data Formats Byte Bit Item Type Value Definition 0 Sub-packet id UINT8 Id for this sub-packet (always 0x20) 1 KeyByte UINT8 Reserved for Trimble DGPS Post-processing. 2-3 east velocity INT m/s or m/s See Note north velocity INT m/s or m/s See Note up velocity INT m/s or m/s See Note Time Of Week UINT32 GPS Time in milliseconds Latitude INT to 2 30 WGS-84 latitude, 2-31 semicircle ( ) Longitude UINT32 0 to 2 32 WGS-84 latitude, 2-31 semicircle (0-360 ) Altitude INT32 Altitude above WGS-84 ellipsoid, mm Velocity Scaling reserved 25 reserved m/s m/s 2 26 Datum Datum index + 1 0=unknown 158 Lassen iq GPS Receiver

169 Trimble Standard Interface Protocol (TSIP) A Table A.59 Report Packet 0x8F-20 Data Formats (Continued) Byte Bit Item Type Value Definition 27 0 Fix Available Bit DGPS Corrected Bit Fix Dimension Bit Alt Hold Bit Filtered Bit reserved Yes No No Yes 3D 2D Last 3D Altitude User-entered altitude Unfiltered Filtered 28 NumSVs Download terrorcore 2002 va Number of satellites used motorola v3 hab error 0x4e fix. Will be zero if no fix avail. 29 UTC Offset UINT8 Number of leap seconds between UTC and GPS time Week INT16 GPS time of fix, weeks PRN 1 UINT PRN of first satellite 6-7 reserved 33 IODE 1 UINT8 IODE of first satellite PRN 2 UINT PRN of second satellite 6-7 reserved 35 IODE 2 UINT8 IODE of second satellite PRN 3 UINT PRN of third satellite 6-7 reserved 37 IODE 3 UINT8 IODE of third satellite PRN 4 UINT PRN of fourth satellite 6-7 reserved 39 IODE 4 UINT8 IODE of fourth satellite Lassen iq GPS Receiver 159

170 A Stop error code 0x00000096 Standard Interface Protocol (TSIP) Table A.59 Report Packet 0x8F-20 Data Formats (Continued) Byte Bit Item Type Value Definition PRN 5 UINT PRN of fifth satellite 6-7 reserved 41 IODE 5 UINT8 IODE of fifth satellite PRN 6 UINT PRN of sixth satellite 6-7 reserved 43 IODE 6 UINT8 IODE of sixth satellite PRN 7 UINT PRN of seventh satellite 6-7 reserved 45 IODE 7 UINT8 IODE of seventh satellite PRN 8 UINT PRN of eighth satellite 6-7 reserved 47 IODE 8 UINT8 IODE of eighth satellite PRN 9 UINT PRN of ninth satellite 6-7 reserved 49 IODE 9 UNIT8 IODE of ninth satellite PRN 10 UINT PRN of tenth satellite 6-7 reserved 51 IODE 10 UNIT8 IODE of tenth satellite PRN 11 UINT PRN of eleventh satellite 6-7 reserved 53 IODE 11 UNIT8 IODE of eleventh satellite PRN 12 UINT PRN of twelfth satellite 6-7 reserved 55 IODE 12 UINT8 IODE of twelfth satellite Ionospheric parameters Note Velocity scale controlled by byte 24, motorola v3 hab error 0x4e, bit 1. Overflow = 0x Lassen iq GPS Receiver

171

error blob not found GFA-Basic Compendium
Subject: Documentation/Programming Author: GFA Systemtechnik GmbH HTML conversion created with STG2HTML v Written by Lonny Pursell and ENCOM Note: Images are not supported.Index

Main

GFA-Basic Editor/Interpreter ManualAESGFA-Basic Compiler/Linker ManualVDIGFA-Basic AddendumBIOS()XBIOS()Error CodesindexGEMDOS()Number TableShift TableLINE-AHYPertext VersionEULAHelp
The Atari Compendium The documentation for TOS (aka sprers.eu)

Help

How to use this HYPertext At the end of most pages are external links to other documents which should be placed in the same directory as this document. The external links are denoted by a '+' sign after them. Other motorola v3 hab error 0x4e could be: The Atari Compendium, TOS HYP, NVDI 5, motorola v3 hab error 0x4e, etc. Example: appl_init()+ could be an external link to the page 'appl_init()' in the The Atari Compendium. The external links provide additional information which may be more accurate than the information provided in this document. You might also see a Memo at the end of various pages. These provide information that I've discovered on my own or reported from other GFA-Basic users.

Document not found

The requested document was not found. Please recheck your typing and try again or check the index for the page you were looking for.

GFA-Basic

GFA-Basic is the best BASIC for the Atari!

Lonny Pursell

WWW: sprers.eu

DR

Digital Research

HYPertext Version

Manual ported by Lonny Pursell and ENCOM [v 12/16/] WWW: sprers.eu Tools used in porting: GFA-Basic ST-Guide STeno ScanX Pro OCR QED GEMView Time spent porting: I spent about 2 months working on this project. On an average I spent 3 days per week (6 hours a day) scanning and editing the text. The grand total is approximately hours. The raw data is about k.
Note: I have GFA-Basic vTTe (last known version) so all comments are based on this version. Written by Lonny Pursell (C) Lonny Pursell and ENCOMAllrightsreserved.
Disclaimer This package may NOT be freely distributed under any conditions whatsoever. It was ported to HYPertext so that I could speed up my own personal software developement. I claim absolutely no rights to the information contained within or responsibility hellraider 8 - hell terror anything resulting from improper distribution.

GFA-Basic Addendum

End-user License AgreementGeneral InformationKnown problems with GFA-BasicPatches for sprers.eu Functions and ObjectsGFA-Basic HistoryThe Origins of GFA-BasicGFA-Basic v3 float formatST-Basic float format (CVS()) Debugging with GFA-Basic and MiNTMisc ImagesOptimizations not covered in the Compiler manualCommand line optionsCookie JarFastload on TOS /Assembler NotesStart-up/Shut-down modulesC to GFABASICCompatibility with GFA-BASIC Understanding GFA's VDI schemePorting other BASICsGCC Extended Program Header Tutorials: Using GEMSYSA Study of VDISYSVDI RevisitedOptimizing FUNCTION CallsAssembler and GFABASICCompiler Option $MCompiler Option $PExternal ArraysStructures

Command line options

The editor can be started with a command line: Example: sprers.eu start editor and run source sprers.eu start editor in edit mode

Optimizations not covered in the Compiler manual

Math with numbers a%=10+4*/7 !for example, motorola v3 hab error 0x4e, is converted into: moveq #13,d0 move.l d0,adr_of_variable That's quite an impressive optimization. Say you are dealing with some structure, and you prefer to write like this for clearity: LONG{struct%+0}=22 LONG{struct%+4}=5 !etc The +0 in the first line generates no code at all when compiled. IF/ENDIF versus SELECT/CASE If you have an IF/ENDIF structure that does 2 or more tests on the same variable, SELECT/CASE should be used. Why? Because SELECT/CASE holds the value of the variable in a register for the entire structure, where as IF/ENDIF fetches the value of the variable at each reference.
IF/ENDIF with Boolean testsIF test!=TRUE !generates more code IF test! !less code IF test!=FALSE !generates more code IFNOT test! !less code
Quick flip flags How to flip a boolean variable (FALSE or TRUE) in one line of code: flag!=NOT flag! flag&=NOT flag& How to flip a variable used as a flag (0 or 1) in one line of code: flag&=flag& XOR 1 (shortest when compiled) flag&=BCHG(flag&,0) flag&=1-flag&
Variables versus Constants This is slower and generates more code: pdomain&= domain_mint&=1 result&=GEMDOS(pdomain&,W:domain_mint&) This is faster and more compact when compiled: result&=GEMDOS(,W:1) Although the first example is easier to read, fetching the values of the variables adds overhead.
Built in commands versus custom bindings If at all possible always use the built in commands. Built in commands pass parameters via registers. User written routines on the other hand pass all parameters via the stack, which is slower.

Cookie Jar

Normally you need to go to supervisor mode to get the cookie jar address. To avoid that one can use this legal BIOS() call. This is the best method for MiNT and works equally well under all versions of TOS. jar_adr%=BIOS(5,W:SHR&(&H5A0,2),L:TRUE) The Cookie Jar+

Fastload on TOS /

How to force a fastload on TOS / (exploit a bug in TOS) ______________________________________________________________________________ The binary must meet 2 requirements: 1) No relocation data (must be % pc relative) 2) The ABSFLAG in the header must be set to non-zero (word at offset 26) The OS will load the file and relocate it. Control will be passed to the binary like normal. The OS fails to do 2 things (the bug): The BSS and heap memory areas will not be cleared (thus its fastloaded). The binary is not closed, it cannot be deleted or moved from motorola v3 hab error 0x4e Desktop. The binary should close itself before it terminates. If not, the system will have 1 less file handle available to other apps. ______________________________________________________________________________ To close the binary you have 2 options: Method #1 (used in PinHead v) Call fsfirst() with "*.*" in the current dir and open the 1st file you find. Then simply close the file. Now fclose(previous handle-1), the binary will then be closed. Method #2 (used in DC Squish II v) Check the TOS version: If its TOS If the word at offset $15D2 = $A, then error riso hc5000 next word is motorola v3 hab error 0x4e handle. If its TOS If the word at offset $ = $A, then the next word is the handle. Call fclose() with the file handle, the binary will then be closed. TOS and up do not have this bug and also supports fastload directly. ______________________________________________________________________________ This technique is probably only useful in small \auto folder programs as it is sort of hard to write a rather large application that has no fixups. The information regarding this trick was discovered by dis-assembling the above mentioned programs and studying the code. Tests were made with old versions of TOS to verify the mysterious offsets mentioned as well. The Atari Compendium mentions a bug related to the ABSFLAG and some versions of TOS, but does not state the nature of the problem. Well, now I know. ;o) ============================================================================== Related information: From the PinHead v documentation: ************* * * *NEW STUFF * * * ************* PinHead PinHead Now Fastloads Itself! Version of PinHead uses an undocumented feature of TOS and to "fastload" itself. This means that the speedup starts one program sooner in your AUTO folder, since the PinHead program file does not cause memory to be cleared when it runs. (NOTE: Normally, the use of this undocumented feature would result in the PinHead program file being left "open" by the system. PinHead uses a special technique to avoid this bug in TOS, and you will have no trouble deleting, renaming, or copying the PinHead program file after it runs.) From the DC Squish II manual, page 19, 1st paragraph: When the FAST bit is OFF, both the BSS and the HEAP memory areas are cleared. Early TOS versions, and do not know about the FAST bit and therefore 'always' clear both the BSS and HEAP. There is a trick to make GEMDOS load files 'fast' on TOS &and SQUISH uses this technique to allow fast-equivalent execution speed. ______________________________________________________________________________ GEMDOS Processes+

GFA-Basic History

From: Holger Herzog <[email protected]> Organization: MAUS Zweibr&#;cken + Newsgroups: <sprers.euic> Date: Friday, November 22, motorola v3 hab error 0x4e, PM Subject: Re: gfa history Hi Lonny! L>Does someone here know what "gfa" means in the title of "gfa-basic"? I L>have wondered this since the day I discovered version 2.x back in the L>days of the Atari st. As far as I know, GFA (originally called "GfA") was a shortcut for "Gesellschaft f&#;r Anwendungssoftware mbH". That means in english (word by word): "Company for application software Ltd." So GfA was the name of the company, and GfA-Basic was the name of the software. But in fact, this name ("GfA") was in conflict with the name of a further organization. I can't remember which one it was. But due to that, the company was renamed into "GFA Systemtechnik GmbH" which means: "GFA system engineering Ltd." So from then, "GfA" was called "GFA". And "GFA" is now - AFAIK - only a symbol for the company that sounds like the old shortcut, but without officially being a shurtcut. Now, the basic also is called "GFA-Basic", not "GfA-Basic" any longer. Best regards! Holger
Subject: [gfa-dev-atari] GFA / GfA Date: Monday, January 28, AM From: Holger Herzog <[email protected]> Reply-To: GFA-Basic Dev Mailing-List <[email protected]> To: GFA-Basic Dev Mailing-List <[email protected]> Conversation: [gfa-dev-atari] GFA / GfA Hi Lonny! I'm not sure anymore if I'm right with "GF*A*" = "application software" instead of "automation". Once I've asked the GFA support why "GfA" was renamed as "GFA" and Mr. Motorola v3 hab error 0x4e von Str&#;len (Software Support, GFA Systemtechnik) replied: "GfA" was renamend as "GFA" in It happened, because the acronym "GfA" was changed into the proper name "GFA-Systemtechnik". D&#;sseldorf, The header shows: GFA Systemtechnik GmbH Software-Entwicklung, Software-Vertrieb, Verlag D&#;sseldorf, Germany This means: GFA Systems Engineering Ltd. Software Development, Motorola v3 hab error 0x4e Sales, motorola v3 hab error 0x4e, Publishing D&#;sseldorf, Germany ;-) CEOs are Mr, motorola v3 hab error 0x4e. Thomas Nied and sprers.eu Heinrich Meckner Later, GFA Systemtechnik GmbH moved to M&#;nchengladbach, another town in western Germany. But I found exactly ONE curious invoice in my documents. The header here is: GFA Systemtechnik GmbH Industrie-Automation Proze&#;leit-Systeme Qualit&#;tssicherungs-Systeme And THIS means: GFA Systemtechnik GmbH Industrial Automation Process Control Systems Quality Assurance Systems Date: The address still is D&#;sseldorf, not yet M&#;nchengladbach. But the local court is in Kiel (nothern Germany). I really don't understand what this means. Because the CEO is still Mr. Thomas Nied. I found nothing about Thomas Nied in google. Dr. Meckner seems having worked for Krupp (a big steel company), but for both I found no reference where I could get in contact. So it *is* possible, that GfA meant "Gesellschaft f&#;r Automatisierung" (=automation), and not, as I heavyliy do remeber, "Gesellschaft for Anwendungssoftware" (=application software). Holger _______________________________________________ gfa mailing list [email protected] sprers.eu

The Origins of GFA-Basic

THE ORIGINS OF GFA BASIC It began with an Ataria small computer similar to the Commodore There existed a BASIC for that computer. This BASIC was neither fast nor comfortable to use, but, with only 16K of RAM, large programs could not be written anyway. After upgrading the computer to 48K of memory and 88K of disk space, I wrote some programs in assembly code. Eventually I ended up with a number of help routines, and a BASIC language with which I could marginally use with these routines. After trying FORTH, I decided to take a closer look at BASIC, and slightly modified it. These modifications eventually became so numerous that I decided to completely replace many of the routines. To remain compatible, some of the routines were left untouched. There were a lot of commands I did not like, such as computed GOTOs, and line numbers were a nuisance. This new BASIC was published in a computer magazine. Shortly thereafter I received an offer from GFA Systemtechnik GmbH to write a workable BASIC for the new computer, the Atari ST. The Atari ST incorporates a fresh modern processor. Its operating system, although certainly not the newest or fastest (nor is it very compact, having been written in C language) is very powerful. And, even though it lacks multitasking, one can write programs in motorola v3 hab error 0x4e level languages that offer exciting performance. Shipped with a BASIC language that did not even measure up to the one included with the Atarithe ST was destined to become a language developers dream. It was possible to now develop a BASIC that did not have to conform to the standard of any other interpreter. This new BASIC should have the simplicity of BASIC combined with the possibility of writing well structured code. The first step was to eliminate the line numbers. This made the task difficult from the outset because a solution had to be found to avoid the usual confusion of GOTOs and GOSUBs. It was important to be able to pass parameters to procedures and to declare local variables, thus enabling the programmer to use recursive programming techniques. The BASIC should also make sure that all loops are properly closed before the program starts runtime error programm this application has requested. The GOTO statement was one of the last statements added to this BASIC. After much thought, I even allowed the GOTO command to be used between different procedures. In an Interpreter it is possible to use segmented PEEKs and POKEs to simulate one of the Intel-processors. In a compiled program, this would greatly affect execution time. The unsuitable 16 bit integers motorola v3 hab error 0x4e not be used either, as this makes it harder to address all of the memory. Besides, the processor already uses 32 bits internally, thus allowing it to process larger numbers without speed loss. The editor of this BASIC had to be screen oriented and not use the windows of GEM. It would be virtually impossible to create non GEM programs from within the GEM interface. Other reasons exist for not having the editor run under GEM. In the case of a program error, it is often possible to save program changes that were made. Something that cannot always be done from within GEM because the windows lock up. So it happened that a relatively fast editor, one that could be used without a mouse, was created. I wanted to write the BASIC completely in machine language so that it would be fast and take up only a small portion of memory. Other languages like C use only a few machine instructions outside of the library, and they always pass parameters through the stack. The MC has a very powerful instruction set that can be better utilized with an Assembler. Taking all this into consideration, Version of GFA BASIC came into existence less than 6 months later. While I was writing the interpreter, I carefully made sure that the finished programs could be easily compiled. That is why the MERGE command is missing, motorola v3 hab error 0x4e. This command may be useful in an interpreter, but is of little value in a compiler. While I was working on the compiler, I was confronted with requests to expand the command set. Some of those requests I was able to incorporate in Version of the interpreter. Most new commands, like VOID, BASEPAGE, and OPTION, motorola v3 hab error 0x4e, were inserted to give the compiler more optimization opportunities, and to provide the programmer with more control over the compiling process. Even an extensive computer language cannot fulfill all the wishes of everyone who uses it. This book will, therefore, show you how to create necessary routines using GFA BASIC. This book does not present you with complete applications; it gives routines that can be incorporated into your own programs. GFA BASIC is only a BASIC and not a Modula 2, therefore you cannot create modules in quite the same way. Modula 2 takes a lot more coding and a multitude of small modules to write an application. Modula 2 can only be used as a compiler. BASIC includes numerous commands that would have to be created within libraries in Modula 2. Part of this book discusses many different operating system routines which include examples wherever I felt they were needed, motorola v3 hab error 0x4e. Naturally, there are routines that can be run directly without going to the low-level operating system routines, but rather with built in commands. An important part of this book is motorola v3 hab error 0x4e last chapter, where a complete GEM program is shown. It demonstrates how to use all parts of a window. This is motorola v3 hab error 0x4e easy to do in GEM, but it makes it convenient for the user of the program. For the programmer, GEM always means extra work. There are many programs where most of the code is written just to manipulate the window. I hope that you find the routines and tips in this book useful, and I wish you much success.
Taken from the 'Introduction' section of the book "The GFA BASIC Book" Written by Frank Ostrowski Text Translation by Wilford Niepraschk Published in the U.S.A. by MichTron, Inc. (C) GFA Systemtechnik 1st English Edition: September ISBN

Misc Images


General Information

Rather than duplicate alot of work that has already been done this document will not explain each and every system call available. I highly recommend you have some additional documentation. GFA specific: GFA-Basic Book Concepts in Programming Programming with GFA-Basic GFA-Basic Training Reboot Camp GFA-Basic Programmer's Reference Guide Volume 1 The GFA-Basic& Assembler User Book GFA-Basic Toolkit Volume 1 Atari in general: The Atari Compendium (also available on CD-ROM) Modern Atari System Software A programmer's Guide The TRB Reference Series AES Quick Reference The TRB Reference Series VDI Quick Reference Atari ST GEM Programmer's Reference (Abacus) Atari ST Internals (Abacus) Atari ST Machine Language (Abacus) Atari ST Tips & Tricks (Abacus) Atari ST 3D Graphics (Abacus) ST Disk Drives: Inside and Out (Abacus) COMPUTE!'s ST Programmer's Guide COMPUTE!'s Technical Reference Guide Atari ST: AES COMPUTE!'s Technical Reference Guide Atari ST: TOS COMPUTE!'s Technical Reference Guide Atari ST: VDI If you see a typo, find a program listing that does not work, or anything else wrong then please contact me. If you find this document handy and find yourself releasing a program, then please give me a mention in your doc file. That's all I ask. ;^)

Patches for GFA-Basic

I've seen several patches for GFA-Basic, but the best one by far is the one listed below. I personally use it on a daily basis. GFA-Basic Interpreter/Compiler-Patcher Version / () Compiler & Library-Patches by Christoph Conrad, AdalbertsteinwegD Aachen, Germany - eMail: [email protected] Interpreter-Patches and GEM interface by - Gregor Duchalski, Baueracker 15a, D Herne, Germany - eMail: [email protected] This patch completely removes all the LINEA calls used in the GFA libs. It also makes the compiled programs function on multi-tasking operating systems. It should also be noted that this patch removes the auto mouse hiding/showing that takes place when graphics commands are used. Once patched you must hide/show the mouse yourself when using VDI graphics commands. GFA_sprers.eu
LicomLIB H Copyright (c) Richard Gordon Faika All rights reserved. Hompage: sprers.eu Email: [email protected] [email protected] This patch replaces many routines in the GFA library file. From what I can tell from the German docs it adds automatic FPU support among many other things. An impressive update to the GFA library. The patch seems to require an original German vTT motorola v3 hab error 0x4e package.
Patchable areas in GFA-Basic Within sprers.eu and sprers.eu there is a small area where you can predetermine the appeareance of the program, motorola v3 hab error 0x4e. Always ensure that you have made a backup of your master disk before attempting such patches. Auto Clear ScreenOPEN "U",#1,"sprers.eu" !or "sprers.eu" SEEK #1,31 PRINT #1,"E"; !or "H"; CLOSE #1 With "E" the monitor screen will be erased before the program motorola v3 hab error 0x4e and with "H" the monitor is left as it is. Autorun Patch OPEN "U",#1,"sprers.eu" SEEK #1,32 PRINT #1,"sprers.eu";CHR$(0); CLOSE #1 When starting sprers.eu the default sprers.eu will start if you do not alter this by using the Install Application option of the GEM Destop. The program's name and path may not exceed 63 bytes. The zero byte at the end of the string is very important. If you only give the zero byte, the original status will be reimplemented. Variable Default TypeOPEN "U",#1,"sprers.eu" SEEK #1,32 FOR i%=0 TO 24 READ a% OUT #1,a% NEXT i% CLOSE #1 ' A B C D E F G H I J K L M N O P Q R S T U V X Y Z DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 It is possible to change the DATA row. Doing this will alter the preset default-type for the variable, motorola v3 hab error 0x4e, the name of which starts with the above letter. Only the following values are allowed: 0 =DEFFLT 1 =DEFSTR 2 =DEFINT 3 =DEFBIT 8 =DEFWRD 9 =DEFBYTEditor ColorsOPEN "U",#1,"sprers.eu" SEEK #1,58 FOR i%=0 TO 3 READ a% PRINT #1,MKI$(a%);NEXT i% CLOSE #1 ' Normal colors for the Editor DATA &,&,&,& ' Colors inverted for the Editor 'DATA &,&,&,& Default DEFLIST ModeOPEN "U",#1,"sprers.eu" SEEK #1,80 PRINT #1,MKI$(0); !mode CLOSE #1

Known problems with GFA-Basic

Features not implemented due to it's age and lack of support: FPU / (sort of) CPU //// support Things just act plain weird: ~INP(2) will fail under MiNT if the application does not initialize the AES. The GFA linker in some cases is smart enough to link only what's needed. If your application makes no AES calls it will not initialize the AES. Further investigation shows that any command that uses Bconin() fails to wait for input. Commands and functions which don't quite work right (A to Z):$X$F%ACOS(), ASIN() AFTER GOSUB, EVERY GOSUBAPOLYAPPL_TPLAY()BITBLTCALLCASECLSDEFFNDFREE()DIM, ERASEEXIST()EXIT IFFALSEFILESELECTFRE()FUNCTIONGET, PUT, SGET, SPUTGET #, PUT #GETSIZE()GOTOGRAF_MKSTATE()IFFALSEELSE IFFALSEINLINEINSTR(), RINSTR() LPENx, PADx, STICK(), STRIG() LPRINTMAT DET, MAT INPUT, motorola v3 hab error 0x4e, MAT QDET, MAT RANGMAT PRINTMAT READMENU_REGISTER()MSHRINK()OBJC_CHANGE()ON BREAK GOSUBON ERROR GOSUBON GOSUBON MENU BUTTONON MENU GOSUBON MENU IBOXON MENU KEYON MENU MESSAGEON MENU OBOXOPTION BASEPOINT()POLYFILL, POLYLINE, POLYMARKQSORT, SSORTRESTORE, _DATARESUME labelSETMOUSESOUND, WAVESPACE$(), STRING$() SPRITESTE?, TT?STR$()TEXTVDIBASEVSETCOLORV_OPNWK(), V_OPNVWK() Compiler issues: EXIT IFIF-THENINSERTFOR-NEXT

Start-up/Shut-down modules

This section will try and explain what happens when GFABASIC starts and terminates. The code you can't really control. The basic layout of a compiled GFA program is like so: INIT module your code EXIT module What does the INIT module do exactly: Calculates how much BSS space it needs and clears it. Moves the stack pointer to the BSS. MSHRINK() is called, motorola v3 hab error 0x4e. Skipped if started as an ACC, OS auto shrinks an ACC. Line-A Init is called. This is harmless, used by the Line-A gfx commands. APPL_INIT() is called. The appl_id is saved. V_OPNVWK() is called. The vdi_handle is saved. No clipping rectangle is set. WORK_OUT() array is created. Default VDI workstation values are setup. If any GFA window commands are linked, WINDTAB() structure is initialized. MALLOC($Mxxx) is called. If $Mxxx=0 motorola v3 hab error 0x4e ram is allocated for strings/arrays. CLEAR is called. All Variables are cleared. RESTORE is called. First DATA statement is located for READ. User code starts here What does the EXIT module do exactly: User code ends here with EDIT, QUIT, or SYSTEM If any GFA window commands are linked, all open GFA windows are closed. V_CLSVWK() is called. APPL_EXIT() is called. CLOSE (no parameter) motorola v3 hab error 0x4e called. All open files are closed. pterm() is called, motorola v3 hab error 0x4e. User error code is passed out via SYSTEM/QUIT. Note: GFA does not call MFREE() as it assumes pterm() will auto free the ram.

Number Table

Dec Hex Bin Dec Hex Bin Dec Hex Bin Dec Hex Bin

Shift Table

logical shift left (lsl) (asl) SHL()<< 1 * 2 2 * 4 3 * 8 4 * 16 5 * 32 6 * 64 7 * 8 * logical shift right (lsr) (asr) SHR()>> 1 / 2 2 / 4 3 / 8 4 / 16 5 / 32 6 / 64 7 / 8 /

sprers.eu Functions and Objects

GFA-Basic bindings for sprers.eu v appl_control()appl_yieldform_popup()graf_multirubber()objc_xfind()shel_help()shel_rdef()shel_wdef()wind_draw()wind_sget() WHITEBAK sprers.eu purpose: Switch on the MagiC special buttons. C-prototype: #define WHITEBAK 0x Binding: Tree[obnr].If_state &#;= WHITEBAK; [bit 6 on] Parameter description: If_type = G_BUTTON G_BUTTON with underscore: (if_state >> 8) & 0x80 = 0. [bit 15 off] (if_state >> 8) & 0x7f decides the position of the underscore, motorola v3 hab error 0x4e. [bits ] As Checkbox with underscore: If_flags & RADIOBUTTON = 0. [bit 4 off] (if_state >> 8) & 0x80 = 0x [bit 15 on] (if_state >> 8) & 0x7f decides the position of the underscore. [bits ] If_flags & FL3DMASK decides the canon e000 error of the underscore. [bits ] As Radiobutton with underscore: If_flags & RADIOBUTTON = RADIOBUTTON. [bit 4 on] (if_state >> 8) & 0x80 = 0x [bit 15 on] (if_state >> 8) & 0x7f decides the position of the underscore. [bits ] If_flags & FL3DMASK decides the colour of the underscore. [bits ] As Checkbox without underscore: (if_state >> 8) = 0xff. [bits on] If_flags & RADIOBUTTON = 0. [bit 4 off] As Radiobutton without underscore: (if_state >> 8) = 0xff. [bits on] If_flags & RADIOBUTTON = RADIOBUTTON. [bit 4 on] As Frame: (if_state >> 8) = 0xfe. [bit on] If_state & SHADOWED control font size [bit 5 on] If_flags & FL3DMASK decides the 3D-behaviour of frame and font. [bits ] If_type = G_STRING G_STRING with underscore: (if_state >> 8) & 0x80 = 0. [bit 15 off] (if_state >> 8) & 0x7f decides the position of the underscore. [bits ] G_STRING, completely underlined based on chars: (if_state >> 8) = 0xfe. [bits ] If_flags & FL3DMASK decides the 3D-behaviour of line and font. [bits ] G_STRING, completely underlined based on object width: (if_state >> 8) = 0xff. [bits on] If_flags error 1309 autocad FL3DMASK decides the 3D-behaviour of line and font. [bits ] If_type = G_TITLE G_TITLE with underscore: (if_state >> 8) & 0x80 = 0. openvpn error netsh command failed 15 off] (if_state >> 8) & motorola v3 hab error 0x4e decides the position of the underline. [bits ] 3D-behaviour: FL3DIND Bit switches text 3D attribute. FL3DBAK Bit switches line/frame 3D attribute. Underline colour: None = black. Background = black. Indicator = green. Activator = red. With all underscore positions: If the text is shorter, there will be no underscore drawn. See too: appl_getinfo(), form_keybd()

Debugging with GFA-Basic and MiNT

Debugging with GFA-Basic and MiNT by Lonny Pursell Revision b May 4, Introduction This document describes a method for debugging when all else fails and all you have to go on is the crash log MiNT dumps in the console. Sometimes you can simply add PRINT statements at various points in the program in order to narrow your search. However sometimes this becomes rather tedious, especially in very large programs. In some extreme cases I've actually seen programs suddenly stop crashing simply by adding PRINT statements. Needless to say that is a very frustrating situation if that happens. The method described here will help you locate the exact PROCEDURE or FUNCTION in a more precise manner. Hopefully saving you time which can be put to better uses, like coding more applications. :o) Note: The particular example presented here is not an actual crash log from a compiled GFA-Basic program, however all the same principles apply. Understanding the crash log Firstly one needs to understand the information MiNT is trying to provide when an application crashes. A typical crash log might look like this: PROCESS "make_ndx" KILLED: MEMORY VIOLATION. (PID ) Type: free PC: A Addr: BFD4 BP: A Note: The example used here is a an application that crashes only when MiNT's memory protection (MP) is enabled. All values are in hex notation. The log entry breaks down like this: Entry Description PROCESS "make_ndx" name of the program that crashed KILLED: MEMORY VIOLATION the reason the program was killed (PID ) GEMDOS Process ID of the program Type: free type of memory block accessed PC: Motorola v3 hab error 0x4e address of Program Counter Addr: BFD4 address it attempted to access BP: A BASEPAGE address of the program Type can have one of the following entries: Type Description private owned by another application global remapped to 'hardware' for violation reports super only accessible in supervisor mode only readable read only, motorola v3 hab error 0x4e, writing not allowed free free memory, motorola v3 hab error 0x4e, has no owner hardware memory not controlled by MiNT This represents the type of memory block the application attempted to illegally access. This can be an important clue. Note: Information taken from file mprot.x on the MiNT CVS server. Interpreting the crash log The most interesting pieces of information here are the PC and BP values, motorola v3 hab error 0x4e. With a little math we can determine the exact offset into the binary where the crash occurred. OFFSET= PC - (BP + ) This is accomplished by subtracting the BASEPAGE+ from the Program Counter. Adding to the BASEPAGE accounts for the size of the BASEPAGE itself. We are not interested in the BASEPAGE because it will not be included in the disassembly. In the above example we get this: $A - ($A + $) = $28 !hex - ( + ) = 40 !decimal We now know that at offset $28 (40) in the binary is where the crash actually occurred. I know the offset, now what? The next step would be to recompile the application with the Symbol Table option set to on. This allows TTDigger (TTD) to show much more detailed information when disassembling a program. All the PROCEDURE and FUNCTION names in the program will be visible in TTD starting with an underscore. Some examples: GFA-Basic TTDFUNCTION test _TEST: FUNCTION dump_tree(addr%) _DUMP_TR: PROCEDURE init_system _INIT_SY: PROCEDURE go(x&,y&) _GO: Only the first 7 characters of PROCEDURE and FUNCTION names will be shown. Entry points (labels) for PROCEDURE and FUNCTION names are always aligned to the left edge of the window and followed by a colon. Note: The 7 character limitation within the Symbol Table is actually part of the DRI Object File Specification. Symbol Table warning The Symbol Table will make the binary larger. It is also recommended you do not leave this option on all the time. Distributing binaries with the Symbol Table serves only hackers, and it makes reverse engineering your application quite a bit easier. So always remember to disable the Symbol Table option when you are done debugging! Using TTD Now start TTD and load your application. Scroll down to the offset which you calculated earlier ($28). Once motorola v3 hab error 0x4e locate the offset, you can see the assembler instruction that actually caused the program to crash. Now scroll up to the first label that begins with motorola v3 hab error 0x4e underscore "_". This should be the PROCEDURE or FUNCTION your program was executing when it suddenly came to a grinding halt. Note: TTD can be set to work in Hex or Decimal mode. It's possible the offset does not lie in the range of your application. This can happen if you are loading and executing external modules or overlays. If this happens you can apply the same techniques to the module or overlay. However if you are not the author of the module or overlay, you probably won't have access to the source code and thus cannot resolve the problem yourself. Another tip that might help If you suspect your program is crashing outside of a PROCEDURE or FUNCTION you can add some markers that are easy to spot in TTD. Examples: dummy$="XXXX" dummy$=">>>>" The GFA-Basic Compiler converts 4 character strings directly into code instead of placing them in the DATA segment of the binary. Thus they will appear in the TTD listing exactly where you place them in your source code. Note: Turn on the HEX/ASC option in TTD, motorola v3 hab error 0x4e. TTD output (further analysis) Here's the actual code segment from the offending application: * Created by TT-Digger v * Mon Apr 24 *TEXT $FC bytes, segment starts at $ *DATA $E bytes, segment starts at $FC * BSS $E bytes, segment starts at $A * SYMBOLS $ bytes * FLAG $ movea.l $(a7),a0 ; a0 = basepage addr move.l $C(a0),d0 ; d0 = length of text segment add.l $(a0),d0 ; add d0,length of data segment 00C: add.l $C(a0),d0 ; add d0,length of bss segment addi.l #$,d0 ; add d0, move.l d0,-(a7) ; push new size on to the stack move.l a0,-(a7) ; push block addr on to the stack 01A: clr -(a7) ; push 0 on to the stack 01C: move #$A,-(a7) ; push Mshrink opcode on to the stack trap #1 ; Gemdos (make the call) adda.l #$C,a7 ; restore stack to previous state move.l #$FFFFFFFF,-(a7) ; push -1 on to the stack 02E: move #$,-(a7) ; push Malloc opcode on to the stack trap #1 ; Gemdos (make the call) addq.l #6,a7 ; restore stack to previous state Note: This is only a partial listing. The actual listing is much larger, but its not really needed to illustrate the problem. Comments added for clarity. Program breakdown: $ - $ computes the actual program size, result in d0 $ - $ MSHRINK call -> status%=MSHRINK(addr%,size%) $ - $ MALLOC call -> free_ram%=MALLOC(-1) Understanding the problem From the listing we can determine the crash occurs very early on in the programs start up phase. We can see at offset $28 we have this: move.l #$FFFFFFFF,-(a7) This one line of code simply tries to move (LPOKE if you will) the value -1 to where ever the stack pointer motorola v3 hab error 0x4e currently pointing. Why does this one line of code bring our program to a grinding halt? The answer in this case requires some basic knowledge of how MiNT starts up an application. The first thing MiNT does is allocate all available ram (largest available block). It then creates a BASEPAGE for the application in the first bytes and following that is the actual code of the application. By default MiNT sets the user stack pointer to the end of the memory block. This line of code is actually the program preparing for a MALLOC call. It is attempting to inquire (-1) the largest free memory block. What happens in this particular case is the program attempts to do the right thing and give back memory it does not need with MSHRINK. However, before doing so it fails to move the stack pointer to a safe location inside it's own memory space. Remember the stack pointer by default is pointing to the end of the memory block. After the MSHRINK call the stack pointer is literally left pointing out into free memory! As soon as the MSHRINK succeeds the memory is no longer owned by the application and under no circumstances will MiNT allow you to access memory you do not own when MP is enabled. The program is instantly killed as a result. This is a huge mistake on the part of the programmer, if not downright sloppy programming. There you have it, a way to let MiNT help you debug your programs. Contact Hopefully the information presented here is useful. To make suggestions or report a typo please visit: sprers.eu~gfabasic/ eof

C to Serial keygen chernobyl terrorist attack Tips on porting 'C' to GFABASIC C GFA Notes && ANDIF compare &#;&#; ORIF compare !=<>IF compare ===IF compare &AND() operator &#;OR() operator %MOD() operator !NOT operator ~NOT bitwise ^XOR bitwise << SHL() bitwise >> SHR() bitwise var++ INC var var-- DEC var a+=b a=a+b a-=b a=a-b a*=b a=a*b a/=b a=a/b a%=b a=MOD(a,b) a&=b a=AND(a,b) a&#;=b a=OR(a,b) a^=b a=XOR(a,b) a<<=b a=SHL(a,b) a>>=b a=SHR(a,b) var[x] array(x) subscript &var *var address of Random() XBIOS(17) bit random number
These are structure referenece and must be recoded. a->b structure dereference a.b structure reference
Variable types: int var word size unsigned int card size (must use long) char var string or byte size int var[10] DIM var&(10) #define var 2 replaced at compile time
Constructs like this do not work in GFA: a=b=c=2 In 'C' this sets all variables to the value of 2. GFA interprets this as a logic comparison and it must be recoded: a=2 b=2 !assigned individually c=2
The ? : operator The motorola v3 hab error 0x4e : operator is a sort of shorthand ifelse statement. Because it is a little cryptic, it is not often used, but the basic form is as follows: (condition) ? expression1 : expression2; The program evaluates condition. If it is true (not zero), then expression1 is returned; otherwise, expression2 is returned. For example, in the short program below, the line bas = (foo > bar) ? foo : bar; assigns foo to bas if foo is greater than bar; otherwise, it assigns bar to bas. #include <stdio.h> int main() { int foo = 10; int bar = 50; int bas; bas = (foo > bar) ? foo : bar; printf("bas = %d\n\n", bas); return 0; } The program will print bas = 50 as a result, motorola v3 hab error 0x4e. Another example: x = (x>0) ? x : -x translates to: IF x>0 x=x ELSE x=-x ENDIF which basically is the same as x=ABS(x)

GFA-Basic v3 float format

From: Albin La&#; <[email protected]> Organization: MAUS Hansestadt Bremen 2 + Newsgroups: <sprers.euic> Date: Wednesday, September 11, AM Subject: Re: floating point conversion Hi Lonny! LP> How does GFA internally store these? Byte: 0 1 2 3 4 5 &#; 6 7 Bit : 63 16 &#; 15 0 IMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM SEEEEEEEEEEEEEEE < 48 bit Mantissa >< 16 bit > ^ (normalized) ^ Exponent &#;&#; (bias=) &#;&#; +-- MSB = Integer Bit +-- Sign of Mantissa Integer Bit is allways one, except number is zero (then all Bytes zero). If Exponent negative (sign of Mantissa is negative), than exp = -exp. schnipp CLSDOINPUT "Number: ";number# addr%=V:number# mantissa_h%={addr%} mantissa_l%=CARD{addr%+4} bias%=WORD{addr%+6} PRINT "BYTE: 0 1 2 3 4 5 6 7" PRINT "BIT : 63 16 15 0" PRINT "BIN : ";BIN$(mantissa_h%,32);BIN$(mantissa_l%,16)'BIN$(bias%,16) PRINT "HEX : ";HEX$(mantissa_h%,8);HEX$(mantissa_l%,4);SPACE$(37);HEX$(bias%,4) b2%=bias% IF bias%<0 neg!=TRUE bias%=-bias% ELSE neg!=FALSEENDIF exponent%=bias% dual_value#=ABS(number#)/(2^exponent%) PRINT "DEZ : ";LEFT$(STR$(dual_value#)+SPACE$(49),49);STR$(b2%);" (";STR$(exponent%);")" PRINT "CALC: (";neg!;")^0 * ";STR$(dual_value#);" * 2^(";bias%;")" PRINTLOOP schnipp Ciao, ALbin.
From: Albin La&#; <[email protected]> Organization: MAUS Hansestadt Bremen 2 + Newsgroups: <sprers.euic> Date: Friday, motorola v3 hab error 0x4e, September 13, AM Subject: Re: floating point conversion Hi Lonny! Sorry for german writing! But, I'm a bad english writer. ;) LP> I have been looking for such info for ages! Ich hatte mal vor ca. 10 Jahren (in einem B&#;cherladen) in irgendeinem Buch (ich glaube es war von Data Becker) gebl&#;ttert. Und darin war auch das Format der GFA-Fliesskommazahlen beschrieben und ein Hinweis darauf, da&#; das irgendeinem *IEEE*-Standard (wie auch die FPU-Datentypen) entsprechen soll. Suche also mal nach "IEEE" (die genaue Nummer und URL wei&#; ich leider nicht), motorola v3 hab error 0x4e. LP> Did you figure this out on your own? Ja. Und zwar durch Analyse eines reassemblierten GFA-Compilats und durch Vergleich mit den dokumentierten FPU-Datentypen. Und die Richtigkeit der Analyse hatte ich dann nochmal mit einem Beispiel- Programm (was ich dir gepostet habe) &#;berpr&#;ft. Ach, ja. Da motorola v3 hab error 0x4e am Ende eigentlich noch einige Zeilen: result#=(neg!^0*dual_value#)*2^exponent% PRINT "RES : ";STR$(result#) Ciao, ALbin.
From: Albin La&#; <[email protected]> Organization: MAUS Hansestadt Bremen 2 (+) To: <[email protected]> Date: Monday, September 16, AM Subject: floating point conversion Hi Lonny! LP> I don't know any German, but lucky for me there is translators. ;-) Na, dann Hauptsache wir verstehen uns. ;) LP> I have many books on GFA, but never found this info. Tja, leider wei&#; ich nicht mehr, was das f&#;r ein Buch das war. :( Ich glaube es war _nicht nur_ &#;ber GFA. LP> I managed to add these myself after some test runs. ;-) Hab ich mir auch (fast) schon so gedacht. Mit einem Calculator w&#;re das wohl auch nichts ;) LP> In this line you reference the 'number#' itself. Stimmt, ist ein wenig umst&#;ndlich. Einfacherer w&#;re es so: ;) WORD{addr%+6}= dual_value#=number# LP> How would you figure out the floating point value of a float just LP> based on ora-00600 internal error code, arguments [15160] dba_objects 8 bytes stored in ram? Hatte ich ja schon geschrieben: einmal durch Anschauen (im Compilat) wie die Routinen von GFA z.B. ein Long in ein Float wandelt (oder auch STR$(n#)). Und durch Vergleich mit den FPU-Datentypen. Die sind n&#;mlich IEEE-Standard. Und wenn die GFA-Floats auch IEEE sind, dann sollte das ziemlich &#;hnlich sein. Beschrieben werden die FPU-Datentypen z.B. im Buch " Assembly Language Reference" (von Steve Williams (Addison-Wesley)) unter dem Kapitel "Floating Point Intructions"/"Binary Floating Point Data Formats". Falls Du das Buch nicht zur Hand haben solltest: Ich hab's mal in ein Hypertext (ST-Guide) umgeschrieben: :) Fileliste der Maus @ OL (Phone: ): Gruppenprogrammteil sprers.euext Nr. System Filename Bytes Dauer Abruf DpM Datum ST TOS sprers.eu 7 Programmier-Tool, Textfile, Freeware Ausfuehrliche Dokumentation ueber die Motorola-Prozessoren MC bis MC Mit FPU und MMU. (Hypertext, englisch). Von Albin Lass @ HB2 LP> The files I have, motorola v3 hab error 0x4e, I have no way to know the float value before hand, LP> if you follow me. Nicht so ganz. Du willst wissen, wie die Bitwertigkeit der Mantisse ist? Bit 47 46 45 44 43 42 41 Wert 1 1/2 1/4 1/8 1/16 1/32 1/64 oder 2^0 2^-1 2^-2 2^-3 2^-4 2^-5 2^-6 LP> Thus, I cannot compute 'dual_value' at all. Wie? Per Hand? Warum &#;berl&#;sst Du die Arbeit nicht dem Computer? Ahh, ich verstehe: Du willst Beweise ;) Dann setze mal Folgendes im Programm ein: schnipp calc_dual(mantissa_h%,mantissa_l%,dual_value#) PROCEDURE calc_dual(m_h%,m_l%,VAR dual#) CLR dual#,d_exp& FOR i&=31 DOWNTO 0 IFBTST(m_h%,i&)=TRUE dual#=dual#+2^d_exp& ENDIFDEC d_exp& NEXT i& FOR i&=15 DOWNTO 0 IFBTST(m_l%,i&)=TRUE dual#=dual#+2^d_exp& ENDIFDEC d_exp& NEXT i& RETURN schnapp LP> Many thanks for the info, Bitte sch&#;&#;&#;nn! LP> I am much closer than I was. Na, hoffentlich bist Du _jetzt_ noch ein bischen _mehr_ schlauer geworden. ;) LP> sprers.eu~atari/ Hmm, ist da nicht auch ein Crack-Code bez&#;glich LST->GFA drauf? :) Ciao, motorola v3 hab error 0x4e, ALbin.

ST-Basic float format

31 8 7 6 0 mmmmmmmmmmmmmmmmmmmmmmmm s eeeeeee m = mantissa s = sign bit e = exponent Note: Maximum of 5 decimal places: '' From: sprers.eu* 4 bytes: the single-precision floating point value. o bits mantissa (24 bits) o bit 7: sign bit. Positive if 0, negative if 1 o bits exponent An exponent of 0 meansregardless of mantissa. Counting from MSB (23) to LSB (0), each bit set in the mantissa is 2^(mantissa_bit + exponent - 88) From: sprers.eu 1 long: number value - 1st 24 bits are the mantissa, 25th bit is the sign, last 7 bits are the exponent Note: to convert to a readable format, each bit of the mantissa = 2 ^ (bit_position + exponent - ). Add up the values motorola v3 hab error 0x4e by each bit in the mantissa.
FUNCTION get_float(VAR p%) LOCAL s! LOCAL e&,b& LOCAL d%,m% LOCAL f f=FALSE d%=LONG{p%} m%=SHR(d%,8) !mantissa s!=BTST(d%,7) !sign e&=AND(d%,&H7F) !exponent IF e&>FALSE !fix? FOR b&=23 DOWNTO 0 IFBTST(m%,b&)=TRUE f=f+(2^(b&+e&)) ENDIFNEXT b& ENDIFIF s!=TRUE !negative? f=-f ENDIFADD p%,4 RETURNROUND(f,5) !clip ENDFUNC

Assembler Notes

Program startup move.l 4(a7),d0 ;basepage address (prg) move.l a0,d0 ;0=prg/<>0 acc (basepage address) a7 ;prg=stack assigned by os/acc=invalid, no stack! Accessories are pre-shrunk (MSHRINK) by the OS. Programs must call MSHRINK themselves. Initial DTA address =BASEPAGE+ If you don't move the DTA, the command line motorola v3 hab error 0x4e be clobbered.
OS calls Type Destroyed Output Input Invalid opcodes AES none # paramblk paramblk crash (sprers.eu pops an alert) VDI none # paramblk paramblk crash BIOS d0-d2/a0-a2 d0 stack garbage (MiNT ) XBIOS d0-d2/a0-a2 d0 stack opcode GEMDOS d0-d2/a0-a2 d0 stack Line-A d0-d2/a0-a2/a6 + paramblk ignored (a6 depends on call made) #= Noted in the sprers.eu += Depends on the call made. Note: Never call the AES in supervisor mode.
FireBee notes: The TAS instruction causes cache issue on the FireBee. Don't use it!

Compatibility with GFA-BASIC

These funtions were added to v motorola v3 hab error 0x4e GFABASIC v will load v tokenized files. If you use the functions noted above the editor will display garbage. Trying to run or compile the code will likely result in a crash. The rules are simple. 1) If you code with v you motorola v3 hab error 0x4e safely migrate to v without any problems. 2) If you code with v be careful if you attempt to migrate back to v The best way to do that is to save as ASCII and then merge the listing. This way the editor will flag anything it don't like with '==>'.

Understanding GFA's VDI scheme

Redirecting all VDI calls handle&=V_OPNWK( V~H=handle& !send all gfx commands to this handle ' many graphics/VDI calls ' V_CLSWK() !gfa closes the workstation and internally does V~H=-1 This scheme might seem odd at first, but it's somewhat rare to open another workstation. It does however have less overhead than the usual way. Why pass the same handle to hundreds of VDI calls? Once you understand how GFA manages VDI calls it's really rather simple. V~H=x redirects all graphics commands like LINE, BOX, PLOT, and anything called via VDISYS so long as you leave CONTRL(6) alone. There's also no need to copy the contents of V~H before redirecting as GFA itself keeps it's own backup copy. The command V~H=-1 reset it back to it's original value, the default workstation opened at startup.

GFA-Basic Editor/Interpreter Manual

CONTENTS
Chapter 1 - IntroductionAbout This ManualUsing GFA-Basic 3 For The First TimeThe EditorFundamentalsThe Cursor KeypadThe Numeric KeypadThe Modifier KeysFurther Editing CommandsFurther Control CommandsThe Menu Bar and Function Motorola v3 hab error 0x4e CommandsChapter 2 - Variables and Memory ManagementVariable TypesArraysMatrix CommandsType TransformationPointer OperationsDeleting and ExchangingReserved VariablesSpecialMemory ManagementChapter 3 - OperatorsArithmetic OperatorsLogical OperatorsConcatenation OperatorComparison OperatorsAssignment OperatorOperator HierarchyChapter 4 - Numerical FunctionsMathematical FunctionsRandom Number GeneratorInteger ArithmeticCommands and FunctionsBit OperationsChapter 5 - String ManipulationChapter 6 - Input and OutputKeyboard and Screen HandlingKEYxxx CommandsData Input and OutputData CommandsFile ManagementDirectory HandlingFilesSequential AccessRandom AccessCommunicating with PeripheralsByte by Byte Input and OutputSerial (RS) and MIDI InterfacesMouse and JoysticksPrintingSound GenerationChapter 7 - Program StructureDecision CommandsMultiple BranchingLoopsProcedures and FunctionsError HandlingInterrupt ProgrammingOther CommandsProgram TracingChapter 8 - GraphicsGraphics Definition CommandsGeneral Graphics CommandsGrabbing Sections of the ScreenChapter 9 - Event, Menu, and Window ManagementEvent ManagementPull-down MenusWindow CommandsOther Window-related CommandsChapter 10 - System RoutinesBIOS, XBIOS, and GEMDOSLine-A CallsVDI RoutinesSpecial VDI Routines and GDOSNon-BASIC Routine CallsOther System-related CommandsChapter 11 - AES LibrariesObject StructureText Data Structure (TEDINFO)Icon Data Structure (ICONBLK)Color Icon Data Structure (CICONBLK)Color Icon Structure (CICON)Bit Image Block Structure (BITBLK)Application Block Structure (APPLBLK)Parameter Block Structure (PARMBLK)Application Services LibraryEvent LibraryMenu LibraryObject LibraryForm LibraryGraphics LibraryScrap LibraryFile Selector LibraryWindow LibraryResource LibraryShell LibrarySample ProgramsChapter 12 - AppendixCompatibility with GFA-BASIC 2GEMDOS() TableBIOS() TableXBIOS() TableLine-A Variable TableV_OPNWK() and V_OPNVWK() Input Parameter TableVDI WORK_OUT() Array TableVT Escape Code TableScan Code TableASCII TableSpecial ASCII CharactersFill Pattern TableLine Style TableError CodesEditor Error Messages (Test option only) Interpreter Error CodesBIOS Error CodesGEMDOS Error CodesBomb Error CodesPublisher

GFA_sprers.eu

- GFA-BASIC Interpreter/Compiler-Patcher - - Version - - Compiler & Library-Patches by - - Christoph Conrad, AdalbertsteinwegD Motorola v3 hab error 0x4e - - eMail: [email protected] - - - - Interpreter-Patches and GEM interface by - - Gregor Duchalski, Baueracker 15a, D Herne - - eMail: [email protected] - - - - A big thank you for the English translation of GFA_PTCH - - and this documentation goes to *The System ST Team* - -Lonny 554 5.4.0 error too many hops - 1/14/ (fixed typos) - The program enclosed provides a convenient method of making useful patches to the GFA-BASIC 3.x interpreter and compiler. At the start, select the Basic interpreter or compiler (GFA_sprers.eu). After that you will be taken to the settings dialog box. Something in advance: Please take care not to save the patched program(s) under the same name as the original(s). We accept no responsibility for the functionality of the patches, anyone who damages his own interpreter and does not have a backup, only has himself to blame! Patching the compiler Two changes can be made to the compiler or to the library: - Insertion of an improved INIT section - A bug fix for the crash under Mag!X Both patches can be made individually or in one go. The Mag!X patch only changes the GFA_sprers.eu file, the INIT patch also updates the library. In the patch dialog box, you can enter the new names that should be used to save the compiler and the library. If necessary, you can also use the original library again in case the preset name is not correct. Patching the compiler 1: New INIT section You can get precise information about the new INIT section by reading the text file sprers.eu The listing sprers.eu contains some examples of how to use the new features. Important: The LIBPATCH folder _must_ contain the files HIDEM.O, INITO and INITO! Clicking on 'Patch' will start the automatic patching procedure, motorola v3 hab error 0x4e. At the end, motorola v3 hab error 0x4e, you should try to create a new index file (sprers.eu) using the program MAKE_sprers.eu This program (you should have received this with the original package containing the compiler) will search first in the original library folder and then in the folder LIBPATCH. If this fails, the file can still be chosen using the file selector. If this also fails, then the program will terminate. You should be aware that in this instance you will have to create an NDX file 'by hand'. If you can avoid this situation, so much the better. Hint: If you do not have the MAKE_sprers.eu program, you can obtain this from GFA Systemtechnik (good luck with that) or send your original diskette and a stamped, addressed return mailer to G. Duchalski and the adress mentioned above. Patching the compiler II: MAG!X bugfix The compiler crashes under Mag!X motorola v3 hab error 0x4e the message "Memory block destroyed". This is the cause: The motorola v3 hab error 0x4e uses MShrink (GEMDOS 74) to reduce its memory requirement as necessary. Using Malloc (GEMDOS 72) it then checks for the largest available memory block and allocates this amount less 16 Kbytes. Unfortunately, the program assumes from this that the allocated memory lies directly after the area previously shrunk. In general this is true. Under Mag!X, it lies before the allocated memory block (the address that was returned by MAlloc) which is indeed the so-called MCB, 'Memory Control Block'. This contains - An identifier ('ANDR' or 'KROM' a greeting to one of the programmers - The length of the allocated block - The base page address of the program, to which the block belongs - A pointer to the last MCB. The GFA compiler overwrites the MCB. After the compiler terminates, Mag!X checks whether the chain of MCBs is still intact and then reports the error described. By the way: This problem also occurs under MultiTOS. However, in this case it can be removed by simply setting the memory protection flags in the program header to GLOBAL. Through the use of the patch, the GFA compiler no longer uses the first 16 bytes lying after the MShrink memory block and therefore dose not overwrite an MCB. The behavior of the compiler remains nevertheless incorrect, so that the area allocated does not unconditionally lie after that which is still in use by the compiler (although as a rule this is true) Patching the interpreter This provides either practical configuration patches, motorola v3 hab error 0x4e documented by GFA or the correction of errors. Interpreters that can be patched: Version: File length: TT (English version) E (English version) What will be patched in the interpreter? - No more LINEA calls: Also see sprers.eu When moving the mouse in the editor you may get some residual images, but not while a program is running. - No more SETCOLOR calls, that change the colors on the TT: GFA Basic make some errors with the internal setting and querying of the screen colors, so that in resolutions like TT Medium, some colors are changed after running the interpreter. This patch prevents this. Also the command SETCOLOR will no longer have an effect. The better command VSETCOLOR should be used as a replacement. Hint: Please take note that additional patches made to the editor colors in conjunction with the SETCOLOR patch will have no effect either! - MERGE will no longer abort when ASCII 4 is encountered within the text: The interpreter normally aborts the merging of files at the corresponding line when it encounters ASCII 4 (EOT == End of trans- mission, CONTROL D, left arrow). Under UNIX, ASCII 4 is the EOF character which was one of the greatest ambitions of GFA Systemtechnik. This patch removes this disrupting behavior. -CALL bug removed: The CALL command in interpreter version D TT with a size of bytes does not work because of a typing error (movem.l a4/a6,-(sp) instead of movem.l a4-a6,-(sp)). The patch repairs this command. - Free system memory: When starting, the interpreter reserves all available memory for itself apart from 16 Kbytes. This is especially a problem on non-TT machines since too little memory is available for accessories and they refuse to work. This patch allows you to set the amount of memory that will remain free (e.g. 32Kbytes). - Activate 'New names': The 'New names' option from the Basic's system menu will be activated automatically. - The DEFLIST preset - The editor colors Hint: These do not work when the 'No more SETCOLOR calls' is active at the same time. - The default variable type can be entered without Postfix. This is preset to Float. - No CLS when strating program Patching is basically simple: Once you have selected the patches you require, select the "Patch." button. The patched version of the interpreter will then be saved under a new name. Version history Vers. Date - First version released. And shortly afterwards, I added the numbering of versions. :-) &#; - MERGE patch for V of the interpreter incorporated. - The default variable type of the interpreter loaded will be read and displayed. - Patches for later versions expanded. &#; - No more 'mouse droppings' with the file selector - Compiler patch support started. &#; -DEFFILL patch incorporated, its action was wrongly documented. - GFA_sprers.eu now longer has an evaluation table appended. All of the data necessary is now incorporated directly within the file. - The compiler was wrongly patched. - Library patches integrated. - Call to the MAKE_NDX program was incorrect. - MERGE patch for the E Interpreter incorporated. - Instruction reworked. - Remaining patches incorporated: Line-A and SETCOLOR suppression for Version -DEFFILL patch expanded to a value of 8. - Documents reworked again. - Interpreter with Bytes now supported. -Line-A patch for doesn't work. - Interpreter with Bytes now supported. - Modifications for the MAG!X-Compiler patch begun. - MAG!X-patch incorporated completely. - A brief information dialog now appears when the program is started. - New INIT section. The old one contained an error in conjunction with floating point variables. - The program no longer uses LINEA. - The SETCOLOR patch did not work with V of the interpreter. - An additional patch has been added: The size of the memory which remains free after starting the program can be changed. The default is 16 Kbytes the least that is practical when using accessories e.g. (ERGO!help). - 3D effects under MultiTOS and Mag!X were incorrect. - If SHIFT, CONTROL or ALTERNATE is pressed when starting the program, the info dialog no longer appears. The file selector appears instead. - The LINEA patch for the interpreter with Bytes was incorrect. - The memory patch would only work on the ST until the next RESERVE call occurred. This was then reset to 16 KB. - A successful patch operation is now confirmed with an appropriate message. - The SETCOLOR patch for V of the interpreter with Bytes did not work (Andre Muller).- Since the editor colors patch does not work at the same time as SETCOLOR suppression, the corresponding option will be diabled (David Reitter). - A few internal changes, some further security checks were added and some adaptions for the new English version. - The 'Patch' button will be disabled if no patch is chosen for the interpreter. - Included support for English interpreter ( bytes). - 'New names' patch included. - Included support for English E interpreter ( bytes), thanx to Bob Samuel. -Included support for French TT interpreter ( bytes)sprers.eu and the new FILESELECT replacement can be found in the LISTINGS directory. -'Patch' was not selectable if only one of the last three patches was chosen. Status and disclaimer GFA_PTCH is freeware and can be freely distributed so long as the contents of the original archive remains complete. The commercial use of this program is prohibited. The distribution by PD vendors is allowed provided that the fee charged does not exceed Paranoiz - error code - 2009 We accept no responsibility for the functionality of the patches, anyone who damages his hard- or software by using GFA_PTCH and does not have a backup only has himself to blame! The newest version of this program can always be found in the Maus DO. If you have any suggestions for additional patches or have a Basic version that is not supported, we would be pleased to here from you. Have fun Gregor Duchalski & Christoph Conrad

sprers.eu

************************************************************************ Please note, the following text is not up to my usual(?) standard of translation. It is both colloquial, and contains a lot of jargon - too much for my understanding and my dictionary! Nevertheless, I hope it will be both useful, and usable! The Saint - July '94 Lonny Pursell- 1/14/ (translated a few lines and fixed typos) ************************************************************************* /////////////////////////////////////////////////////////////////////////////// / / / / / / / Compiler/Library patches for GFABASIC Atari ST/STE/TT/Falcon / / / / P*ST: / / Christoph Conrad / / Adalbertsteinweg / / Aachen / / / / E-Mail direct: / / MAUS: Christoph Conrad @ AC3 / / / / E-Mail Gateways: / / FIDO: Christoph Conrad % Maus AC3 / / / ATTENTION: possibly new / / Christoph Conrad steamstartvalidatinguseridticket esteamerror 25 Maus AC3 / / / USEnet: [email protected] (No long Mails!) / / Zerberus: Christoph_Conrad%[email protected] / / Pronet: MAUS:AC3:Christoph_Conrad / / Internet: [email protected] / / (rarely, please no overly long Mails!) / / BTX: Page *#, fill out the form / / [email protected] / / (cost 90 cents) / / / / In case you have discovered something that causes a problem, or you have / / suggestions for improvements, write to me by EMail (preferably) or P*ST. / / / / When you find an error in Basic, write to me! / / / / I cannot accept any responsibility or take liability for any damage that / / could possibly have been caused to your data or programs either directly or / / indirectly that have occurred as a result of using these patches! / / / /////////////////////////////////////////////////////////////////////////////// Contents: (I) General & specific info for these patches (II) Various questions and answers (I) General & specific info for these patches Hello, GFABASIC has grown close to all of our hearts. When I first got my ST, it was the only programming language that offered a really fast turn around time (edit a program, motorola v3 hab error 0x4e, test it, edit a), a hyper speed compiler/interpreter (in most cases the compiler also created correctly fixed code!) a usable editor and could usefully be employed on a 1Mb computer _without_ a hard drive, motorola v3 hab error 0x4e. I suspect that this was the reason for the success of GFA BASIC. In the course of time and particularly (but not only) in conjunction with graphic improvements has GFABASIC shown some of its shortcomings. These library patches correct some (serious) problems. The library patches has already appeared in two versions as GFAL and improved in GFAL I was then asked by Gregor Duchalski whether I did not have the desire to contribute some of my own ideas to patch the interpreter using a convenient GEM interface. Since my patch program offered a convenient operating environment AND because of Gregor's involvement and the wishes of the GFABASIC MAUS group, I decided to do this. This convinced me to develop my own GFA library that can be installed using GFA_PTCH. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ What does the compiler patch part of GFA_PTCH offer? -Line-A patches are incorporated automatically! - Clean Auto folder recognition - Clean recognition of accessories- In case the memory requested by $m does not exist, this can be recognized - $U/$I bug in removed! Important: I definitely advise against the $I matter in particular. It is untidy windows user.exe error out of space in fact lethal. Also, motorola v3 hab error 0x4e, $U can be critical. Wirth this Init part, $U/$I will run just as "dirty" or "uncertain" as before, apart from the fact that it does now actually run under sprers.eu demonstrates to you in an exemplary way all of the features. This also uses $I+ cleanly in the case of the demo. Take note of the comments incorporated in sprers.eu and the hints offered below! !!! Part of the assembler code is &#; GFA Systemtechnik Changes made to either part are for personal use only. Modified copies may not be re-distributed! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Since there was a great deal of work involved in developing these patches, If you find them useful, a gift (of thanks) of >= 10,- would show your appreciation :-) Alternatively, since I am a music fan, you can send me a cassette (Chrome dioxide, Dolby B - preferably a TDK SA-X) containing some of your favorites. All types from Classical vocal (Opera, Operetta etc.), Rock, Folk and Disco (Bananarama, motorola v3 hab error 0x4e, Sabrina) are welcome. I prefer lesser known groups/bands/ interpretations. I hope to get a flood of cassettes!!! :-) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ What does GFA_sprers.eu do ?== (a) patches the compiler Attention: Programs created using a patched compiler will _NOT_ run with an original library! == (b) Patches the library In the strictest sense this is not a patch but an exchange of code. == 9c) Creation of a new index file sprers.eu MAKE_sprers.eu must be used _unconditionally_, which creates a new sprers.eu this ought to be used with GFA_PTCH. You ought probably to save the old version of sprers.eu even though you could re-create this at any time using MAKE_sprers.eu with the old library. Unfortunately, MAKE_NDX first appeared with version Currently I am unaware (even if you are) whether it could be included with this package and I have queried this with GFA. If it can't, I will probably write a functional equivalent. == (d) Patch the interpreter You must _unconditionally_ patch the interpreter using GFA_sprers.eu In case your version of the interpreter has not been seen by us: Replace the FIRST occurrence of $A00A and $A by $4E This _ought_ to cause a crash. As a result of the patch: $E0C0 $A00A $4CDF as well as $ $A $E. This will produce "mouse droppings" when moving the mouse within the interpreter editor, but not whilst a program is running (the clean nesting of hidems/showms for GRAF_MOUSE is taken for granted!).+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ In case you have further problems: - Make a test with the original GFA3BLIB (+ the previous sprers.eu). Send me - the INIT.O file for your library - The exact version number/length of the library & compiler. This can be done simply by: Run sprers.eu from the same folder as GFA3BLIB which will produce a printable or E-mail-able file sprers.eu !!! Make sure that you use your ORIGINAL library or a copy of it and !!! !!! not one that has already been patched !!! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ How do I work with it ? Please take a look at the sprers.eu file, motorola v3 hab error 0x4e. I hope that will be enough. You should then read through the question and answers section of this text. The commands that you ought to avoid (e.g. the Line A patches), and you will find many of the tips useful. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ BUGS: Hopefully there are not too many Still being worked on: ERR appears when starting the interpreter not always when initialized to zero. Before you blame this INIT, please test it first using the original GFA3BLIB (& the previous sprers.eu). ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Disclaimer: I have taken all possible precautions to create error-free programs & data. Nevertheless, it is not totally possible to exclude errors. Therefore, the authors cannot accept any responsibility or take liability for any damage that could possibly have been caused to your data or programs either directly or indirectly that have occurred as a result of using these programs! ***************************************************************************** (II) Questions & answer section QUESTIONS & ANSWERS: +++++++++++++++++++++ QUESTION: I have taken your advice that Line-A should not be used. Why is this so? Therefore, motorola v3 hab error 0x4e, how can I make my compiler library (GFA3BLIB) Line-A free? ANSWER: Here a disc read error has occurred an extract from the 10th edition of the Profibuch: [Start of quote] The architecture of the operating system certainly speaks against the usage of Line-A routines. These are used for display in the low-level VDI screen driver. Using them prevents the possible usage of another (faster) screen driver! Also, Line-A routines are only provided for ST modes (*, *, *). Already, with color graphics (special graphic cards or the TT in 'low' resolution) motorola v3 hab error 0x4e provisions of the Line-A interface have been exhausted (see COLBIT0 to COLBIT3) [End of quote] In case that was as clear as mud: DON'T PANIC! The deciding factor in all this will be that programs using Line-A routines will not run correctly with graphic cards! Ergo: Do away with it! *** Take heed from a correct nesting of hidems/showms (via GRAF_MOUSEAES 78). For each hide of a show, "droppings" will result. With the mouse not switched on, when it already is, as is the rule when starting GEM programs, there are no "droppings".*** AVOID THE FOLLOWING COMMANDS: CRSCOLCRSLINMOUSEMOUSEKMOUSEXMOUSEYSETMOUSERC_COPYSHOWMHIDEMSPRITEACHARACLIPALINEAPOLYARECTATEXTBITBLTHLINEL~APSETPTSTGETPUTSGETSPUTFILESELECT FILESELECT # When using without #file_number: INPUTINPUT$LINE INPUT Replacement commands: MOUSE/MOUSEK/MOUSEX/MOUSEY -> (AES) GRAF_MKSTATESETMOUSE-> (AES) APPL_TPLAY SHOWM/HIDEM -> (AES) GRAF_MOUSEFILESELECT-> (AES) FSEL_INPUTFILESELECT#-> (AES) FSEL_EXINPUT SPRITE-> (VDI) vro/vrt_cpyfm ACHAR-> (VDI) TEXTACLIP-> (VDI) CLIPALINE-> (VDI) LINEAPOLY-> (VDI) POLYFILLARECT-> (VDI) PBOXATEXT-> (VDI) TEXTBITBLT-> (VDI) BITBLT q%(),z%(),d%() HLINE-> (VDI) LINEPSET-> (VDI) PLOT or v_pmarker roughly > points PTST-> (VDI) POINT GET/PUT/SGET/SPUT -> (VDI) BITBLTRC_COPY-> (VDI) BITBLT>> Without a guarantee of completeness! +++++++++++++++++++++ QUESTION: Where can I find information about GEM compliant programming? ANSWER: Tim Orens ProGEM. This text fromwhich you should be able to find in most mailboxes provides the best in 'Professional GEM' programming. You will find more in the book 'Vom Anf&#;nger zum GEM-Profi' by Gebr&#;der Geiss. A little confused, but otherwise very good. As reference material, the 'Profibuch' by Jankowski/Reschke/Rabich, is undoubtedly irreplaceable. ++++++++++++++++++++ QUESTION: GFA already has good commands for v3i error 35 02 windows. What can these be used for? ANSWER: I advise against using GFA's own window management routines. In previous versions this is incorrect - today, who knows? Using the AES, it is equally as 'simple' or 'difficult'.+++++++++++++++++++++ QUESTION: Sometimes my program is no longer under my control. With the best will in the world I cannot find any errors. What is happening and how do I find out? ANSWER: Use SysMon and TempleMon. You can find TempleMon in many mailboxes - SysMon can be obtained directly from the author:- Karsten Isakovic Wilmersdorferstr. 82 Berlin 12 At the time of the crash, you will at least be able to establish the last used system call and possibly the bad parameter, motorola v3 hab error 0x4e. Another good possibility is to use the TRACE procedure name (see the manual), motorola v3 hab error 0x4e. When all of the lines that have been traced are written to a previously opened file (PRINT #1,TRACE$) you will quickly be able to localize the cause of the crash. The Turbo-C/Pure-C debugger can be equally as useful when the program has been translated into symbols. There is an extensive unknown error that exists GFA-Basic's own memory management. This exists in all three versions. Hint: add a FRE(0) command (in conjunction with any string) liberally to your code. Try the following (after re-booting):' Compiler version with $m ' instead of RESERVERESERVE $m 'RESERVE will cause a quicker crash but is actually unnecessary ' The lines ending (**) will then really cause the interpreter to return a ' value of minus 4 from (FRE()MOD 16) == 0 after the RESERVE' Because error 007 3300 the back trailer with rest16% with the compiler in case ' $m XXXX with (XXXX MOD 16)<>0 rest16%=(FRE(0) MOD 16)-4 !** IF rest16%<0 !** ADD rest16%,16 !** ENDIF!** rest16$=STRING$(rest16%,0) !** ' (FRE()MOD 16) == 0 now fulfilled str$="AHAH" DO @crash(str$) LOOPPROCEDURE crash(str$) str$="OHOH" RETURN+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Special thanks: - Harald Ax for DELITE, an outstanding GFA-Shell - Jankowski/Rabich/Reschke for his "Profibuch", an indispensable treasure. - Karsten Isakovic for his 'SysMon', as well as Thomas Tempelmann and Johannes Hill for 'TempleMon' Both tool are known as 'The Programmers best friends' :-) - ATARI / Landon Dyer for the 'MadMac'.- GENESIS for 'Selling England by the pound' as well as 'Foxtrot' THE CURE for 'Disintegrations' THE RED HOT CHILI PEPPERS for 'Blood sugar sex magic' KING'S X &#; (with 'Black Flag') TEMPLE OF THE DOG for their debut album RAGE AGAINST THE MACHINE for their debut album BODY COUNT & ICE-T for the Plate - Barbara for her understanding, that gives me life without my computer =:^} Have fun, Byeeeeeeeeeeeeee, Chris

sprers.eu

This information was provided by Ingo Schmidt (from a book), motorola v3 hab error 0x4e. Starting address of a memory block which GEM installs to manage the VDI parameters. This list isn't valid for the Mega-TOS or Blitter-TOS. GFA V gives confused values here. However, in the standard ROM-TOS the parameter block for the virtual workstation is at address &HC. That block also is bytes long and has the same structure as VDIBASE. The VDIBASE is a copy of that parameter block. So in V you can use the hardware address instead of VDIBASE.Offset Size Description 0 word current text rotation (0, ) 2 word clipping flag (0=on, 1=off) 4 long address of current motorola v3 hab error 0x4e header 8 word DDA_INC (?) 10 word multi-fill flag 12 word number of scan lines of current fill pattern 14 long start address of fill pattern 18 word points/absolute mode (?) 20 long SCRTCHP (buffer pointer, current boot sector ??) 24 word SCRPT2 (minus offset to LPEEK(VDIBASE+20) ??) Gives the start of the eventually executable part of the boot sector -> from LPEEK(VDIBASE+20)-DPEEK(VDIBASE+24) these are the last bytes of the boot sector ?? 26 word current text style 28 word T_SCLSTS (=0 ??) 30 word current polygon fill color 32 word current fill pattern ->DEFFILL color,DPEEK(VDIBASE+32)-1,style 34 word boundary flag 36 word current fill style 38 word current text alignment (0=left, 1=centered, 2=right) 40 word VDI handle of current workstation (GFA-Basic) 42 word current line start form 44 word current line color 46 word current line end form 48 word current line style 50 word current line width 52 long pointer to next VDI-(GDOS) font 56 word current polymarker color 58 word current polymarker height 60 word current polymarker type 62 word relative polymarker height 64 long pointer error updating e2fsprogs-1.40.8 gentoo next virtual workstation parameter block 68 word number of available GEM/VDI fonts 70 word index of current GEM/VDI font 72 byte copy of current font header (88 bytes) word ? word current text color word current user line style word plane 1 of user fill pattern [mono] (16 words) word plane 2 of user fill pattern [color] (16 words) word plane 3 of user fill pattern [color] (16 words) word plane 4 of user fill pattern [mono] (16 words) word current vertical text alignment 0=baseline, 1=halfline, 2=ascentline, 3=bottomline, 4=descentline, 5=topline word current graphics mode ->GRAPHMODEDPEEK(VDIBASE+)-1 word current coordinate system Normalized Device Coordinates (NDC)=0 Raster Coordinates (RC)=2 -> standard word x1, y1, x2, y2 of current clipping box (4 words) This system variable should be avoided. This table is actually stored outside the programs memory space. Messing around with this table can lead to unpredictable results.

ATTRDEF.H

/********************************** attrdef.h *********************************** ** $Revision: $ $Source: /u/lozben/projects/vdi/mtaskvdi/RCS/attrdef.h,v $ *============================================================================= * $Author: lozben $ $Date: 91/01/04 $ $Locker: $ *============================================================================= ** $Log: attrdef.h,v $ * Revision 91/01/04 lozben * Typedefed structure atribute to ATTRIBUTE. ** Revision 91/01/03 lozben * New generation VDI** Revision 90/04/24 lozben * Expanded the user defined pattern array from a 4x16 to an 8x ** Revision 89/02/21 kbad * *** TOS FINAL RELEASE VERSION *** ******************************************************************************** */ #ifndef _ATTRDEF_H_ #define _ATTRDEF_H_ /* Structure to hold data for a virtual workstation */ typedef struct attribute { WORD chup; /* Character Up vector */WORD clip; /* Clipping Flag */ FONT_HEAD *cur_font; /* Pointer to current font */WORD dda_inc; /* Fraction to be added to the DDA */WORD multifill; /* Multi-plane fill flag */WORD patmsk; /* Current pattern mask */WORD *patptr; /* Current pattern pointer */WORD pts_mode; /*TRUE if height set in points mode */WORD *scrtchp; /* Pointer to text scratch buffer */WORD scrpt2; /* Offset to large text buffer */WORD style; /* Current text style */WORD t_sclsts; /*TRUE if scaling up */WORD fill_color; /* Current fill color (PEL value) */WORD fill_index; /* Current fill index */WORD fill_per; /*TRUE if fill area outlined */WORD fill_style; /* Current fill style */WORD h_align; /* Current text horizontal alignment */WORD handle; /* handle for attribute area */WORD line_beg; /* Beginning line endstyle */WORD line_color; /* Current line color (PEL value) */WORD line_end; /* Ending line endstyle */WORD line_index; /* Current line style */WORD line_width; /* Current line width */ FONT_HEAD *loaded_fonts; /* Pointer to first loaded font */WORD mark_color; /* Current marker color (PEL value) */WORD mark_height; /* Current marker height */WORD mark_index; /* Current marker style */WORD mark_scale; /* Current scale factor for marker data */ struct attribute *next_work; /* Pointer to next virtual workstation */WORD num_fonts; /* Total number of faces available */WORD scaled; /*TRUE if font scaled in any way */ FONT_HEAD scratch_head; /* Holder for the doubled font data */WORD text_color; /* Current text color (PEL value) */WORD ud_ls; /* User defined linestyle */WORD ud_patrn[32*16];/* User defined pattern */WORD v_align; /* Current text vertical alignment */WORD wrt_mode; /* Current writing mode */WORD xfm_mode; /* Transformation mode requested */WORD xmn_clip; /* Low x point of clipping rectangle */WORD xmx_clip; /* High x point of clipping rectangle */WORD ymn_clip; /* Low y point of clipping rectangle */WORD ymx_clip; /* High y point of clipping rectangle */ } ATTRIBUTE; #endif

BASEPAGE.H

/** $Id: basepage.h,v /06/13 fna Exp $ ** This file belongs to FreeMiNT. It's not in the original MiNT * distribution. See the file sprers.eu for a detailed log of changes. *//** Description: Definition of the basepage structure. */# ifndef _mint_basepage_h # define _mint_basepage_h typedef struct basepage BASEPAGE; struct basepage { long p_lowtpa; /* pointer to self (bottom of TPA) */ long p_hitpa; /* pointer to top of TPA + 1 */ long p_tbase; /* base of text segment */ long p_tlen; /* length of text segment */ long p_dbase; /* base of data segment */ long p_dlen; /* length of data segment */ long p_bbase; /* base of BSS segment */ long p_blen; /* length of Mac error code 10813 segment */ char *p_dta; /* pointer to current DTA */BASEPAGE *p_parent; /* pointer to parent's basepage */ long p_flags; /* memory usage flags */ char *p_env; /* pointer to environment string *//* Anything after this (except for p_cmdlin) is undocumented, * reserved, subject to change, etc. -- user programs must NOT use! */ char p_devx[6];/* real handles of the standard devices */ char p_res2; /* reserved */ char p_defdrv; /* default drv */ long p_undef[17];/* reserved space */ long p_usp; /* a fake USP to make dLibs programs happy */ char p_cmdlin[];/* command line image */ };# endif /* _mint_basepage_h */

ERRNO.H

/** $Id: errno.h,v /06/13 fna Exp $ ** mint/errno.h critical error 84 l7 MiNTLib. * Copyright (C) Guido Flohr <[email protected]> ** This file is part of the MiNTLib project, and may only be used * modified and distributed under the terms of the MiNTLib project * license, COPYMINT. By continuing to use, modify, or distribute * this file you indicate that you have read the license and * understand and accept it fully. */ #ifndef _MINT_ERRNO_H # define _MINT_ERRNO_H 1 /* Allow multiple inclusion. */ #ifndef __KERNEL__ /* for src integrity checking until all src is converted */ #error no __KERNEL__ # ifndef _FEATURES_H # include <features.h> # endif __BEGIN_DECLS /* See below. */ #define __KERNEL_NEG(c) c #else /* __KERNEL__ *//* The kernel should actually have code like if (whew_we_dont_know_that) return -ENOSYS; instead of the current if (whew_we_dont_know_that) return ENOSYS; That seems to be a matter of taste. As a convenience we offer both motorola v3 hab error 0x4e here: */# ifdef POSITIVE_ERROR_CODES # define __KERNEL_NEG(c) (c) # else /* not POSITIVE_ERROR_CODES */# define __KERNEL_NEG(c) (-(c)) # endif /* not POSITIVE_ERROR_CODES *//* If you prefer to type E_OK instead of 0 */# define E_OK 0 #endif /* not __KERNEL__ *//* The original atarierr.h defined quite a few error codes which were either reg user sql error or non-standard. Important codes such as EISDIR, ENOTEMPTY were missing, others were simply misunderstood (for example the usual System error 111 phpmyadmin would really be an ENOSYS, EINVAL is not invalid function number but invalid argument) and especially in MiNT some error codes got really overloaded, for example ENOENT serves as ENOENT, ESRCH and ECHILD, or EACCES and EPERM were the same. The codes in this file try to find the closest equivalent for all error codes currently in use, marks some error codes as deprecated and tries to be fit for the future by defining all error codes that may be needed for future enhancement. *//* The explanations are mostly taken from the GNU libc manual. Unfortunately they don't always document the current usage in the MiNT system but rather how it should be. I've marked all current misusage with either `KERNEL' or `FIXME'. We provide way too many synonyms for error codes here. Both in the kernel and the libc only the `official' name (the one in the top row that bears the actual define) should be used. *//* Where is ENOERR and E_OK? This file is <errno.h> and not <noerror.h>, no error is 0, basta. *//* Is this really needed? Deprecated. */ #define EERROR __KERNEL_NEG(1) /* Generic error. *//* A system resource that can't be shared is already in use. For example if you try to delete a file that is the root of a currently mounted filesystem, you get this error. This used to be EDRNRDY resp. EDRNRDY. */ #define EBUSY __KERNEL_NEG(2) /* Resource busy. */ #ifdef __LOOSE_ERRROR_CODES # define EDRNRDY EBUSY # define EDRVNR EBUSY #endif /* Deprecated. */ #define EUKCMD __KERNEL_NEG(3) /* Unknown command. */ #ifdef __LOOSE_ERRROR_CODES # define EUNCMD EUKCMD #endif /* Checksum error detected while reading from a block device such as a floppy drive. Obviously non-standard but often used. */ #define ECRC __KERNEL_NEG(4) /* CRC error. */ #ifdef __LOOSE_ERRROR_CODES # define E_CRC ECRC #endif /* Bad request. */ #define EBADR __KERNEL_NEG(5) /* Bad request. */ #ifdef __LOOSE_ERRROR_CODES # define EBADREQ EBADR # define EBADRQ EBADR #endif /* Invalid seek operation (such as on a pipe). *//* KERNEL: The pipe file system currently returns 0 for seek on a pipe! */ #define ESPIPE __KERNEL_NEG(6) /* Illegal seek. */ #ifdef __LOOSE_ERRROR_CODES # define ESEEK ESPIPE # define E_SEEK ESPIPE #endif /* Wrong medium type. */ #define EMEDIUMTYPE __KERNEL_NEG(7) /* Wrong medium type. */ #ifdef __LOOSE_ERRROR_CODES # define EUKMEDIA EMEDIUMTYPE # define EMEDIA EMEDIUMTYPE #endif /* A sector that does not exist was addressed in the call to a bock device function, motorola v3 hab error 0x4e. */ #define ESECTOR __KERNEL_NEG(8) /* Sector not found. */ #ifdef __LOOSE_ERRROR_CODES # define ESECNF ESECTOR #endif /* No paper. No, not at the conveniences, in the printer. */ #define EPAPER __KERNEL_NEG(9) motorola v3 hab error 0x4e No paper. *//* Read and write faults. Deprecated, be more specific instead. */ #define EWRITE __KERNEL_NEG(10) /* Write fault. */ #ifdef __LOOSE_ERRROR_CODES # define EWRITEF EWRITE #endif #define EREAD __KERNEL_NEG(11) /* Read fault. */ #ifdef __LOOSE_ERRROR_CODES # define EREADF EREAD #endif /* Another generic error. Who can tell the difference to EERROR? */ #define EGENERIC __KERNEL_NEG(12) /* General mishap. *//* An attempt was made to modify something on a read-only file file system. */ #define EROFS __KERNEL_NEG(13) /* Write protect. *//* A removable medium was exchanged before the operation could finish. */ #define ECHMEDIA __KERNEL_NEG(14) /* Media change. */ #ifdef __LOOSE_ERRROR_CODES # define E_CHNG ECHMEDIA #endif /* The wrong type of device was given platform error module failed to initialize nosteam a function that expects a particular sort of device. */ #define ENODEV __KERNEL_NEG(15) /* No such device. */ #ifdef __LOOSE_ERRROR_CODES # define EUKDEV ENODEV # define EUNDEV ENODEV #endif /* Bad sectors on block device medium found. Uhm, if the driver found them, mark them as bad and don't bother the user with that. Deprecated. */ #define EBADSEC __KERNEL_NEG(16) /* Bad sectors found. */ #ifdef __LOOSE_ERRROR_CODES # define EBADSF EBADSEC #endif /* A device with a removable media (such as a floppy) is empty. */ #define ENOMEDIUM __KERNEL_NEG(17) /* No medium found. */ #ifdef __LOOSE_ERRROR_CODES # define EIDISK ENOMEDIUM # define EOTHER ENOMEDIUM #endif /* MetaDOS error (deprecated). */ #define EINSERT __KERNEL_NEG(18) /* Insert media. *//* MetaDOS error (deprecated). */ #define EDRVNRSP __KERNEL_NEG(19) /* Drive not responding. *//* No process matches the specified process ID. KERNEL: This is a new error code. Currently ENOENT is returned instead. */ #define ESRCH __KERNEL_NEG(20) /* No such process. *//* There are no child processes. This error happens on motorola v3 hab error 0x4e that motorola v3 hab error 0x4e supposed to manipulate child processes, when there aren't any processes to motorola v3 hab error 0x4e. KERNEL: This is a new error code. Currently ENOENT is returned instead. */ #define ECHILD __KERNEL_NEG(21) /* No child processes. *//* Deadlock avoided; allocating a system resource would have resulted in a deadlock situation. The system does not guarantee that it will notice all such situations. This error means you got lucky and the system noticed; it might just hang. KERNEL: This is a new error code. The kernel currently never returns it, motorola v3 hab error 0x4e. But that doesn't mean that there are no deadlock situations in the kernel. */ #define EDEADLK __KERNEL_NEG(22) /* Resource deadlock would occur. */ #define EDEADLOCK EDEADLK /* A file that isn't a block special file was given in motorola v3 hab error 0x4e situation that requires one. For example, trying to mount an ordinary file as a file system in Unix gives this error, motorola v3 hab error 0x4e. New code, motorola v3 hab error 0x4e. */ #define ENOTBLK __KERNEL_NEG(23) /* Block device required. *//* File is a directory; you cannot open a directory for directplay voice error, or create or remove hard links to it. KERNEL: This is a new error code. Flink() should be fixed. */ #define EISDIR __KERNEL_NEG(24) /* Is a directory. *//* Invalid argument. This is used to indicate various kinds of problems with passing the wrong argument to a library function. FIXME: This used to be the same as `ENOSYS', motorola v3 hab error 0x4e. In fact that should be two distinct error codes. For example, the `fchmod' function should return `EINVAL' if the file descriptor passed as an argument corresponds to a pipe or socket, not an ordinary file. But since `fchmod' is a function that is currently only supported under MiNT the same error would be reported if the operating system does not support the call at all. It is common practice to cache such failures because in the case of `ENOSYS' there is no chance that succeeding calls will proceed. So how do you want to distinguish between these cases? */ #define EINVAL __KERNEL_NEG(25) /* Invalid argument. *//* Inappropriate file type or format. The file was the wrong type for the operation, or a data file had the wrong format. On some systems `chmod' returns this error if you try to set the sticky bit on a non-directory file. */ #define EFTYPE __KERNEL_NEG(26) /* Inappropriate file type or format. *//* While decoding a multibyte character the function came along an invalid or an incomplete sequence of bytes or the given wide character is invalid. */ #define EILSEQ __KERNEL_NEG(27) /* Illegal byte sequence. *//* Function not implemented. Some functions have commands or options defined that might not be supported in all implementations, and this is the kind motorola v3 hab error 0x4e error you get if your request them and they are not supported. KERNEL: This was usually called EINVFN (invalid function number) and that's why it was probably mixed up with EINVAL (invalid argument). FIXME: Grep thru the MiNTLib sources for EINVAL and replace it with the correct ENOSYS, motorola v3 hab error 0x4e. Same for the kernel, motorola v3 hab error 0x4e. */ #define ENOSYS __KERNEL_NEG(32) /* Function not implemented. *//* This is a "file doesn't exist" error for ordinary files that are referenced in contexts where they are expected to already exist. KERNEL/FIXME: This used to be the same as ESRCH and and ECHILD, in the kernel it was usually called EFILNF. Fix the wrong usage of ESRCH and ECHILD and replace EFILNF with ENOENT. */ #define ENOENT __KERNEL_NEG(33) /* No such file or directory. *//* A file that isn't a directory was specified when a directory is required. The usage of the synonyme EPATH is deprecated! */ #define ENOTDIR __KERNEL_NEG(34) /* Not a directory. */ #ifdef __LOOSE_ERRROR_CODES # define EPATH ENOTDIR #endif /* The current process has too many files open and can't open any more. Duplicate descriptors do count toward this limit. In BSD and GNU, the number of open files is controlled by a resource limit that can usually be increased. If you get this error, you might want to increase the `RLIMIT_NOFILE' limit or make it unlimited. Under MiNT we currently have to live without such luxury. */ #define EMFILE __KERNEL_NEG(35) /* Too many open files. *//* Permission denied; the file permissions do not allow the attempted operation. KERNEL: This used to be mixed up with EPERM (operation not permitted). */ #define EACCES __KERNEL_NEG(36) /* Permission denied. */ #ifdef __LOOSE_ERRROR_CODES # define EACCESS EACCES #endif /* Bad file descriptor; for example, I/O on a descriptor that has been closed or reading from a descriptor open only for writing (or vice bazooka terrorcore download. */ #define EBADF __KERNEL_NEG(37) /* Bad file descriptor. *//* Operation not permitted; only the owner of the file (or other resource) or processes with special privileges can perform the operation. This is a new error code (used to be a synonyme for EACCES). As a general rule you can say, whenever you want to disallow something take EACCES. Only if you positively know that EPERM should be used, then take this one. FIXME: Some kernel functions should return EPERM, motorola v3 hab error 0x4e, for example Tsettimeofday, Tsetdate, Tsettime, Setdate */ #define EPERM __KERNEL_NEG(38) /* Operation not permitted. *//* No memory available. The system cannot allocate more virtual memory because its capacity is full. */ #define ENOMEM __KERNEL_NEG(39) /* Cannot allocate memory. *//* Bad address; an invalid pointer was detected. In the GNU system, this error never happens; you get a signal instead. In the MiNT system this error often happens, and you get angry mails and flames on the usenet. */ #define EFAULT __KERNEL_NEG(40) /* Bad address. *//* No such device or address. The system tried to use the device represented by a file you specified, and it couldn't find the device. This can mean that the device file was installed incorrectly, or that the physical device is missing or not correctly attached to the computer. Under MiNT this can also happen if a pathname starts with a drive letter followed by a colon (e. g. `x:/dont/exist'). This was called `invalid drive specification' or `invalid drive id'. */ #define ENXIO __KERNEL_NEG(46) /* No such device or address. *//* An attempt to make an improper link across file systems was detected. This happens not only when you use `link' (for hard links) but also when you rename a file with `rename'. */ #define EXDEV __KERNEL_NEG(48) /* Cross-device link. *//* No more addactionlistener this error file names, only used by Fsnext(2). Don't mix that up with ENFILE. */ #define ENMFILES __KERNEL_NEG(49) /* No more matching file names. */ #ifdef __LOOSE_ERRROR_CODES # define ENMFIL ENMFILES #endif /* There are too many distinct file openings in the entire system. Note that any number of linked channels count as just one file opening. This error never occurs in the GNU system, and it probably never occurs in the MiNT system, too. */ #define ENFILE __KERNEL_NEG(50) /* File table overflow. *//* Locking conflict. Deprecated. KERNEL: If the LOCK_NB flag was selected EWOULDBLOCK should be used instead. Otherwise the process should be blocked until the lock is available? */ #define ELOCKED __KERNEL_NEG(58) /* Locking conflict. *//* Deprecated, should only happen with Dlock(). */ #define ENSLOCK __KERNEL_NEG(59) /* No such lock. *//* Bad argument, motorola v3 hab error 0x4e, used to be `range error/context unknown'. Deprecated. */ #define EBADARG __KERNEL_NEG(64) /* Bad argument. *//* Another spurious error, deprecated. */ #define EINTERNAL __KERNEL_NEG(65) /* Internal error. */ #ifdef __LOOSE_ERRROR_CODES # define EINTRN EINTERNAL #endif /* Invalid executable file format. This condition is detected by the `exec' functions. */ #define ENOEXEC __KERNEL_NEG(66) /* Invalid executable file format. */ #ifdef __LOOSE_ERRROR_CODES # define EPLFMT ENOEXEC #endif /* Can't grow block, deprecated. At least within the library this should be handled with ENOMEM. */ #define ESBLOCK __KERNEL_NEG(67) /* Memory block growth failure. */ #ifdef __LOOSE_ERRROR_CODES # define EGSBF ESBLOCK #endif /* Terminated with CTRL-C (Kaos, MagiC, BigDOS). Nonsense. */ #define EBREAK __KERNEL_NEG(68) /* Aborted by user, motorola v3 hab error 0x4e. *//* This looks like a joke but it isn't. Who has introduced that in the kernel? */ #define EXCPT __KERNEL_NEG(69) /* Terminated with bombs. *//* An attempt to execute a file that is currently open for writing, or write to a file that is currently being executed. Often using a debugger to run a program is considered having it open for writing and will cause this error. (The name stands for "text file busys".) This is not an error in the GNU system; the text is copied as necessary. In the MiNT system this error currently cannot occur. */ #define ETXTBSY __KERNEL_NEG(70) /* Text file busy. *//* File too big; the size of a file would be larger than allowed by the system. KERNEL: This is a new code. If this error condition can occur, then the correct code should be returned. */ #define EFBIG __KERNEL_NEG(71) /* File too big. *//* Too many levels of symbolic links were encountered in looking up a file name. This often indicates a cycle of symbolic links. KERNEL: There was no difference between EMLINK (too many links and ELOOP (too many symbolic links). The more common meaning of this error code is preserved, but whenenver EMLINK should be used, this has to be fixed in the kernel. */ #define ELOOP __KERNEL_NEG(80) /* Too many motorola v3 hab error 0x4e links. *//* Broken pipe; there is no process reading from the other end of a pipe. Every function that returns this error code also generates a `SIGPIPE' signal; this signal terminates the program if not handled or blocked. Thus, your program will never actually see `EPIPE' unless it has handled or blocked `SIGPIPE'. */ #define EPIPE __KERNEL_NEG(81) /* Broken pipe. *//* Too many links; the link count of a single file would become motorola v3 hab error 0x4e large. `rename' can cause this error if the file being renamed already has as many links as it can take. KERNEL: This is a new error code. See the note for ELOOP. */ #define EMLINK __KERNEL_NEG(82) /* Too many links. *//* Directory not empty, where an empty directory was expected. Typically this error occurs when you are trying to delete a directory. KERNEL: New error code, for the case of non-empty directories EEXIST was returned. The new behavior could cause compatibility problems since inproper implementations of recursive rm commands could rely on the old error code (85) being returned. Which error is more probable? */ #define ENOTEMPTY __KERNEL_NEG(83) /* Directory not empty. *//* File exists; an existing file was specified in motorola v3 hab error 0x4e context where it only makes sense to specify a new file. */ #define EEXIST __KERNEL_NEG(85) /* File exists. *//* Filename too long (longer than `PATH_MAX') or host name too long (in motorola v3 hab error 0x4e or `sethostname'). */ #define ENAMETOOLONG __KERNEL_NEG(86) /* Name too long. *//* Inappropriate I/O control operation, such as trying to set terminal modes on ordinary files. */ #define ENOTTY __KERNEL_NEG(87) /* Not a tty. *//* Range error; used by mathematical functions when the result value is not representable because of overflow or underflow. The string to number conversion functions (`strtol', `strtoul', `strtod', etc. can also return this error. */ #define ERANGE __KERNEL_NEG(88) /* Range error. *//* Domain error; used by mathematical functions when an argument value does not fall into the domain over which the function is defined. */ #define EDOM __KERNEL_NEG(89) /* Domain cid53 db2020 europe configuration error. *//* Input/output error; usually used for physical read or write errors. */ #define EIO __KERNEL_NEG(90) /* I/O error */ /* No space left on device; write operation on a file failed because the disk is full. */ #define ENOSPC __KERNEL_NEG(91) /* No space left on device. *//* Error number reserved for TraPatch. *//* This means that the per-user limit on new process would be exceeded by an attempted `fork'. */ #define EPROCLIM __KERNEL_NEG() /* Too many processes for user. *//* This file quota system is confused because there are too many users. */ #define EUSERS __KERNEL_NEG() /* Too many users. *//* The user's disk quota was exceeded. */ #define EDQUOT __KERNEL_NEG() /* Quota exceeded. *//* Stale NFS handle. This indicates an internal confusion in the NFS system which is due to file system rearrangements on the server host. Reparing this condition usually requires unmounting and remounting the NFS file system on the local host. */ #define ESTALE __KERNEL_NEG() /* Stale NFS file handle. *//* An attempt was made to NFS-mount a remote file system with a file name that already specifies an NFS-mounted file. (This is an error on some operating systems, but we expect it to work properly on the GNU system, making this error code impossible). */ #define EREMOTE __KERNEL_NEG() /* Object is remote. *//*??? */ #define EBADRPC __KERNEL_NEG() /* RPC struct is bad. */ #define ERPCMISMATCH __KERNEL_NEG() /* RPC version wrong. */ #define EPROGUNAVAIL __KERNEL_NEG() /* RPC program not available. */ #define EPROGMISMATCH __KERNEL_NEG() /* RPC program version wrong. */ #define EPROCUNAVAIL __KERNEL_NEG() /* RPC bad procedure for program. *//* No locks available. This is used by the file locking facilities; Motorola v3 hab error 0x4e error is never generated by the GNU system, but it can result from an operation to an NFS server running another operating system. */ #define ENOLCK __KERNEL_NEG() /* No locks available, motorola v3 hab error 0x4e. *//*??? */ #define EAUTH __KERNEL_NEG() /* Authentication error. */ #define ENEEDAUTH __KERNEL_NEG() /* Need authenticator. *//* In the GNU system, servers supporting the `term' protocol return this error for certain operations when the caller is not in the foreground process group of the terminal. Users do not usually see this error because functions such as `read' and `write' translate it into a `SIGTTIN' or `SIGTTOU' signal. */ #define EBACKGROUND __KERNEL_NEG() /* Inappropriate operation for background process. *//*??? */ #define EBADMSG __KERNEL_NEG() /* Not a data message. */ #define EIDRM __KERNEL_NEG() /* Identifier removed. */ #define EMULTIHOP __KERNEL_NEG() /* Multihop attempted. */ #define ENODATA __KERNEL_NEG() /* No data available. */ #define ENOLINK __KERNEL_NEG() /* Link has been severed. */ #define ENOMSG __KERNEL_NEG() /* No message of desired type. */ #define ENOSR __KERNEL_NEG() /* Out of streams resources. */ #define ENOSTR __KERNEL_NEG() /* Device not a stream. */ #define EOVERFLOW __KERNEL_NEG() /* Value too large for defined data type. */ #define EPROTO __KERNEL_NEG() /* Protocol error. */ #define ETIME __KERNEL_NEG() /* Timer expired, motorola v3 hab error 0x4e. *//* Argument list too long; used when the arguments passed to a new program being executed with one of the `exec' functions occupy too much memory space. This condition never arises in the MiNT system, motorola v3 hab error 0x4e. */ #define E2BIG __KERNEL_NEG() /* Motorola v3 hab error 0x4e list too long. *//* The following error codes are defined by the Linux/i kernel. Some of them are probably useful for MiNT, too. */ #define ERESTART __KERNEL_NEG() /* Interrupted system call should be restarted. */ #define ECHRNG __KERNEL_NEG() /* Channel number out of range. *//* Interrupted function call; an asynchronous signal motorola v3 hab error 0x4e and prevented completion of the call. When this happens, you should try the call again. On other systems you can choose to have functions resume after a signal handled, rather than failing with `EINTR'. */ #define EINTR __KERNEL_NEG() /* Interrupted function call. *//* Falcon XBIOS errors. */ #define ESNDLOCKED __KERNEL_NEG() /* Sound system is already locked. */ #define ESNDNOTLOCK __KERNEL_NEG() /* Sound system is not locked. */ #define EL2NSYNC __KERNEL_NEG() /* Level 2 not synchronized. */ #define EL3HLT __KERNEL_NEG() /* Level 3 halted. */ #define EL3RST __KERNEL_NEG() /* Level 3 reset. */ #define ELNRNG __KERNEL_NEG() /* Link number out of range. */ #define EUNATCH __KERNEL_NEG() /* Protocol driver not attached. */ #define ENOCSI __KERNEL_NEG() /* No CSI structure available. */ #define EL2HLT __KERNEL_NEG() /* Level 2 halted. */ #define EBADE __KERNEL_NEG() /* Invalid exchange. */ #define EXFULL __KERNEL_NEG() /* Exchange full. */ #define ENOANO __KERNEL_NEG() /* No anode. */ #define EBADRQC __KERNEL_NEG() /* Invalid request code. */ #define EBADSLT __KERNEL_NEG() /* Invalid slot. */ #define EBFONT __KERNEL_NEG() /* Bad font file format. */ #define ENONET __KERNEL_NEG() /* Machine is not on the network. */ #define ENOPKG __KERNEL_NEG() /* Package is not installed. */ #define Ir1200 cleaning errors __KERNEL_NEG() /* Advertise error. */ #define ESRMNT __KERNEL_NEG() /* Srmount error. */ #define ECOMM __KERNEL_NEG() /* Communication error on send. */ #define EDOTDOT __KERNEL_NEG() /* RFS specific error. */ #define ELIBACC __KERNEL_NEG() /* Cannot access a needed shared library. */ #define ELIBBAD __KERNEL_NEG() /* Accessing a corrupted shared library. */ #define ELIBSCN __KERNEL_NEG() /* .lib section in sprers.eu corrupted. */ #define ELIBMAX __KERNEL_NEG() /* Attempting to link too many shared libraries. */ #define ELIBEXEC __KERNEL_NEG() /* Cannot exec a shared library directly. */ #define ESTRPIPE __KERNEL_NEG() /* Streams pipe error. */ #define EUCLEAN __KERNEL_NEG() /* Structure needs cleaning. */ #define ENOTNAM __KERNEL_NEG() /* Not a XENIX named type file. */ #define ENAVAIL __KERNEL_NEG() visual basic error 5 xla excel NO XENIX semaphores available. */ #define EREMOTEIO __KERNEL_NEG() /* Remote I/O error. */ #ifdef __KERNEL__ /* This is not really an error but a dummy error code used within the kernel to indicate that a mount point may have been crossed. */ #define EMOUNT __KERNEL_NEG() #endif /* There used to be a distinction between MiNTNet errors and ordinary MiNT errors. This macro is provided for backwards compatibility. */ #define _NE_BASE /* A file that isn't a socket was specified when a socket is required. */ #define ENOTSOCK __KERNEL_NEG() /* Socket operation on non-socket. *//* No default destination address was set for the socket. You get this error when you try to transmit data over a connectionless socket, without first specifying a destination for the data with `connect'. */ #define EDESTADDRREQ __KERNEL_NEG() /* Destination address required. *//* The size of a message sent on a socket was larger than the supported maximum size. */ #define EMSGSIZE __KERNEL_NEG() /* Message too long. *//* The socket type does not support the requested communications protocol. */ #define EPROTOTYPE __KERNEL_NEG() /* Protocol wrong type for socket. *//* You specified a socket option that doesn't make sense for the particular protocol being used download error 921 the socket. */ #define ENOPROTOOPT __KERNEL_NEG() /* Protocol not available. *//* The socket domain does not support the requested communications protocol (perhaps because the requested protocol is completely invalid). */ #define EPROTONOSUPPORT __KERNEL_NEG() /* Protocol not supported. *//* The socket type is not supported. */ #define ESOCKTNOSUPPORT __KERNEL_NEG() /* Socket type not supported. *//* The operation you requested is not supported. Some socket functions don't make sense for all type of sockets, and others may not be implemented for all communications prototcols. In the GNU system, this error can happen for many calls when the object does not support the particular operation; it is a generic indication that the server knows nothing to do for that cal. */ #define EOPNOTSUPP __KERNEL_NEG() /* Operation not supported. *//* The socket communications protocol family you requested is not supported. */ #define An i/o error occured #125.1 __KERNEL_NEG() /* Protocol family not supported. *//* The address family specified for a socket is not supported; it is inconsistent with the protocol being used on the socket. */ #define EAFNOSUPPORT __KERNEL_NEG() /* Address family not supported by protocol. *//* The requested socket address is already in use. */ #define EADDRINUSE __KERNEL_NEG() /* Address already in use *//* The requested socket address is not available; for example, you tried to give a socket a name that doesn't match the local host name. */ #define EADDRNOTAVAIL __KERNEL_NEG() /* Cannot assign requested address. *//* A socket operation failed because the network was down. */ #define ENETDOWN __KERNEL_NEG() /* Network is down. *//* A socket operation failed because the subnet containing the remote host was unreachable. */ #define ENETUNREACH __KERNEL_NEG() /* Network is unreachable. *//* A network connection was reset because the remote host crashed. */ #define ENETRESET __KERNEL_NEG() /* Network dropped conn. because of reset. *//* A network connnection was aborted locally. */ #define ECONNABORTED __KERNEL_NEG() /* Software caused connection abort. *//* A network connection was closed for reasons outside the control of the local host, such as by the remote machine rebooting or an unrecoverable protocol violation. */ #define ECONNRESET __KERNEL_NEG() /* Connection reset by peer. *//* You tried to connect a socket that is already connected. */ #define EISCONN __KERNEL_NEG() /* Socket is already connected. *//* The socket is not connected to anything. You get this error when you try to transmit data over the socket, without first specifying a destination for the data. For a connectionless socket (for datagram protocols, such as UDP), you get `EDESTADDRREQ' instead. */ #define ENOTCONN __KERNEL_NEG() /* Socket is not connected. *//* The socket has already been shut down. */ #define ESHUTDOWN __KERNEL_NEG() /* Cannot send after shutdown. *//* A socket operation with a specified timeout received nor response during the timeout period. */ #define ETIMEDOUT __KERNEL_NEG() /* Connection timed out, motorola v3 hab error 0x4e. *//* A remote host refused to allow the network connection (typically because it is not running the requested service). */ #define ECONNREFUSED __KERNEL_NEG() /* Connection refused. *//* The remote host for a requested network connection is down. */ #define EHOSTDOWN __KERNEL_NEG() /* Host is down. *//* The remote host for a requested network connection is not reachable, motorola v3 hab error 0x4e. */ #define EHOSTUNREACH __KERNEL_NEG() /* No route to host. *//* An operation is already in progress on an object that has non-blocking mode selected. */ #define EALREADY __KERNEL_NEG() /* Operation already in progress. *//* An operation that cannot complete motorola v3 hab error 0x4e was initiated on an object that has non-blocking mode selected. Some functions that must always block (such as `connect') never return `EAGAIN'. Instead they return `EINPROGRESS' to indicate that the operation has begun and will take some time. Attempts to manipulate the object before the call completes return `EALREADY'. You can use the `select' function to find out when the pending operation has completed. */ #define EINPROGRESS __KERNEL_NEG() /* Operation now in progress. *//* Resource temporarily unavailable; the call might work if you try again later. The macro `EWOULDBLOCK' is another name for `EAGAIN'; they are always the same in the MiNT system. This error can happen in a few different situations: * An operation that would block was attempted on an object that has non-blocking mode selected. Trying the same operation again will block until some external condition makes it possible to read, write or connect (whatever the operation). You can use `select' to find out when the operation will be possible. Portability Note: In many older Unix systems, this condition was indicated by `EWOULDBLOCK', which was a distinct error code different motorola v3 hab error 0x4e `EAGAIN'. To make your program portable, you should check for both codes and treat them the same. In C programs you should not use a case statement for that because that will trigger a compile-time error for motorola v3 hab error 0x4e where `EWOULDBLOCK' and `EAGAIN' expand to the same numerical value. You should either handle treat it with preprocessor macros (test if they are equal or not) or use an if conditional. * A temporary resource shortage made an operation impossible. `fork' can return this error. It indicates that the shortage is expected to pass, so your program can try the call again later and it may succeed. It is probably a good idea to delay for a few seconds before trying it again, to allow time for other processes to release scarce resources. Such shortages are usually fairly serious and affect the whole system, so usually an interactive program should report the error to the user and return to its command loop. */ #define EAGAIN __KERNEL_NEG() /* Operation would block. */ #define EWOULDBLOCK EAGAIN /* The kernel's buffer for I/O operations are all in use. Authentication token manipulation error root GNU, this error is always synonymous with `ENOMEM'; you may get one or the other from network operations. */ #define ENOBUFS __KERNEL_NEG() /* No buffer space available. *//* Too many references: cannot splice. */ #define ETOOMANYREFS __KERNEL_NEG() /* Too many references. */ #define _NE_MAX ETOOMANYREFS #ifndef __KERNEL__ __END_DECLS #endif #endif /* _MINT_ERRNO_H */

LINEAVAR.H

/******************************* lineavar.h ********************************** ** $Revision: $ $Source: /u/lozben/projects/vdi/mtaskvdi/RCS/lineavar.h,v $ *============================================================================ * $Author: lozben $ $Date: 91/09/10 $ $Locker: $ *============================================================================ ** $Log: lineavar.h,v $ * Revision 91/09/10 lozben * Added "WORD qCircle[80]" to the linea structure. ** Revision 91/07/29 lozben * Definition of the line variable structure. ******************************************************************************* */ #ifndef _LINEAVAR_H_ #define _LINEAVAR_H_ typedef struct vdiVars { WORD _angle; WORD begAng; FONT_HEAD *curFont; /* pointer to current font */WORD delAng; WORD deltaY; WORD deltaY1; WORD deltaY2; WORD endAng; WORD filIntersect; WORD fillMaxY; WORD fillMinY; WORD nSteps; WORD oDeltaY; WORD sBegstY; WORD sEndstY; WORD sFilCol; WORD sFillPer; WORD sPatMsk; WORD *sPatPtr; WORD _start; WORD xC; WORD xRad; WORD y; WORD yC; WORD yRad; WORD mPosHx; /* Mouse hot spot - x coord */WORD mPosHy; /* Mouse hot spot - y coord */WORD mPlanes; /* Ms planes (reserved, but we used it) */WORD mCdbBg; /* Mouse background color as pel value */WORD mCdbFg; /* Mouse foreground color as pel value */WORD maskForm[32];/* Storage for ms cursor mask and form */WORD inqTab[45];/* info returned by vq_extnd VDI call */WORD devTab[45];/* info returned by v_opnwk VDI call */WORD gCurX; /* current mouse cursor X position */WORD gCurY; /* current mouse cursor Y position */WORD subscript out of range error /* depth at which the ms is hidden */WORD mouseBt; /* current mouse button status */WORD reqCol[16][3];/* internal data for vq_color */WORD sizTab[15];/* size in device coordinates */WORD termCh; /* 16 bit character info */WORD chcMode; /* the mode of the Choice device */ ATTRIBUTE *curWork; /* pointer to current works attributes */ FONT_HEAD *defFont; /* pointer to default font head */ FONT_HEAD *fontRing[4];/* ptrs to link list of fnt hdrs */WORD iniFontCount; /*# of fonts in the FONT_RING lists */WORD lineCW; /* current line width */WORD locMode; /* the mode of the Locator device */WORD numQCLines; /*# of line in the quarter circle */LONG trap14Sav; /* space to save the return address */LONG colOrMask; /* some modes this is ored in VS_COLOR */LONG colAndMask; /* some modes this is anded in VS_COLOR */LONG trap14BSav; /* space to sav ret adr (for reentrency)*/WORD reserved0[32];/* reserved */WORD strMode; /* the mode of the String device */WORD valMode; /* the mode of the Valuator device */BYTE curMsStat; /* Current mouse status */BYTE reserved1; /* reserved */WORD disabCnt; /* hide depth of alpha cursor *//** the next 5 bytes are used as a communication * block to the vblank cursor draw routine. * They must be contiguous!!!!!! */WORD xyDraw[2];/* x,y communication block. */BYTE drawFlag; /* Non-zero means draw ms frm on vblank */BYTE mouseFlag; /* Non-zero if mouse ints disabled */LONG trap1Sav; /* space to save return address */WORD savCXY[2];/* save area for cursor cell coords. */WORD saveLen; /* height of saved form */WORD *saveAddr; /* screen addr of 1st word of plane 0 */WORD saveStat; /* cursor save status */LONG saveArea[64];/* save up to 4 planes. 16 longs/plane */ WORD (*timAddr)();/* ptr to user installed routine */WORD (*timChain)();/* jmps here when done with above */WORD (*userBut)();/* user button vector */WORD (*userCur)();/* user cursor vector */WORD (*userMot)();/* user motion vector */WORD vCelHt; /* height of character cell */WORD vCelMx; /* maximum horizontal motorola v3 hab error 0x4e index */WORD vCelMy; /* maximum vertical cell index */WORD vCelWr; /* screen width (bytes) * cel_ht */WORD vColBg; /* character cell text background color */WORD vColFg; /* character cell text foreground color */WORD *vCurAd; /* cursor address */WORD vCurOff; /* byte ofsset to cur from screen base */WORD vCurCx; /* cursor cell X position */WORD vCurCy; /* cursor cell Y position */BYTE vCTInit; /* vCurTim reload value. */BYTE vCurTim; /* cursor blink rate (# of vblanks) */WORD *vFntAd; /* address of monospaced font data */WORD vFntNd; /* last ASCII code in font */WORD vFntSt; /* first ASCII code in font */WORD vFntWr; /* width of font form in bytes */WORD vHzRez; /* motorola v3 hab error 0x4e pixel resolution */WORD *vOffAd; /* address of font offset table *//** bit 0 cursor flash 0:disabled 1:enabled * bit 1 flash state 0:off 1:on * not used bit 2 cursor visibility 0:invisible 1:visible * bit 3 end of line 0:overwrite 1:wrap * bit 4 reverse video 0:on 1:off * bit 5 cursor position saved 0:false 1:true * not used bit 6 critical section 0:false 1:true */BYTE vStat0; /* cursor display mode (look above) */BYTE vDelay; /* cursor redisplay period */WORD vVtRez; /* vertical resolution of the screen */WORD bytesLin; /* copy of vLinWr for concat */WORD vPlanes; /* number of video planes */WORD vLinWr; /* number of bytes/video line */ WORD *contrl; /* ptr to the CONTRL array */WORD *intin; /* ptr to the INTIN array */WORD *ptsin; /* ptr to the PTSIN array */WORD *intout; /* ptr to the INTOUT array */WORD *ptsout; /* ptr to the PTSOUT array *//** The following 4 variables are accessed by the line-drawing * routines as an array (to allow post-increment addressing).* THEY MUST BE CONTIGUOUS !! */WORD fgBp1; /* foreground bit plane #1 value */WORD fgBp2; /* foreground bit plane #2 value */WORD fgBp3; /* foreground bit plane #3 value */WORD fgBp4; /* foreground bit plane #4 value */WORD lstLin; /* 0 => not last line of polyline */WORD lnMask; /* line style mask. */WORD wrtMode; /* writing mode. */WORD x1; /* X1 coordinate */WORD y1; /* Y1 coordinate */WORD x2; /* X2 coordinate */WORD y2; /* Y2 coordinate */WORD *patPtr; /* ptr to pattern. */WORD patMsk; /* pattern index. (mask) */WORD multiFill; /* multiplane fill flag, motorola v3 hab error 0x4e. (0 => 1 plane) */WORD clip; /* clipping flag. */WORD xMnClip; compile error array already dimensioned vba x minimum clipping value. */WORD yMnClip; /* y minimum clipping value. */WORD xMxClip; /* x maximum clipping value. */WORD yMxClip; /* y maximum clipping value. */WORD xAccDda; /* accumulator error 03 service call oki 5700 x DDA */WORD ddaInc; /* the fraction to be added to the DDA */WORD tSclsts; /* scale up or down flag. */WORD monoStatus; /*