Example #1
0
        res = [0, 0, 0]
		# Read the magnetometer
        list = self.mag.readList(self.LSM303_REGISTER_MAG_OUT_X_H_M, 6)
        res = [ self.mag16(list, 0),
                    self.mag16(list, 2),
                    self.mag16(list, 4) ]
        return res
                    
    def setMagGain(gain=LSM303_MAGGAIN_1_3):
        self.mag.write8( LSM303_REGISTER_MAG_CRB_REG_M, gain)

if __name__ == '__main__':
	
	from time import sleep
	import os
	from process_compass import getMag
	import accel as ac
	
	mag = Magnetometer()
	accel = ac.Accelerometer()
	timer = 0
	sleeptime = 0.5
	
	while True:
		os.system('clear')
		raw = mag.read()
		m = getMag(accel.read(), raw)
		print raw
		
		sleep(sleeptime)
    def process(self, index):
        print "Processing"
        cursor = self.db.cursor()
        
        cursor.execute("SELECT * FROM rawEX")
        count = cursor.rowcount

        
        row = []
        date = []
        time = []
        lat = []
        lon = []
        altitude = []
        speed = []
        temperature = []
        pressure = []
        heading = []
        gyroscope = []
        acceler = []
        acc_angle = []
        
        gyr_rate = [0,0,0]
        cf_angle = [0,0,0]
        
        for x in range(self.prev_index, count):
            instr = "SELECT * FROM rawEX WHERE ID = %s" % (x)
            cursor.execute(instr)
            line = cursor.fetchone()
            
            row.append( line[0] )
            #if line[1] != None:
            #    date.append( dataFormat.convertDate("mm/dd/yyyy", 0, str(line[1])) )
            #else:
            #    date.append( line[1] )
            date.append( line[1] )
            #if line[2] != None:
            #   time.append( dataFormat.convertTime("am/pm", "EST", line[2]) )
            time.append( line[2] )
            lat.append( line[3] )
            lon.append( line[4] )
            #altitude.append( line[5] )
           
            speed.append( line[6] )
            
            temperature.append( self.bmp.procTemp(int(line[7])) )
            
            pr = self.bmp.procPress(int(line[8]), int(line[7]))
          
            altitude.append( process_press_extra.getAltitude(pr) )
            pressure.append( pr )
        
            accel = [ line[9], line[10], line[11] ]
            mag = [ line[12], line[13], line[14] ]
            gyro = [ line[15], line[16], line[17] ]
            
            heading.append(process_compass.getMag(accel, mag))
            gyroscope.append(process_gyro.accumGyro(gyro,gyr_rate))
            gyr_rate = [ gyroscope[0][0], gyroscope[0][1], gyroscope[0][2] ]
            cf_angle = process_ag.getAG( accel, cf_angle, gyr_rate )
            acceler.append( cf_angle )
            
            
        
        #print row
        #print date
        #print time
        #print lat
        #print lon
        #print altitude
        #print speed
        #print temperature
        #print pressure
        #print heading
        #print gyroscope
        #print acceler
        
        ret_date = self.err_process( date )
        ret_time = self.err_process( time )
        ret_lat = self.better_process( lat )
        ret_lon = self.better_process( lon )
        ret_alt = self.better_process( altitude )
        ret_sp = self.better_process( speed )
        ret_temp = self.better_process( temperature )
        ret_press = self.better_process( pressure )
        ret_head = self.better_process( heading )
        ret_gy = self.err_process( gyroscope )
        ret_ac = self.err_process( acceler )
        
        self.prev_index = count
        
        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