-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaccelerometer.h
102 lines (86 loc) · 3.71 KB
/
accelerometer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <Adafruit_MSA301.h>
class Accelerometer{
private:
Adafruit_MSA301 msa;
public:
boolean DEBUG_MSA = false;
void setup() {
if (! msa.begin()) {
Serial.println("Failed to find MSA301 chip");
}
Serial.println("MSA301 Found.");
if(DEBUG_MSA == true) {
printMSASettings();
}
};
void update() {
msa.read();
if(DEBUG_MSA == true) {
Serial.print("X: "); Serial.print(msa.x);
Serial.print(" \tY: "); Serial.print(msa.y);
Serial.print(" \tZ: "); Serial.print(msa.z);
}
};
int x() {
return msa.x;
}
int y() {
return msa.y;
}
int z() {
return msa.z;
}
void printMSASettings() {
//msa.setDataRate(MSA301_DATARATE_31_25_HZ);
Serial.print("Data rate set to: ");
switch (msa.getDataRate()) {
case MSA301_DATARATE_1_HZ: Serial.println("1 Hz"); break;
case MSA301_DATARATE_1_95_HZ: Serial.println("1.95 Hz"); break;
case MSA301_DATARATE_3_9_HZ: Serial.println("3.9 Hz"); break;
case MSA301_DATARATE_7_81_HZ: Serial.println("7.81 Hz"); break;
case MSA301_DATARATE_15_63_HZ: Serial.println("15.63 Hz"); break;
case MSA301_DATARATE_31_25_HZ: Serial.println("31.25 Hz"); break;
case MSA301_DATARATE_62_5_HZ: Serial.println("62.5 Hz"); break;
case MSA301_DATARATE_125_HZ: Serial.println("125 Hz"); break;
case MSA301_DATARATE_250_HZ: Serial.println("250 Hz"); break;
case MSA301_DATARATE_500_HZ: Serial.println("500 Hz"); break;
case MSA301_DATARATE_1000_HZ: Serial.println("1000 Hz"); break;
}
//msa.setPowerMode(MSA301_SUSPENDMODE);
Serial.print("Power mode set to: ");
switch (msa.getPowerMode()) {
case MSA301_NORMALMODE: Serial.println("Normal"); break;
case MSA301_LOWPOWERMODE: Serial.println("Low Power"); break;
case MSA301_SUSPENDMODE: Serial.println("Suspend"); break;
}
//msa.setBandwidth(MSA301_BANDWIDTH_31_25_HZ);
Serial.print("Bandwidth set to: ");
switch (msa.getBandwidth()) {
case MSA301_BANDWIDTH_1_95_HZ: Serial.println("1.95 Hz"); break;
case MSA301_BANDWIDTH_3_9_HZ: Serial.println("3.9 Hz"); break;
case MSA301_BANDWIDTH_7_81_HZ: Serial.println("7.81 Hz"); break;
case MSA301_BANDWIDTH_15_63_HZ: Serial.println("15.63 Hz"); break;
case MSA301_BANDWIDTH_31_25_HZ: Serial.println("31.25 Hz"); break;
case MSA301_BANDWIDTH_62_5_HZ: Serial.println("62.5 Hz"); break;
case MSA301_BANDWIDTH_125_HZ: Serial.println("125 Hz"); break;
case MSA301_BANDWIDTH_250_HZ: Serial.println("250 Hz"); break;
case MSA301_BANDWIDTH_500_HZ: Serial.println("500 Hz"); break;
}
//msa.setRange(MSA301_RANGE_2_G);
Serial.print("Range set to: ");
switch (msa.getRange()) {
case MSA301_RANGE_2_G: Serial.println("+-2G"); break;
case MSA301_RANGE_4_G: Serial.println("+-4G"); break;
case MSA301_RANGE_8_G: Serial.println("+-8G"); break;
case MSA301_RANGE_16_G: Serial.println("+-16G"); break;
}
//msa.setResolution(MSA301_RESOLUTION_14 );
Serial.print("Resolution set to: ");
switch (msa.getResolution()) {
case MSA301_RESOLUTION_14: Serial.println("14 bits"); break;
case MSA301_RESOLUTION_12: Serial.println("12 bits"); break;
case MSA301_RESOLUTION_10: Serial.println("10 bits"); break;
case MSA301_RESOLUTION_8: Serial.println("8 bits"); break;
}
};
};