Library for accelerometer KXR94-2050

Committer:
66keg
Date:
Sat Jan 03 15:06:55 2015 +0000
Revision:
0:2700ada3a245
Child:
2:1e4a75b43643
created

Who changed what in which revision?

UserRevisionLine numberNew contents of line
66keg 0:2700ada3a245 1 #include "KXR94_2050.h"
66keg 0:2700ada3a245 2
66keg 0:2700ada3a245 3 KXR94_2050::KXR94_2050(PinName OutX,
66keg 0:2700ada3a245 4 PinName OutY,
66keg 0:2700ada3a245 5 PinName OutZ) : _OutX(OutX), _OutY(OutY), _OutZ(OutZ) {
66keg 0:2700ada3a245 6 X_ZERO_VAL = 2097;
66keg 0:2700ada3a245 7 Y_ZERO_VAL = 2050;
66keg 0:2700ada3a245 8 Z_ZERO_VAL = 2052;
66keg 0:2700ada3a245 9 }
66keg 0:2700ada3a245 10
66keg 0:2700ada3a245 11 void KXR94_2050::gsetZeroVal(uint16_t x_zero, uint16_t y_zero, uint16_t z_zero) {
66keg 0:2700ada3a245 12 X_ZERO_VAL = x_zero;
66keg 0:2700ada3a245 13 Y_ZERO_VAL = y_zero;
66keg 0:2700ada3a245 14 Z_ZERO_VAL = z_zero;
66keg 0:2700ada3a245 15 }
66keg 0:2700ada3a245 16
66keg 0:2700ada3a245 17 void KXR94_2050::getRawData(float &pitch, float &roll) {
66keg 0:2700ada3a245 18 uint16_t Xacc = X_value.read_u16();
66keg 0:2700ada3a245 19 uint16_t Yacc = Y_value.read_u16();
66keg 0:2700ada3a245 20 uint16_t Zacc = Z_value.read_u16();
66keg 0:2700ada3a245 21
66keg 0:2700ada3a245 22 int xval = Xacc - X_ZERO_VAL;
66keg 0:2700ada3a245 23 int yval = Yacc - Y_ZERO_VAL;
66keg 0:2700ada3a245 24 int zval = Zacc - Z_ZERO_VAL;
66keg 0:2700ada3a245 25
66keg 0:2700ada3a245 26 roll = atan2l(yval, zval) * 180.0 / PI;
66keg 0:2700ada3a245 27 pitch = atan2l(xval, zval) * 180.0 / PI;
66keg 0:2700ada3a245 28 }