Campbell Scientific GPS16X-HVS GPS Receiver User Manual

Page 18

Advertising
background image

GPS16X-HVS GPS Receiver

Dim NBytesReturned As Long
Dim SubStrings(16) As String * 32, rawdata As String * 500
Dim CalculatedChecksum As Long, ReportedChecksum As Long

DataTable (gpsdata,True,-1)
DataInterval (0,1,Sec,10)
Sample (1,rmcid,String)
Sample (1,rmcutc,String)
Sample (1,rmcstatus,String)
Sample (1,rmclatitude,String)
Sample (1,rmcin_s_ind,String)
Sample (1,rmclongitude,String)
Sample (1,rmcspeed,String)
Sample (1,rmccourse,String)
Sample (1,rmcutcdate,String)
Sample (1,rmcmagvariation,String)
Sample (1,rmcmage_w,String)
Sample (1,rmcchecksum,String)
Sample (1,ggaid,String)
Sample (1,ggautc,String)
Sample (1,ggan_s_ind,String)
Sample (1,ggalongitude,String)
Sample (1,ggae_w_ind,String)
Sample (1,ggapositionfix,String)
Sample (1,gganumsatellites,String)
Sample (1,ggahdop,String)
Sample (1,ggaaltitude,String)
Sample (1,ggaaltutudeunits,String)
Sample (1,ggageoidsep,String)
Sample (1,ggageoidunits,String)
Sample (1,ggachecksum,String)
EndTable
'Main Program
BeginProg
SerialOpen (GPSPort,38400,3,0,1001)
Scan (1,Sec,0,0)

SerialInRecord (GPSPort,rawdata,36,0,&h0D0A,NBytesReturned,11)
CalculatedChecksum = CheckSum (rawdata,9,Len(rawdata) - 3)
CalculatedChecksum = CalculatedChecksum AND 255
ReportedChecksum = HexToDec(Right(rawdata,2))
If CalculatedChecksum = ReportedChecksum Then
If InStr (1,rawdata,"GPRMC",2) Then
RMCstring = rawdata
ElseIf InStr (1,rawdata,"GPGGA",2) Then
GGAstring = rawdata
EndIf
EndIf
SerialInRecord (GPSPort,rawdata,36,0,&h0D0A,NBytesReturned,11)
CalculatedChecksum = CheckSum (rawdata,9,Len(rawdata) - 3)
CalculatedChecksum = CalculatedChecksum AND 255
ReportedChecksum = HexToDec(Right(rawdata,2))
If CalculatedChecksum = ReportedChecksum Then
If InStr (1,rawdata,"GPRMC",2) Then
RMCstring = rawdata
ElseIf InStr (1,rawdata,"GPGGA",2) Then

12

Advertising