19 """Collect accelerometer readings at static positions"""
20 print(
"Accelerometer Static Position Calibration")
22 print(
"Place sensor in the following orientations:")
23 print(
"1. +X axis up (gravity in +X)")
24 print(
"2. -X axis up (gravity in -X)")
25 print(
"3. +Y axis up (gravity in +Y)")
26 print(
"4. -Y axis up (gravity in -X)")
27 print(
"5. +Z axis up (gravity in +Z)")
28 print(
"6. -Z axis up (gravity in -Z)")
34 (
"+X", np.array([9.81, 0.0, 0.0])),
35 (
"-X", np.array([-9.81, 0.0, 0.0])),
36 (
"+Y", np.array([0.0, 9.81, 0.0])),
37 (
"-Y", np.array([0.0, -9.81, 0.0])),
38 (
"+Z", np.array([0.0, 0.0, 9.81])),
39 (
"-Z", np.array([0.0, 0.0, -9.81])),
42 for i, (name, ref_gravity)
in enumerate(orientations, 1):
43 input(f
"Place sensor in {name} orientation and press Enter...")
46 print(
"Collecting readings (5 seconds)...")
52 raw = np.array([0.0, 0.0, 0.0])
57 avg_reading = np.mean(readings, axis=0)
61 raw_value=avg_reading,
62 reference_value=ref_gravity,
66 calibrator.add_calibration_point(point)
68 print(f
" Collected {name}: {avg_reading}")