def __init__(self): #GPIO Setup GPIO.setmode(GPIO.BOARD) GPIO.setup(12,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) GPIO.setup(22,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) GPIO.add_event_detect(12, GPIO.RISING, callback=self.buttonEvent, bouncetime=1000) GPIO.add_event_detect(22, GPIO.RISING, callback=self.saveEvent, bouncetime=1000) #Sensor Instantiation self.accSensor = accel.Accelerometer() self.magSensor = mag.Magnetometer() self.gyroSensor = gyro.Gyroscope() self.pressSensor = press.Pressure() self.tempSensor = temp.Temperature() #Calibrate self.cal = process_bmp.bmp_processor() self.cal.calibrate(self.pressSensor.press) #Create the databases self.db = dbConnect.connect() dbLink.createRawTable(self.db) dbLink.createProcessedTable(self.db) dbLink.createSaveTable(self.db) dbLink.createDateTime(self.db) #Processor self.processor = process.Processor(self.db, self.cal) self.last_index = 0 #Set the GPS poller self.gpsP = gpsPoll.GpsPoller() self.common_delay_time = 0.5 #Initialize the display self.edisplay = edisplay.EDisplay() #Initialize sensor vars self.acc = 0 self.gyro = 0 self.temp = 0 self.press = 0 self.mag = 0 #Initialize gps vars self.date = 0 self.time = 0 self.lat = 0 self.lon = 0 self.speed = 0 self.alt = 0 self.key_in = 0 self.disp_data = [0,0,0,0,0,0,0,0,0,0,0] self.saving_text = "no" self.start_data = True self.saving_flag = "no" #Initialize saving vars self.saving = False self.saveStartTime = 0 self.saveStartDate = 0 self.saveEndTime = 0 self.saveEndDate = 0
print "End processing" ret = [ ret_date, ret_time, ret_lat, ret_lon, ret_alt, ret_sp, ret_temp, ret_press, ret_head, ret_gy, ret_ac, count ] self.prev_data = ret return ret def err_process(self, data): length = len(data) if length >= 1: return data[length-1] else: return "---" def better_process(self, data): length = len(data) a = 0.8 datum = float(data[0]) if length >= 3: for i in range(1, length): datum = a*data[i-1] + (1 - a)*datum return float(datum) if __name__ == '__main__': db = dbConnect.connect() dbLink.createRawTable(db) p = Processor(db) p.process(0)