From c2275cf3678ac43ecb31fa169a915583887095c8 Mon Sep 17 00:00:00 2001 From: Aaron Date: Wed, 1 Oct 2014 19:55:02 +0200 Subject: [PATCH] Initial commit, basic structure --- gsc.py | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 gsc.py diff --git a/gsc.py b/gsc.py new file mode 100644 index 0000000..a6914f0 --- /dev/null +++ b/gsc.py @@ -0,0 +1,128 @@ +#!/usr/bin/python2 +# +# The gsp speed calculator [gsc.py] uses the csv reader to fix nmea strings +# +import csv + +class GPRMC(object): + ''' Data object to temporary store the nmea string. + + Explenation of the GPRMC NMEA Data string: + $GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70 + 1 2 3 4 5 6 7 8 9 10 11 12 + 1 220516 Time Stamp + 2 A validity - A-ok, V-invalid + 3 5133.82 current Latitude + 4 N North/South + 5 00042.24 current Longitude + 6 W East/West + 7 173.8 Speed in knots + 8 231.8 True course + 9 130694 Date Stamp + 10 004.2 Variation + 11 W East/West + 12 *70 checksum + ''' + + # Object Fields + TIME = 0 # Timestamp + VAL = ''# Validity + LAT = 0 # Current latitude + LAT_NS = ''# Direciton of latitude [N or S] + LON = 0 # Current longitude + LON_EW = ''# Direction of longitude [E or W] + SPEED = 0 # Current speed + COURSE = 0 # Current course + DATE = 0 # Datestamp + VAR = 0 # Variation + VAR_EW = 0 # Direction of the Variation [E or W] + CHECK = 0 # Checksum + + # Get/Set functions + def setTime(self, time): + self.TIME = time + def getTime(self): + return self.TIME + + def setValidity(self, val): + self.VAL = val + def getValidity(self): + return self.VAL + + def setLatitude(self, lat): + self.LAT = lat + def getLatitude(self): + return self.LAT + + def setDirectionOfLatitude(self, latns): + self.LAT_NS = latns + def getDirectionOfLatitude(self): + return self.LAT_NS + + def setLongitude(self, lon): + self.LON = lon + def getLongitude(self): + return self.LON + + def setDirectionOfLongitude(self, lonew): + self.LON_EW = lonew + def getDirectionOfLongitude(self): + return self.LON_EW + + def setSpeed(self, speed): + self.SPEED = speed + def getSpeed(self): + return self.SPEED + + def setCourse(self, course): + self.COURSE = course + def getCourse(self): + return self.COURSE + + def setDate(self, date): + self.DATE = date + def getDate(self): + return self.DATE + + def setVariation(self, var): + self.VAR = var + def getVariation(self): + return self.VAR + + def setDirectionOfVariation(self, varew): + self.VAR_EW = varew + def getDirectionOfVariation(self): + return self.VAR_EW + + def setChecksum(self, checksum): + self.CHECK = checksum + def getChecksum(self): + return self.CHECK + + # Helper functions + def parseGPRMC(self, gprmc): + ''' Parses a gprmc string an sets the objects values accordingly.''' + + def generateGPRMC(self): + ''' Generate the objects gprmc sentence. ''' + return gprmc + +if __name__ == "__main__": + try: + Testfile="/home/aaron/GPS_ZUGKRAFTMESSUNG/20140910_Guellen/GPS_Guellen.txt" + sentences = csv.reader(open(Testfile, 'r')) + + # for each line in the file + for line in sentences: + # if the line isn't empty and begins with '$GPRMC' + if line and line[0].strip() == '$GPRMC': + for word in line: + print word + print "_____________________" + + except Exception as e: + print e + finally: + print "[DEBUG]: Cleanup done, exiting." + +