PIUDP Data Format
UDP data nav string format:
NOTE: The serial output of target location data in the $PIUPD strings created by IPS will always be with regard to the hydrophone location independent of the reference (R) location.
$PIUDP,HHMMSS.sss,mm-dd-yyyy,id,dddd.dd,hhh.h,rr.rr,pp.pp,yyy.yy,RR.RR,PP.PP,
aaa.a,ccc.c,s.ss,vvvvv.v,S,AF,DD.ddddd,LL.lllll,nnn,QFSt*CS<cr><lf>
$PIUDP,143755.000,02-25-2003,9,4.37,83.59,-3.75,-2.24,1.77,85.15,0.49,1507.74,1,27.1234567,-83.1234567,1,2,3*A6
1 $PIUDP header
2 HHMMSS.sss Hours 24 hr clock, LMT hours minutes seconds and milliseconds
3 mm-dd-yyyy local data
4 id = target is ship_ID, 1-9 ORE, SHIP_ID Just set a default of 10
5 ddd.dd subsea depth [m] or ship heave + down
6 hhhh.h True heading [deg]
7 rr.rr roll (+Port side up) [deg]
8 pp.pp pitch (+Bow up) [deg]
9 yyy.yy Yaw rate (+CCW) [deg/sec]
10 RR.RR Roll rate [deg/sec]
11 PP.PP Pitch rate [deg/sec]
12 aaa.a altitude [m] and ship depth sounder
13 ccc.c course over ground from processed DVL+AHRS+CTD [deg] wrt true north or GPS ship
14 ss.ss speed over ground in knots from processed DVL+AHRS+CTD [deg] or GPS ship
15 vvvv.v sound velocity [m/s]
16 S DVL status 0-no bottom lock, 1-bottom lock
17 AFlag : word; status of all attitude values
-- Constants for Attitude quality factor --------
P= Platform, U= USBLL
Can assembly multi valid angles by OR-ing.
flag := PHeadingValid or UPitchValid or URollValid
To check for example USBL roll
if ( URollValid = (flag and URollValid) ) then
bit #: 8 7 6 5 4 3 2 1
0 PR PP PH PZ UR UP UH
UHeadingValid = 1; // 00000001
UPitchValid = 2; // 00000010
URollValid = 4; // 00000100
PHeaveValid = 8; // 00001000
PHeadingValid = 16; // 00010000
PPitchValid = 32; // 00100000
PRollValid = 64; // 01000000
// Note need to be 16 bit since Aflag : 2 byte Uint
PHeaveError = $FFF7; // 11110111
PHeadingError = $FFEF; // 11101111
PPitchError = $FFDF; // 11011111
PRollError = $FFBF; // 10111111
PDVLAHRSValid = 112; // 01110000
PDVLAHRSHeaveValid = 120; // 01111000
18 Lat deg.1234567, 7 places to Rt . for 0.00001 min of resoulation + North
19 Long deg.1234567 +East
20 nnn PosFrom // typically 0 from actual tracking station else for remote display IPS 3 dig key number
21 QFst [30] // quality factor string is a function of target type {ID field is 4; Ship ID = 10, USBL or DVL targets id = 1-9}
// Subsea targets:
// ORE USBL- raw SR [m], relative bearing [deg], dpeth [m] (w.r.t still water), USBL QF (0-9), Hx,Hy,Hz, [m]
// Hydrophone yaw, hydrophone roll, hydphone pitch mounting biases [deg], USBL processing method
// DVL Nav- Bottom Vel X,y,z, [m/s] Alt [m],Fixed QF =10,Gyro yaw rate
// Ship - Num Sats, GPS quality,DOP,Age of DGP corrections sec,DGPS Station ID (ex. 8,D,1,4,0)
// GPS quality = { 0 = '?' fix not available or invalid
1 = ' ' C/A Standard GPS fix valid
2 = 'D' DGPS mode fix valid
3 = 'P' PPP mode fix valid
4 = 'R' RTK Fixed
5 = 'F' RTK float
6 = 'I' Free inertial
7 = 'W' WAAS
8 = 'S' OmniStar normal VBS
9 = 'H' OmniStar HP
}
22 *
23 NMEA checksum (XOR)
24 <cr>
25 <lf>
Examples:
$PIUDP,082949.690,01-29-2005,10,0.00,316.74,1.30,-0.61,0.00,0.00,0.00,0.00,317.32,6.80,1500.0,0,120,30.3878394,-81.5628697,304,8,D,1,4,0*25
$PIUDP,082952.271,01-29-2005,10,0.00,316.66,1.38,-0.61,0.00,0.00,0.00,0.00,317.24,6.79,1500.0,0,120,30.3878742,-81.5629067,304,8,D,1,4,0*29