From b2046ffd6b68a0cd0a0e2226957a6b866e211967 Mon Sep 17 00:00:00 2001
From: Paul Riseborough <p_riseborough@live.com.au>
Date: Tue, 9 Jan 2018 09:44:01 +1100
Subject: [PATCH] Tools: fix errors in thermal calibration script

---
 Tools/process_sensor_caldata.py | 904 ++++++++++++++++----------------
 1 file changed, 452 insertions(+), 452 deletions(-)

diff --git a/Tools/process_sensor_caldata.py b/Tools/process_sensor_caldata.py
index d024cbaad2..b685e7c825 100644
--- a/Tools/process_sensor_caldata.py
+++ b/Tools/process_sensor_caldata.py
@@ -16,7 +16,7 @@ Data can be gathered using the following sequence:
 1) Power up the board and set the TC_A_ENABLE, TC_B_ENABLE and TC_G_ENABLE parameters to 1
 2) Set all CAL_GYR and CAL_ACC parameters to defaults
 3) Set the SYS_LOGGER parameter to 1 to use the new system logger
-4) Set the SDLOG_MODE parameter to 2, and SDLOG_PROFILE parameter to 2 to enable logging of sensor data for calibration and power off
+4) Set the SDLOG_MODE parameter to 2, and SDLOG_PROFILE parameter to 4 to enable logging of sensor data for calibration and power off
 5) Cold soak the board for 30 minutes
 6) Move to a warm dry, still air, constant pressure environment.
 7) Apply power for 45 minutes, keeping the board still.
@@ -24,7 +24,7 @@ Data can be gathered using the following sequence:
 9) Open a terminal window in the Firmware/Tools directory and run the python calibration script script file: 'python process_sensor_caldata.py <full path name to .ulog file>
 10) Power the board, connect QGC and load the parameter from the generated .params file onto the board using QGC. Due to the number of parameters, loading them may take some time.
 11) TODO - we need a way for user to reliably tell when parameters have all been changed and saved.
-12) After parameters have finished loading, set SDLOG_MODE to 1 to re-enable normal logging and remove power.
+12) After parameters have finished loading, set SDLOG_MODE and SDLOG_PROFILE to their respective values prior to step 4) and remove power.
 13) Power the board and perform a normal gyro and accelerometer sensor calibration using QGC. The board must be repowered after this step before flying due to large parameter changes and the thermal compensation parameters only being read on startup.
 
 Outputs thermal compensation parameters in a file named <inputfilename>.params which can be loaded onto the board using QGroundControl
@@ -56,16 +56,16 @@ for d in data:
         if sensor_instance == 0:
             sensor_gyro_0 = d.data
             print('found gyro 0 data')
-	    num_gyros = 1
+            num_gyros = 1
         if sensor_instance == 1:
             sensor_gyro_1 = d.data
             print('found gyro 1 data')
-	    num_gyros = 2
-	if sensor_instance == 2:
+            num_gyros = 2
+        if sensor_instance == 2:
             sensor_gyro_2 = d.data
             print('found gyro 2 data')
-	    num_gyros = 3
-	sensor_instance = sensor_instance +1
+            num_gyros = 3
+        sensor_instance = sensor_instance +1
 
 # extract accel data
 sensor_instance = 0
@@ -75,15 +75,15 @@ for d in data:
         if sensor_instance == 0:
             sensor_accel_0 = d.data
             print('found accel 0 data')
-	    num_accels = 1
+            num_accels = 1
         if sensor_instance == 1:
             sensor_accel_1 = d.data
             print('found accel 1 data')
-	    num_accels = 2
+            num_accels = 2
         if sensor_instance == 2:
             sensor_accel_2 = d.data
             print('found accel 2 data')
-	    num_accels = 3
+            num_accels = 3
         sensor_instance = sensor_instance +1
 
 # extract baro data
@@ -94,11 +94,11 @@ for d in data:
         if sensor_instance == 0:
             sensor_baro_0 = d.data
             print('found baro 0 data')
-        num_baros = 1
+            num_baros = 1
         if sensor_instance == 1:
             sensor_baro_1 = d.data
             print('found baro 1 data')
-        num_baros = 2
+            num_baros = 2
         sensor_instance = sensor_instance +1
 
 # open file to save plots to PDF
