def averages_calculations(self): accelerations = list() #decelerations = list() throttles = list() rpms = list() speeds = list() lats = list() longs = list() mpgs = list() coolants = list() accel_average = 0 #decel_average = 0 throttle_average = 0 rpm_average = 0 speed_average = 0 mpg_average = 0 coolant_average = 0 record_accel = 0 #record_decel = 0 record_rpm = 0 record_throttle = 0 record_speed = 0 total_distance = 0 record_mpg = 0 for value in VBoxData.select(): if(value.acc_x > IMU_ZEROED_ACCEL_X): #exclude resting values accelerations.append(value.acc_x) #else: #decelerations.append(value.acc_x) if not value.obd_throttle_pos == None and not value.obd_throttle_pos == 0: throttles.append(value.obd_throttle_pos) # need to change from obd_throttle_pos to obd_throttle_pos if not value.obd_rpm == None and not value.obd_rpm == 0: rpms.append(value.obd_rpm) if not value.obd_speed == None and not value.obd_speed == 0: speeds.append(value.obd_speed) if not value.gps_lat == None: lats.append(value.gps_lat) if not value.gps_lon == None: longs.append(value.gps_lat) if not value.obd_maf == None and value.obd_maf != 0 and not value.obd_speed == None and value.obd_speed != 0: #print '***MPG: ', 710.7 * (value.obd_speed / value.obd_maf) mpgs.append(710.7 * (value.obd_speed / value.obd_maf)) if not value.obd_coolant_temp == None and value.obd_coolant_temp: coolants.append(value.obd_coolant_temp) count = 0 for distance in lats: if count+1 <= len(lats): total_distance = total_distance #+ distance_on_unit_sphere(lats[count+1], longs[count], lats[count+1], longs[count]) count = count + 1 for value in ProfileData.select().where(ProfileData.flag == 1): record_accel = value.avg_accel #record_decel = value.avg_decel record_rpm = value.avg_rpm record_throttle = value.avg_throttle record_speed = value.avg_speed record_mpg = value.mpg try: accel_average = float(sum(accelerations)/len(accelerations)) #decel_average = float(sum(decelerations)/len(decelerations)) rpm_average = float(sum(rpms)/len(rpms)) throttle_average = float(sum(throttles)/len(throttles)) speed_average = float(sum(speeds)/len(speeds)) mpg_average = float(sum(mpgs)/len(mpgs)) coolant_average = float(sum(coolants)/len(coolants)) except ZeroDivisionError: #print "divide by zero\n" pass averages = [accel_average, throttle_average, rpm_average, speed_average, mpg_average, coolant_average, total_distance] return averages