Skip to content

CurieIMU API changes #119

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ void setup() {
CurieIMU.begin();

// Set the accelerometer range to 2G
CurieIMU.setAccelerometerRange(CURIE_IMU_ACCELEROMETER_RANGE_2G);
CurieIMU.setAccelerometerRange(2);
}

void loop() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ void setup() {
CurieIMU.begin();

// Set the accelerometer range to 2G
CurieIMU.setAccelerometerRange(CURIE_IMU_ACCELEROMETER_RANGE_2G);
CurieIMU.setAccelerometerRange(2);
}

void loop() {
Expand Down
2 changes: 1 addition & 1 deletion libraries/CurieIMU/examples/Gyro/Gyro.ino
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ void setup() {
CurieIMU.begin();

// Set the accelerometer range to 250 degrees/second
CurieIMU.setGyroRange(CURIE_IMU_GYRO_RANGE_250);
CurieIMU.setGyroRange(250);
}

void loop() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ void setup() {

// The board must be resting in a horizontal position for
// the following calibration procedure to work correctly!
Serial.print("Starting Gyroscope calibration...");
Serial.print("Starting Gyroscope calibration and enabling offset compensation...");
CurieIMU.autoCalibrateGyroOffset();
Serial.println(" Done");

Serial.print("Starting Acceleration calibration...");
Serial.print("Starting Acceleration calibration and enabling offset compensation...");
CurieIMU.autoCalibrateAccelerometerOffset(X_AXIS, 0);
CurieIMU.autoCalibrateAccelerometerOffset(Y_AXIS, 0);
CurieIMU.autoCalibrateAccelerometerOffset(Z_AXIS, 1);
Expand All @@ -106,13 +106,6 @@ void setup() {
Serial.print(CurieIMU.getGyroOffset(Y_AXIS));
Serial.print("\t"); // 0
Serial.println(CurieIMU.getGyroOffset(Z_AXIS));

Serial.println("Enabling Gyroscope/Acceleration offset compensation");
CurieIMU.enableGyroOffset(true);
CurieIMU.enableAccelerometerOffset(true);

Serial.println(CurieIMU.accelerometerOffsetEnabled());
Serial.println(CurieIMU.gyroOffsetEnabled());
}

// configure Arduino LED for activity indicator
Expand Down
6 changes: 3 additions & 3 deletions libraries/CurieIMU/examples/ShockDetect/ShockDetect.ino
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ void setup() {
CurieIMU.attachInterrupt(eventCallback);

/* Enable Shock Detection */
CurieIMU.setDetectionThreshold(CURIE_IMU_SHOCK, 192); // 1.5g
CurieIMU.setDetectionDuration(CURIE_IMU_SHOCK, CURIE_IMU_TAP_SHOCK_DURATION_50MS); // 50ms
CurieIMU.enableInterrupt(CURIE_IMU_SHOCK, true);
CurieIMU.setDetectionThreshold(CURIE_IMU_SHOCK, 1500); // 1.5g = 1500 mg
CurieIMU.setDetectionDuration(CURIE_IMU_SHOCK, 50); // 50ms
CurieIMU.interrupts(CURIE_IMU_SHOCK);

Serial.println("IMU initialisation complete, waiting for events...");
}
Expand Down
2 changes: 1 addition & 1 deletion libraries/CurieIMU/examples/StepCount/StepCount.ino
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ void setup() {
// attach the eventCallback function as the
// step event handler:
CurieIMU.attachInterrupt(eventCallback);
CurieIMU.enableInterrupt(CURIE_IMU_STEP, true); // turn on step detection
CurieIMU.interrupts(CURIE_IMU_STEP); // turn on step detection

Serial.println("IMU initialisation complete, waiting for events...");
}
Expand Down
8 changes: 4 additions & 4 deletions libraries/CurieIMU/examples/TapDetect/TapDetect.ino
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,16 @@ void setup() {
CurieIMU.attachInterrupt(eventCallback);

// Increase Accelerometer range to allow detection of stronger taps (< 4g)
CurieIMU.setAccelerometerRange(CURIE_IMU_ACCELEROMETER_RANGE_4G);
CurieIMU.setAccelerometerRange(4);

// Reduce threshold to allow detection of weaker taps (>= 750mg)
CurieIMU.setDetectionThreshold(CURIE_IMU_TAP, 6); // (6 x 125mg)
CurieIMU.setDetectionThreshold(CURIE_IMU_TAP, 750); // (750mg)

// Set the time window for 2 taps to be registered as a double-tap (<= 250 milliseconds)
CurieIMU.setDetectionDuration(CURIE_IMU_DOUBLE_TAP, CURIE_IMU_DOUBLE_TAP_DURATION_250MS);
CurieIMU.setDetectionDuration(CURIE_IMU_DOUBLE_TAP, 250);

// Enable Double-Tap detection
CurieIMU.enableInterrupt(CURIE_IMU_DOUBLE_TAP, true);
CurieIMU.interrupts(CURIE_IMU_DOUBLE_TAP);

Serial.println("IMU initialisation complete, waiting for events...");
}
Expand Down
130 changes: 23 additions & 107 deletions libraries/CurieIMU/keywords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ setAccelerometerRange KEYWORD1
autoCalibrateGyroOffset KEYWORD1
autoCalibrateAccelerometerOffset KEYWORD1

enableGyroOffset KEYWORD1
enableAccelerometerOffset KEYWORD1
noGyroOffset KEYWORD1
noAccelerometerOffset KEYWORD1
gyroOffsetEnabled KEYWORD1
accelerometerOffsetEnabled KEYWORD1

Expand All @@ -44,8 +44,9 @@ setDetectionThreshold KEYWORD1
getDetectionDuration KEYWORD1
setDetectionDuration KEYWORD1

enableInterrupt KEYWORD1
interruptEnabled KEYWORD1
interrupts KEYWORD1
noInterrupts KEYWORD1
interruptsEnabled KEYWORD1

getInterruptBits KEYWORD1
getInterruptStatus KEYWORD1
Expand Down Expand Up @@ -80,111 +81,26 @@ CurieIMU KEYWORD2
# Constants (LITERAL1)
#######################################

CURIE_IMU_ACCELEROMETER_RATE_25_2HZ LITERAL1
CURIE_IMU_ACCELEROMETER_RATE_25HZ LITERAL1
CURIE_IMU_ACCELEROMETER_RATE_50HZ LITERAL1
CURIE_IMU_ACCELEROMETER_RATE_100HZ LITERAL1
CURIE_IMU_ACCELEROMETER_RATE_200HZ LITERAL1
CURIE_IMU_ACCELEROMETER_RATE_400HZ LITERAL1
CURIE_IMU_ACCELEROMETER_RATE_800HZ LITERAL1
CURIE_IMU_ACCELEROMETER_RATE_1600HZ LITERAL1

CURIE_IMU_GYRO_RATE_25HZ LITERAL1
CURIE_IMU_GYRO_RATE_50HZ LITERAL1
CURIE_IMU_GYRO_RATE_100HZ LITERAL1
CURIE_IMU_GYRO_RATE_200HZ LITERAL1
CURIE_IMU_GYRO_RATE_400HZ LITERAL1
CURIE_IMU_GYRO_RATE_800HZ LITERAL1
CURIE_IMU_GYRO_RATE_1600HZ LITERAL1
CURIE_IMU_GYRO_RATE_3200HZ LITERAL1

CURIE_IMU_GYRO_RANGE_2000 LITERAL1
CURIE_IMU_GYRO_RANGE_1000 LITERAL1
CURIE_IMU_GYRO_RANGE_500 LITERAL1
CURIE_IMU_GYRO_RANGE_250 LITERAL1
CURIE_IMU_GYRO_RANGE_125 LITERAL1

CURIE_IMU_ACCELEROMETER_RANGE_2G LITERAL1
CURIE_IMU_ACCELEROMETER_RANGE_4G LITERAL1
CURIE_IMU_ACCELEROMETER_RANGE_8G LITERAL1
CURIE_IMU_ACCELEROMETER_RANGE_16G LITERAL1
X_AXIS LITERAL1
Y_AXIS LITERAL1
Z_AXIS LITERAL1

POSITIVE LITERAL1
NEGATIVE LITERAL1

CURIE_IMU_FREEFALL LITERAL1
CURIE_IMU_SHOCK LITERAL1
CURIE_IMU_MOTION LITERAL1
CURIE_IMU_ZERO_MOTION LITERAL1
CURIE_IMU_STEP LITERAL1
CURIE_IMU_TAP LITERAL1
CURIE_IMU_TAP_SHOCK LITERAL1
CURIE_IMU_TAP_QUIET LITERAL1
CURIE_IMU_DOUBLE_TAP LITERAL1
CURIE_IMU_FIFO_FULL LITERAL1
CURIE_IMU_DATA_READY LITERAL1

CURIE_IMU_STEP_MODE_NORMAL LITERAL1
CURIE_IMU_STEP_MODE_SENSITIVE LITERAL1
CURIE_IMU_STEP_MODE_ROBUST LITERAL1
CURIE_IMU_STEP_MODE_UNKNOWN LITERAL1

CURIE_IMU_DOUBLE_TAP_DURATION_50MS LITERAL1
CURIE_IMU_DOUBLE_TAP_DURATION_100MS LITERAL1
CURIE_IMU_DOUBLE_TAP_DURATION_150MS LITERAL1
CURIE_IMU_DOUBLE_TAP_DURATION_200MS LITERAL1
CURIE_IMU_DOUBLE_TAP_DURATION_250MS LITERAL1
CURIE_IMU_DOUBLE_TAP_DURATION_375MS LITERAL1
CURIE_IMU_DOUBLE_TAP_DURATION_500MS LITERAL1
CURIE_IMU_DOUBLE_TAP_DURATION_700MS LITERAL1


CURIE_IMU_ZERO_MOTION_DURATION_1_28S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_2_56S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_3_84S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_5_12S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_6_40S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_7_68S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_8_96S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_10_24S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_11_52S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_12_80S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_14_08S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_15_36S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_16_64S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_17_92S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_19_20S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_20_48S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_25_60S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_30_72S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_35_84S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_40_96S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_46_08S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_51_20S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_56_32S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_61_44S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_66_56S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_71_68S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_76_80S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_81_92S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_87_04S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_92_16S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_97_28S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_102_40S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_112_64S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_122_88S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_133_12S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_143_36S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_153_60S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_163_84S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_174_08S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_184_32S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_194_56S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_204_80S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_215_04S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_225_28S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_235_52S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_245_76S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_256_00S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_266_24S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_276_48S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_286_72S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_296_96S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_307_20S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_317_44S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_327_68S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_337_92S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_348_16S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_358_40S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_368_64S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_378_88S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_389_12S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_399_36S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_409_60S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_419_84S LITERAL1
CURIE_IMU_ZERO_MOTION_DURATION_430_08S LITERAL1
Loading