@@ -133,72 +133,72 @@ gyro_0_params = {
 
 # curve fit the data for gyro 0 corrections
 if num_gyros >= 1:
-	gyro_0_params['TC_G0_ID'] = int(np.median(sensor_gyro_0['device_id']))
-
-	# find the min, max and reference temperature
-	gyro_0_params['TC_G0_TMIN'] = np.amin(sensor_gyro_0['temperature'])
-	gyro_0_params['TC_G0_TMAX'] = np.amax(sensor_gyro_0['temperature'])
-	gyro_0_params['TC_G0_TREF'] = 0.5 * (gyro_0_params['TC_G0_TMIN'] + gyro_0_params['TC_G0_TMAX'])
-	temp_rel = sensor_gyro_0['temperature'] - gyro_0_params['TC_G0_TREF']
-	temp_rel_resample = np.linspace(gyro_0_params['TC_G0_TMIN']-gyro_0_params['TC_G0_TREF'], gyro_0_params['TC_G0_TMAX']-gyro_0_params['TC_G0_TREF'], 100)
-	temp_resample = temp_rel_resample + gyro_0_params['TC_G0_TREF']
-
-	# fit X axis
-	coef_gyro_0_x = np.polyfit(temp_rel,sensor_gyro_0['x'],3)
-	gyro_0_params['TC_G0_X3_0'] = coef_gyro_0_x[0]
-	gyro_0_params['TC_G0_X2_0'] = coef_gyro_0_x[1]
-	gyro_0_params['TC_G0_X1_0'] = coef_gyro_0_x[2]
-	gyro_0_params['TC_G0_X0_0'] = coef_gyro_0_x[3]
-	fit_coef_gyro_0_x = np.poly1d(coef_gyro_0_x)
-	gyro_0_x_resample = fit_coef_gyro_0_x(temp_rel_resample)
-
-	# fit Y axis
-	coef_gyro_0_y = np.polyfit(temp_rel,sensor_gyro_0['y'],3)
-	gyro_0_params['TC_G0_X3_1'] = coef_gyro_0_y[0]
-	gyro_0_params['TC_G0_X2_1'] = coef_gyro_0_y[1]
-	gyro_0_params['TC_G0_X1_1'] = coef_gyro_0_y[2]
-	gyro_0_params['TC_G0_X0_1'] = coef_gyro_0_y[3]
-	fit_coef_gyro_0_y = np.poly1d(coef_gyro_0_y)
-	gyro_0_y_resample = fit_coef_gyro_0_y(temp_rel_resample)
-
-	# fit Z axis
-	coef_gyro_0_z = np.polyfit(temp_rel,sensor_gyro_0['z'],3)
-	gyro_0_params['TC_G0_X3_2'] = coef_gyro_0_z[0]
-	gyro_0_params['TC_G0_X2_2'] = coef_gyro_0_z[1]
-	gyro_0_params['TC_G0_X1_2'] = coef_gyro_0_z[2]
-	gyro_0_params['TC_G0_X0_2'] = coef_gyro_0_z[3]
-	fit_coef_gyro_0_z = np.poly1d(coef_gyro_0_z)
-	gyro_0_z_resample = fit_coef_gyro_0_z(temp_rel_resample)
-
-	# gyro0 vs temperature
-	plt.figure(1,figsize=(20,13))
-
-	# draw plots
-	plt.subplot(3,1,1)
-	plt.plot(sensor_gyro_0['temperature'],sensor_gyro_0['x'],'b')
-	plt.plot(temp_resample,gyro_0_x_resample,'r')
-	plt.title('Gyro 0 Bias vs Temperature')
-	plt.ylabel('X bias (rad/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,2)
-	plt.plot(sensor_gyro_0['temperature'],sensor_gyro_0['y'],'b')
-	plt.plot(temp_resample,gyro_0_y_resample,'r')
-	plt.ylabel('Y bias (rad/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,3)
-	plt.plot(sensor_gyro_0['temperature'],sensor_gyro_0['z'],'b')
-	plt.plot(temp_resample,gyro_0_z_resample,'r')
-	plt.ylabel('Z bias (rad/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	pp.savefig()
+    gyro_0_params['TC_G0_ID'] = int(np.median(sensor_gyro_0['device_id']))
+
+    # find the min, max and reference temperature
+    gyro_0_params['TC_G0_TMIN'] = np.amin(sensor_gyro_0['temperature'])
+    gyro_0_params['TC_G0_TMAX'] = np.amax(sensor_gyro_0['temperature'])
+    gyro_0_params['TC_G0_TREF'] = 0.5 * (gyro_0_params['TC_G0_TMIN'] + gyro_0_params['TC_G0_TMAX'])
+    temp_rel = sensor_gyro_0['temperature'] - gyro_0_params['TC_G0_TREF']
+    temp_rel_resample = np.linspace(gyro_0_params['TC_G0_TMIN']-gyro_0_params['TC_G0_TREF'], gyro_0_params['TC_G0_TMAX']-gyro_0_params['TC_G0_TREF'], 100)
+    temp_resample = temp_rel_resample + gyro_0_params['TC_G0_TREF']
+
+    # fit X axis
+    coef_gyro_0_x = np.polyfit(temp_rel,sensor_gyro_0['x'],3)
+    gyro_0_params['TC_G0_X3_0'] = coef_gyro_0_x[0]
+    gyro_0_params['TC_G0_X2_0'] = coef_gyro_0_x[1]
+    gyro_0_params['TC_G0_X1_0'] = coef_gyro_0_x[2]
+    gyro_0_params['TC_G0_X0_0'] = coef_gyro_0_x[3]
+    fit_coef_gyro_0_x = np.poly1d(coef_gyro_0_x)
+    gyro_0_x_resample = fit_coef_gyro_0_x(temp_rel_resample)
+
+    # fit Y axis
+    coef_gyro_0_y = np.polyfit(temp_rel,sensor_gyro_0['y'],3)
+    gyro_0_params['TC_G0_X3_1'] = coef_gyro_0_y[0]
+    gyro_0_params['TC_G0_X2_1'] = coef_gyro_0_y[1]
+    gyro_0_params['TC_G0_X1_1'] = coef_gyro_0_y[2]
+    gyro_0_params['TC_G0_X0_1'] = coef_gyro_0_y[3]
+    fit_coef_gyro_0_y = np.poly1d(coef_gyro_0_y)
+    gyro_0_y_resample = fit_coef_gyro_0_y(temp_rel_resample)
+
+    # fit Z axis
+    coef_gyro_0_z = np.polyfit(temp_rel,sensor_gyro_0['z'],3)
+    gyro_0_params['TC_G0_X3_2'] = coef_gyro_0_z[0]
+    gyro_0_params['TC_G0_X2_2'] = coef_gyro_0_z[1]
+    gyro_0_params['TC_G0_X1_2'] = coef_gyro_0_z[2]
+    gyro_0_params['TC_G0_X0_2'] = coef_gyro_0_z[3]
+    fit_coef_gyro_0_z = np.poly1d(coef_gyro_0_z)
+    gyro_0_z_resample = fit_coef_gyro_0_z(temp_rel_resample)
+
+    # gyro0 vs temperature
+    plt.figure(1,figsize=(20,13))
+
+    # draw plots
+    plt.subplot(3,1,1)
+    plt.plot(sensor_gyro_0['temperature'],sensor_gyro_0['x'],'b')
+    plt.plot(temp_resample,gyro_0_x_resample,'r')
+    plt.title('Gyro 0 Bias vs Temperature')
+    plt.ylabel('X bias (rad/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,2)
+    plt.plot(sensor_gyro_0['temperature'],sensor_gyro_0['y'],'b')
+    plt.plot(temp_resample,gyro_0_y_resample,'r')
+    plt.ylabel('Y bias (rad/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,3)
+    plt.plot(sensor_gyro_0['temperature'],sensor_gyro_0['z'],'b')
+    plt.plot(temp_resample,gyro_0_z_resample,'r')
+    plt.ylabel('Z bias (rad/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    pp.savefig()
 
 #################################################################################
 
@@ -229,72 +229,72 @@ gyro_1_params = {
 
 # curve fit the data for gyro 1 corrections
 if num_gyros >= 2:
-	gyro_1_params['TC_G1_ID'] = int(np.median(sensor_gyro_1['device_id']))
-
-	# find the min, max and reference temperature
-	gyro_1_params['TC_G1_TMIN'] = np.amin(sensor_gyro_1['temperature'])
-	gyro_1_params['TC_G1_TMAX'] = np.amax(sensor_gyro_1['temperature'])
-	gyro_1_params['TC_G1_TREF'] = 0.5 * (gyro_1_params['TC_G1_TMIN'] + gyro_1_params['TC_G1_TMAX'])
-	temp_rel = sensor_gyro_1['temperature'] - gyro_1_params['TC_G1_TREF']
-	temp_rel_resample = np.linspace(gyro_1_params['TC_G1_TMIN']-gyro_1_params['TC_G1_TREF'], gyro_1_params['TC_G1_TMAX']-gyro_1_params['TC_G1_TREF'], 100)
-	temp_resample = temp_rel_resample + gyro_1_params['TC_G1_TREF']
-
-	# fit X axis
-	coef_gyro_1_x = np.polyfit(temp_rel,sensor_gyro_1['x'],3)
-	gyro_1_params['TC_G1_X3_0'] = coef_gyro_1_x[0]
-	gyro_1_params['TC_G1_X2_0'] = coef_gyro_1_x[1]
-	gyro_1_params['TC_G1_X1_0'] = coef_gyro_1_x[2]
-	gyro_1_params['TC_G1_X0_0'] = coef_gyro_1_x[3]
-	fit_coef_gyro_1_x = np.poly1d(coef_gyro_1_x)
-	gyro_1_x_resample = fit_coef_gyro_1_x(temp_rel_resample)
-
-	# fit Y axis
-	coef_gyro_1_y = np.polyfit(temp_rel,sensor_gyro_1['y'],3)
-	gyro_1_params['TC_G1_X3_1'] = coef_gyro_1_y[0]
-	gyro_1_params['TC_G1_X2_1'] = coef_gyro_1_y[1]
-	gyro_1_params['TC_G1_X1_1'] = coef_gyro_1_y[2]
-	gyro_1_params['TC_G1_X0_1'] = coef_gyro_1_y[3]
-	fit_coef_gyro_1_y = np.poly1d(coef_gyro_1_y)
-	gyro_1_y_resample = fit_coef_gyro_1_y(temp_rel_resample)
-
-	# fit Z axis
-	coef_gyro_1_z = np.polyfit(temp_rel,sensor_gyro_1['z'],3)
-	gyro_1_params['TC_G1_X3_2'] = coef_gyro_1_z[0]
-	gyro_1_params['TC_G1_X2_2'] = coef_gyro_1_z[1]
-	gyro_1_params['TC_G1_X1_2'] = coef_gyro_1_z[2]
-	gyro_1_params['TC_G1_X0_2'] = coef_gyro_1_z[3]
-	fit_coef_gyro_1_z = np.poly1d(coef_gyro_1_z)
-	gyro_1_z_resample = fit_coef_gyro_1_z(temp_rel_resample)
-
-	# gyro1 vs temperature
-	plt.figure(2,figsize=(20,13))
-
-	# draw plots
-	plt.subplot(3,1,1)
-	plt.plot(sensor_gyro_1['temperature'],sensor_gyro_1['x'],'b')
-	plt.plot(temp_resample,gyro_1_x_resample,'r')
-	plt.title('Gyro 1 Bias vs Temperature')
-	plt.ylabel('X bias (rad/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,2)
-	plt.plot(sensor_gyro_1['temperature'],sensor_gyro_1['y'],'b')
-	plt.plot(temp_resample,gyro_1_y_resample,'r')
-	plt.ylabel('Y bias (rad/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,3)
-	plt.plot(sensor_gyro_1['temperature'],sensor_gyro_1['z'],'b')
-	plt.plot(temp_resample,gyro_1_z_resample,'r')
-	plt.ylabel('Z bias (rad/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	pp.savefig()
+    gyro_1_params['TC_G1_ID'] = int(np.median(sensor_gyro_1['device_id']))
+
+    # find the min, max and reference temperature
+    gyro_1_params['TC_G1_TMIN'] = np.amin(sensor_gyro_1['temperature'])
+    gyro_1_params['TC_G1_TMAX'] = np.amax(sensor_gyro_1['temperature'])
+    gyro_1_params['TC_G1_TREF'] = 0.5 * (gyro_1_params['TC_G1_TMIN'] + gyro_1_params['TC_G1_TMAX'])
+    temp_rel = sensor_gyro_1['temperature'] - gyro_1_params['TC_G1_TREF']
+    temp_rel_resample = np.linspace(gyro_1_params['TC_G1_TMIN']-gyro_1_params['TC_G1_TREF'], gyro_1_params['TC_G1_TMAX']-gyro_1_params['TC_G1_TREF'], 100)
+    temp_resample = temp_rel_resample + gyro_1_params['TC_G1_TREF']
+
+    # fit X axis
+    coef_gyro_1_x = np.polyfit(temp_rel,sensor_gyro_1['x'],3)
+    gyro_1_params['TC_G1_X3_0'] = coef_gyro_1_x[0]
+    gyro_1_params['TC_G1_X2_0'] = coef_gyro_1_x[1]
+    gyro_1_params['TC_G1_X1_0'] = coef_gyro_1_x[2]
+    gyro_1_params['TC_G1_X0_0'] = coef_gyro_1_x[3]
+    fit_coef_gyro_1_x = np.poly1d(coef_gyro_1_x)
+    gyro_1_x_resample = fit_coef_gyro_1_x(temp_rel_resample)
+
+    # fit Y axis
+    coef_gyro_1_y = np.polyfit(temp_rel,sensor_gyro_1['y'],3)
+    gyro_1_params['TC_G1_X3_1'] = coef_gyro_1_y[0]
+    gyro_1_params['TC_G1_X2_1'] = coef_gyro_1_y[1]
+    gyro_1_params['TC_G1_X1_1'] = coef_gyro_1_y[2]
+    gyro_1_params['TC_G1_X0_1'] = coef_gyro_1_y[3]
+    fit_coef_gyro_1_y = np.poly1d(coef_gyro_1_y)
+    gyro_1_y_resample = fit_coef_gyro_1_y(temp_rel_resample)
+
+    # fit Z axis
+    coef_gyro_1_z = np.polyfit(temp_rel,sensor_gyro_1['z'],3)
+    gyro_1_params['TC_G1_X3_2'] = coef_gyro_1_z[0]
+    gyro_1_params['TC_G1_X2_2'] = coef_gyro_1_z[1]
+    gyro_1_params['TC_G1_X1_2'] = coef_gyro_1_z[2]
+    gyro_1_params['TC_G1_X0_2'] = coef_gyro_1_z[3]
+    fit_coef_gyro_1_z = np.poly1d(coef_gyro_1_z)
+    gyro_1_z_resample = fit_coef_gyro_1_z(temp_rel_resample)
+
+    # gyro1 vs temperature
+    plt.figure(2,figsize=(20,13))
+
+    # draw plots
+    plt.subplot(3,1,1)
+    plt.plot(sensor_gyro_1['temperature'],sensor_gyro_1['x'],'b')
+    plt.plot(temp_resample,gyro_1_x_resample,'r')
+    plt.title('Gyro 1 Bias vs Temperature')
+    plt.ylabel('X bias (rad/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,2)
+    plt.plot(sensor_gyro_1['temperature'],sensor_gyro_1['y'],'b')
+    plt.plot(temp_resample,gyro_1_y_resample,'r')
+    plt.ylabel('Y bias (rad/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,3)
+    plt.plot(sensor_gyro_1['temperature'],sensor_gyro_1['z'],'b')
+    plt.plot(temp_resample,gyro_1_z_resample,'r')
+    plt.ylabel('Z bias (rad/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    pp.savefig()
 
 #################################################################################
 
@@ -325,72 +325,72 @@ gyro_2_params = {
 
 # curve fit the data for gyro 2 corrections
 if num_gyros >= 3:
-	gyro_2_params['TC_G2_ID'] = int(np.median(sensor_gyro_2['device_id']))
-
-	# find the min, max and reference temperature
-	gyro_2_params['TC_G2_TMIN'] = np.amin(sensor_gyro_2['temperature'])
-	gyro_2_params['TC_G2_TMAX'] = np.amax(sensor_gyro_2['temperature'])
-	gyro_2_params['TC_G2_TREF'] = 0.5 * (gyro_2_params['TC_G2_TMIN'] + gyro_2_params['TC_G2_TMAX'])
-	temp_rel = sensor_gyro_2['temperature'] - gyro_2_params['TC_G2_TREF']
-	temp_rel_resample = np.linspace(gyro_2_params['TC_G2_TMIN']-gyro_2_params['TC_G2_TREF'], gyro_2_params['TC_G2_TMAX']-gyro_2_params['TC_G2_TREF'], 100)
-	temp_resample = temp_rel_resample + gyro_2_params['TC_G2_TREF']
-
-	# fit X axis
-	coef_gyro_2_x = np.polyfit(temp_rel,sensor_gyro_2['x'],3)
-	gyro_2_params['TC_G2_X3_0'] = coef_gyro_2_x[0]
-	gyro_2_params['TC_G2_X2_0'] = coef_gyro_2_x[1]
-	gyro_2_params['TC_G2_X1_0'] = coef_gyro_2_x[2]
-	gyro_2_params['TC_G2_X0_0'] = coef_gyro_2_x[3]
-	fit_coef_gyro_2_x = np.poly1d(coef_gyro_2_x)
-	gyro_2_x_resample = fit_coef_gyro_2_x(temp_rel_resample)
-
-	# fit Y axis
-	coef_gyro_2_y = np.polyfit(temp_rel,sensor_gyro_2['y'],3)
-	gyro_2_params['TC_G2_X3_1'] = coef_gyro_2_y[0]
-	gyro_2_params['TC_G2_X2_1'] = coef_gyro_2_y[1]
-	gyro_2_params['TC_G2_X1_1'] = coef_gyro_2_y[2]
-	gyro_2_params['TC_G2_X0_1'] = coef_gyro_2_y[3]
-	fit_coef_gyro_2_y = np.poly1d(coef_gyro_2_y)
-	gyro_2_y_resample = fit_coef_gyro_2_y(temp_rel_resample)
-
-	# fit Z axis
-	coef_gyro_2_z = np.polyfit(temp_rel,sensor_gyro_2['z'],3)
-	gyro_2_params['TC_G2_X3_2'] = coef_gyro_2_z[0]
-	gyro_2_params['TC_G2_X2_2'] = coef_gyro_2_z[1]
-	gyro_2_params['TC_G2_X1_2'] = coef_gyro_2_z[2]
-	gyro_2_params['TC_G2_X0_2'] = coef_gyro_2_z[3]
-	fit_coef_gyro_2_z = np.poly1d(coef_gyro_2_z)
-	gyro_2_z_resample = fit_coef_gyro_2_z(temp_rel_resample)
-
-	# gyro2 vs temperature
-	plt.figure(3,figsize=(20,13))
-
-	# draw plots
-	plt.subplot(3,1,1)
-	plt.plot(sensor_gyro_2['temperature'],sensor_gyro_2['x'],'b')
-	plt.plot(temp_resample,gyro_2_x_resample,'r')
-	plt.title('Gyro 2 Bias vs Temperature')
-	plt.ylabel('X bias (rad/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,2)
-	plt.plot(sensor_gyro_2['temperature'],sensor_gyro_2['y'],'b')
-	plt.plot(temp_resample,gyro_2_y_resample,'r')
-	plt.ylabel('Y bias (rad/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,3)
-	plt.plot(sensor_gyro_2['temperature'],sensor_gyro_2['z'],'b')
-	plt.plot(temp_resample,gyro_2_z_resample,'r')
-	plt.ylabel('Z bias (rad/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	pp.savefig()
+    gyro_2_params['TC_G2_ID'] = int(np.median(sensor_gyro_2['device_id']))
+
+    # find the min, max and reference temperature
+    gyro_2_params['TC_G2_TMIN'] = np.amin(sensor_gyro_2['temperature'])
+    gyro_2_params['TC_G2_TMAX'] = np.amax(sensor_gyro_2['temperature'])
+    gyro_2_params['TC_G2_TREF'] = 0.5 * (gyro_2_params['TC_G2_TMIN'] + gyro_2_params['TC_G2_TMAX'])
+    temp_rel = sensor_gyro_2['temperature'] - gyro_2_params['TC_G2_TREF']
+    temp_rel_resample = np.linspace(gyro_2_params['TC_G2_TMIN']-gyro_2_params['TC_G2_TREF'], gyro_2_params['TC_G2_TMAX']-gyro_2_params['TC_G2_TREF'], 100)
+    temp_resample = temp_rel_resample + gyro_2_params['TC_G2_TREF']
+
+    # fit X axis
+    coef_gyro_2_x = np.polyfit(temp_rel,sensor_gyro_2['x'],3)
+    gyro_2_params['TC_G2_X3_0'] = coef_gyro_2_x[0]
+    gyro_2_params['TC_G2_X2_0'] = coef_gyro_2_x[1]
+    gyro_2_params['TC_G2_X1_0'] = coef_gyro_2_x[2]
+    gyro_2_params['TC_G2_X0_0'] = coef_gyro_2_x[3]
+    fit_coef_gyro_2_x = np.poly1d(coef_gyro_2_x)
+    gyro_2_x_resample = fit_coef_gyro_2_x(temp_rel_resample)
+
+    # fit Y axis
+    coef_gyro_2_y = np.polyfit(temp_rel,sensor_gyro_2['y'],3)
+    gyro_2_params['TC_G2_X3_1'] = coef_gyro_2_y[0]
+    gyro_2_params['TC_G2_X2_1'] = coef_gyro_2_y[1]
+    gyro_2_params['TC_G2_X1_1'] = coef_gyro_2_y[2]
+    gyro_2_params['TC_G2_X0_1'] = coef_gyro_2_y[3]
+    fit_coef_gyro_2_y = np.poly1d(coef_gyro_2_y)
+    gyro_2_y_resample = fit_coef_gyro_2_y(temp_rel_resample)
+
+    # fit Z axis
+    coef_gyro_2_z = np.polyfit(temp_rel,sensor_gyro_2['z'],3)
+    gyro_2_params['TC_G2_X3_2'] = coef_gyro_2_z[0]
+    gyro_2_params['TC_G2_X2_2'] = coef_gyro_2_z[1]
+    gyro_2_params['TC_G2_X1_2'] = coef_gyro_2_z[2]
+    gyro_2_params['TC_G2_X0_2'] = coef_gyro_2_z[3]
+    fit_coef_gyro_2_z = np.poly1d(coef_gyro_2_z)
+    gyro_2_z_resample = fit_coef_gyro_2_z(temp_rel_resample)
+
+    # gyro2 vs temperature
+    plt.figure(3,figsize=(20,13))
+
+    # draw plots
+    plt.subplot(3,1,1)
+    plt.plot(sensor_gyro_2['temperature'],sensor_gyro_2['x'],'b')
+    plt.plot(temp_resample,gyro_2_x_resample,'r')
+    plt.title('Gyro 2 Bias vs Temperature')
+    plt.ylabel('X bias (rad/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,2)
+    plt.plot(sensor_gyro_2['temperature'],sensor_gyro_2['y'],'b')
+    plt.plot(temp_resample,gyro_2_y_resample,'r')
+    plt.ylabel('Y bias (rad/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,3)
+    plt.plot(sensor_gyro_2['temperature'],sensor_gyro_2['z'],'b')
+    plt.plot(temp_resample,gyro_2_z_resample,'r')
+    plt.ylabel('Z bias (rad/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    pp.savefig()
 
 #################################################################################
 
@@ -421,75 +421,75 @@ accel_0_params = {
 
 # curve fit the data for accel 0 corrections
 if num_accels >= 1:
-	accel_0_params['TC_A0_ID'] = int(np.median(sensor_accel_0['device_id']))
-
-	# find the min, max and reference temperature
-	accel_0_params['TC_A0_TMIN'] = np.amin(sensor_accel_0['temperature'])
-	accel_0_params['TC_A0_TMAX'] = np.amax(sensor_accel_0['temperature'])
-	accel_0_params['TC_A0_TREF'] = 0.5 * (accel_0_params['TC_A0_TMIN'] + accel_0_params['TC_A0_TMAX'])
-	temp_rel = sensor_accel_0['temperature'] - accel_0_params['TC_A0_TREF']
-	temp_rel_resample = np.linspace(accel_0_params['TC_A0_TMIN']-accel_0_params['TC_A0_TREF'], accel_0_params['TC_A0_TMAX']-accel_0_params['TC_A0_TREF'], 100)
-	temp_resample = temp_rel_resample + accel_0_params['TC_A0_TREF']
-
-	# fit X axis
-	correction_x = sensor_accel_0['x'] - np.median(sensor_accel_0['x'])
-	coef_accel_0_x = np.polyfit(temp_rel,correction_x,3)
-	accel_0_params['TC_A0_X3_0'] = coef_accel_0_x[0]
-	accel_0_params['TC_A0_X2_0'] = coef_accel_0_x[1]
-	accel_0_params['TC_A0_X1_0'] = coef_accel_0_x[2]
-	accel_0_params['TC_A0_X0_0'] = coef_accel_0_x[3]
-	fit_coef_accel_0_x = np.poly1d(coef_accel_0_x)
-	correction_x_resample = fit_coef_accel_0_x(temp_rel_resample)
-
-	# fit Y axis
-	correction_y = sensor_accel_0['y']-np.median(sensor_accel_0['y'])
-	coef_accel_0_y = np.polyfit(temp_rel,correction_y,3)
-	accel_0_params['TC_A0_X3_1'] = coef_accel_0_y[0]
-	accel_0_params['TC_A0_X2_1'] = coef_accel_0_y[1]
-	accel_0_params['TC_A0_X1_1'] = coef_accel_0_y[2]
-	accel_0_params['TC_A0_X0_1'] = coef_accel_0_y[3]
-	fit_coef_accel_0_y = np.poly1d(coef_accel_0_y)
-	correction_y_resample = fit_coef_accel_0_y(temp_rel_resample)
-
-	# fit Z axis
-	correction_z = sensor_accel_0['z']-np.median(sensor_accel_0['z'])
-	coef_accel_0_z = np.polyfit(temp_rel,correction_z,3)
-	accel_0_params['TC_A0_X3_2'] = coef_accel_0_z[0]
-	accel_0_params['TC_A0_X2_2'] = coef_accel_0_z[1]
-	accel_0_params['TC_A0_X1_2'] = coef_accel_0_z[2]
-	accel_0_params['TC_A0_X0_2'] = coef_accel_0_z[3]
-	fit_coef_accel_0_z = np.poly1d(coef_accel_0_z)
-	correction_z_resample = fit_coef_accel_0_z(temp_rel_resample)
-
-	# accel 0 vs temperature
-	plt.figure(4,figsize=(20,13))
-
-	# draw plots
-	plt.subplot(3,1,1)
-	plt.plot(sensor_accel_0['temperature'],correction_x,'b')
-	plt.plot(temp_resample,correction_x_resample,'r')
-	plt.title('Accel 0 Bias vs Temperature')
-	plt.ylabel('X bias (m/s/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,2)
-	plt.plot(sensor_accel_0['temperature'],correction_y,'b')
-	plt.plot(temp_resample,correction_y_resample,'r')
-	plt.ylabel('Y bias (m/s/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,3)
-	plt.plot(sensor_accel_0['temperature'],correction_z,'b')
-	plt.plot(temp_resample,correction_z_resample,'r')
-	plt.ylabel('Z bias (m/s/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	pp.savefig()
+    accel_0_params['TC_A0_ID'] = int(np.median(sensor_accel_0['device_id']))
+
+    # find the min, max and reference temperature
+    accel_0_params['TC_A0_TMIN'] = np.amin(sensor_accel_0['temperature'])
+    accel_0_params['TC_A0_TMAX'] = np.amax(sensor_accel_0['temperature'])
+    accel_0_params['TC_A0_TREF'] = 0.5 * (accel_0_params['TC_A0_TMIN'] + accel_0_params['TC_A0_TMAX'])
+    temp_rel = sensor_accel_0['temperature'] - accel_0_params['TC_A0_TREF']
+    temp_rel_resample = np.linspace(accel_0_params['TC_A0_TMIN']-accel_0_params['TC_A0_TREF'], accel_0_params['TC_A0_TMAX']-accel_0_params['TC_A0_TREF'], 100)
+    temp_resample = temp_rel_resample + accel_0_params['TC_A0_TREF']
+
+    # fit X axis
+    correction_x = sensor_accel_0['x'] - np.median(sensor_accel_0['x'])
+    coef_accel_0_x = np.polyfit(temp_rel,correction_x,3)
+    accel_0_params['TC_A0_X3_0'] = coef_accel_0_x[0]
+    accel_0_params['TC_A0_X2_0'] = coef_accel_0_x[1]
+    accel_0_params['TC_A0_X1_0'] = coef_accel_0_x[2]
+    accel_0_params['TC_A0_X0_0'] = coef_accel_0_x[3]
+    fit_coef_accel_0_x = np.poly1d(coef_accel_0_x)
+    correction_x_resample = fit_coef_accel_0_x(temp_rel_resample)
+
+    # fit Y axis
+    correction_y = sensor_accel_0['y']-np.median(sensor_accel_0['y'])
+    coef_accel_0_y = np.polyfit(temp_rel,correction_y,3)
+    accel_0_params['TC_A0_X3_1'] = coef_accel_0_y[0]
+    accel_0_params['TC_A0_X2_1'] = coef_accel_0_y[1]
+    accel_0_params['TC_A0_X1_1'] = coef_accel_0_y[2]
+    accel_0_params['TC_A0_X0_1'] = coef_accel_0_y[3]
+    fit_coef_accel_0_y = np.poly1d(coef_accel_0_y)
+    correction_y_resample = fit_coef_accel_0_y(temp_rel_resample)
+
+    # fit Z axis
+    correction_z = sensor_accel_0['z']-np.median(sensor_accel_0['z'])
+    coef_accel_0_z = np.polyfit(temp_rel,correction_z,3)
+    accel_0_params['TC_A0_X3_2'] = coef_accel_0_z[0]
+    accel_0_params['TC_A0_X2_2'] = coef_accel_0_z[1]
+    accel_0_params['TC_A0_X1_2'] = coef_accel_0_z[2]
+    accel_0_params['TC_A0_X0_2'] = coef_accel_0_z[3]
+    fit_coef_accel_0_z = np.poly1d(coef_accel_0_z)
+    correction_z_resample = fit_coef_accel_0_z(temp_rel_resample)
+
+    # accel 0 vs temperature
+    plt.figure(4,figsize=(20,13))
+
+    # draw plots
+    plt.subplot(3,1,1)
+    plt.plot(sensor_accel_0['temperature'],correction_x,'b')
+    plt.plot(temp_resample,correction_x_resample,'r')
+    plt.title('Accel 0 Bias vs Temperature')
+    plt.ylabel('X bias (m/s/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,2)
+    plt.plot(sensor_accel_0['temperature'],correction_y,'b')
+    plt.plot(temp_resample,correction_y_resample,'r')
+    plt.ylabel('Y bias (m/s/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,3)
+    plt.plot(sensor_accel_0['temperature'],correction_z,'b')
+    plt.plot(temp_resample,correction_z_resample,'r')
+    plt.ylabel('Z bias (m/s/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    pp.savefig()
 
 #################################################################################
 
@@ -520,75 +520,75 @@ accel_1_params = {
 
 # curve fit the data for accel 1 corrections
 if num_accels >= 2:
-	accel_1_params['TC_A1_ID'] = int(np.median(sensor_accel_1['device_id']))
-
-	# find the min, max and reference temperature
-	accel_1_params['TC_A1_TMIN'] = np.amin(sensor_accel_1['temperature'])
-	accel_1_params['TC_A1_TMAX'] = np.amax(sensor_accel_1['temperature'])
-	accel_1_params['TC_A1_TREF'] = 0.5 * (accel_1_params['TC_A1_TMIN'] + accel_1_params['TC_A1_TMAX'])
-	temp_rel = sensor_accel_1['temperature'] - accel_1_params['TC_A1_TREF']
-	temp_rel_resample = np.linspace(accel_1_params['TC_A1_TMIN']-accel_1_params['TC_A1_TREF'], accel_1_params['TC_A1_TMAX']-accel_1_params['TC_A1_TREF'], 100)
-	temp_resample = temp_rel_resample + accel_1_params['TC_A1_TREF']
-
-	# fit X axis
-	correction_x = sensor_accel_1['x']-np.median(sensor_accel_1['x'])
-	coef_accel_1_x = np.polyfit(temp_rel,correction_x,3)
-	accel_1_params['TC_A1_X3_0'] = coef_accel_1_x[0]
-	accel_1_params['TC_A1_X2_0'] = coef_accel_1_x[1]
-	accel_1_params['TC_A1_X1_0'] = coef_accel_1_x[2]
-	accel_1_params['TC_A1_X0_0'] = coef_accel_1_x[3]
-	fit_coef_accel_1_x = np.poly1d(coef_accel_1_x)
-	correction_x_resample = fit_coef_accel_1_x(temp_rel_resample)
-
-	# fit Y axis
-	correction_y = sensor_accel_1['y']-np.median(sensor_accel_1['y'])
-	coef_accel_1_y = np.polyfit(temp_rel,correction_y,3)
-	accel_1_params['TC_A1_X3_1'] = coef_accel_1_y[0]
-	accel_1_params['TC_A1_X2_1'] = coef_accel_1_y[1]
-	accel_1_params['TC_A1_X1_1'] = coef_accel_1_y[2]
-	accel_1_params['TC_A1_X0_1'] = coef_accel_1_y[3]
-	fit_coef_accel_1_y = np.poly1d(coef_accel_1_y)
-	correction_y_resample = fit_coef_accel_1_y(temp_rel_resample)
-
-	# fit Z axis
-	correction_z = (sensor_accel_1['z'])-np.median(sensor_accel_1['z'])
-	coef_accel_1_z = np.polyfit(temp_rel,correction_z,3)
-	accel_1_params['TC_A1_X3_2'] = coef_accel_1_z[0]
-	accel_1_params['TC_A1_X2_2'] = coef_accel_1_z[1]
-	accel_1_params['TC_A1_X1_2'] = coef_accel_1_z[2]
-	accel_1_params['TC_A1_X0_2'] = coef_accel_1_z[3]
-	fit_coef_accel_1_z = np.poly1d(coef_accel_1_z)
-	correction_z_resample = fit_coef_accel_1_z(temp_rel_resample)
-
-	# accel 1 vs temperature
-	plt.figure(5,figsize=(20,13))
-
-	# draw plots
-	plt.subplot(3,1,1)
-	plt.plot(sensor_accel_1['temperature'],correction_x,'b')
-	plt.plot(temp_resample,correction_x_resample,'r')
-	plt.title('Accel 1 Bias vs Temperature')
-	plt.ylabel('X bias (m/s/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,2)
-	plt.plot(sensor_accel_1['temperature'],correction_y,'b')
-	plt.plot(temp_resample,correction_y_resample,'r')
-	plt.ylabel('Y bias (m/s/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,3)
-	plt.plot(sensor_accel_1['temperature'],correction_z,'b')
-	plt.plot(temp_resample,correction_z_resample,'r')
-	plt.ylabel('Z bias (m/s/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	pp.savefig()
+    accel_1_params['TC_A1_ID'] = int(np.median(sensor_accel_1['device_id']))
+
+    # find the min, max and reference temperature
+    accel_1_params['TC_A1_TMIN'] = np.amin(sensor_accel_1['temperature'])
+    accel_1_params['TC_A1_TMAX'] = np.amax(sensor_accel_1['temperature'])
+    accel_1_params['TC_A1_TREF'] = 0.5 * (accel_1_params['TC_A1_TMIN'] + accel_1_params['TC_A1_TMAX'])
+    temp_rel = sensor_accel_1['temperature'] - accel_1_params['TC_A1_TREF']
+    temp_rel_resample = np.linspace(accel_1_params['TC_A1_TMIN']-accel_1_params['TC_A1_TREF'], accel_1_params['TC_A1_TMAX']-accel_1_params['TC_A1_TREF'], 100)
+    temp_resample = temp_rel_resample + accel_1_params['TC_A1_TREF']
+
+    # fit X axis
+    correction_x = sensor_accel_1['x']-np.median(sensor_accel_1['x'])
+    coef_accel_1_x = np.polyfit(temp_rel,correction_x,3)
+    accel_1_params['TC_A1_X3_0'] = coef_accel_1_x[0]
+    accel_1_params['TC_A1_X2_0'] = coef_accel_1_x[1]
+    accel_1_params['TC_A1_X1_0'] = coef_accel_1_x[2]
+    accel_1_params['TC_A1_X0_0'] = coef_accel_1_x[3]
+    fit_coef_accel_1_x = np.poly1d(coef_accel_1_x)
+    correction_x_resample = fit_coef_accel_1_x(temp_rel_resample)
+
+    # fit Y axis
+    correction_y = sensor_accel_1['y']-np.median(sensor_accel_1['y'])
+    coef_accel_1_y = np.polyfit(temp_rel,correction_y,3)
+    accel_1_params['TC_A1_X3_1'] = coef_accel_1_y[0]
+    accel_1_params['TC_A1_X2_1'] = coef_accel_1_y[1]
+    accel_1_params['TC_A1_X1_1'] = coef_accel_1_y[2]
+    accel_1_params['TC_A1_X0_1'] = coef_accel_1_y[3]
+    fit_coef_accel_1_y = np.poly1d(coef_accel_1_y)
+    correction_y_resample = fit_coef_accel_1_y(temp_rel_resample)
+
+    # fit Z axis
+    correction_z = (sensor_accel_1['z'])-np.median(sensor_accel_1['z'])
+    coef_accel_1_z = np.polyfit(temp_rel,correction_z,3)
+    accel_1_params['TC_A1_X3_2'] = coef_accel_1_z[0]
+    accel_1_params['TC_A1_X2_2'] = coef_accel_1_z[1]
+    accel_1_params['TC_A1_X1_2'] = coef_accel_1_z[2]
+    accel_1_params['TC_A1_X0_2'] = coef_accel_1_z[3]
+    fit_coef_accel_1_z = np.poly1d(coef_accel_1_z)
+    correction_z_resample = fit_coef_accel_1_z(temp_rel_resample)
+
+    # accel 1 vs temperature
+    plt.figure(5,figsize=(20,13))
+
+    # draw plots
+    plt.subplot(3,1,1)
+    plt.plot(sensor_accel_1['temperature'],correction_x,'b')
+    plt.plot(temp_resample,correction_x_resample,'r')
+    plt.title('Accel 1 Bias vs Temperature')
+    plt.ylabel('X bias (m/s/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,2)
+    plt.plot(sensor_accel_1['temperature'],correction_y,'b')
+    plt.plot(temp_resample,correction_y_resample,'r')
+    plt.ylabel('Y bias (m/s/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,3)
+    plt.plot(sensor_accel_1['temperature'],correction_z,'b')
+    plt.plot(temp_resample,correction_z_resample,'r')
+    plt.ylabel('Z bias (m/s/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    pp.savefig()
 
 #################################################################################
 
@@ -619,75 +619,75 @@ accel_2_params = {
 
 # curve fit the data for accel 2 corrections
 if num_accels >= 3:
-	accel_2_params['TC_A2_ID'] = int(np.median(sensor_accel_2['device_id']))
-
-	# find the min, max and reference temperature
-	accel_2_params['TC_A2_TMIN'] = np.amin(sensor_accel_2['temperature'])
-	accel_2_params['TC_A2_TMAX'] = np.amax(sensor_accel_2['temperature'])
-	accel_2_params['TC_A2_TREF'] = 0.5 * (accel_2_params['TC_A2_TMIN'] + accel_2_params['TC_A2_TMAX'])
-	temp_rel = sensor_accel_2['temperature'] - accel_2_params['TC_A2_TREF']
-	temp_rel_resample = np.linspace(accel_2_params['TC_A2_TMIN']-accel_2_params['TC_A2_TREF'], accel_2_params['TC_A2_TMAX']-accel_2_params['TC_A2_TREF'], 100)
-	temp_resample = temp_rel_resample + accel_2_params['TC_A2_TREF']
-
-	# fit X axis
-	correction_x = sensor_accel_2['x']-np.median(sensor_accel_2['x'])
-	coef_accel_2_x = np.polyfit(temp_rel,correction_x,3)
-	accel_2_params['TC_A2_X3_0'] = coef_accel_2_x[0]
-	accel_2_params['TC_A2_X2_0'] = coef_accel_2_x[1]
-	accel_2_params['TC_A2_X1_0'] = coef_accel_2_x[2]
-	accel_2_params['TC_A2_X0_0'] = coef_accel_2_x[3]
-	fit_coef_accel_2_x = np.poly1d(coef_accel_2_x)
-	correction_x_resample = fit_coef_accel_2_x(temp_rel_resample)
-
-	# fit Y axis
-	correction_y = sensor_accel_2['y']-np.median(sensor_accel_2['y'])
-	coef_accel_2_y = np.polyfit(temp_rel,correction_y,3)
-	accel_2_params['TC_A2_X3_1'] = coef_accel_2_y[0]
-	accel_2_params['TC_A2_X2_1'] = coef_accel_2_y[1]
-	accel_2_params['TC_A2_X1_1'] = coef_accel_2_y[2]
-	accel_2_params['TC_A2_X0_1'] = coef_accel_2_y[3]
-	fit_coef_accel_2_y = np.poly1d(coef_accel_2_y)
-	correction_y_resample = fit_coef_accel_2_y(temp_rel_resample)
-
-	# fit Z axis
-	correction_z = sensor_accel_2['z']-np.median(sensor_accel_2['z'])
-	coef_accel_2_z = np.polyfit(temp_rel,correction_z,3)
-	accel_2_params['TC_A2_X3_2'] = coef_accel_2_z[0]
-	accel_2_params['TC_A2_X2_2'] = coef_accel_2_z[1]
-	accel_2_params['TC_A2_X1_2'] = coef_accel_2_z[2]
-	accel_2_params['TC_A2_X0_2'] = coef_accel_2_z[3]
-	fit_coef_accel_2_z = np.poly1d(coef_accel_2_z)
-	correction_z_resample = fit_coef_accel_2_z(temp_rel_resample)
-
-	# accel 2 vs temperature
-	plt.figure(6,figsize=(20,13))
-
-	# draw plots
-	plt.subplot(3,1,1)
-	plt.plot(sensor_accel_2['temperature'],correction_x,'b')
-	plt.plot(temp_resample,correction_x_resample,'r')
-	plt.title('Accel 2 Bias vs Temperature')
-	plt.ylabel('X bias (m/s/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,2)
-	plt.plot(sensor_accel_2['temperature'],correction_y,'b')
-	plt.plot(temp_resample,correction_y_resample,'r')
-	plt.ylabel('Y bias (m/s/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	# draw plots
-	plt.subplot(3,1,3)
-	plt.plot(sensor_accel_2['temperature'],correction_z,'b')
-	plt.plot(temp_resample,correction_z_resample,'r')
-	plt.ylabel('Z bias (m/s/s)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	pp.savefig()
+    accel_2_params['TC_A2_ID'] = int(np.median(sensor_accel_2['device_id']))
+
+    # find the min, max and reference temperature
+    accel_2_params['TC_A2_TMIN'] = np.amin(sensor_accel_2['temperature'])
+    accel_2_params['TC_A2_TMAX'] = np.amax(sensor_accel_2['temperature'])
+    accel_2_params['TC_A2_TREF'] = 0.5 * (accel_2_params['TC_A2_TMIN'] + accel_2_params['TC_A2_TMAX'])
+    temp_rel = sensor_accel_2['temperature'] - accel_2_params['TC_A2_TREF']
+    temp_rel_resample = np.linspace(accel_2_params['TC_A2_TMIN']-accel_2_params['TC_A2_TREF'], accel_2_params['TC_A2_TMAX']-accel_2_params['TC_A2_TREF'], 100)
+    temp_resample = temp_rel_resample + accel_2_params['TC_A2_TREF']
+
+    # fit X axis
+    correction_x = sensor_accel_2['x']-np.median(sensor_accel_2['x'])
+    coef_accel_2_x = np.polyfit(temp_rel,correction_x,3)
+    accel_2_params['TC_A2_X3_0'] = coef_accel_2_x[0]
+    accel_2_params['TC_A2_X2_0'] = coef_accel_2_x[1]
+    accel_2_params['TC_A2_X1_0'] = coef_accel_2_x[2]
+    accel_2_params['TC_A2_X0_0'] = coef_accel_2_x[3]
+    fit_coef_accel_2_x = np.poly1d(coef_accel_2_x)
+    correction_x_resample = fit_coef_accel_2_x(temp_rel_resample)
+
+    # fit Y axis
+    correction_y = sensor_accel_2['y']-np.median(sensor_accel_2['y'])
+    coef_accel_2_y = np.polyfit(temp_rel,correction_y,3)
+    accel_2_params['TC_A2_X3_1'] = coef_accel_2_y[0]
+    accel_2_params['TC_A2_X2_1'] = coef_accel_2_y[1]
+    accel_2_params['TC_A2_X1_1'] = coef_accel_2_y[2]
+    accel_2_params['TC_A2_X0_1'] = coef_accel_2_y[3]
+    fit_coef_accel_2_y = np.poly1d(coef_accel_2_y)
+    correction_y_resample = fit_coef_accel_2_y(temp_rel_resample)
+
+    # fit Z axis
+    correction_z = sensor_accel_2['z']-np.median(sensor_accel_2['z'])
+    coef_accel_2_z = np.polyfit(temp_rel,correction_z,3)
+    accel_2_params['TC_A2_X3_2'] = coef_accel_2_z[0]
+    accel_2_params['TC_A2_X2_2'] = coef_accel_2_z[1]
+    accel_2_params['TC_A2_X1_2'] = coef_accel_2_z[2]
+    accel_2_params['TC_A2_X0_2'] = coef_accel_2_z[3]
+    fit_coef_accel_2_z = np.poly1d(coef_accel_2_z)
+    correction_z_resample = fit_coef_accel_2_z(temp_rel_resample)
+
+    # accel 2 vs temperature
+    plt.figure(6,figsize=(20,13))
+
+    # draw plots
+    plt.subplot(3,1,1)
+    plt.plot(sensor_accel_2['temperature'],correction_x,'b')
+    plt.plot(temp_resample,correction_x_resample,'r')
+    plt.title('Accel 2 Bias vs Temperature')
+    plt.ylabel('X bias (m/s/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,2)
+    plt.plot(sensor_accel_2['temperature'],correction_y,'b')
+    plt.plot(temp_resample,correction_y_resample,'r')
+    plt.ylabel('Y bias (m/s/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    # draw plots
+    plt.subplot(3,1,3)
+    plt.plot(sensor_accel_2['temperature'],correction_z,'b')
+    plt.plot(temp_resample,correction_z_resample,'r')
+    plt.ylabel('Z bias (m/s/s)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    pp.savefig()
 
 #################################################################################
 
@@ -761,41 +761,41 @@ baro_1_params = {
 
 if num_baros >= 2:
 
-	# curve fit the data for baro 0 corrections
-	baro_1_params['TC_B1_ID'] = int(np.median(sensor_baro_1['device_id']))
-
-	# find the min, max and reference temperature
-	baro_1_params['TC_B1_TMIN'] = np.amin(sensor_baro_1['temperature'])
-	baro_1_params['TC_B1_TMAX'] = np.amax(sensor_baro_1['temperature'])
-	baro_1_params['TC_B1_TREF'] = 0.5 * (baro_1_params['TC_B1_TMIN'] + baro_1_params['TC_B1_TMAX'])
-	temp_rel = sensor_baro_1['temperature'] - baro_1_params['TC_B1_TREF']
-	temp_rel_resample = np.linspace(baro_1_params['TC_B1_TMIN']-baro_1_params['TC_B1_TREF'], baro_1_params['TC_B1_TMAX']-baro_1_params['TC_B1_TREF'], 100)
-	temp_resample = temp_rel_resample + baro_1_params['TC_B1_TREF']
-
-	# fit data
-	median_pressure = np.median(sensor_baro_1['pressure']);
-	coef_baro_1_x = np.polyfit(temp_rel,100*(sensor_baro_1['pressure']-median_pressure),5) # convert from hPa to Pa
-	baro_1_params['TC_B1_X5'] = coef_baro_1_x[0]
-	baro_1_params['TC_B1_X4'] = coef_baro_1_x[1]
-	baro_1_params['TC_B1_X3'] = coef_baro_1_x[2]
-	baro_1_params['TC_B1_X2'] = coef_baro_1_x[3]
-	baro_1_params['TC_B1_X1'] = coef_baro_1_x[4]
-	baro_1_params['TC_B1_X0'] = coef_baro_1_x[5]
-	fit_coef_baro_1_x = np.poly1d(coef_baro_1_x)
-	baro_1_x_resample = fit_coef_baro_1_x(temp_rel_resample)
-
-	# baro 1 vs temperature
-	plt.figure(8,figsize=(20,13))
-
-	# draw plots
-	plt.plot(sensor_baro_1['temperature'],100*sensor_baro_1['pressure']-100*median_pressure,'b')
-	plt.plot(temp_resample,baro_1_x_resample,'r')
-	plt.title('Baro 1 Bias vs Temperature')
-	plt.ylabel('Z bias (Pa)')
-	plt.xlabel('temperature (degC)')
-	plt.grid()
-
-	pp.savefig()
+    # curve fit the data for baro 0 corrections
+    baro_1_params['TC_B1_ID'] = int(np.median(sensor_baro_1['device_id']))
+
+    # find the min, max and reference temperature
+    baro_1_params['TC_B1_TMIN'] = np.amin(sensor_baro_1['temperature'])
+    baro_1_params['TC_B1_TMAX'] = np.amax(sensor_baro_1['temperature'])
+    baro_1_params['TC_B1_TREF'] = 0.5 * (baro_1_params['TC_B1_TMIN'] + baro_1_params['TC_B1_TMAX'])
+    temp_rel = sensor_baro_1['temperature'] - baro_1_params['TC_B1_TREF']
+    temp_rel_resample = np.linspace(baro_1_params['TC_B1_TMIN']-baro_1_params['TC_B1_TREF'], baro_1_params['TC_B1_TMAX']-baro_1_params['TC_B1_TREF'], 100)
+    temp_resample = temp_rel_resample + baro_1_params['TC_B1_TREF']
+
+    # fit data
+    median_pressure = np.median(sensor_baro_1['pressure']);
+    coef_baro_1_x = np.polyfit(temp_rel,100*(sensor_baro_1['pressure']-median_pressure),5) # convert from hPa to Pa
+    baro_1_params['TC_B1_X5'] = coef_baro_1_x[0]
+    baro_1_params['TC_B1_X4'] = coef_baro_1_x[1]
+    baro_1_params['TC_B1_X3'] = coef_baro_1_x[2]
+    baro_1_params['TC_B1_X2'] = coef_baro_1_x[3]
+    baro_1_params['TC_B1_X1'] = coef_baro_1_x[4]
+    baro_1_params['TC_B1_X0'] = coef_baro_1_x[5]
+    fit_coef_baro_1_x = np.poly1d(coef_baro_1_x)
+    baro_1_x_resample = fit_coef_baro_1_x(temp_rel_resample)
+
+    # baro 1 vs temperature
+    plt.figure(8,figsize=(20,13))
+
+    # draw plots
+    plt.plot(sensor_baro_1['temperature'],100*sensor_baro_1['pressure']-100*median_pressure,'b')
+    plt.plot(temp_resample,baro_1_x_resample,'r')
+    plt.title('Baro 1 Bias vs Temperature')
+    plt.ylabel('Z bias (Pa)')
+    plt.xlabel('temperature (degC)')
+    plt.grid()
+
+    pp.savefig()
 
 #################################################################################
 
-- 
GitLab