Programming a DT800 to a GPS string
We connect the following wires
- Connect the GPS Transmit to R-
- Connect the GPS Receive to R+
- Connect the GPS Earth to Gd
The following code will read the NMEA $GPRMC string from a standard
GPS
Note this code will return zeros when there is not a valid GPS string.
A jumper inserted between Gd and Digital Channel 1 will stop the
logger. If the Jumper is removed the logger will start again.
BEGIN"GPRMC"
PS=4800,N,8,1,NOFC
1SSPWR=1
1SERIAL("\\e",0.1,=99CV,W)
RA2S:1W
1SERIAL("$GPRMC,%2f[10CV]%2f[11CV]%2f[12CV],%1s['V','A',13CV=-1],",1,=99CV,W)
1SERIAL("%2f[14CV]%f[15CV],%1s['N','S',16CV=-1],",0.1,=98CV,W)
1SERIAL("%3f[17CV]%f[18CV],%1s['E','W',19CV=-1],",0.1,=97CV,W)
1SERIAL("%f[20CV],%f[21CV],",0.1,=96CV,W)
1SERIAL("%2f[22CV]%2f[23CV]%2f[24CV]\\e",0.1,=95CV,W)
14CV(W)=(16CV=-1)-((16CV=1)*14CV)+((16CV=0)*14CV)
15CV(W)=(16CV=-1)-((16CV=1)*15CV)+((16CV=0)*15CV)
17CV(W)=(19CV=-1)-((19CV=1)*17CV)+((19CV=0)*17CV)
18CV(W)=(19CV=-1)-((19CV=1)*18CV)+((19CV=0)*18CV)
24CV(W)=24CV+2000
10CV("UTCHr",FF0)
11CV("UTCMin",FF0)
12CV("UTCSec",FF0)
13CV("SIG",FF0)
14CV("LatD",FF0)=14CV*(13CV=1)
15CV("LatM",FF6)=15CV*(13CV=1)
16CV("NS",FF0)=16CV*(13CV=1)
17CV("LonD",FF0)=17CV*(13CV=1)
18CV("LonM",FF6)=18CV*(13CV=1)
19CV("EW",FF0)=19CV*(13CV=1)
20CV("SOG~Knots",FF1)=20CV*(13CV=1)
21CV("COG~Deg",FF1)=21CV*(13CV=1)
22CV("UTCDay",FF0)=22CV*(13CV=1)
23CV("UTCMth",FF0)=23CV*(13CV=1)
24CV("UTCYr",FF0)=24CV*(13CV=1)
END
Programming a DT800 to record ONLY changes in voltage on channel 1
BEGIN"Prog1"
RAX LOGONA GA
1CV("Batt~mV")
2CV(W)=1CV-250
3CV(W)=1CV+250
RB200T GB
1V(=1CV,W)
IF(1CV<>2CV,3CV){[XA]}
END