Initial commit, basic structure

This commit is contained in:
Aaron
2014-10-01 19:55:02 +02:00
commit c2275cf367

128
gsc.py Normal file
View File

@@ -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."