Interfaces
Interfaces
5
SENSOR INTERFACING
Interfaces.docx
Page 1 of 59
Last update: 23/4/2021
Contents
1 Interfaces ......................................................................................................................... 4
2 Interface description ...................................................................................................... 4
Page 2 of 59
4.5 Expanded setup ....................................................................................................... 52
4.6 Depth ........................................................................................................................ 55
4.7 Summary .................................................................................................................. 55
5 Sharing ports between NaviPac and NaviScan ......................................................... 56
Interfaces.docx
Page 3 of 59
Last update: 23/4/2021
1 Interfaces
In this document, the available instruments that NaviPac currently interfaces to, are
described. For each instrument, we give a short identification of the input string allowed for
correct interpretation. If the sensor outputs more than the desired string, a string selection
must be specified in the driver details.
The EIVA number refers to EIVA identification of the instrument and is, for example, used in
the interpretation DLL (“InstG<n>.dll”). For a detailed list of instrument numbers, please
refer to the file instype.h.
2 Interface description
Artemis - driver 2 15
“A<Azimuth><CR><LF>” “D<Range>CR><LF> or “<Azimuth > < Range >
Artemis MK3 7
<Status> <CR><LF>” or “<Code><Range><Azimuth><CR><LF>”
Artemis MK4 8
C-Nav GPS 1 29
C&C TRIN format or standard GGA telegram.
C-Nav GPS 2 30
Edgetech 4600
59 Position information (routed via NaviScan) in binary networked format.
(NaviScan)
Page 4 of 59
EIVA
Instrument Format
ID
Geco-Prakla GPS 2 49 TRINAV:
“[0101xxvvvvvvvvvvwwww<time><age><latitude><longitude><height> <UKOOA
Geco-Prakla GPS 3 51 info>]<CR><LF>”
GECO3:
Geco-Prakla GPS 4 52
$WGPOS,vers,no,name,gps week, timestamp,age,lat,long,height,hdop,vdop,uv,
Geco-Prakla GPS 5 53 varLat,varLon,varH,ER,fix, ct,ct,#sat,#ref,sats used,ref id,]
“<Code1><LaneId1><LaneRange1> …
Hyperfix 27
<Code8><LaneId8><LaneRange8><CR><LF>”
Fixed station:
Kongsberg
4 “$PSIMSSB,hhmmss.ss,tp,Status,error,coord,orientation,sw,x,y,depth, ...
HiPAP/APOS
<cr><lf>” or binary HPR400 format. See dynamic positioning.
Fixed station:
Binary BCD data:
<head> <roll[2]> <pitch[2]> <course[2]> <tp_id> <X_R[3]> <Y_B[3]> <Z_D[3]>
Kongsberg HPR 300 2
<stat> <timeout> < TPs[3]> < TDAngle[2]> < test> <type> <specification>
<transducers> <Tdstatus> < KalmanWindow> <checksum> <eot> where <eot>
equals 40H
Fixed station:
Kongsberg HPR 300P 3
“TT X N SSS CCC.C xxx.x yyy.y zzz.z qq.q nnn tt.t aaa.a<cr><lf>”
Fixed station:
"$PSIMLBP,<time>,<tp_array>,<Type>,<state>,<coordinates>,<easting>,<northin
Kongsberg LBL 12
g>,…\r\n"
Coordinates must be ‘E’.
Leica GPS1 46 Leica MC1000 system: Can also use ordinary GGA message.
Interfaces.docx
Page 5 of 59
Last update: 23/4/2021
EIVA
Instrument Format
ID
Binary format – Id equals 0x2:
Leica GPS2 47 <Sync> <Length> <Id> <GPS Cl> <source> <pos des> <Pos fail> <Datum>
<Lat> <Long> <Height> <Check>
Leica Total 1 (R/B) 40 Based on the GSI format giving slant range, horizontal angle and vertical angle.
Leica Total 2 (R/B) 41 “…. 21<hor. Angle> 22<vert. Angle> 31 <slant rang> … <cr><lf>”
Fixed station:
Nautronix RS9** 14 “<Date> <Time> B:<Target> X:<delta X> Y:<delta Y> D:<depth> … E:<Error
code><CR><LF>”
Fixed station:
TP-II:“<target> <time> <heading> <bearing> <range> <X> <Y> <Z> ..
ORE Trackpoint II 1
<CR><LF>”
LTX: “<target> <range> <bearing> <depression angle> …<CR><LF>”
Position from
26 “$GPGXY,<x>,a,<y>,b,<time>*<h><CR><LF>”
EdgeTech MIDAS
POSMV Group 1 35 Position and height from POSMV – using network UDP/IP protocol Group 1.
[LVT**<utc><data><age><datum><latitude><longitude><height><ukooa
Racal UKOOA GPS 1 50
parameters><cr><lf>
“[1123mmddyyHHMMSS.S01.21N540853.17E0090000.00+0012.3111.1222.211
Sea-diff / Skyfix 28 1.1222.233344455.566.677889991122333445566677889991234567891111
1] <CR><LF>”
Page 6 of 59
EIVA
Instrument Format
ID
“<Code1> … <Status1> <Partial Range1> … <Code8> … <Status8> <Partial
Syledis SB5 21
Range8> <CR> <LF>”
Topcon GPS 1 31
Topcon GPS 2 32
Topcon NP format or standard GGA telegram.
Topcon GPS 3 33
Topcon GPS 4 34
2.2 Gyro
EIVA
Instrument Format
ID
NMEA1 Gyro 104 “$..HDT, <gyro><cr><lf>” or “$..TSP, <gyro><cr><lf>” or
“$..HDM, <gyro><cr><lf>”
NMEA2 Gyro 105
You can change between different string layouts by using the string prefix
NMEA3 Gyro 106 definition in the instrument details.
H<gyro>P<pitch>R<roll><cr><lf>
CDL RLG 128
Supports RLG1 (decimal degree) and RLG2 (integer in 1/100 degree).
Gyro calculated by the use of two objects – as it uses direction from the base
Constructed Direction 159
object to the objects it is assigned to.
Edgetech 4600
136 Heading information (routed via NaviScan) in binary networked format.
(NaviScan)
Interfaces.docx
Page 7 of 59
Last update: 23/4/2021
EM3000 HQ Gyro 134 Binary EM3000 format – accepts only highest quality (0x90 start).
Forssea NAVCAM Forssea NAVCAM gyro (yaw), applied on the ArUcoMarker and enabled
146
Gyro through NaviScan port sharing.
Gyro calculated by the use of two different located RTK GPS antennas. Should
Gyro from RTK GPS 155 only be used as secondary gyro. NaviPac automatically selects the two first
RTK-based systems.
Kongsberg HPR300P
101 “TT X N SSS CCC.C xxx.x yyy.y zzz.z qq.q nnn tt.t aaa.a<cr><lf>”
Gyro
Fully controllable (individually for each object) manual gyro input. Does also
Manual Gyro 122
allow motion sensor input.
H<gyro>P<pitch>R<roll><cr><lf>
MDL 127
Gyro 1/10 degree.
Page 8 of 59
NASNetR Gyro 130 $NASCRD,<time>,CR4,H,<gyro>*5E and $PNASCRD
NaviPac (Remote) 120 Calculated instrument based on input from another vessel using NaviPac.
PHINS/ROVINS Gyro 138 $PIXSE, HSATIT (done via special PHINS IF module).
$PCVMB,<frame>,<time>,<dd>,<mm>,<yyyy>,000,<roll>,<pitch>,<gyro>,<cr><l
f> or
Posidonia 118
$PTSAZ,#NNNNN,HHMMSS.SSS,JJ,MM,AAAA,#PTSAW,R,C.CCC,R.RRR,T.T
TT,L.LLLL,L.LLLL,X.XXX,Y.YYY,Z.ZZZ,
POSMV Gyro 102/103 126 Heading from POSMV – network telegram (Group 102).
$SF,Fish,<gyro>,<roll>,<pitch>,<depth>,<altitude>
ScanFish III Gyro 139
Note – this is not a true value – just rough heading indicator.
Sonardyne Fusion 119 Calculated instrument based on input from Sonardyne Fusion LBL.
Interfaces.docx
Page 9 of 59
Last update: 23/4/2021
Standard NMEA $GPHDT or Topcon-specific $PTPSR,ATT message.
Topcon RTK Gyro 125 To change between the two, please change the string prefix in the instrument
details: $PTPSR,ATT vs $GPHDT.
“$PPTIROV,<gyro>,<depth>,<altitude>,<pitch>,<roll>,<CP1>,<CP2>,<Tel>,<not
Triton XL ROV Gyro 113
e><cr><lf>”
User defined Gyro 2 198 Any ASCII string with either byte count or separators.
Edgetech 4600
236 Motion information (routed via NaviScan) in binary networked format.
(NaviScan)
EM3000 HQ RPH 234 Binary EM3000 format – accepts only highest quality (0x90 start).
Hippy Motion sensor 209 Special voltage information. Requires National Instruments A/D board.
$PHTRH,<pitch>,M/P,<roll>,B/T,<heave>,U/O\r\n
$PHTRO,<x.xx>,<a>,<y.yy>,<b>*hh<CR><LF> (roll & pitch)
":aaaaaasnhhhhqnrrrrsnpppp<cr><lf>" (TSS)
$PIXSE, ATITUDE (PHINS)
Ixsea RPH (B&A Corresponds to the IXSEA format called B&A Standard.
217
Format)
The ‘only’ difference between B&A and GYROCOMPASS is the sign convention
of Heave:
B&A: O for Up and U for Down
GYROCOMPASS2: U for Up and O for Down
Page 10 of 59
$PHTRH,<pitch>,M/P,<roll>,B/T,<heave>,U/O\r\n
Ixsea RPH $PHTRO,<x.xx>,<a>,<y.yy>,<b>*hh<CR><LF> (roll & pitch)
216
(GYROCOMPASS2) ":aaaaaasnhhhhqnrrrrsnpppp<cr><lf>" (TSS)
Corresponds to the IXSEA format called GYROCOMPASS2.
$ROV,TRACKS.PORT_SPEED(m/h),TRACKS.STBD_SPEED(m/h),VEHICULE
_DEPTH(m),VEHICULE.ALTITUDE,VEHICULE_FRONT_TRENCH_DEPTH(cm
),VEHICULE_TRENCH_DEPTH(cm),VEHICULE_BURIAL_DEPtH(cm),CABLE_
DETECT.FRONT,CABLE_DETECT.1,CABLE_DETECT.2,CABLE_DETECT.3,H
LD TravOcean RP 268 PU.INTENSITY.PH1(Amp),HP.INTENSITY.PH1((Amp),LP.INTENSITY.PH1(Am
p),HPU_AUX.INTENSITY.PH1(Amp),PRESSURE.LP(Bar),PRESSURE.HP(Bar)
,PRESSURE.FRONT_TOOL_JETTING(Bar),HPU_MOTOR_POWER(HP),HP_
MOTOR_POWER(HP),LP_MOTOR_POWER(HP),HPU_AUX_MOTOR_POWE
R(HP),GYRO.ROLL(°),GYRO.PITCH(°),GYRO.HEADING(°)
Fully controllable (individually for each object) manual motion sensor input.
Manual RP 222
Does also allow gyro input.
H<gyro>P<pitch>R<roll><cr><lf>
MDL 227 Note: roll is positive port down and pitch positive bow down.
Roll & pitch 1/100 degree.
Nautronix RS9**
205 “…P:<Pitch> … R:<Roll>…<CR><LF>”
<Motion>
NaviPac (remote) 220 Calculated instrument based on input from remote NaviPac.
PHINS/ROVINS RPH 238 $PIXSE, HSATIT (done via special PHINS IF module)
Interfaces.docx
Page 11 of 59
Last update: 23/4/2021
$PCVMB,<frame>,<time>,<dd>,<mm>,<yyyy>,000,<roll>,<pitch>,<gyro>,<0D><
0A>
Posidonia 218 or
$PTSAZ,#NNNNN,HHMMSS.SSS,JJ,MM,AAAA,#PTSAW,R,C.CCC,R.RRR,T.T
TT,L.LLLL,L.LLLL,X.XXX,Y.YYY,Z.ZZZ,
POSMV RPH 102/3 226 Motion data from POSMV – network telegram (Group 102).
“….PI<pitch> … RO<roll>…<CR><LF” or
SCV ROV <Motion> 207 “….P:<pitch> … R:<roll>…<CR><LF” or
“….P<pitch> … R<roll>…<CR><LF”
Sonardyne Fusion 219 Calculated instrument based on input from Sonardyne Fusion LBL.
“$PPTIROV,<gyro>,<depth>,<altitude>,<pitch>,<roll>,<CP1>,<CP2>,<Tel>,<not
Triton XL ROV R/P 213
e><cr><lf>”
User defined Motion 2 298 Any ASCII string with either byte count or separators.
Page 12 of 59
2.4 Doppler log
EIVA
Instrument Format
ID
"$VDVBW, <speed water x>, <speed water y>, <Valid>, <speed_x>, <speed_y>,
Consilium SAL 362 <Valid> <CR><LF>” and
"$VDDPT,<depth>,00.0<CR><LF>"
Binary PD0, PD3, PD4, PD5 or ASCII PD6 or special Schilling UHDRov of
Schilling CDL format.
To change between the formats, please select in driver details.
Note that the definition is saved as global setting and will be common for all RDI
DVLs.
3D Total station:
AGA/Leica from vessel 409
Uses ASCII format item 7, 8 and 9.
Interfaces.docx
Page 13 of 59
Last update: 23/4/2021
EIVA
Instrument Format
ID
Comb. Dynamic pos 1 440
Comb. Dynamic pos 2 441 Calculated instrument, which allows multiple transponders/antennas on same
vessel.
Comb. Dynamic pos 3 481
Comb. Dynamic pos 4 483 PLEASE NOTE – NOT USED in NaviPac 4 using NAVIPAC.EXE
Comb. Dynamic pos 5 485
Digicourse 406 Binary or ASCII format – please see relevant instrument documentation.
841,
Dragged offsets 842 & Calculated as POI
843
Fanbeam - remote 407 Positioning remote vessel using Fanbeam or Artemis. Selection between
various standard formats.
MDL Standard NN RRRR.RR BBB.BB
Legacy Fanbeam MKII Rrrrrr bbbbb
Kongsberg Simrad Standard BBBRRR00F (BCD)
Kongsberg Simrad Legacy /
Fanbeam - remote 2 414
Artemis KA-BCD(.001) BBBRRRF (BCD)
Cegelec Standard / Artemis ASCII-17 RRRRRR BBBBBB N
Cegelec Legacy / Artemis ASCII-16 RRRRRR BBBBB N
Nautronix Standard 00BBBBBRRRRR
Nautronix Legacy 00BBBBBRRRR
$VLOC,hhmmss.ss,mm,dd,yyyy,TP,x.xxx,y.yyy,z.zzz,R.RR,P.PP,Y.YY,I.III,J.JJJ
,K.KKK,L.LL,M.MM,N.NN<CR><LF>
Forssea NAVCAM 446
$POSIT,HHMMSS.ss,dd,mm,yyyy,TP,sxxxx.xx,syyyy.yy,zzzz.zz,rrr.rrr,ppp.pppp
,hhh.hhh<CR><LF>
Generic Cable Counter 401 A general dynamic positioning using cable length.
Supports the following formats:
Valeport pay-out indicator: “<sign><Distance>M<CR><LF>” – Set empty start
string
MacArtney MKII “L = ddd,d m <LF>” – Set “L” as start string.
Generic Cable Counter Esters PMO 2160: Binary data – Set “<10:16,1,10,0,1,240,0,16,3,4>” as start
413
2 string to enable binary data and polling.
Hengel cable counter (“CNTlll.lll<cr><lf>”) set CNT as start string.
$CCAlll.ll<cr><lf> (Capital Signal) – Set $CCA as start string.
TCOUNT format “1:<length><cr><lf> - Set 1: as start sting.
MacArtney Triaxus: The CL field – Set DV as start string
Page 14 of 59
EIVA
Instrument Format
ID
USBL on dynamic object – uses Kongsberg NMEA format:
iUSBL 487 “$PSIMSSB,hhmmss.ss,tp,Status,error,coord,orientation,sw,x,y,depth, ...
<cr><lf>”
Kongsberg HPR300P 495 “TT X N SSS CCC.C xxx.x yyy.y zzz.z qq.q nnn tt.t aaa.a<cr><lf>”
Up to 16 objects.
"$PSIMLBP,<time>,<tp_array>,<Type>,<state>,<coordinates>,<easting>,<north
Kongsberg LBL 402
ing>,…\r\n"
Coordinates must be ‘E’.
3D Total station:
We use parameter 21 (horizontal angle), 22 (vertical angle) and 31 (slant
Leica autotrack 1 403
range).
Can also be configured to use AGA/Leica 789 format
3D Total station:
We use parameter 21 (horizontal angle), 22 (vertical angle) and 31 (slant
Leica autotrack 2 404
range).
Can also be configured to use AGA/Leica 789 format
Leica Disto WH15/30 411 Requires word index (WI) 31 “31 06<distance> \r\n
Interfaces.docx
Page 15 of 59
Last update: 23/4/2021
EIVA
Instrument Format
ID
Nautronix RS9 - 2. 482
“<Date> <Time> B:<Target> X:<delta X> Y:<delta Y> D:<depth> … E:<Error
Nautronix RS9**
492 code><CR><LF>”
<USBL>
$POREG,TP,HHMMSS.SS,0678,0000,0032,QC,00,00027.34,00.00,175.23,xxx
xxx.xx,yyyyyy.yy,zzzzz.zz,,-01.32,-00.52,013,050.3*52
ORE BATS ($POREG) 488
Please note that if used with timesync then both BATS and NaviPac must be
synchronised with same time source.
PHINS/ROVINS
444 $PIXSE, HSPOS (done via special PHINS IF module)
Position
Up to 15 objects.
Posidonia USBL 493 $PTSAX,#NNNNN,hhmmss.sss,jj,mm,aaaa,BB,XXXXXX,YYYYYY,A,PPPP,A,C
CCC*ch<CR><LF>
844,
Relative offset 845 & Calculated as relative POI between two vehicles
866
Remote dynamic Data from external navigation system. Three formats supported:
421
objects 1 NaviPac: “<stx><Id>,<Easting>,<Northing>, <Gyro><CR><LF>”
NaviPac +: “<stx><Id>,<Easting>,<Northing>, <Gyro> …<CR><LF>”
Remote dynamic
422 WinFrog:”$<Id><Rest of GGA string>$<Id><Rest of HDT string><CR><LF>”
objects 2
Pseudo NMEA: “$<Id>GGA …<CR><LF>” and “$<Id>HDT….<CR><LF>”
Remote dynamic Stolt Offshore France: “<stx><Id> <Easting> <Northing> <Gyro>
423
objects 3 <Status><chk><CR><LF>”
Page 16 of 59
EIVA
Instrument Format
ID
Remote dynamic IxSea GAPS: $PTSAG,NN,hhmmss.sss,jj,mm,aaaa,BBB,DDMM.MMMM,H,
429
objects 9 DDDMM.MMMM,D,A,MMMM.M,A,MMMM.M*ck
Remote dynamic
430
objects 10
Remote GPS 5 435 “$..GGA, time, Latitude, N/S, Longitude, E/W, Quality, # Satellites, HDOP,
Remote GPS 6 436 Antenna Alt., Unit, Geoidal separation, Unit, Age, Diff ID <CR><LF> “
Interfaces.docx
Page 17 of 59
Last update: 23/4/2021
EIVA
Instrument Format
ID
User defined Remote
431
Position
ASCII input as lat/long, east/north, range/bearing or dx/dy/dz.
User defined Remote
432
Relative Pos
It is not recommended that special ports are shared with other inputs. Time sync ports (ZDA
or UTC) must not be shared, and due to the PPS input, we highly recommend that the
internal COM ports are used for them.
EIVA
Instrument Format
ID
AIS tracking system based on VDM position telegrams such as:
AIS targets 514
!AIVDM,1,1,,,1P0001P01p1SUGvR1;n00@1p000,0*27
Old format:
“$PRTRC,0,<name>,<number of points><CR><LF>”
“$PRWPT,<number>,<Latitude>,<Longitude>,<Turnradius>,<type>,,<CR><LF>”
Line data from New format:
513
Kongsberg RDN50 “$PRTNW,H, <name>,<number of points><CR><LF>”
“$PRTNW,W, <number>,<Latitude>,<N/S>,<Longitude>,<E/W>,<Turnradius>,
<Next leg>, <Speed in next leg>, <Speed in turn-radius>, <Speed
Unit>,<CR><LF>”
Page 18 of 59
$RATTM,<id>,<range>,<bearing>,<T/R>,<smg>,<cmg>,<T/R>,<CPA>,<tCPA>,<
K/N/S>,<name>,<L/Q/T>,<CR><LF>
(M=Metres, N=Nautical miles, K=Kilometres and L=Lost target, Q=Target,
T=Tracked target)
Or
$PAEST,<latitude>,<N/S>,<longitude>,<E/W>,<ID>,<range>,<M//N/K>,<bearing>
NMEA targets 503
,T,<L/Q/R/T/U><cr><lf>
(M=Metres, N=Nautical miles, K=Kilometres and L=Lost target, Q=Target,
R=Radar tracking, T=Tracked target, U=Dead reckoning estimate)
Or
$PXSPT,<latitude>,<N/S>,<Longitude>,<E/W>,<CMG>,T,<SMG>,K,<state>,<na
me>,<id><cr><lf>
$..WPL,<Lat>,<N/S>,<Long>,<E/W>,ID*hh<CR>LF>
The ID must be given identical to Waypoint object number, eg 5041 = WP_1 etc.
NMEA Waypoint
504 Or EIVA format:
Location
$EIVWP,<Id>,<East>,<North>,<Name><CR><LF>” – Id corresponds to special
tug id – 201 = Tug 1 etc.
No real input.
Offset: Reson
512 This is a special setup that enables NaviPac to calculate offset position for Reson
Minewarming Sonar
reference position. Special Reson MCM setup.
Binary layout
1: Start 11101011
2-6: Estimated X LSN 0.1 M
7-11: Estimated Y LSB.1 M
Osprey DP Waypoint 501 ….
65-69: X0 Set position
70-74: Y0 set position
97: End 11911100
Data is BCD where each nibble (4 bits) represents a digit.
Sercel Nautilus 515 Special TCP/IP data from Nautilus with streamer depths. Telegram 0x6E.
Interfaces.docx
Page 19 of 59
Last update: 23/4/2021
“$..ZDA,hhmmss.ss,dd,mm,yyyy,z1,z2*hh <CR><LF>”
See http://download.eiva.dk/online-
training/NaviPac%20Manuals/16_Timing%20Principles%20in%20NaviPac.pdf
ZDA time + PPS 500
for details on how to use UTC/ZDA timing.
Note: If PPS is used, NaviPac will automatically synchronise the PC clock with
GPS time.
Page 20 of 59
2.7 Data output
EIVA
Instrument Format
ID
On each cycle.
NMEA1 624
User can select one or more of the following formats:
$..GGA – Position
NMEA2 625 $..GLL – Position
$..GXP – Simple position (does also include $NPGSS with HDOP)
$..RMC – Position course and speed
NMEA3 626
$..TLL – Target position (for selectable object)
$..VTG – Speed
NMEA4 650 $..HDG – Heading
$..APA – Auto-pilot information (DOL, bearing and name).
$..XTE – Auto-pilot cross track error
NMEA5 651
$..ZDA – Time and date for synchronisation.
NMEA telegrams {GLL, ZDA, DBT, OSD} – specially designed for Asean Restorer
AR:CIS 681 – DBT gives depth from either echo sounder (vessel-mounted) or special plough
water depth.
On new events:
“TX <Time> <Event> __________________<CR><LF>”
Atlas Deso 20/25
630 “*<CR><LF>
Annotation
“EM0<CR><LF>
“*<CR><LF>
Autopilot (Format:
605/604 Dedicated EMRI format. Sends the strings $PESSA, $PESSD and $PESSX.
EMRI Autopilot)
Autopilot (Format:
605/607 Generic autopilot special interface made for SS7.
Condor Autotrack)
Autopilot (Format:
605/608 Waypoints to external unit – generic autopilot.
Kongsberg DP)
Autopilot (Format:
EMRI SEM200 605/609 Dedicated EMRI format. Sends the strings $PESSA, $PESSD and $PESSX.
Autopilot)
Autopilot (Format:
Sjӧfartsverket 605/606 $NPSJOV,Gyro,East,North,Mode,DOL,dE,dN,WP-E,WP-N<cr><lf>
LowSpeed)
Interfaces.docx
Page 21 of 59
Last update: 23/4/2021
One every cycle:
CODA <easting> <northing> <kp> <dcc> <depth> <alt> <smg>
Coda - long format 669 <heading><runline> <fix> <SOS> <delay> <nav time>
All fields are separated by a space – the number of digits varies from type to type.
All fields are separated by a space – the number of digits varies from type to type.
Send navigation (position and heading) for up to ten objects to external navigation
system – eg tug boats:
NaviPac: “<stx><Id>,<Easting>,<Northing>, <Gyro><CR><LF>”
WinFrog:”$G<Id><Rest of GGA string>$H<Id><Rest of HDT string><CR><LF>”
Pseudo NMEA: “$<Id>GGA …<CR><LF>” and “$<Id>HDT….<CR><LF>”
Exp. NaviPac: <stx><Id>,<east>,<north>,<heading> XX, <depth/height>,
<std.dev>,<roll>,<pitch>,<heave>,<altitude>,<age> *<checksum>
Apache:
Data to ext. nav. $SFPOS,<id>,hhmmss.ss,<east>,<north>,<height>,1,<heading>,T*<chksum>
643
system IMCA: $..TEL,PH,<name>,<lat>,<long>,<Hgt>,<Sd>,<source>,<Status>,<headin
g><cr><lf>
NaviPac +: Same as NaviPac but string expanded with copy of GPS status and
setup information such as geodesy and CRP location.
Sonsub $PSURP: “$PSURP,<id>,<east> , <north>,<depth>,<gyro>,<grid
heading>,<pitch>,<roll>,<status>*<chk><cr><lf>
Kongsberg PSIMSSB:
$PSIMSSB,<time>,B<code>,A,,R,N,M,<lat>,<long>,<depth>,<POS
ACC>,,,,*<chk><cr><lf>
On every cycle:
<Date> <Time> <Reference position> <Offset position> <SMG> <CMG> <Gyro>
<Event> <KP> <DOL> <Depth from USBL> <CR><LF>
Data to Triton ISIS 627
Below is the ISIS template that correspond to the above output:
DMYHISxyENVhGO{KP}{DOT}{0}
DMYHISxyENVhGO{KP}{DOT}X (if no depth from USBL available)
Page 22 of 59
Annotation on new event:
Datasonics ChirpII
634 E <Date> <Time> <Event> <Position 1> <Position 2> <Gyro> <CMG> <SMG>
Data
<CR><LF>
Start of program:
Synchronise time: ”TIM dd:mm:yy hh:mm:ss:<CR>”
All events:
Event marker: "EVT<CR>"
SOL/EOL:
Dowty 200 Annotation 641
"TXT20 Ev: <event> <S/E>OL: <name> <CR>"
Event interval:
"TXT20 Ev: <event> Kp: <kp><CR>"
For Custom id 46, NaviPac sends the message:
"TXT20 <hh:mm:ss> <kp> <dcc><CR>"
DP Out: Artemis BCD 685 Output of range/bearing to selected waypoint in KA-BCD(.01) format.
Position of bucket and rectangle of cleared area. Special ASCII telegram for
EIVA Dredging 900
Online3D presentation.
Interfaces.docx
Page 23 of 59
Last update: 23/4/2021
”$<S/E>, <Long File Name><cr><lf>”, where
$S : Start logging message
$E : Stop/End logging message
Long File Name : Name of actual runline (from HD)
”xxxxxxxxx.xxyyyyyyyyy.yyRRRzz.zccc.c55/KK/kkhh:mm:ssaaaa<cr><lf>”
xxxxxxxxx.xx East coordinate
yyyyyyyyy.yy North coordinate
RRR Reference system
zz.z Speed made good in knots
ccc.c Course made good in degrees
55 ID (Fixed)
ELAC {HDP4060} KK Heading 100 and 10ths
673
Data kk Heading degree and 1/10ths
hh Time hours
mm Time minutes
ss Time seconds
aaaa Data age in ms
ELAC HS 4300
666 "$PELATM,<time> <event><easting>< northing> <kp>,*<chksum><cr><lf>”
Annotation
ELAC HydroStar {XSE Position data in XSE network format – see relevant L-3/ELAC product
667
Position} documentation.
Start Of Line:
”<T>EV:eeeee TI:hh:mm:ss SOL:<Runline name><LF>”
ELAC LAZ 4700 End of Line:
602
Annotation ”<T>EV:eeeee TI:hh:mm:ss EOL:<Runline name><LF>”
Event:
”<T>EV:eeeee TI:hh:mm:ss<LF>”
“$PESSX,<dol>,<l/r>,<brg><cr><lf>“
EMRI $PESSX 676
Is output with user-defined frequency – can be less than cycle time.
Page 24 of 59
Annotation of events (user-determined frequency):
“SIZ <font> <CR><LF>” // Not always supported
EPC 1086 Annotation 637 “MES EV: <Event> <Easting> <Northing> <Standard deviation> <KP>
<CR><LF>”
"EVE <CR><LF>"
Geco TriAcq Data 664 Dedicated binary format 4 – see Geco’s product documentation.
Information about heading and age of this observation – especially for heading
Gyro to NaviScan
670 calculated on dual RTK.
TEST
” #NBHDT,ggg.gg,T,aaa.aaa,S\r\n"
Heave correction and “HC<heave bias>, A<age>, GPSH<raw GPS height>dZ<dynamic antenna
621
GPS height offset><cr><lf>”
Hugin 2001 Data 663 Summarise NMEA GGA and HiPAP position strings on one port.
Interfaces.docx
Page 25 of 59
Last update: 23/4/2021
At each cycle:
”<LF>S<sp>VV.V<CR> (Speed in knots)”
At Start Of Line:
”<LF>E4Event:eeeeeeeeeeTime:<sp><sp><sp>HH.MM.SSDate:<sp><sp><sp><
sp><sp><sp>dd.mm.yyyySOL:<name><CR>”
Klein 595 Data 601 At End Of Line:
”<LF>E4Event:eeeeeeeeeeTime:<sp><sp><sp>HH.MM.SSDate:<sp><sp>sp><s
p><sp><sp>dd.mm.yyyyEOL:<name><CR>”
At Event:
”<LF>E5Event:eeeeeeeeeeTime:<sp><sp><sp>HH.MM.SSJDJJJ
kp:kkk.kkkE:eeeeeeeeeeee.eN:nnnnnnnnnnnn.n<CR>”
On every cycle:
<Date> <Time> E <Easting> N <Northing><CR><LF>
LL Video Overlay 647
KP <KP> DOL <DOL> DPT <Depth from USBL> <CR><LF>
The second line is only available for Custom id 19.
Dedicated output of OS/9 JetKnife data. Includes raw strings and navigation data.
Log OS-9 Data 659 See http://download.eiva.dk/online-
training/NaviPac%20Manuals/Various/OS9.pdf for further information.
MAGNUM ROV
678 “ <Ship Y> <Ship X> <ROV Y> <ROV X> <KP> <crosstrack><cr><lf>“
Navigation
Page 26 of 59
”$<S/E>, <Long File Name><cr><lf>”, where
$S : Start logging message
$E : Stop/End logging message
Long File Name : Name of actual runline (from HD)
NaviPac TGO File 695 Creates ASCII TGO file for each navigation cycle.
“0x010x06E:<event>T:<hh:mm:ss>D:<dd.mm.yy>
Odom Annotation 645
E:<easting>N:<northing>Kp:<kp>0x04
Outland Video Overlay 677 Special Outland video overlay – with special control GUI.
Position aiding as either GGA (on deck) or $PUSBA (in water). Handled via
PHINS/ROVINS Aiding 901
special PHINS driver module.
Interfaces.docx
Page 27 of 59
Last update: 23/4/2021
TMS and anchor information.
Special TMS output to Caesar system (Stolt Offshore – LB-200).
$Identifier,R1,R2,R3,R4,R5,R6,R7<CR><LF>
Where Identifier is shown in the list below:
R1 = Null field
R2 = Easting of position
R3 = Northing of position
PLUMS : TMS &
684 R4 = Null field
Anchor info
R5 = Heading for barge telegram and Null field for Anchor and TDP telegrams
R6 = Null field
R7 = KP for barge telegram and Null field for Anchor and TDP telegrams
Identifier for Barge = 301
Identifier for TDP = 305
Identifier for Anchor 1 = 401
Identifier for Anchor 2 = 402 etc
Position to ArcScene 679 ”Vessel_ID, DATE_TIME, Easting, Northing, UTMZone, Depth, Heading<cr><lf>”
On each cycle:
RDI Current Profiler 631
"$PRDID,<Pitch>,<Roll>,<Heading>\r",
ROTS II Data 662 Copy of data from ROTS II (Data acquisition) plus time, position and kp.
$EIVATC,<heading>,<code>,<speed>,<code>,<offtrack>,<speederr>,<regulation
ROV Steering (Sperre) 680
>*hh<cr><lf>
Page 28 of 59
RTK Height to "@DDDD.DDD A00.00<CR><LF>"
623
NaviScan Gives difference between heave and RTK height – designed for NaviScan bathy.
Spectra:
$1<length><revision><status><shottime>UTC<event><line><lat><long><depth>
<source-lat><source-long><gyro><CMG><SMG>000<east><north> <dE><dN>
Seismic Navigation <brg><jd> <cr><lf>
699
Header ION:
$1<length><revision><status><shottime>UTC<event><line><lat><long><depth>
<source-lat><source-long><gyro><CMG><SMG><FFID><Shots to go><line
type> <last FFID><line seq> <brg><extra> <cr><lf>
Combination runline tracking via NMEA $NPAPB and waypoint list via NMEA
Steering info to HRP 690
$NPRTE and $NPWPL messages.
$ACGDAT,ID,PID,time,east,north,height,gyro,roll,pitch,bathy,age,quality,time-
Subsea7 $ACGDAT 697
depth,depth, timedaq1, daq1,timedaq2,daq2*<chksum><cr><lf>
Interfaces.docx
Page 29 of 59
Last update: 23/4/2021
“Date/Time Ev: <event> E:<east> N:<north>D:<depth> “Gy:<gyro> SMG:<smg>
Syntrak 480 Rec. 655
CMG:<cmg> CVG:<convergence><cr><lf>”
Trackpoint II – Depth Depth information to the USBL system to improve X/Y calculation:
668
to ”DEP <depth><CR><LF>”
Start of program:
Synchronise time: ”TIM dd:mm:yy hh:mm:ss:<CR>”
All events:
Event marker: "EVT<CR>"
Waverly 3700 SOL/EOL:
640
Annotation "TXT20 Ev: <event> <S/E>OL: <name> <CR>"
Event interval:
"TXT20 Ev: <event> Kp: <kp><CR>"
For Custom id 46, NaviPac sends the message:
"TXT20 <hh:mm:ss> <kp> <dcc><CR>"
Page 30 of 59
2.8 Data acquisition
EIVA
Instrument Format
ID
ADCP Depth(s) 746 Select up to three ranges from the binary PD0 format (four beams).
AMT Dissolved Interfaced via AD Converter to simple ASCII string. NaviPac stores raw voltage,
798
Oxygen oxygen percentage and concentration.
Interfaced via AD Converter to simple ASCII string. NaviPac stores raw voltage
AMT PH 799
and calculated PH.
DA<Depth> <CR><LF> or
Atlas Deso 25 700
DB<Depth> <CR><LF>
Depth, CTD and magnetometer information from the SIS1000 telemetry output.
BenthosSIS1000 740
” Range, Depth, Altitude, SV, Mag nT, Mag Signal, Temp,
Benthos SIS1000 Conductivity<CR><LF>”.
741
(CTD) The range will be used for online coverage display on the HD.
$CAPIASH,moment,tension,length,diameter,status,alarm,alarm,temp1,temp2,te
Caterpillar Data (JD) 793
mp3,temp4,ttemp1,ttemp2,speed,pressure*chk<cr><lf>
CTC Trencher
715 CTC (SCS) Trencher information.
<Depth>
CYCLOPS-7 Interfaced via AD Converter to simple ASCII string. NaviPac stores raw voltage
797
(ScanFish) and scaled data.
Interfaces.docx
Page 31 of 59
Last update: 23/4/2021
Special calculated instrument based on Digicourse and Remote GPS.
Digicourse Feather Channel 1: Feather angle based on Digicourse
733
Angle Channel 2: Average streamer angle based on Digicourse
Channel 3: Feather angle based on Remote GPS
“*ccccPPP.PPPP<CR><LF>”
Digiquartz Depth 704 NaviPac will give both pressure and depth as two separate channels. Note: The
incoming pressure must be in PSI.
NaviPac will give both pressure and depth as two separate channels – this will
Digiquartz Depth
779 be compensated for barometer reading if present. Note: The incoming pressure
(Compensated)
must be in PSI.
”DDDD<unit><cr><lf>”
ELAC LAZ 4700 707
Where <unit> is m, dm or cm
D<sign><dddd.ddd><space><rrrrr><space><sign><tt.t><CR><LF> or
FAE LS1501 Laser 875 D<sign><vvvv.vvv><space><sign><dddd.ddd><space><rrrrr><space><sign><tt
.t><CR><LF>
Fixed Depth 870 Fully controllable (individually for each object) fixed depth.
Reads up to 20 items from ASCII string (byte count, comma, space, colon,
Free Acquisition 855
semicolon or tab separated).
<STX>#<Scan number><ETX>
GSSI Georadar 722
The instrument is polled once each cycle by sending a ‘#’ to the unit.
HydroC CO2 794 Special 10-byte binary starting with ‘#’. Measures CO2.
Innovatum Tracker 758 Selectable eight parameters from 64- og 80-character Innovatum string.
Page 32 of 59
Special calculated item for iUSBL streamer integration.
a) Streamer pitch
iUSBL QC 787
b) Stream yaw
c) Streamer length
JD Angle
792 $ANGLE, count<cr>><lf>
Measurement
$ROV,TRACKS.PORT_SPEED(m/h),TRACKS.STBD_SPEED(m/h),VEHICULE
_DEPTH(m),VEHICULE.ALTITUDE,VEHICULE_FRONT_TRENCH_DEPTH(cm
),VEHICULE_TRENCH_DEPTH(cm),VEHICULE_BURIAL_DEPtH(cm),CABLE_
DETECT.FRONT,CABLE_DETECT.1,CABLE_DETECT.2,CABLE_DETECT.3,H
LD TravOcean Depth 868 PU.INTENSITY.PH1(Amp),HP.INTENSITY.PH1((Amp),LP.INTENSITY.PH1(Am
p),HPU_AUX.INTENSITY.PH1(Amp),PRESSURE.LP(Bar),PRESSURE.HP(Bar)
,PRESSURE.FRONT_TOOL_JETTING(Bar),HPU_MOTOR_POWER(HP),HP_
MOTOR_POWER(HP),LP_MOTOR_POWER(HP),HPU_AUX_MOTOR_POWE
R(HP),GYRO.ROLL(°),GYRO.PITCH(°),GYRO.HEADING(°)
$ROV,TRACKS.PORT_SPEED(m/h),TRACKS.STBD_SPEED(m/h),VEHICULE
_DEPTH(m),VEHICULE.ALTITUDE,VEHICULE_FRONT_TRENCH_DEPTH(cm
),VEHICULE_TRENCH_DEPTH(cm),VEHICULE_BURIAL_DEPtH(cm),CABLE_
DETECT.FRONT,CABLE_DETECT.1,CABLE_DETECT.2,CABLE_DETECT.3,H
LD TravOcean Aux 869 PU.INTENSITY.PH1(Amp),HP.INTENSITY.PH1((Amp),LP.INTENSITY.PH1(Am
p),HPU_AUX.INTENSITY.PH1(Amp),PRESSURE.LP(Bar),PRESSURE.HP(Bar)
,PRESSURE.FRONT_TOOL_JETTING(Bar),HPU_MOTOR_POWER(HP),HP_
MOTOR_POWER(HP),LP_MOTOR_POWER(HP),HPU_AUX_MOTOR_POWE
R(HP),GYRO.ROLL(°),GYRO.PITCH(°),GYRO.HEADING(°)
MAG G-882 Multi Data from multiple MAG G-882 sensors: $ 50543.021,1396,0940,8735,
865
sensor 50542.631,1182,1196,0879 08/15/16 13:14:34.225
Mesotech scanner 721 “<L/R> <Angle>, <Range><CR><LF>” Uses a global defined sound velocity.
Interfaces.docx
Page 33 of 59
Last update: 23/4/2021
Calculated sword depth based on angle.
MiniCon 30 857
@WMNffffffffffsssaaaaaaaaaaaaaaaaaaaaaaaaqqqrrtttoooooooooovvcc*<CR>
$NASCRD,165804.84,CR4,P,-0.19*6B
$NASCRD,165804.94,CR4,D,-1.90*7E
NASNetR Daq 766
$NASCRD,165820.73,CR4,T,17.4*46
and $PNASCRD
$..DBT,,<Depth>… <CR><LF> or
NMEA 183 Depth 703 $..DBS,,<Depth>… <CR><LF> or
$..DPT,<Depth>…. <CR><LF>
NMEA Speed 739 $..VTG, $..VHW and $..VBW standard NMEA format.
“PLCWNE<Time><Length><Tension> ...”
Odim Winch Control 786
Only first data set read by NaviPac.
“ <Resolution> <Depth><CR>” or
“ <Resolution> <Freq> <Depth><CR>” or
Odom EchoTrac 709 “ <Resolution> <B> <Depth1> <Depth2>”
We do not support feet – only metric.
High frequency will always be channel 1 and low frequency channel 2.
DA<Depth> <CR><LF>
Reson Deso Exp. 749 DB<Depth> <CR><LF> and optional
SD<sv><dr1><dr2><cr><lf>
Page 34 of 59
Dedicated ROTS format from Geoconsult – see http://download.eiva.dk/online-
ROTS I 727
training/NaviPac%20Manuals/Various/ROTSII.pdf.
SBE49 CTD 795 Uses Output Format 3 – engineering units and format 0 raw HEX:
SBE49 CTD2 796 TT.TTTT, CC.CCCC, PPPP.PP,SS.SSSS,VVVV.VVVV<cr><lf>
ScanFish II.
ScanFish Data 760
User-selectable fields in comma-separated string.
ScanFish III.
ScanFish III Data 863
$SF,Fish,<gyro>,<roll>,<pitch>,<depth>,<altitude>
“…DE<depth> AL<Altitude>…<CR><LF>” or
SCV ROV <Depth> 714 “…D:<depth> A:<Altitude>…<CR><LF>” or
“…D<depth> A<Altitude>…<CR><LF>”
#<temp>,<pressure>,<date>,<time><cr><lf> or
SeaBird Pressure 785
<LF><tab>TTT.TTTT,CC.CCCCC,PPPP.PPP,SSSS.SSSS,VVVVV.VVV<CR>
“D<channel>,<Time>,<Depth>,<Strength>,<Transducer>,<Slope>CR><CR><L
Simrad EA500 713
F>”
Simrad UK 90/94 705 “ …. Dddd.dd … Aaaa.aa… <CR><LF>” depth and altitude in metres.
Sonardyne Fusion 732 Calculated instrument based on APS3 input – altitude & salinity.
Sonardyne LNAV
871 Binary Sonardyne Sprint/Lodestar LNAV format.
Depth
Voltage information from A/D Converter box (ICP DAS I-7012 or similar). Polled
Special A/D Converter 742
by “#01<cr>” answer “><channel 1><channel 2>…<cr>”
Interfaces.docx
Page 35 of 59
Last update: 23/4/2021
to select them carefully in combination with the offsets entered in NaviPac.
“%D<Header><Data><CR><LF>”
Tritech SCU3 STC 764
718: Altimeter, SV, Depth
764: Salinity, Temperature, Conductivity
“$PPTIROV,<gyro>,<depth>,<altitude>,<pitch>,<roll>,<CP1>,<CP2>,<Tel>,<not
Triton XL ROV D/A 725
e><cr><lf>”
Turner C6 -
851 Free ASCII interpreter (date time val1 ... val 6)
CYCLOPS-7
“<speed X><tab><speedy><cr><lf>
Valeport Current Meter 853
NaviPac supports metres per second, knots and millimetres per second.
Valeport Current Meter 853 gives raw measurements and 854 absolute measurements by combining
854
Process with vehicle data.
Page 36 of 59
Valeport Midas 2 783 Conductivity<TAB> Salinity<TAB>
Aanderaa 4330 852 Free ASCII interpreter (val1 ... val xx)
Support up to three channels based on various strings of the type “<id> <name>
<value> <unit><cr><lf>”.
Aanderaa surface Sample:
724
pressure 01 Water level 4.32 cm
02 Water temp. 11.12 Deg.C
03 Air pressure 1015.69 hPa
Interfaces.docx
Page 37 of 59
Last update: 23/4/2021
3 Special interfaces
This section describes some very special instruments handled in NaviPac.
On some vessels, the antenna(s) can be moved up and down to enable travel under
bridges, etc.
To be able to perform optimal navigation while the antenna is away from default position, we
have added an LEM30 laser distance meter.
This instrument must be placed so it measures the distance from a given point to the
antenna either on request or continuously. Initially, the user must enter the default value as
Offsets Z (could be found by installing the instrument and making a measurement).
NaviPac will then at each update find a delta height based on the entered Offsets Z value
and the measured value. This delta value is subtracted from all antenna offsets. At each
change, NaviPac generates an alarm.
Page 38 of 59
3.2 Dual HiPAP
NaviPac versions 3.3L and onwards offer the possibility to use the Kongsberg HiPAP
(HPR400 NMEA Sentence) in both ordinary and dual mode.
The ordinary mode uses the standard $PSIMSSB strings, and the dual mode uses
$PSIMSSD strings.
To avoid changing the transponder principle in NaviPac, we have decided to assign codes
between 101 and 199 to master transponder data and 201 to 299 to slave transponder data.
The codes will not be visible to the user, as the selection displays it as:
Interfaces.docx
Page 39 of 59
Last update: 23/4/2021
Figure 3 Online display of modified transponder codes
First of all, make sure that the Kongsberg system outputs both PSIMSSB (the position) and
PSIMSNS (attitude, etc), as NaviPac otherwise cannot see the transceiver number.
Both HiPAP drivers have the same instrument setup – the only difference is the
Transceiver Id:
Page 40 of 59
Figure 4 Selection of Transceiver Id
Setting up the HiPAP drivers in NaviPac Configuration from startup can be done easily by
using the clone function:
In Online, you must select from the Edit > Positioning Systems menu which of the two
transceivers you are using.
3.4 PHINS/ROVINS
NaviPac versions 4.x and onwards include a special driver to the PHINS/ROVINS system.
Interfaces.docx
Page 41 of 59
Last update: 23/4/2021
Figure 5 PHINS/ROVINS data flow
The system utilises two-way communication with the PHINS/ROVINS instrument to:
Page 42 of 59
To learn more, please see the EIVA training site: http://download.eiva.com/online-
training/NaviPac%20Manuals/Appendix/PhinsOut.pdf
3.5.1 The NASNet system outputs position and data telegrams as described in
Sections 3.5.2 ‘Specification from Nautronix’ to 3.5.4 ‘Upgrade 2015
Nautronix have upgraded the drivers in 2015 – and put a ‘P’ into the headers and expanded
the position string
This Data string will have all position data sent when each tracked object position is updated
in the $PNASPOS format, described below. When no position is computed for a tracked
object then no position telegram is output.
All separations are by means of a comma and terminated with Checksum, Cr/Lf
$PNASPOS,ID,Time,Latitude,N/S,Longitude,E/W,Depth,RMS,Number of Stations,GSUP
$PNASPOS,ROV1,150536.84,5700.001111,N,00159.998616,W,-0.2,1.5,5,75*4E
1.5, RMS
5, Number of Stations
Interfaces.docx
Page 43 of 59
Last update: 23/4/2021
75, GSUP (Geometric Support)
String Two
All separations are by means of a comma. There are 5 readings available from each Mobile
Transceiver.
$PNASCRD,CR4,170257.53,T,17.4*4A
$PNASCRD,CR4,170302.12,PR,+1.10,+2.00*2A
$PNASCRD,CR4,170303.63,H,330.50*52
$PNASCRD,CR4,170235.80,D,-1.78*71
The fourth comma separated value denotes the type of data as follows:
PR = Pitch and Roll – (+/-180 degrees, 2 decimal places, +ve Pitch = Bow Up, +ve Roll =
Stbd Down)
Next value is the Data value and on the Pitch Roll string Pitch is first then Roll.
Page 44 of 59
String one: All separations are by means of a comma. Below is an example of how the
string will look:
$NASPOS,150536.84,ROV1,5700.001111,N,00159.998616,W,-0.2*4E
Interfaces.docx
Page 45 of 59
Last update: 23/4/2021
• $NASPOS: This is the string header.
• 150536.84: Timestamp of data string in HHMMSS.SS.
• ROV1: String identifier. These differentiate as follows:
• ROV# for various ROVs being tracked
• CR# for various Construction Receivers being tracked
• BOAT for Beamformer position
• 5700.001111,N: Latitude in DDMM.MMMMMM, north or south.
• 00159.998616,W: Longitude in DDDMM.MMMMMM, east or west.
• -0.2: Depth of receiver in metres.
• *4E: Checksum followed by carriage return and line feed.
String two: All separations are by means of a comma. There are five readings available
from each construction receiver depending on what the user decides. Below are examples
of how the string will look:
$NASCRD,170257.53,CR4,T,17.4*4A
$NASCRD,170302.12,CR4,PR,+1.10,+2.00*2A
$NASCRD,170303.63,CR4,H,330.50*52
$NASCRD,170235.66,CR4,P,-0.18*6A
$NASCRD,170235.80,CR4,D,-1.78*71
Position
$NASPOS,150536.84,ROV1,5700.001111,N,00159.998616,W,-0.2*4E
$NASPOS,150536.97,CR5,5700.024037,N,00159.976487,W,-0.2*1A
$NASPOS,150542.29,ROV2,5659.999996,N,00159.999137,W,-0.5*49
$NASPOS,150544.55,BOAT,5700.000143,N,00159.998933,W,-0.2*2B
$NASPOS,150544.55,ROV2,5659.999977,N,00159.999152,W,-0.5*48
$NASPOS,150545.73,BOAT,5700.000213,N,00159.998954,W,-0.2*29
$NASPOS,150546.60,BOAT,5700.000167,N,00159.998895,W,-0.2*24
$NASPOS,150546.61,ROV2,5700.000494,N,00159.999525,W,-0.5*4D
Page 46 of 59
Sensor
$NASCRD,165645.59,CR4,H,330.50*58
$NASCRD,165650.11,CR4,PR,+1.10,+2.00*2F
$NASCRD,165652.62,CR4,H,330.50*56
$NASCRD,165653.52,CR4,P,-0.18*6D
$NASCRD,165653.70,CR4,D,-1.78*7E
$NASCRD,165658.05,CR4,PR,+1.10,+2.00*22
$NASCRD,165659.59,CR4,H,330.50*55
$NASCRD,165702.07,CR4,PR,+1.10,+2.00*2E
$NASCRD,165706.16,CR4,PR,+1.10,+2.00*2A
Nautronix have upgraded the drivers in 2015 – and put a ‘P’ into the headers and expanded
the position string
This Data string will have all position data sent when each tracked object position is updated
in the $PNASPOS format, described below. When no position is computed for a tracked
object then no position telegram is output.
All separations are by means of a comma and terminated with Checksum, Cr/Lf
$PNASPOS,ID,Time,Latitude,N/S,Longitude,E/W,Depth,RMS,Number of Stations,GSUP
$PNASPOS,ROV1,150536.84,5700.001111,N,00159.998616,W,-0.2,1.5,5,75*4E
1.5, RMS
Interfaces.docx
Page 47 of 59
Last update: 23/4/2021
5, Number of Stations
String Two
All separations are by means of a comma. There are 5 readings available from each Mobile
Transceiver.
$PNASCRD,CR4,170257.53,T,17.4*4A
$PNASCRD,CR4,170302.12,PR,+1.10,+2.00*2A
$PNASCRD,CR4,170303.63,H,330.50*52
$PNASCRD,CR4,170235.80,D,-1.78*71
The fourth comma separated value denotes the type of data as follows:
PR = Pitch and Roll – (+/-180 degrees, 2 decimal places, +ve Pitch = Bow Up, +ve Roll =
Stbd Down)
Next value is the Data value and on the Pitch Roll string Pitch is first then Roll.
In NaviPac, the NASNet system can be used for the following interface types:
Page 48 of 59
• Motion sensor: the $NASCRD string with PR
• Data acquisition: the $NASCRD string with P, D and T
When used, the input must be separated into a minimum of three physical interfaces (serial
or UDP/IP) due to the nature of NaviPac:
• Surface navigation
• Dynamic positioning
• Gyro/Motion sensor/Data acquisition
During setup of the dynamic positioning interface, select which identifier (eg ‘ROV1’) will be
assigned to the object in use – similar to other remote and underwater systems. NaviPac
supports numbers for ROV between 1 and 32
Gyro, Motion sensor and Data acquisition also carry an identifier (eg ‘CR4’). NaviPac will
here perform the identification automatically. If the gyro is attached to an object positioned
by NASNet, NaviPac uses the identifier for the corresponding position string to map the data
to the NaviPac object.
NaviPac and NaviScan can be run on the same PC or on two separate computers. If
running both programs on the same PC, we normally recommend that all interfacing is
performed via UDP/IP messages on local IP address 127.0.0.1.
When used on two PCs, you can use serial interfaces (if timing is critical) or UDP/IP.
• Position
• Recording control
• GPS-based height
• Gyro correction
• Expanded setup
• Depth
Interfaces.docx
Page 49 of 59
Last update: 23/4/2021
Figure 6 NaviPac and NaviScan data flow
Please note that you should never send gyro and motion sensor data from NaviPac to
NaviScan in real operations as this will introduce unknown sensor latency.
4.1 Position
NaviPac can export one or more position telegrams to NaviScan.
Page 50 of 59
NaviPac: EIVA runline control
NaviScan: Logging control: NaviPac
The gyro correction value will be incorporated as a part of the Position (Exp.) to NaviScan
string.
If you have a setup with two RTK-based GPSs, you can use the position data as a
secondary gyro. NaviPac then compares the primary gyro (high frequency) with the RTK-
based gyro, and you can then send the result to NaviScan for gyro correction.
Some gyros are not able to get a position and speed input and will therefore have an error
depending on the sailed direction, the speed and the actual location.
/* Formula 'Fulst: Nautische Tafeln, 24. Aufl.', heading in [deg] as acquired from gyro,
speed over ground 'sog' in [m/s] latitude in [rad] M_PI_180 is (Pi/180)*/
Interfaces.docx
Page 51 of 59
Last update: 23/4/2021
0.25 0.5 -0.062 -0.044 0.000 0.044 0.062 0.044 0.000 -0.044
0.5 1.0 -0.123 -0.087 0.000 0.087 0.123 0.087 0.000 -0.087
0.75 1.5 -0.185 -0.131 0.000 0.131 0.185 0.131 0.000 -0.131
1.25 2.4 -0.309 -0.218 0.000 0.218 0.309 0.218 0.000 -0.218
1.5 2.9 -0.370 -0.262 0.000 0.262 0.370 0.262 0.000 -0.262
1.75 3.4 -0.432 -0.305 0.000 0.305 0.432 0.305 0.000 -0.305
2.25 4.4 -0.555 -0.393 0.000 0.393 0.555 0.393 0.000 -0.393
2.5 4.9 -0.617 -0.436 0.000 0.436 0.617 0.436 0.000 -0.436
2.75 5.3 -0.679 -0.480 0.000 0.480 0.679 0.480 0.000 -0.480
3.25 6.3 -0.802 -0.567 0.000 0.567 0.802 0.567 0.000 -0.567
3.5 6.8 -0.864 -0.611 0.000 0.611 0.864 0.611 0.000 -0.611
3.75 7.3 -0.926 -0.654 0.000 0.654 0.926 0.654 0.000 -0.654
4.25 8.3 -1.049 -0.742 0.000 0.742 1.049 0.742 0.000 -0.742
4.5 8.7 -1.111 -0.785 0.000 0.785 1.111 0.785 0.000 -0.785
4.75 9.2 -1.172 -0.829 0.000 0.829 1.172 0.829 0.000 -0.829
Page 52 of 59
Figure 7 Exporting navigation settings to NaviScan
This data output, as illustrated below, allows transmission of setting and runline information
from NaviPac to NaviScan (or similar).
$S,-----000
$CNF001: [QC]
$CNF003: NumberOfSensors=16
$CNF004: VesselName=MyVessel
$CNF005: [Instrument00]
Interfaces.docx
Page 53 of 59
Last update: 23/4/2021
$CNF007: Name=Ashtech GPS1
$CNF011: [Instrument01]
$CNF017: [Instrument02]
….
$CNF128: Channel3=MAG2
$CNF130: InUse3=1
$CNF131:
‘CNF’ represents an INI-like copy of the NaviPac setup, including one section per
instrument.
Due to the amount of data, we suggest that you use UDP/IP for this.
Page 54 of 59
4.6 Depth
NaviScan is configured to send out the observed centre depth (depth below keel) on a
UDP/IP port. This can be read in NaviPac using a standard NMEA input:
The UDP/IP port must always be ‘5999’, and the IP address must be the local address.
4.7 Summary
NaviPac NaviScan
Pos from NaviPac
Position to NaviScan
Logging control: NaviPac old
Interfaces.docx
Page 55 of 59
Last update: 23/4/2021
5 Sharing ports between NaviPac and
NaviScan
NaviPac offers a feature to share COM ports with NaviScan (or other external receivers).
This is done by sending the time-tagged data (registered by NaviPac) out on the UDP/IP
network using the TimeBox/ATTU data format:
{
char Ident[4]; // Packet starter: always ‘EIVA’
INT32 Length; // Length of packet – remaining of entire packet
INT32 VersAndDomain; // First 16 bit version number (1)
// Last 16 bit domain id – unique time box number
INT32 InsId; // Id of instrument – version 1 COM port number
TIMEVAL time_stamp; // Timestamp of reception of telegram (first bit)
}
char data [length-16];
// The raw telegram – not really a part of
// structure – but follows right after the header
struct timeval {
long tv_sec; /* seconds */
long tv_usec; /* and microseconds */
};
And in UNIX/Linux:
struct timeval {
time_t tv_sec // seconds
suseconds_t tv_usec // microseconds
};
• The data is delivered with time-tag as per NaviPac – thus delivered in a consistent
way
• Several programs use the ATTU (TimeBox) protocol and can use this directly
Page 56 of 59
5.1 Setup in NaviPac
You must enable the port sharing functionality in NaviPac Configuration via Project
Settings > NaviScan > Enable port sharing.
• GPS
• Gyro
• Motion sensor
• Doppler log
• Bathy
Destination
Enter the destination address of the receiver computer, eg:
Interfaces.docx
Page 57 of 59
Last update: 23/4/2021
• 10.10.1.33 For specific PC receiving the data
• 10.10.1.255 For broadcast to multiple receivers on same subnet
• 127.0.0.1 For local PC only
Port ID
The data will be sent out as UDP/IP messages using the TimeBox format. Each serial port
will be output on its own UDP port, defined by the original port number plus this port base id
add-on. If you, for example, enter ‘10000’, then COM1 will be sent on UDP 10001.
Data selector
Select whether you want NaviPac to broadcast all inputs (‘All’) or only for a selected object
(eg ‘ROV1’). The changes in setup will not be available until the next restart of navigation.
The key is to know the mapping between the NaviPac drivers and the NaviScan drivers, so
you select the correct driver in both programs.
The mapping can be automated in NaviScan via an import function that guides you through
this mapping.
Page 58 of 59
Figure 11 Importing the setup
Please note that the NaviScan PC must be time-synchronised with the NaviPac PC when
using two different locations. This can either be done via interfacing of ZDA/PPS or by using
the network time server.
Interfaces.docx
Page 59 of 59
Last update: 23/4/2021