Initial commit, basic structure
This commit is contained in:
128
gsc.py
Normal file
128
gsc.py
Normal 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."
|
||||
|
||||
|
||||
Reference in New Issue
Block a user