Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1992 → Rev 1993

/branches/V0.82b-Arthur-P/adxl345driver/ADXL345.cpp
0,0 → 1,608
/**************************************************************************
* *
* ADXL345 Driver for Arduino *
* *
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU License. *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU License V2 for more details. *
* *
***************************************************************************/
 
#include "WProgram.h"
#include "ADXL345.h"
#include <Wire.h>
 
#define TO_READ (6) // num of bytes we are going to read each time (two bytes for each axis)
 
ADXL345::ADXL345() {
status = ADXL345_OK;
error_code = ADXL345_NO_ERROR;
 
gains[0] = 0.00376390;
gains[1] = 0.00376009;
gains[2] = 0.00349265;
}
 
void ADXL345::init(int address) {
_dev_address = address;
powerOn();
}
 
void ADXL345::powerOn() {
//Turning on the ADXL345
//writeTo(ADXL345_POWER_CTL, 0);
//writeTo(ADXL345_POWER_CTL, 16);
writeTo(ADXL345_POWER_CTL, 8);
}
 
// Reads the acceleration into an array of three places
void ADXL345::readAccel(int *xyz){
readAccel(xyz, xyz + 1, xyz + 2);
}
 
// Reads the acceleration into three variable x, y and z
void ADXL345::readAccel(int *x, int *y, int *z) {
readFrom(ADXL345_DATAX0, TO_READ, _buff); //read the acceleration data from the ADXL345
 
// each axis reading comes in 10 bit resolution, ie 2 bytes. Least Significat Byte first!!
// thus we are converting both bytes in to one int
*x = (((int)_buff[1]) << 8) | _buff[0];
*y = (((int)_buff[3]) << 8) | _buff[2];
*z = (((int)_buff[5]) << 8) | _buff[4];
}
 
void ADXL345::get_Gxyz(float *xyz){
int i;
int xyz_int[3];
readAccel(xyz_int);
for(i=0; i<3; i++){
xyz[i] = xyz_int[i] * gains[i];
}
}
 
// Writes val to address register on device
void ADXL345::writeTo(byte address, byte val) {
Wire.beginTransmission(_dev_address); // start transmission to device
Wire.send(address); // send register address
Wire.send(val); // send value to write
Wire.endTransmission(); // end transmission
}
 
// Reads num bytes starting from address register on device in to _buff array
void ADXL345::readFrom(byte address, int num, byte _buff[]) {
Wire.beginTransmission(_dev_address); // start transmission to device
Wire.send(address); // sends address to read from
Wire.endTransmission(); // end transmission
 
Wire.beginTransmission(_dev_address); // start transmission to device
Wire.requestFrom(_dev_address, num); // request 6 bytes from device
 
int i = 0;
while(Wire.available()) // device may send less than requested (abnormal)
{
_buff[i] = Wire.receive(); // receive a byte
i++;
}
if(i != num){
status = ADXL345_ERROR;
error_code = ADXL345_READ_ERROR;
}
Wire.endTransmission(); // end transmission
}
 
// Gets the range setting and return it into rangeSetting
// it can be 2, 4, 8 or 16
void ADXL345::getRangeSetting(byte* rangeSetting) {
byte _b;
readFrom(ADXL345_DATA_FORMAT, 1, &_b);
*rangeSetting = _b & B00000011;
}
 
// Sets the range setting, possible values are: 2, 4, 8, 16
void ADXL345::setRangeSetting(int val) {
byte _s;
byte _b;
 
switch (val) {
case 2:
_s = B00000000;
break;
case 4:
_s = B00000001;
break;
case 8:
_s = B00000010;
break;
case 16:
_s = B00000011;
break;
default:
_s = B00000000;
}
readFrom(ADXL345_DATA_FORMAT, 1, &_b);
_s |= (_b & B11101100);
writeTo(ADXL345_DATA_FORMAT, _s);
}
// gets the state of the SELF_TEST bit
bool ADXL345::getSelfTestBit() {
return getRegisterBit(ADXL345_DATA_FORMAT, 7);
}
 
// Sets the SELF-TEST bit
// if set to 1 it applies a self-test force to the sensor causing a shift in the output data
// if set to 0 it disables the self-test force
void ADXL345::setSelfTestBit(bool selfTestBit) {
setRegisterBit(ADXL345_DATA_FORMAT, 7, selfTestBit);
}
 
// Gets the state of the SPI bit
bool ADXL345::getSpiBit() {
return getRegisterBit(ADXL345_DATA_FORMAT, 6);
}
 
// Sets the SPI bit
// if set to 1 it sets the device to 3-wire mode
// if set to 0 it sets the device to 4-wire SPI mode
void ADXL345::setSpiBit(bool spiBit) {
setRegisterBit(ADXL345_DATA_FORMAT, 6, spiBit);
}
 
// Gets the state of the INT_INVERT bit
bool ADXL345::getInterruptLevelBit() {
return getRegisterBit(ADXL345_DATA_FORMAT, 5);
}
 
// Sets the INT_INVERT bit
// if set to 0 sets the interrupts to active high
// if set to 1 sets the interrupts to active low
void ADXL345::setInterruptLevelBit(bool interruptLevelBit) {
setRegisterBit(ADXL345_DATA_FORMAT, 5, interruptLevelBit);
}
 
// Gets the state of the FULL_RES bit
bool ADXL345::getFullResBit() {
return getRegisterBit(ADXL345_DATA_FORMAT, 3);
}
 
// Sets the FULL_RES bit
// if set to 1, the device is in full resolution mode, where the output resolution increases with the
// g range set by the range bits to maintain a 4mg/LSB scal factor
// if set to 0, the device is in 10-bit mode, and the range buts determine the maximum g range
// and scale factor
void ADXL345::setFullResBit(bool fullResBit) {
setRegisterBit(ADXL345_DATA_FORMAT, 3, fullResBit);
}
 
// Gets the state of the justify bit
bool ADXL345::getJustifyBit() {
return getRegisterBit(ADXL345_DATA_FORMAT, 2);
}
 
// Sets the JUSTIFY bit
// if sets to 1 selects the left justified mode
// if sets to 0 selects right justified mode with sign extension
void ADXL345::setJustifyBit(bool justifyBit) {
setRegisterBit(ADXL345_DATA_FORMAT, 2, justifyBit);
}
 
// Sets the THRESH_TAP byte value
// it should be between 0 and 255
// the scale factor is 62.5 mg/LSB
// A value of 0 may result in undesirable behavior
void ADXL345::setTapThreshold(int tapThreshold) {
tapThreshold = min(max(tapThreshold,0),255);
byte _b = byte (tapThreshold);
writeTo(ADXL345_THRESH_TAP, _b);
}
 
// Gets the THRESH_TAP byte value
// return value is comprised between 0 and 255
// the scale factor is 62.5 mg/LSB
int ADXL345::getTapThreshold() {
byte _b;
readFrom(ADXL345_THRESH_TAP, 1, &_b);
return int (_b);
}
 
// set/get the gain for each axis in Gs / count
void ADXL345::setAxisGains(float *_gains){
int i;
for(i = 0; i < 3; i++){
gains[i] = _gains[i];
}
}
void ADXL345::getAxisGains(float *_gains){
int i;
for(i = 0; i < 3; i++){
_gains[i] = gains[i];
}
}
 
// Sets the OFSX, OFSY and OFSZ bytes
// OFSX, OFSY and OFSZ are user offset adjustments in twos complement format with
// a scale factor of 15,6mg/LSB
// OFSX, OFSY and OFSZ should be comprised between
void ADXL345::setAxisOffset(int x, int y, int z) {
writeTo(ADXL345_OFSX, byte (x));
writeTo(ADXL345_OFSY, byte (y));
writeTo(ADXL345_OFSZ, byte (z));
}
 
// Gets the OFSX, OFSY and OFSZ bytes
void ADXL345::getAxisOffset(int* x, int* y, int*z) {
byte _b;
readFrom(ADXL345_OFSX, 1, &_b);
*x = int (_b);
readFrom(ADXL345_OFSY, 1, &_b);
*y = int (_b);
readFrom(ADXL345_OFSZ, 1, &_b);
*z = int (_b);
}
 
// Sets the DUR byte
// The DUR byte contains an unsigned time value representing the maximum time
// that an event must be above THRESH_TAP threshold to qualify as a tap event
// The scale factor is 625µs/LSB
// A value of 0 disables the tap/float tap funcitons. Max value is 255.
void ADXL345::setTapDuration(int tapDuration) {
tapDuration = min(max(tapDuration,0),255);
byte _b = byte (tapDuration);
writeTo(ADXL345_DUR, _b);
}
 
// Gets the DUR byte
int ADXL345::getTapDuration() {
byte _b;
readFrom(ADXL345_DUR, 1, &_b);
return int (_b);
}
 
// Sets the latency (latent register) which contains an unsigned time value
// representing the wait time from the detection of a tap event to the start
// of the time window, during which a possible second tap can be detected.
// The scale factor is 1.25ms/LSB. A value of 0 disables the float tap function.
// It accepts a maximum value of 255.
void ADXL345::setDoubleTapLatency(int floatTapLatency) {
byte _b = byte (floatTapLatency);
writeTo(ADXL345_LATENT, _b);
}
 
// Gets the Latent value
int ADXL345::getDoubleTapLatency() {
byte _b;
readFrom(ADXL345_LATENT, 1, &_b);
return int (_b);
}
 
// Sets the Window register, which contains an unsigned time value representing
// the amount of time after the expiration of the latency time (Latent register)
// during which a second valud tap can begin. The scale factor is 1.25ms/LSB. A
// value of 0 disables the float tap function. The maximum value is 255.
void ADXL345::setDoubleTapWindow(int floatTapWindow) {
floatTapWindow = min(max(floatTapWindow,0),255);
byte _b = byte (floatTapWindow);
writeTo(ADXL345_WINDOW, _b);
}
 
// Gets the Window register
int ADXL345::getDoubleTapWindow() {
byte _b;
readFrom(ADXL345_WINDOW, 1, &_b);
return int (_b);
}
 
// Sets the THRESH_ACT byte which holds the threshold value for detecting activity.
// The data format is unsigned, so the magnitude of the activity event is compared
// with the value is compared with the value in the THRESH_ACT register. The scale
// factor is 62.5mg/LSB. A value of 0 may result in undesirable behavior if the
// activity interrupt is enabled. The maximum value is 255.
void ADXL345::setActivityThreshold(int activityThreshold) {
activityThreshold = min(max(activityThreshold,0),255);
byte _b = byte (activityThreshold);
writeTo(ADXL345_THRESH_ACT, _b);
}
 
// Gets the THRESH_ACT byte
int ADXL345::getActivityThreshold() {
byte _b;
readFrom(ADXL345_THRESH_ACT, 1, &_b);
return int (_b);
}
 
// Sets the THRESH_INACT byte which holds the threshold value for detecting inactivity.
// The data format is unsigned, so the magnitude of the inactivity event is compared
// with the value is compared with the value in the THRESH_INACT register. The scale
// factor is 62.5mg/LSB. A value of 0 may result in undesirable behavior if the
// inactivity interrupt is enabled. The maximum value is 255.
void ADXL345::setInactivityThreshold(int inactivityThreshold) {
inactivityThreshold = min(max(inactivityThreshold,0),255);
byte _b = byte (inactivityThreshold);
writeTo(ADXL345_THRESH_INACT, _b);
}
 
// Gets the THRESH_INACT byte
int ADXL345::getInactivityThreshold() {
byte _b;
readFrom(ADXL345_THRESH_INACT, 1, &_b);
return int (_b);
}
 
// Sets the TIME_INACT register, which contains an unsigned time value representing the
// amount of time that acceleration must be less thant the value in the THRESH_INACT
// register for inactivity to be declared. The scale factor is 1sec/LSB. The value must
// be between 0 and 255.
void ADXL345::setTimeInactivity(int timeInactivity) {
timeInactivity = min(max(timeInactivity,0),255);
byte _b = byte (timeInactivity);
writeTo(ADXL345_TIME_INACT, _b);
}
 
// Gets the TIME_INACT register
int ADXL345::getTimeInactivity() {
byte _b;
readFrom(ADXL345_TIME_INACT, 1, &_b);
return int (_b);
}
 
// Sets the THRESH_FF register which holds the threshold value, in an unsigned format, for
// free-fall detection. The root-sum-square (RSS) value of all axes is calculated and
// compared whith the value in THRESH_FF to determine if a free-fall event occured. The
// scale factor is 62.5mg/LSB. A value of 0 may result in undesirable behavior if the free-fall
// interrupt is enabled. The maximum value is 255.
void ADXL345::setFreeFallThreshold(int freeFallThreshold) {
freeFallThreshold = min(max(freeFallThreshold,0),255);
byte _b = byte (freeFallThreshold);
writeTo(ADXL345_THRESH_FF, _b);
}
 
// Gets the THRESH_FF register.
int ADXL345::getFreeFallThreshold() {
byte _b;
readFrom(ADXL345_THRESH_FF, 1, &_b);
return int (_b);
}
 
// Sets the TIME_FF register, which holds an unsigned time value representing the minimum
// time that the RSS value of all axes must be less than THRESH_FF to generate a free-fall
// interrupt. The scale factor is 5ms/LSB. A value of 0 may result in undesirable behavior if
// the free-fall interrupt is enabled. The maximum value is 255.
void ADXL345::setFreeFallDuration(int freeFallDuration) {
freeFallDuration = min(max(freeFallDuration,0),255);
byte _b = byte (freeFallDuration);
writeTo(ADXL345_TIME_FF, _b);
}
 
// Gets the TIME_FF register.
int ADXL345::getFreeFallDuration() {
byte _b;
readFrom(ADXL345_TIME_FF, 1, &_b);
return int (_b);
}
 
bool ADXL345::isActivityXEnabled() {
return getRegisterBit(ADXL345_ACT_INACT_CTL, 6);
}
bool ADXL345::isActivityYEnabled() {
return getRegisterBit(ADXL345_ACT_INACT_CTL, 5);
}
bool ADXL345::isActivityZEnabled() {
return getRegisterBit(ADXL345_ACT_INACT_CTL, 4);
}
bool ADXL345::isInactivityXEnabled() {
return getRegisterBit(ADXL345_ACT_INACT_CTL, 2);
}
bool ADXL345::isInactivityYEnabled() {
return getRegisterBit(ADXL345_ACT_INACT_CTL, 1);
}
bool ADXL345::isInactivityZEnabled() {
return getRegisterBit(ADXL345_ACT_INACT_CTL, 0);
}
 
void ADXL345::setActivityX(bool state) {
setRegisterBit(ADXL345_ACT_INACT_CTL, 6, state);
}
void ADXL345::setActivityY(bool state) {
setRegisterBit(ADXL345_ACT_INACT_CTL, 5, state);
}
void ADXL345::setActivityZ(bool state) {
setRegisterBit(ADXL345_ACT_INACT_CTL, 4, state);
}
void ADXL345::setInactivityX(bool state) {
setRegisterBit(ADXL345_ACT_INACT_CTL, 2, state);
}
void ADXL345::setInactivityY(bool state) {
setRegisterBit(ADXL345_ACT_INACT_CTL, 1, state);
}
void ADXL345::setInactivityZ(bool state) {
setRegisterBit(ADXL345_ACT_INACT_CTL, 0, state);
}
 
bool ADXL345::isActivityAc() {
return getRegisterBit(ADXL345_ACT_INACT_CTL, 7);
}
bool ADXL345::isInactivityAc(){
return getRegisterBit(ADXL345_ACT_INACT_CTL, 3);
}
 
void ADXL345::setActivityAc(bool state) {
setRegisterBit(ADXL345_ACT_INACT_CTL, 7, state);
}
void ADXL345::setInactivityAc(bool state) {
setRegisterBit(ADXL345_ACT_INACT_CTL, 3, state);
}
 
bool ADXL345::getSuppressBit(){
return getRegisterBit(ADXL345_TAP_AXES, 3);
}
void ADXL345::setSuppressBit(bool state) {
setRegisterBit(ADXL345_TAP_AXES, 3, state);
}
 
bool ADXL345::isTapDetectionOnX(){
return getRegisterBit(ADXL345_TAP_AXES, 2);
}
void ADXL345::setTapDetectionOnX(bool state) {
setRegisterBit(ADXL345_TAP_AXES, 2, state);
}
bool ADXL345::isTapDetectionOnY(){
return getRegisterBit(ADXL345_TAP_AXES, 1);
}
void ADXL345::setTapDetectionOnY(bool state) {
setRegisterBit(ADXL345_TAP_AXES, 1, state);
}
bool ADXL345::isTapDetectionOnZ(){
return getRegisterBit(ADXL345_TAP_AXES, 0);
}
void ADXL345::setTapDetectionOnZ(bool state) {
setRegisterBit(ADXL345_TAP_AXES, 0, state);
}
 
bool ADXL345::isActivitySourceOnX(){
return getRegisterBit(ADXL345_ACT_TAP_STATUS, 6);
}
bool ADXL345::isActivitySourceOnY(){
return getRegisterBit(ADXL345_ACT_TAP_STATUS, 5);
}
bool ADXL345::isActivitySourceOnZ(){
return getRegisterBit(ADXL345_ACT_TAP_STATUS, 4);
}
 
bool ADXL345::isTapSourceOnX(){
return getRegisterBit(ADXL345_ACT_TAP_STATUS, 2);
}
bool ADXL345::isTapSourceOnY(){
return getRegisterBit(ADXL345_ACT_TAP_STATUS, 1);
}
bool ADXL345::isTapSourceOnZ(){
return getRegisterBit(ADXL345_ACT_TAP_STATUS, 0);
}
 
bool ADXL345::isAsleep(){
return getRegisterBit(ADXL345_ACT_TAP_STATUS, 3);
}
 
bool ADXL345::isLowPower(){
return getRegisterBit(ADXL345_BW_RATE, 4);
}
void ADXL345::setLowPower(bool state) {
setRegisterBit(ADXL345_BW_RATE, 4, state);
}
 
float ADXL345::getRate(){
byte _b;
readFrom(ADXL345_BW_RATE, 1, &_b);
_b &= B00001111;
return (pow(2,((int) _b)-6)) * 6.25;
}
 
void ADXL345::setRate(float rate){
byte _b,_s;
int v = (int) (rate / 6.25);
int r = 0;
while (v >>= 1)
{
r++;
}
if (r <= 9) {
readFrom(ADXL345_BW_RATE, 1, &_b);
_s = (byte) (r + 6) | (_b & B11110000);
writeTo(ADXL345_BW_RATE, _s);
}
}
 
void ADXL345::set_bw(byte bw_code){
if((bw_code < ADXL345_BW_3) || (bw_code > ADXL345_BW_1600)){
status = false;
error_code = ADXL345_BAD_ARG;
}
else{
writeTo(ADXL345_BW_RATE, bw_code);
}
}
 
byte ADXL345::get_bw_code(){
byte bw_code;
readFrom(ADXL345_BW_RATE, 1, &bw_code);
return bw_code;
}
 
byte ADXL345::getInterruptSource() {
byte _b;
readFrom(ADXL345_INT_SOURCE, 1, &_b);
return _b;
}
 
bool ADXL345::getInterruptSource(byte interruptBit) {
return getRegisterBit(ADXL345_INT_SOURCE,interruptBit);
}
 
bool ADXL345::getInterruptMapping(byte interruptBit) {
return getRegisterBit(ADXL345_INT_MAP,interruptBit);
}
 
// Set the mapping of an interrupt to pin1 or pin2
// eg: setInterruptMapping(ADXL345_INT_DOUBLE_TAP_BIT,ADXL345_INT2_PIN);
void ADXL345::setInterruptMapping(byte interruptBit, bool interruptPin) {
setRegisterBit(ADXL345_INT_MAP, interruptBit, interruptPin);
}
 
bool ADXL345::isInterruptEnabled(byte interruptBit) {
return getRegisterBit(ADXL345_INT_ENABLE,interruptBit);
}
 
void ADXL345::setInterrupt(byte interruptBit, bool state) {
setRegisterBit(ADXL345_INT_ENABLE, interruptBit, state);
}
 
void ADXL345::setRegisterBit(byte regAdress, int bitPos, bool state) {
byte _b;
readFrom(regAdress, 1, &_b);
if (state) {
_b |= (1 << bitPos); // forces nth bit of _b to be 1. all other bits left alone.
}
else {
_b &= ~(1 << bitPos); // forces nth bit of _b to be 0. all other bits left alone.
}
writeTo(regAdress, _b);
}
 
bool ADXL345::getRegisterBit(byte regAdress, int bitPos) {
byte _b;
readFrom(regAdress, 1, &_b);
return ((_b >> bitPos) & 1);
}
 
// print all register value to the serial ouptut, which requires it to be setup
// this can be used to manually to check the current configuration of the device
void ADXL345::printAllRegister() {
byte _b;
Serial.print("0x00: ");
readFrom(0x00, 1, &_b);
print_byte(_b);
Serial.println("");
int i;
for (i=29;i<=57;i++){
Serial.print("0x");
Serial.print(i, HEX);
Serial.print(": ");
readFrom(i, 1, &_b);
print_byte(_b);
Serial.println("");
}
}
 
void print_byte(byte val){
int i;
Serial.print("B");
for(i=7; i>=0; i--){
Serial.print(val >> i & 1, BIN);
}
}
 
 
/branches/V0.82b-Arthur-P/adxl345driver/ADXL345.h
0,0 → 1,206
/**************************************************************************
* *
* ADXL345 Driver for Arduino *
* *
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU License. *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU License V2 for more details. *
* *
***************************************************************************/
#include "WProgram.h"
 
#ifndef ADXL345_h
#define ADXL345_h
 
/* -- ADXL345 addresses --*/
#define ADXL345_ADDR_ALT_HIGH 0x1D // ADXL345 address when ALT is connected to HIGH
#define ADXL345_ADDR_ALT_LOW 0x53 // ADXL345 address when ALT is connected to LOW
 
/* ------- Register names ------- */
#define ADXL345_DEVID 0x00
#define ADXL345_RESERVED1 0x01
#define ADXL345_THRESH_TAP 0x1d
#define ADXL345_OFSX 0x1e
#define ADXL345_OFSY 0x1f
#define ADXL345_OFSZ 0x20
#define ADXL345_DUR 0x21
#define ADXL345_LATENT 0x22
#define ADXL345_WINDOW 0x23
#define ADXL345_THRESH_ACT 0x24
#define ADXL345_THRESH_INACT 0x25
#define ADXL345_TIME_INACT 0x26
#define ADXL345_ACT_INACT_CTL 0x27
#define ADXL345_THRESH_FF 0x28
#define ADXL345_TIME_FF 0x29
#define ADXL345_TAP_AXES 0x2a
#define ADXL345_ACT_TAP_STATUS 0x2b
#define ADXL345_BW_RATE 0x2c
#define ADXL345_POWER_CTL 0x2d
#define ADXL345_INT_ENABLE 0x2e
#define ADXL345_INT_MAP 0x2f
#define ADXL345_INT_SOURCE 0x30
#define ADXL345_DATA_FORMAT 0x31
#define ADXL345_DATAX0 0x32
#define ADXL345_DATAX1 0x33
#define ADXL345_DATAY0 0x34
#define ADXL345_DATAY1 0x35
#define ADXL345_DATAZ0 0x36
#define ADXL345_DATAZ1 0x37
#define ADXL345_FIFO_CTL 0x38
#define ADXL345_FIFO_STATUS 0x39
 
#define ADXL345_BW_1600 0xF // 1111
#define ADXL345_BW_800 0xE // 1110
#define ADXL345_BW_400 0xD // 1101
#define ADXL345_BW_200 0xC // 1100
#define ADXL345_BW_100 0xB // 1011
#define ADXL345_BW_50 0xA // 1010
#define ADXL345_BW_25 0x9 // 1001
#define ADXL345_BW_12 0x8 // 1000
#define ADXL345_BW_6 0x7 // 0111
#define ADXL345_BW_3 0x6 // 0110
 
 
/*
Interrupt PINs
INT1: 0
INT2: 1
*/
#define ADXL345_INT1_PIN 0x00
#define ADXL345_INT2_PIN 0x01
 
/*
Interrupt bit position
*/
#define ADXL345_INT_DATA_READY_BIT 0x07
#define ADXL345_INT_SINGLE_TAP_BIT 0x06
#define ADXL345_INT_DOUBLE_TAP_BIT 0x05
#define ADXL345_INT_ACTIVITY_BIT 0x04
#define ADXL345_INT_INACTIVITY_BIT 0x03
#define ADXL345_INT_FREE_FALL_BIT 0x02
#define ADXL345_INT_WATERMARK_BIT 0x01
#define ADXL345_INT_OVERRUNY_BIT 0x00
 
#define ADXL345_OK 1 // no error
#define ADXL345_ERROR 0 // indicates error is predent
 
#define ADXL345_NO_ERROR 0 // initial state
#define ADXL345_READ_ERROR 1 // problem reading accel
#define ADXL345_BAD_ARG 2 // bad method argument
 
class ADXL345
{
public:
bool status; // set when error occurs
// see error code for details
byte error_code; // Initial state
float gains[3]; // counts to Gs
 
ADXL345();
void init(int address);
void powerOn();
void readAccel(int* xyx);
void readAccel(int* x, int* y, int* z);
void get_Gxyz(float *xyz);
 
void setTapThreshold(int tapThreshold);
int getTapThreshold();
void setAxisGains(float *_gains);
void getAxisGains(float *_gains);
void setAxisOffset(int x, int y, int z);
void getAxisOffset(int* x, int* y, int*z);
void setTapDuration(int tapDuration);
int getTapDuration();
void setDoubleTapLatency(int floatTapLatency);
int getDoubleTapLatency();
void setDoubleTapWindow(int floatTapWindow);
int getDoubleTapWindow();
void setActivityThreshold(int activityThreshold);
int getActivityThreshold();
void setInactivityThreshold(int inactivityThreshold);
int getInactivityThreshold();
void setTimeInactivity(int timeInactivity);
int getTimeInactivity();
void setFreeFallThreshold(int freeFallthreshold);
int getFreeFallThreshold();
void setFreeFallDuration(int freeFallDuration);
int getFreeFallDuration();
 
bool isActivityXEnabled();
bool isActivityYEnabled();
bool isActivityZEnabled();
bool isInactivityXEnabled();
bool isInactivityYEnabled();
bool isInactivityZEnabled();
bool isActivityAc();
bool isInactivityAc();
void setActivityAc(bool state);
void setInactivityAc(bool state);
 
bool getSuppressBit();
void setSuppressBit(bool state);
bool isTapDetectionOnX();
void setTapDetectionOnX(bool state);
bool isTapDetectionOnY();
void setTapDetectionOnY(bool state);
bool isTapDetectionOnZ();
void setTapDetectionOnZ(bool state);
 
void setActivityX(bool state);
void setActivityY(bool state);
void setActivityZ(bool state);
void setInactivityX(bool state);
void setInactivityY(bool state);
void setInactivityZ(bool state);
 
bool isActivitySourceOnX();
bool isActivitySourceOnY();
bool isActivitySourceOnZ();
bool isTapSourceOnX();
bool isTapSourceOnY();
bool isTapSourceOnZ();
bool isAsleep();
 
bool isLowPower();
void setLowPower(bool state);
float getRate();
void setRate(float rate);
void set_bw(byte bw_code);
byte get_bw_code();
 
byte getInterruptSource();
bool getInterruptSource(byte interruptBit);
bool getInterruptMapping(byte interruptBit);
void setInterruptMapping(byte interruptBit, bool interruptPin);
bool isInterruptEnabled(byte interruptBit);
void setInterrupt(byte interruptBit, bool state);
 
void getRangeSetting(byte* rangeSetting);
void setRangeSetting(int val);
bool getSelfTestBit();
void setSelfTestBit(bool selfTestBit);
bool getSpiBit();
void setSpiBit(bool spiBit);
bool getInterruptLevelBit();
void setInterruptLevelBit(bool interruptLevelBit);
bool getFullResBit();
void setFullResBit(bool fullResBit);
bool getJustifyBit();
void setJustifyBit(bool justifyBit);
void printAllRegister();
void writeTo(byte address, byte val);
 
private:
void readFrom(byte address, int num, byte buff[]);
void setRegisterBit(byte regAdress, int bitPos, bool state);
bool getRegisterBit(byte regAdress, int bitPos);
byte _buff[6] ; //6 bytes buffer for saving data read from the device
int _dev_address;
};
void print_byte(byte val);
#endif
/branches/V0.82b-Arthur-P/adxl345driver/accel_cal.py
0,0 → 1,40
import scipy.optimize
from pylab import *
from numpy import *
from mpl_toolkits.mplot3d import Axes3
 
cal = open('cal.dat')
fig = figure(1); clf()
az = Axis3D(fig)
 
for f in [cal]:
data = array([map(float, l.split()) for l in f.readlines()])
 
N = len(data[0])
 
x = data[:,0]
y = data[:,1]
z = data[:,2]
ax.scater(x, y, z)
here
 
A = array([[cx + r * cos(theta),
cy + r * sin(theta)] for theta in arange(0, 2 * pi, 1 * pi/180)])
# plot(A[:,0], A[:,1], 'g-')
xy = data[:,1:3]
 
def cost(params):
cx, cy, r = params
xy_ = xy - [cx, cy]
thetas = arctan2(xy_[:,1], xy_[:,0])
resids = xy_ - transpose([r * cos(thetas), r * sin(thetas)])
return sum(ravel(resids ** 2))
 
cx, cy, r = scipy.optimize.fmin(cost, [cx, cy, r], disp=False)
print f.name, cx, cy, r
## acc_cal_lights_on.dat 550.150958354 507.218838209 249.831129791
## acc_cal_lights_off.dat 563.391868993 518.281081432 251.367556713
 
A = array([[cx + r * cos(theta),
cy + r * sin(theta)] for theta in arange(0, 2 * pi, 1 * pi/180)])
plot(A[:,0], A[:,1])
/branches/V0.82b-Arthur-P/adxl345driver/examples/ADXL345_run/ADXL345_run.pde
0,0 → 1,59
/**************************************************************************
* *
* ADXL345 Driver for Arduino *
* *
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the MIT License. *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* MIT License for more details. *
* *
***************************************************************************
*
* Revision History
*
* Date By What
* 20100515 TJS Initial Creation
* 20100524 TJS Modified to run with Kevin Stevenard's driver
*/
#include "Wire.h"
#include "ADXL345.h"
 
ADXL345 Accel;
 
void setup(){
Serial.begin(9600);
delay(1);
Wire.begin();
delay(1);
Serial.println("Here");
Accel.init(ADXL345_ADDR_ALT_LOW);
Accel.set_bw(ADXL345_BW_12);
Serial.print("BW_OK? ");
Serial.println(Accel.status, DEC);
delay(1000);
}
 
void loop(){
int i;
float acc_data[3];
Accel.get_Gxyz(acc_data);
if(Accel.status){
float length = 0.;
for(i = 0; i < 3; i++){
length += (float)acc_data[i] * (float)acc_data[i];
Serial.print(acc_data[i]);
Serial.print(" ");
}
length = sqrt(length);
Serial.print(length);
Serial.println("");
delay(40);
}
else{
Serial.println("ERROR: ADXL345 data read error");
}
}
/branches/V0.82b-Arthur-P/adxl345driver/examples/ADXL345_run/accel_cal.py
0,0 → 1,52
import scipy.optimize
from pylab import *
from numpy import *
 
cal = open('cal1.dat')
 
for f in [cal]:
data = array([map(float, l.split()) for l in f.readlines()])
 
N = len(data[0])
 
x = data[:,0]
y = data[:,1]
z = data[:,2]
data = data[:,:3]
 
def cost(args):
rs = diag(1. / array(args[0:3])) ** 2
c = array(args[3:6])
m = data - array(c)
out = 0
for p in m:
out += abs(dot(dot(p, rs), p) - 1)
return out
guess = array([250, 250, 250, 0, 0, 0])
print cost(guess)
best = scipy.optimize.fmin(cost, guess)
print cost(best)
print best
print 1/best[:3]
 
here
A = array([[cx + r * cos(theta),
cy + r * sin(theta)] for theta in arange(0, 2 * pi, 1 * pi/180)])
# plot(A[:,0], A[:,1], 'g-')
xy = data[:,1:3]
 
def cost(params):
cx, cy, r = params
xy_ = xy - [cx, cy]
thetas = arctan2(xy_[:,1], xy_[:,0])
resids = xy_ - transpose([r * cos(thetas), r * sin(thetas)])
return sum(ravel(resids ** 2))
 
cx, cy, r = scipy.optimize.fmin(cost, [cx, cy, r], disp=False)
print f.name, cx, cy, r
## acc_cal_lights_on.dat 550.150958354 507.218838209 249.831129791
## acc_cal_lights_off.dat 563.391868993 518.281081432 251.367556713
 
A = array([[cx + r * cos(theta),
cy + r * sin(theta)] for theta in arange(0, 2 * pi, 1 * pi/180)])
plot(A[:,0], A[:,1])
/branches/V0.82b-Arthur-P/adxl345driver/examples/ADXL345_run/cal.dat
0,0 → 1,1579
-261 33 -39 265.95
-262 34 -40 267.21
-262 34 -41 267.36
-262 35 -39 267.19
-261 33 -40 266.10
-262 33 -39 266.93
-263 35 -40 268.32
-263 33 -39 267.92
-262 34 -41 267.36
-260 34 -40 265.25
-262 34 -40 267.21
-262 35 -39 267.19
-263 34 -41 268.34
-262 33 -39 266.93
-262 35 -40 267.34
-262 34 -39 267.06
-262 34 -39 267.06
-262 34 -40 267.21
-262 34 -39 267.06
-263 34 -40 268.19
-262 34 -39 267.06
-261 33 -39 265.95
-262 34 -38 266.92
-261 33 -38 265.81
-261 34 -41 266.38
-262 34 -41 267.36
-262 33 -38 266.79
-261 32 -38 265.69
-263 34 -39 268.04
-261 34 -40 266.23
-262 35 -39 267.19
-262 34 -40 267.21
-262 34 -41 267.36
-262 35 -41 267.49
-263 35 -41 268.47
-262 34 -40 267.21
-262 34 -38 266.92
-261 33 -38 265.81
-263 34 -40 268.19
-262 35 -40 267.34
-261 33 -39 265.95
-262 35 -41 267.49
-262 34 -39 267.06
-262 34 -39 267.06
-261 33 -41 266.25
-262 35 -40 267.34
-261 35 -40 266.36
-262 33 -39 266.93
-262 34 -42 267.51
-263 34 -40 268.19
-263 34 -40 268.19
-260 35 -40 265.38
-262 34 -40 267.21
-263 33 -39 267.92
-261 35 -39 266.21
-261 34 -39 266.08
-261 33 -41 266.25
-262 34 -39 267.06
-262 34 -40 267.21
-262 33 -39 266.93
-263 33 -40 268.06
-262 34 -39 267.06
-262 34 -38 266.92
-260 33 -40 265.12
-261 34 -40 266.23
-262 34 -40 267.21
-262 34 -41 267.36
-262 34 -40 267.21
-262 34 -41 267.36
-262 34 -40 267.21
-261 34 -40 266.23
-261 34 -39 266.08
-262 34 -40 267.21
-262 34 -40 267.21
-260 33 -41 265.27
-262 35 -39 267.19
-263 35 -40 268.32
-261 34 -39 266.08
-261 33 -38 265.81
-262 33 -39 266.93
-262 35 -38 267.04
-263 34 -39 268.04
-261 33 -40 266.10
-262 33 -41 267.23
-262 34 -39 267.06
-261 33 -40 266.10
-262 34 -41 267.36
-261 33 -41 266.25
-262 34 -40 267.21
-262 34 -40 267.21
-262 35 -39 267.19
-261 33 -40 266.10
-261 33 -37 265.67
-261 33 -39 265.95
-262 34 -40 267.21
-261 34 -41 266.38
-260 33 -41 265.27
-262 34 -38 266.92
-261 33 -41 266.25
-262 32 -40 266.96
-261 34 -40 266.23
-261 32 -40 265.98
-262 33 -39 266.93
-261 33 -39 265.95
-262 34 -40 267.21
-262 34 -40 267.21
-260 34 -39 265.10
-261 34 -39 266.08
-260 32 -41 265.15
-262 35 -40 267.34
-261 34 -39 266.08
-260 33 -39 264.97
-261 33 -42 266.41
-261 34 -40 266.23
-261 34 -41 266.38
-262 34 -40 267.21
-261 35 -42 266.66
-263 34 -39 268.04
-262 35 -40 267.34
-261 33 -40 266.10
-262 35 -40 267.34
-260 33 -38 264.83
-261 33 -41 266.25
-262 34 -39 267.06
-263 34 -40 268.19
-261 33 -39 265.95
-262 34 -40 267.21
-262 34 -40 267.21
-262 34 -40 267.21
-260 33 -41 265.27
-263 35 -38 268.03
-262 34 -40 267.21
-262 35 -39 267.19
-263 34 -39 268.04
-261 34 -39 266.08
-262 34 -41 267.36
-262 34 -40 267.21
-261 32 -40 265.98
-262 35 -40 267.34
-261 33 -39 265.95
-261 33 -38 265.81
-262 35 -39 267.19
-261 35 -41 266.51
-263 34 -38 267.90
-261 34 -39 266.08
-261 34 -39 266.08
-262 33 -41 267.23
-262 34 -41 267.36
-261 33 -39 265.95
-263 34 -41 268.34
-262 34 -38 266.92
-262 32 -40 266.96
-263 34 -40 268.19
-261 33 -39 265.95
-261 33 -41 266.25
-261 34 -38 265.93
-261 33 -39 265.95
-261 34 -39 266.08
-261 34 -40 266.23
-263 35 -38 268.03
-261 33 -38 265.81
-261 34 -39 266.08
-262 34 -38 266.92
-262 34 -41 267.36
-263 34 -41 268.34
-262 35 -41 267.49
-261 34 -41 266.38
-262 34 -42 267.51
-261 33 -40 266.10
-262 33 -40 267.08
-262 34 -41 267.36
-262 34 -37 266.78
-261 33 -41 266.25
-262 34 -40 267.21
-261 34 -39 266.08
-261 34 -39 266.08
-262 35 -39 267.19
-260 33 -41 265.27
-262 34 -42 267.51
-262 34 -40 267.21
-261 33 -41 266.25
-262 35 -39 267.19
-262 34 -40 267.21
-262 35 -40 267.34
-261 34 -39 266.08
-260 34 -38 264.95
-262 34 -39 267.06
-263 34 -40 268.19
-262 34 -40 267.21
-262 34 -40 267.21
-261 32 -41 266.13
-261 33 -40 266.10
-261 33 -38 265.81
-261 34 -41 266.38
-261 34 -40 266.23
-260 33 -40 265.12
-261 34 -38 265.93
-261 34 -39 266.08
-261 35 -37 265.92
-262 34 -39 267.06
-262 34 -40 267.21
-261 34 -40 266.23
-262 33 -39 266.93
-262 35 -41 267.49
-262 34 -40 267.21
-262 34 -40 267.21
-261 34 -38 265.93
-261 34 -40 266.23
-262 34 -40 267.21
-262 35 -41 267.49
-261 34 -40 266.23
-262 34 -40 267.21
-261 34 -40 266.23
-262 34 -40 267.21
-261 34 -41 266.38
-262 32 -39 266.81
-263 34 -39 268.04
-261 34 -40 266.23
-262 34 -38 266.92
-262 33 -40 267.08
-260 33 -40 265.12
-261 34 -39 266.08
-261 33 -39 265.95
-262 34 -39 267.06
-262 35 -40 267.34
-262 34 -39 267.06
-261 34 -39 266.08
-262 34 -39 267.06
-261 34 -40 266.23
-262 35 -40 267.34
-261 33 -38 265.81
-262 34 -39 267.06
-263 34 -39 268.04
-261 34 -40 266.23
-262 34 -40 267.21
-262 34 -41 267.36
-261 33 -39 265.95
-261 34 -41 266.38
-261 35 -39 266.21
-261 33 -37 265.67
-261 33 -40 266.10
-260 33 -39 264.97
-262 33 -39 266.93
-260 33 -39 264.97
-261 34 -40 266.23
-262 34 -41 267.36
-262 34 -39 267.06
-261 33 -40 266.10
-261 33 -40 266.10
-262 33 -40 267.08
-262 33 -40 267.08
-261 33 -40 266.10
-262 34 -39 267.06
-262 34 -42 267.51
-261 34 -41 266.38
-263 33 -39 267.92
-260 34 -39 265.10
-261 34 -39 266.08
-261 33 -41 266.25
-263 34 -39 268.04
-262 34 -40 267.21
-260 33 -39 264.97
-262 33 -38 266.79
-261 34 -39 266.08
-260 33 -40 265.12
-262 33 -39 266.93
-260 34 -40 265.25
-260 34 -40 265.25
-261 35 -40 266.36
-261 35 -41 266.51
-261 33 -39 265.95
-262 33 -39 266.93
-262 34 -40 267.21
-260 33 -40 265.12
-261 34 -39 266.08
-261 33 -40 266.10
-262 33 -38 266.79
-261 34 -40 266.23
-262 33 -40 267.08
-262 34 -41 267.36
-262 34 -40 267.21
-261 34 -39 266.08
-262 33 -39 266.93
-261 34 -40 266.23
-262 33 -38 266.79
-261 33 -39 265.95
-261 34 -41 266.38
-262 34 -41 267.36
-262 34 -39 267.06
-261 34 -40 266.23
-261 35 -39 266.21
-261 33 -40 266.10
-261 33 -41 266.25
-262 34 -40 267.21
-262 33 -42 267.39
-261 34 -39 266.08
-262 34 -40 267.21
-261 33 -39 265.95
-262 35 -41 267.49
-262 35 -40 267.34
-261 34 -39 266.08
-261 33 -37 265.67
-261 33 -40 266.10
-263 35 -41 268.47
-262 34 -40 267.21
-261 33 -42 266.41
-261 33 -40 266.10
-262 33 -39 266.93
-261 33 -39 265.95
-263 35 -38 268.03
-263 35 -40 268.32
-260 34 -40 265.25
-261 33 -40 266.10
-262 34 -40 267.21
-261 32 -39 265.83
-262 34 -39 267.06
-261 33 -39 265.95
-262 33 -38 266.79
-262 34 -40 267.21
-263 35 -39 268.17
-262 34 -40 267.21
-262 34 -39 267.06
-262 34 -41 267.36
-261 34 -39 266.08
-262 33 -40 267.08
-261 33 -40 266.10
-261 33 -40 266.10
-261 34 -39 266.08
-261 33 -41 266.25
-262 34 -40 267.21
-262 33 -39 266.93
-261 33 -39 265.95
-261 33 -37 265.67
-261 33 -39 265.95
-261 32 -40 265.98
-261 34 -40 266.23
-262 34 -41 267.36
-262 35 -39 267.19
-262 34 -39 267.06
-263 34 -40 268.19
-261 34 -39 266.08
-262 34 -39 267.06
-262 33 -39 266.93
-261 34 -39 266.08
-261 33 -39 265.95
-261 32 -41 266.13
-262 34 -40 267.21
-261 34 -40 266.23
-261 34 -39 266.08
-262 34 -40 267.21
-262 33 -40 267.08
-263 34 -38 267.90
-261 35 -40 266.36
-262 34 -39 267.06
-262 35 -38 267.04
-261 35 -38 266.06
-262 35 -40 267.34
-261 33 -41 266.25
-261 34 -39 266.08
-262 35 -40 267.34
-261 34 -40 266.23
-261 33 -39 265.95
-261 34 -41 266.38
-262 34 -41 267.36
-262 33 -40 267.08
-261 35 -40 266.36
-260 34 -42 265.56
-260 33 -39 264.97
-263 42 -48 270.62
-267 24 -33 270.10
-258 23 -46 263.08
-264 29 -21 266.42
-271 47 -53 280.11
-282 22 -24 283.87
-275 25 -32 277.98
-252 16 -37 255.20
-270 34 -16 272.60
-274 19 -32 276.52
-269 40 -27 273.29
-275 31 -26 277.96
-249 75 -14 260.43
-253 33 -50 260.00
-275 79 -18 286.69
-223 87 -28 241.00
-240 87 -39 258.24
-242 101 -34 264.43
-256 93 -44 275.90
-232 124 -25 264.24
-238 105 -48 264.52
-229 137 -33 268.88
-217 143 -33 261.97
-219 144 -32 264.05
-200 150 -33 252.17
-200 159 -36 258.03
-188 180 -24 261.38
-175 197 -12 263.78
-175 193 -27 261.92
-167 194 -26 257.30
-160 213 -17 266.94
-134 222 -20 260.08
-133 225 -14 261.74
-142 229 -10 269.64
-114 225 -22 253.19
-104 232 -12 254.53
-94 241 -12 258.96
-93 241 -18 258.95
-82 249 -10 262.35
-76 249 -9 260.50
-58 250 -8 256.76
-47 255 -6 259.36
-30 257 -8 258.87
-18 256 -6 256.70
-11 254 -9 254.40
-7 259 5 259.14
2 256 -2 256.02
1 253 -1 253.00
8 252 -1 252.13
22 253 -6 254.03
42 255 -1 258.44
45 250 -1 254.02
49 255 6 259.73
51 246 7 251.33
58 243 7 249.92
71 243 15 253.60
69 240 15 250.17
76 236 16 248.45
88 231 11 247.44
91 221 14 239.41
102 227 15 249.32
118 231 27 260.79
126 228 33 262.58
125 219 33 254.31
130 207 23 245.52
130 204 27 243.40
139 198 21 242.83
148 195 26 246.18
156 191 21 247.50
163 194 32 255.40
173 183 20 252.62
173 181 24 251.53
177 172 25 248.07
179 168 19 246.22
184 157 12 242.18
182 160 22 243.33
194 149 20 245.43
203 148 21 252.10
213 149 24 261.05
211 132 18 249.54
210 133 14 248.97
207 121 12 240.07
213 114 13 241.94
212 110 16 239.37
218 101 22 241.27
234 86 11 249.55
235 89 22 252.25
242 85 19 257.20
242 80 29 256.52
241 80 20 254.72
243 72 16 253.95
234 66 19 243.87
229 66 23 239.43
242 58 19 249.58
247 55 28 254.59
248 56 20 255.03
244 53 20 250.49
235 47 19 240.41
246 44 18 250.55
240 44 14 244.40
240 50 16 245.67
259 46 2 263.06
250 35 -3 252.46
257 34 -3 259.26
251 31 -5 252.96
243 34 0 245.37
248 35 -6 250.53
252 35 -5 254.47
253 32 -7 255.11
253 29 -15 255.10
255 34 -9 257.41
248 27 -18 250.11
253 33 -19 255.85
251 43 -10 254.85
254 47 -17 258.87
264 63 -11 271.64
258 57 -20 264.98
245 61 -22 253.44
235 62 -34 245.41
240 93 -24 258.51
234 98 -33 255.83
222 106 -22 246.99
226 121 -31 258.22
220 130 -22 256.48
219 132 -28 257.23
203 142 -30 249.55
202 144 -24 249.23
183 167 -15 248.20
192 188 -19 269.39
166 189 -19 252.27
159 196 -17 252.95
154 192 -27 247.61
148 214 -19 260.89
155 213 -29 265.02
126 225 -6 257.95
132 218 -24 255.98
101 235 -8 255.91
109 224 -31 251.03
75 246 2 257.19
88 243 -14 258.82
56 252 -4 258.18
62 249 -22 257.54
51 256 -17 261.58
32 248 -19 250.78
25 251 -20 253.03
4 263 -7 263.12
8 258 -19 258.82
9 260 -19 260.85
-8 260 -12 260.40
-31 258 -8 259.98
-26 253 -23 255.37
-44 254 -18 258.41
-58 254 -9 260.69
-82 248 -13 261.53
-77 251 -21 263.38
-77 244 -26 257.18
-98 254 -7 272.34
-112 239 -18 264.55
-113 233 -21 259.81
-114 231 -17 258.16
-132 230 -12 265.46
-145 217 -19 261.68
-144 209 -26 255.13
-159 200 -20 256.28
-163 189 -16 250.09
-187 193 1 268.74
-187 190 -5 266.63
-186 179 -15 258.58
-198 172 -15 262.70
-209 162 -12 264.71
-212 151 -18 260.90
-226 153 -11 273.14
-224 135 -19 262.23
-220 139 -22 261.16
-229 129 -27 264.22
-232 104 -37 256.92
-242 104 -33 265.46
-247 92 -36 266.02
-251 91 -35 269.27
-256 82 -39 271.63
-251 78 -43 266.33
-257 73 -39 270.00
-256 59 -40 265.74
-257 53 -34 264.60
-258 49 -36 265.07
-261 42 -39 267.22
-261 45 -43 268.32
-261 41 -45 268.01
-266 33 -40 271.01
-259 24 -44 263.80
-263 18 -44 267.26
-262 17 -49 267.08
-263 9 -49 267.68
-262 6 -62 269.30
-261 10 -56 267.13
-265 6 -52 270.12
-265 13 -45 269.11
-265 8 -40 268.12
-269 17 -30 271.20
-256 11 -38 259.04
-252 21 -32 254.89
-270 15 -18 271.01
-259 19 -18 260.32
-256 20 -11 257.02
-249 16 -4 249.55
-264 20 12 265.03
-247 33 8 249.32
-254 14 18 255.02
-245 25 33 248.47
-263 25 57 270.26
-227 27 42 232.43
-261 4 64 268.76
-220 25 69 231.92
-253 19 100 272.71
-221 24 87 238.72
-234 20 102 256.05
-207 29 100 231.71
-220 31 129 256.91
-170 30 107 203.10
-216 23 141 258.97
-170 19 131 215.46
-168 24 159 232.55
-168 22 169 239.31
-158 18 173 234.98
-139 7 171 220.48
-128 11 176 217.90
-132 21 193 234.76
-124 15 195 231.57
-105 9 194 220.78
-101 15 200 224.56
-86 11 194 212.49
-92 22 209 229.41
-72 24 201 214.85
-61 27 203 213.68
-45 28 210 216.58
-52 29 230 237.58
-26 42 209 214.76
-54 43 211 222.00
-17 44 195 200.62
-43 35 236 242.43
-17 46 237 242.02
-2 27 207 208.76
-14 33 228 230.80
29 48 194 201.94
19 39 211 215.41
39 39 213 220.02
47 33 219 226.40
61 18 199 208.92
63 37 229 240.37
89 36 198 220.05
92 39 196 220.00
128 28 166 211.48
110 48 201 234.10
125 45 177 221.31
131 36 174 220.76
144 40 160 218.94
155 47 158 226.27
152 41 158 223.04
163 32 146 221.15
166 41 154 230.12
174 40 145 230.00
174 33 155 235.35
181 54 150 241.20
178 29 150 234.57
184 39 154 243.09
180 43 148 236.97
152 51 181 241.80
161 19 140 214.20
129 59 204 248.47
154 25 162 224.91
145 26 158 216.02
123 47 203 241.96
127 34 180 222.90
89 39 216 236.85
114 26 205 236.00
88 39 209 230.10
66 19 189 201.09
36 24 207 211.47
21 32 234 237.11
27 41 221 226.39
15 20 196 197.59
-39 53 233 242.11
-18 29 207 209.80
-52 40 202 212.39
-73 52 200 219.16
-82 43 208 227.68
-84 50 175 200.45
-132 57 202 247.95
-148 65 182 243.42
-164 60 183 252.95
-150 51 139 210.77
-182 48 145 237.60
-173 61 123 220.86
-210 68 114 248.44
-196 85 105 238.05
-217 62 82 240.12
-237 77 86 263.62
-230 72 34 243.39
-236 63 4 244.30
-232 92 1 249.58
-250 91 8 266.17
-247 51 -43 255.85
-252 63 -47 263.97
-243 61 -72 260.68
-256 59 -68 271.37
-248 63 -104 276.20
-245 72 -105 276.11
-231 61 -138 275.91
-243 61 -126 280.44
-218 36 -171 279.39
-228 43 -160 281.84
-209 48 -181 280.62
-206 57 -182 280.73
-192 57 -200 283.04
-166 54 -224 283.99
-169 38 -224 283.16
-150 36 -244 288.67
-158 30 -237 286.41
-151 44 -241 287.78
-128 51 -246 281.96
-100 44 -268 289.41
-89 43 -268 285.65
-84 21 -274 287.36
-76 26 -271 282.65
-66 33 -274 283.76
-66 34 -271 280.99
-61 34 -275 283.73
-29 23 -286 288.39
-21 12 -282 283.04
-4 20 -301 301.69
-15 30 -287 288.95
-17 19 -290 291.12
-22 12 -278 279.13
-13 6 -292 292.35
-7 7 -285 285.17
-3 18 -284 284.59
10 3 -294 294.19
2 1 -289 289.01
-8 -10 -295 295.28
-7 -2 -296 296.09
-11 2 -289 289.22
-7 5 -289 289.13
-2 4 -286 286.03
-2 -3 -288 288.02
-6 -2 -285 285.07
-6 3 -282 282.08
-6 -1 -287 287.06
-6 1 -288 288.06
-5 4 -291 291.07
-14 1 -291 291.34
-22 2 -285 285.85
-9 6 -290 290.20
-5 8 -293 293.15
-34 -2 -282 284.05
-11 15 -296 296.58
-28 7 -284 285.46
-28 -18 -297 298.86
-41 -8 -284 287.06
-51 0 -282 286.57
-51 5 -283 287.60
-64 5 -276 283.37
-85 -4 -262 275.47
-64 -1 -290 296.98
-84 0 -267 279.90
-80 -3 -277 288.34
-95 3 -273 289.07
-112 7 -254 277.69
-100 1 -277 294.50
-97 -1 -273 289.72
-100 -3 -278 295.45
-112 5 -266 288.66
-117 3 -261 286.04
-145 3 -236 277.00
-133 8 -254 286.83
-147 3 -254 293.49
-162 2 -235 285.43
-161 4 -239 288.20
-151 9 -251 293.06
-158 -1 -249 294.90
-204 -5 -190 278.82
-173 2 -233 290.21
-199 6 -197 280.08
-201 7 -196 280.83
-201 -2 -201 284.26
-184 -1 -220 286.80
-225 -3 -174 284.45
-221 1 -181 285.66
-225 2 -181 288.77
-216 7 -187 285.79
-239 3 -159 287.07
-239 7 -147 280.68
-221 11 -162 274.24
-221 8 -165 275.92
-241 4 -146 281.80
-246 -1 -140 283.05
-247 6 -134 281.07
-267 2 -112 289.55
-257 10 -113 280.92
-263 7 -104 282.90
-246 16 -119 273.74
-260 3 -102 279.31
-256 5 -102 275.62
-256 18 -83 269.72
-240 18 -96 259.11
-272 20 -55 278.22
-253 11 -69 262.47
-270 13 -37 272.83
-250 23 -48 255.60
-278 18 -19 279.23
-260 21 -31 262.68
-271 18 -8 271.71
-250 7 -29 251.77
-267 11 -4 267.26
-257 13 -5 257.38
-263 27 20 265.14
-240 22 1 241.01
-269 22 34 272.03
-251 39 28 255.55
-280 36 75 292.10
-230 32 38 235.30
-238 15 48 243.26
-246 23 67 256.00
-221 32 61 231.49
-222 28 75 235.99
-224 21 92 243.07
-227 36 120 259.28
-196 28 107 225.05
-203 41 146 253.39
-162 33 121 204.88
-207 15 155 259.03
-174 43 147 231.81
-188 42 177 261.60
-142 42 146 207.95
-153 41 161 225.86
-160 37 186 248.12
-130 27 177 221.26
-136 32 190 235.84
-116 34 183 219.32
-124 54 202 243.10
-112 33 189 222.16
-106 34 195 224.54
-98 33 199 224.26
-93 40 196 220.60
-92 37 197 220.55
-69 43 219 233.60
-69 37 217 230.69
-56 43 196 208.33
-60 38 205 216.95
-45 54 201 212.94
-42 46 198 207.57
-46 45 213 222.51
-35 58 214 224.47
-29 53 222 230.07
-17 37 199 203.12
-32 40 224 229.78
-21 58 218 226.56
-33 44 229 235.51
-9 63 220 229.02
-2 46 207 212.06
-18 48 226 231.74
-12 58 230 237.50
-23 43 213 218.51
-14 58 218 226.02
-18 49 220 226.11
-21 42 205 210.31
-31 55 213 222.16
-23 39 194 199.21
-40 39 208 215.37
-41 51 219 228.57
-47 44 213 222.52
-43 49 216 225.62
-41 48 214 223.12
-50 51 215 226.55
-54 46 207 218.82
-62 47 214 227.70
-63 48 207 221.63
-82 47 218 237.61
-85 46 197 219.43
-92 50 205 230.19
-92 38 191 215.38
-113 45 190 225.60
-114 59 193 231.79
-125 48 174 219.56
-144 56 185 241.03
-140 61 164 224.09
-149 62 169 233.68
-151 46 152 219.14
-169 52 146 229.31
-179 62 148 240.39
-169 55 125 217.28
-178 61 118 222.10
-198 58 121 239.18
-204 64 126 248.17
-197 67 106 233.53
-213 69 101 245.62
-210 65 83 234.98
-223 69 86 248.77
-215 65 71 235.57
-224 58 65 240.34
-223 73 69 244.58
-237 60 67 253.49
-240 68 68 258.55
-235 59 57 248.91
-237 49 39 245.13
-255 41 46 262.34
-253 39 45 259.91
-241 41 29 246.18
-262 33 40 267.08
-236 28 13 238.01
-256 12 25 257.50
-257 13 25 258.54
-258 -4 18 258.66
-265 -19 20 266.43
-258 -23 14 259.40
-252 -39 2 255.01
-255 -46 1 259.12
-259 -41 0 262.23
-258 -62 -6 265.41
-258 -64 -4 265.85
-247 -68 -14 256.57
-240 -70 -19 250.72
-249 -95 -17 267.05
-245 -89 -12 260.94
-248 -113 -16 273.00
-247 -116 -17 273.41
-240 -124 -24 271.20
-242 -128 -21 274.57
-236 -135 -17 272.42
-223 -135 -21 261.52
-229 -133 -14 265.19
-222 -145 -30 266.85
-221 -143 -34 265.42
-225 -146 -16 268.70
-214 -149 -31 262.60
-201 -181 -40 273.43
-197 -172 -48 265.89
-203 -168 -34 265.69
-188 -187 -46 269.13
-186 -188 -43 267.93
-183 -199 -47 274.41
-170 -206 -61 273.97
-167 -222 -54 283.00
-160 -224 -55 280.72
-150 -222 -64 275.46
-143 -216 -66 267.32
-145 -223 -60 272.68
-130 -233 -67 275.10
-124 -233 -68 272.56
-108 -251 -80 284.72
-108 -249 -81 283.24
-112 -253 -70 285.40
-105 -255 -77 286.32
-98 -240 -74 269.59
-82 -246 -89 274.16
-83 -253 -82 278.61
-68 -248 -87 271.47
-75 -251 -75 272.49
-63 -249 -93 273.16
-64 -254 -87 276.01
-68 -256 -81 276.99
-58 -256 -80 274.41
-52 -262 -78 278.27
-47 -264 -84 281.00
-38 -254 -93 273.15
-47 -260 -79 275.77
-49 -261 -78 276.78
-31 -263 -91 280.02
-34 -257 -87 273.45
-16 -267 -101 285.91
-25 -261 -93 278.20
-26 -263 -87 278.23
-29 -260 -97 279.02
-18 -255 -82 268.46
-10 -260 -97 277.69
-11 -264 -94 280.45
-16 -257 -88 272.12
-3 -257 -96 274.36
4 -256 -97 273.79
-6 -257 -87 271.39
-8 -265 -90 279.98
7 -257 -102 276.59
3 -260 -95 276.83
8 -264 -99 282.07
10 -260 -97 277.69
20 -254 -109 277.12
12 -253 -99 271.94
13 -264 -101 282.96
18 -254 -103 274.68
15 -257 -100 276.18
31 -255 -106 277.89
23 -256 -101 276.16
24 -258 -106 279.96
32 -250 -102 271.90
31 -253 -106 276.05
40 -254 -106 278.12
41 -253 -113 280.11
47 -250 -115 279.17
49 -255 -118 285.22
49 -255 -114 283.59
44 -256 -109 281.70
44 -249 -112 276.55
39 -251 -105 274.86
41 -242 -102 265.80
39 -247 -105 271.21
46 -254 -113 281.78
47 -246 -115 275.59
37 -251 -113 277.74
28 -249 -105 271.68
38 -256 -108 280.44
18 -266 -95 283.03
32 -264 -109 287.40
20 -255 -101 275.00
8 -276 -97 292.66
-6 -257 -87 271.39
-12 -297 -93 311.45
-1 -259 -94 275.53
-13 -264 -96 281.21
-29 -284 -92 299.94
-67 -250 -80 270.90
-87 -254 -67 276.72
-98 -234 -58 260.24
-114 -239 -51 269.66
-123 -235 -57 271.30
-139 -229 -54 273.27
-151 -217 -47 268.51
-179 -211 -43 280.02
-183 -195 -47 271.52
-192 -166 -33 255.95
-196 -176 -41 266.60
-209 -152 -33 260.53
-219 -154 -32 269.63
-219 -146 -41 266.38
-245 -130 -28 278.76
-242 -119 -35 271.94
-239 -104 -39 263.55
-251 -97 -32 270.99
-245 -73 -36 258.17
-252 -63 -32 261.72
-254 -63 -38 264.44
-258 -57 -35 266.53
-256 -47 -43 263.81
-266 -42 -33 271.31
-267 -36 -37 271.94
-265 -36 -39 270.26
-257 -30 -45 262.63
-256 -15 -39 259.39
-255 -20 -42 259.21
-258 -3 -34 260.25
-259 -17 -40 262.62
-258 -16 -47 262.73
-272 -10 -34 274.30
-264 -11 -41 267.39
-267 -18 -43 271.04
-272 0 -27 273.34
-274 -11 -27 275.55
-262 -13 -38 265.06
-259 7 -32 261.06
-253 20 -36 256.33
-271 14 -34 273.48
-273 10 -39 275.95
-270 32 -46 275.75
-260 37 -63 270.07
-256 31 -60 264.76
-256 -1 -67 264.62
-239 1 -78 251.41
-268 6 -47 272.16
-256 16 -55 262.33
-272 1 -42 275.23
-251 56 -42 260.58
-242 -14 -56 248.79
-279 -10 -33 281.12
-273 8 -79 284.31
-279 -45 -41 285.56
-279 14 -43 282.64
-272 -28 -48 277.62
-269 -27 -51 275.12
-268 -14 -57 274.35
-285 -31 -48 290.67
-300 1 -36 302.15
-266 4 -35 268.32
-246 -21 -59 253.85
-248 -15 -42 251.98
-294 0 -51 298.39
-254 0 -65 262.19
-257 -13 -64 265.17
-254 9 -57 260.47
-260 7 -59 266.70
-256 42 -17 259.98
-261 40 -34 266.23
-258 56 -40 267.02
-256 64 -43 267.36
-264 18 -45 268.41
-259 28 -21 261.35
-266 29 -34 269.73
-264 34 -36 268.60
-262 32 -36 266.39
-261 32 -37 265.54
-262 35 -40 267.34
-261 37 -37 266.19
-261 32 -38 265.69
-261 35 -38 266.06
-262 37 -38 267.31
-262 35 -38 267.04
-261 34 -39 266.08
-262 35 -39 267.19
-262 34 -38 266.92
-262 35 -38 267.04
-262 36 -39 267.32
-263 35 -40 268.32
-261 34 -37 265.79
-261 35 -38 266.06
-262 37 -37 267.17
-262 35 -39 267.19
-263 36 -39 268.30
-262 35 -40 267.34
-262 34 -37 266.78
-261 34 -39 266.08
-262 35 -39 267.19
-260 33 -36 264.55
-261 35 -38 266.06
-262 35 -37 266.90
-261 34 -38 265.93
-260 35 -38 265.08
-262 36 -39 267.32
-260 35 -38 265.08
-262 34 -38 266.92
-261 35 -39 266.21
-262 34 -37 266.78
-262 35 -39 267.19
-261 34 -39 266.08
-263 36 -40 268.45
-262 35 -38 267.04
-262 35 -39 267.19
-263 35 -38 268.03
-261 35 -40 266.36
-261 35 -38 266.06
-261 35 -38 266.06
-262 34 -38 266.92
-262 34 -38 266.92
-261 34 -40 266.23
-262 35 -39 267.19
-262 35 -40 267.34
-261 35 -39 266.21
-262 35 -38 267.04
-262 36 -37 267.04
-262 35 -37 266.90
-262 36 -39 267.32
-262 35 -38 267.04
-263 35 -39 268.17
-261 36 -38 266.20
-263 36 -38 268.16
-262 36 -39 267.32
-261 34 -40 266.23
-261 34 -38 265.93
-262 35 -38 267.04
-260 34 -39 265.10
-261 34 -39 266.08
-262 35 -39 267.19
-262 35 -39 267.19
-261 34 -37 265.79
-261 34 -38 265.93
-260 34 -39 265.10
-261 33 -38 265.81
-261 35 -39 266.21
-262 34 -38 266.92
-262 35 -38 267.04
-262 36 -38 267.18
-261 35 -39 266.21
-262 35 -40 267.34
-262 33 -38 266.79
-261 34 -37 265.79
-259 32 -37 263.58
-261 34 -40 266.23
-260 34 -37 264.81
-261 35 -38 266.06
-262 34 -39 267.06
-263 36 -39 268.30
-261 35 -39 266.21
-262 35 -38 267.04
-261 34 -38 265.93
-262 35 -40 267.34
-262 35 -41 267.49
-262 35 -38 267.04
-261 35 -37 265.92
-261 34 -37 265.79
-262 35 -39 267.19
-260 33 -39 264.97
-262 35 -38 267.04
-261 34 -37 265.79
-261 35 -39 266.21
-262 34 -37 266.78
-261 35 -39 266.21
-261 35 -38 266.06
-262 35 -38 267.04
-261 35 -41 266.51
-261 34 -40 266.23
-261 34 -36 265.66
-262 34 -41 267.36
-262 34 -37 266.78
-262 36 -38 267.18
-262 36 -39 267.32
-262 35 -39 267.19
-262 34 -39 267.06
-260 34 -39 265.10
-261 34 -38 265.93
-262 35 -38 267.04
-260 34 -39 265.10
-261 34 -37 265.79
-261 35 -38 266.06
-261 35 -40 266.36
-261 35 -39 266.21
-263 34 -41 268.34
-262 36 -39 267.32
-262 35 -38 267.04
-261 34 -39 266.08
-261 34 -38 265.93
-261 35 -37 265.92
-261 33 -39 265.95
-261 34 -40 266.23
-261 34 -38 265.93
-263 35 -38 268.03
-262 33 -38 266.79
-263 37 -39 268.44
-262 35 -38 267.04
-261 35 -39 266.21
-262 36 -40 267.47
-261 34 -38 265.93
-262 35 -38 267.04
-262 35 -38 267.04
-262 34 -38 266.92
-261 34 -39 266.08
-262 34 -38 266.92
-262 36 -39 267.32
-261 34 -40 266.23
-261 34 -37 265.79
-263 34 -39 268.04
-261 34 -37 265.79
-260 35 -39 265.23
-261 34 -39 266.08
-262 34 -38 266.92
-262 34 -38 266.92
-261 33 -39 265.95
-261 34 -39 266.08
-262 35 -38 267.04
-262 35 -38 267.04
-261 35 -38 266.06
-262 36 -39 267.32
-261 34 -38 265.93
-261 34 -37 265.79
-262 35 -38 267.04
-261 35 -39 266.21
-262 35 -39 267.19
-262 35 -38 267.04
-261 35 -37 265.92
-261 34 -38 265.93
-261 35 -37 265.92
-262 34 -38 266.92
-262 35 -37 266.90
-261 34 -37 265.79
-262 35 -39 267.19
-262 36 -37 267.04
-262 34 -40 267.21
-262 35 -39 267.19
-261 34 -39 266.08
-261 33 -39 265.95
-262 34 -38 266.92
-261 34 -37 265.79
-262 35 -37 266.90
-260 34 -39 265.10
-262 34 -40 267.21
-261 34 -39 266.08
-262 34 -39 267.06
-262 36 -40 267.47
-261 34 -39 266.08
-261 34 -37 265.79
-262 35 -38 267.04
-261 34 -39 266.08
-261 35 -36 265.79
-263 35 -38 268.03
-262 34 -37 266.78
-261 34 -39 266.08
-262 34 -39 267.06
-261 35 -38 266.06
-262 35 -39 267.19
-263 37 -39 268.44
-261 35 -39 266.21
-261 35 -39 266.21
-261 35 -36 265.79
-262 34 -40 267.21
-261 35 -38 266.06
-261 34 -39 266.08
-261 35 -40 266.36
-262 35 -39 267.19
-261 34 -38 265.93
-263 35 -39 268.17
-262 35 -38 267.04
-261 34 -39 266.08
-262 35 -39 267.19
-262 35 -38 267.04
-262 33 -38 266.79
-262 35 -37 266.90
-262 36 -39 267.32
-261 36 -36 265.92
-263 36 -37 268.02
-262 35 -37 266.90
-261 34 -38 265.93
-261 35 -38 266.06
-262 35 -38 267.04
-261 34 -38 265.93
-262 35 -37 266.90
-262 35 -38 267.04
-262 35 -38 267.04
-262 35 -41 267.49
-261 36 -37 266.06
-259 33 -39 263.99
-261 34 -38 265.93
-261 35 -39 266.21
-262 33 -38 266.79
-262 35 -38 267.04
-262 35 -38 267.04
-262 35 -39 267.19
-262 34 -37 266.78
-263 36 -39 268.30
-261 34 -36 265.66
-262 34 -37 266.78
-262 36 -38 267.18
-262 34 -39 267.06
-260 34 -38 264.95
-262 35 -37 266.90
-263 35 -37 267.89
-262 35 -39 267.19
-261 35 -36 265.79
-261 34 -40 266.23
-262 35 -38 267.04
-261 34 -38 265.93
-262 34 -38 266.92
-262 35 -38 267.04
-262 35 -37 266.90
-261 35 -38 266.06
-261 34 -38 265.93
-261 35 -38 266.06
-261 34 -40 266.23
-262 34 -37 266.78
-261 34 -40 266.23
-262 35 -38 267.04
-261 34 -40 266.23
-261 35 -40 266.36
-262 34 -40 267.21
-263 35 -38 268.03
-261 34 -39 266.08
-262 35 -39 267.19
-261 34 -38 265.93
-261 35 -39 266.21
-261 35 -39 266.21
-262 34 -38 266.92
-261 34 -38 265.93
-261 35 -38 266.06
-261 35 -39 266.21
-262 36 -38 267.18
-262 33 -38 266.79
-263 35 -37 267.89
-261 35 -39 266.21
-261 33 -38 265.81
-261 33 -39 265.95
-262 34 -40 267.21
-261 34 -38 265.93
-262 36 -39 267.32
-262 36 -40 267.47
-261 34 -39 266.08
-262 34 -38 266.92
-261 34 -38 265.93
-260 34 -38 264.95
-261 35 -39 266.21
-261 35 -39 266.21
-262 35 -36 266.77
-262 34 -36 266.64
-263 36 -38 268.16
-260 34 -39 265.10
-262 36 -37 267.04
-261 34 -39 266.08
-261 34 -39 266.08
-261 35 -39 266.21
-261 33 -38 265.81
-262 35 -39 267.19
-262 35 -37 266.90
-261 35 -40 266.36
-263 35 -37 267.89
-262 35 -40 267.34
-262 35 -38 267.04
-262 37 -37 267.17
-262 34 -39 267.06
-262 34 -37 266.78
-261 34 -39 266.08
-261 35 -37 265.92
-261 34 -36 265.66
-261 35 -39 266.21
-261 34 -37 265.79
-261 35 -39 266.21
-262 35 -39 267.19
-261 34 -39 266.08
-260 33 -38 264.83
-262 35 -38 267.04
-261 35 -37 265.92
-261 34 -38 265.93
-262 34 -39 267.06
-260 34 -39 265.10
-261 35 -39 266.21
-262 35 -38 267.04
-261 34 -39 266.08
-262 34 -39 267.06
-261 34 -38 265.93
-261 35 -39 266.21
-261 33 -38 265.81
-261 34 -39 266.08
-261 34 -38 265.93
-261 35 -37 265.92
-261 34 -38 265.93
-260 34 -37 264.81
-262 34 -38 266.92
-261 34 -38 265.93
-261 36 -38 266.20
-261 34 -40 266.23
-261 34 -36 265.66
-262 34 -39 267.06
-261 33 -41 266.25
-261 33 -37 265.67
-262 36 -40 267.47
-262 34 -39 267.06
-261 34 -37 265.79
-261 35 -37 265.92
-260 35 -40 265.38
-262 36 -40 267.47
-260 35 -38 265.08
-261 35 -37 265.92
-262 34 -39 267.06
-261 34 -39 266.08
-262 34 -39 267.06
-262 34 -38 266.92
-262 34 -39 267.06
-261 35 -39 266.21
-262 35 -39 267.19
-261 35 -38 266.06
-263 36 -39 268.30
-262 34 -39 267.06
-260 34 -39 265.10
-262 36 -37 267.04
-262 34 -38 266.92
-261 34 -37 265.79
-263 35 -39 268.17
-262 35 -38 267.04
-263 34 -40 268.19
-262 33 -38 266.79
-262 35 -39 267.19
-263 36 -40 268.45
-261 35 -36 265.79
-262 34 -39 267.06
-263 36 -39 268.30
-261 34 -38 265.93
-262 34 -40 267.21
-262 35 -38 267.04
-263 36 -39 268.30
-262 34 -38 266.92
-263 36 -38 268.16
-262 35 -40 267.34
-261 35 -39 266.21
-262 35 -38 267.04
-261 33 -38 265.81
-261 34 -37 265.79
-260 35 -39 265.23
-261 35 -37 265.92
-262 34 -39 267.06
-262 35 -37 266.90
-262 35 -36 266.77
-261 35 -38 266.06
-261 34 -37 265.79
-261 34 -39 266.08
-262 36 -38 267.18
-262 35 -39 267.19
-262 34 -38 266.92
-263 36 -40 268.45
-261 34 -40 266.23
-261 34 -38 265.93
-262 34 -38 266.92
-261 35 -37 265.92
-262 35 -38 267.04
-262 35 -38 267.04
-262 34 -38 266.92
-261 34 -38 265.93
-261 35 -38 266.06
-263 35 -38 268.03
-261 34 -39 266.08
-262 36 -37 267.04
-260 34 -37 264.81
-262 35 -39 267.19
-262 33 -38 266.79
-261 36 -38 266.20
-261 35 -38 266.06
-261 35 -39 266.21
-261 35 -38 266.06
-260 34 -38 264.95
-262 36 -38 267.18
-261 34 -39 266.08
-261 34 -39 266.08
-262 34 -39 267.06
-263 35 -38 268.03
-261 35 -39 266.21
-261 35 -38 266.06
-262 35 -39 267.19
-262 35 -38 267.04
-261 35 -38 266.06
-262 35 -37 266.90
-261 35 -38 266.06
-261 34 -38 265.93
-262 34 -37 266.78
-262 35 -38 267.04
-260 34 -39 265.10
-262 34 -39 267.06
-261 34 -39 266.08
-262 34 -40 267.21
-261 34 -38 265.93
-262 34 -38 266.92
-261 34 -39 266.08
-262 35 -38 267.04
-260 33 -40 265.12
-262 34 -39 267.06
-262 35 -38 267.04
-262 35 -38 267.04
-262 35 -38 267.04
-261 34 -38 265.93
-263 36 -38 268.16
-262 34 -39 267.06
-261 34 -39 266.08
-262 35 -39 267.19
-261 34 -39 266.08
-261 35 -39 266.21
-262 35 -38 267.04
-262 34 -37 266.78
-262 34 -38 266.92
-262 34 -39 267.06
-261 33 -38 265.81
-261 35 -38 266.06
-262 35 -37 266.90
-261 34 -39 266.08
-261 34 -37 265.79
-261 34 -38 265.93
-261 35 -38 266.06
-263 35 -39 268.17
-261 34 -39 266.08
-262 35 -38 267.04
-262 34 -39 267.06
-261 35 -39 266.21
-263 36 -38 268.16
-261 34 -37 265.79
-262 34 -38 266.92
-262 35 -40 267.34
-262 35 -40 267.34
-263 35 -39 268.17
-261 34 -39 266.08
-262 36 -37 267.04
-261 35 -38 266.06
-262 35 -38 267.04
-261 34 -37 265.79
-262 35 -40 267.34
-261 34 -38 265.93
-262 35 -40 267.34
-261 35 -38 266.06
-262 34 -38 266.92
-261 35 -38 266.06
-262 36 -39 267.32
-262 34 -37 266.78
-262 33 -38 266.79
-264 35 -38 269.01
-261 34 -38 265.93
-261 34 -41 266.38
-261 35 -37 265.92
-262 35 -38 267.04
-261 34 -38 265.93
-261 34 -38 265.93
-262 34 -39 267.06
-262 34 -38 266.92
-261 34 -38 265.93
-262 35 -37 266.90
-262 35 -40 267.34
-262 35 -39 267.19
-261 35 -38 266.06
-261 34 -37 265.79
-262 36 -38 267.18
-261 33 -38 265.81
-261 35 -38 266.06
-261 34 -39 266.08
-261 33 -38 265.81
-263 34 -38 267.90
-260 35 -37 264.94
-262 35 -38 267.04
-261 34 -38 265.93
-261 35 -37 265.92
-262 36 -36 266.90
-262 36 -38 267.18
-262 35 -37 266.90
-262 34 -38 266.92
-262 36 -38 267.18
-262 34 -38 266.92
-261 35 -39 266.21
-261 35 -38 266.06
-261 35 -38 266.06
-261 34 -38 265.93
-260 34 -39 265.10
-261 34 -36 265.66
-262 36 -38 267.18
-262 34 -39 267.06
-261 35 -39 266.21
/branches/V0.82b-Arthur-P/adxl345driver/examples/ADXL345_run/cal1.dat
0,0 → 1,885
-262 34 -40 267.21
-262 33 -39 266.93
-261 33 -40 266.10
-261 34 -40 266.23
-261 35 -39 266.21
-262 32 -39 266.81
-261 34 -41 266.38
-262 34 -38 266.92
-256 27 -34 259.66
-268 82 -45 283.85
-271 24 -38 274.70
-265 24 -30 267.77
-267 40 -28 271.43
-294 46 -10 297.74
-288 39 -21 291.39
-279 53 -17 284.50
-284 54 -12 289.34
-254 47 -37 260.95
-252 86 -26 267.54
-256 85 -37 272.27
-225 80 -63 246.97
-218 104 -67 250.66
-197 138 -72 251.07
-224 136 -62 269.29
-196 156 -65 258.80
-194 168 -63 264.25
-184 168 -56 255.37
-184 183 -47 263.73
-162 215 -51 273.99
-160 208 -44 266.08
-142 225 -44 269.68
-140 212 -40 257.18
-135 217 -26 256.89
-122 226 -25 258.04
-130 241 -13 274.14
-110 249 -16 272.68
-104 244 -21 266.07
-100 238 -22 259.09
-94 236 -33 256.17
-92 234 -40 254.60
-95 242 -30 261.70
-94 247 -30 265.98
-85 251 -23 266.00
-79 252 -17 264.64
-73 250 -20 261.21
-56 242 -27 249.86
-63 253 -14 261.10
-29 257 -20 259.40
-38 263 -9 265.88
-11 255 -23 256.27
-14 260 -12 260.65
4 253 -17 253.60
-3 256 -4 256.05
12 255 -7 255.38
28 250 -5 251.61
36 251 0 253.57
49 243 -6 247.96
25 256 8 257.34
48 244 -2 248.68
50 247 0 252.01
67 251 4 259.82
61 249 9 256.52
69 239 12 249.05
84 249 12 263.06
100 231 14 252.11
108 225 15 250.03
116 213 13 242.89
121 219 13 250.54
126 219 20 253.45
132 207 15 245.96
139 202 12 245.50
148 202 12 250.70
154 196 17 249.84
158 196 20 252.55
149 189 31 242.66
159 185 32 246.03
176 187 36 259.31
182 161 33 245.22
187 169 40 255.21
191 150 34 245.23
199 150 30 251.00
204 132 25 244.26
201 143 33 248.88
204 131 28 244.05
207 125 25 243.10
206 129 32 245.16
214 127 26 250.20
223 124 22 256.10
217 122 24 250.10
215 115 17 244.42
220 107 12 244.93
221 109 11 246.66
225 115 11 252.92
218 105 4 242.00
226 105 -4 249.23
222 109 1 247.32
230 112 -4 255.85
241 119 -6 268.85
227 95 -10 246.28
224 84 -16 239.77
225 91 -9 242.87
230 87 -12 246.20
241 83 -11 255.13
244 72 -17 254.97
241 71 -15 251.69
233 81 -14 247.07
241 83 -8 255.02
246 86 -12 260.88
258 73 -26 269.39
232 75 -20 244.64
242 65 -32 252.61
233 69 -17 243.60
248 66 -31 258.50
243 70 -20 253.67
244 66 -21 253.64
246 61 -20 254.24
245 65 -19 254.19
247 64 -27 256.58
238 62 -24 247.11
247 64 -21 256.02
250 63 -20 258.59
250 62 -21 258.43
252 50 -22 257.85
249 42 -21 253.39
249 29 -24 251.83
251 38 -18 254.50
251 27 -24 253.59
252 21 -24 254.01
248 16 -23 249.58
248 25 -13 249.60
253 19 -18 254.35
259 9 -22 260.09
255 9 -14 255.54
255 1 -18 255.64
245 3 -10 245.22
251 1 -12 251.29
263 0 -12 263.27
254 -12 -11 254.52
247 -6 -3 247.09
256 -13 -9 256.49
263 -12 -5 263.32
256 -19 -10 256.90
249 -11 0 249.24
249 -13 -7 249.44
245 -10 -6 245.28
252 -15 -6 252.52
251 -22 -9 252.12
250 -21 -5 250.93
256 -18 -1 256.63
262 -13 1 262.32
259 -4 -1 259.03
262 -4 -5 262.08
245 0 -5 245.05
241 4 -9 241.20
248 35 3 250.48
252 35 5 254.47
251 32 -4 253.06
254 61 7 261.32
239 61 2 246.67
254 77 -2 265.42
223 90 0 240.48
223 96 -6 242.86
212 130 -10 248.89
210 144 0 254.63
215 139 -5 256.07
190 185 17 265.73
180 186 0 258.84
154 191 7 245.45
132 204 9 243.15
141 205 -8 248.94
107 222 1 246.44
91 232 2 249.22
64 238 11 246.70
67 245 6 254.07
15 251 19 252.16
14 255 9 255.54
-1 257 10 257.20
-12 261 10 261.47
-44 256 6 259.82
-55 234 1 240.38
-65 244 5 252.56
-80 256 11 268.43
-86 237 -8 252.25
-113 237 5 262.61
-121 214 -9 246.00
-146 216 -5 260.76
-160 214 -3 267.22
-166 191 -13 253.39
-183 199 -11 270.58
-179 177 -19 252.45
-210 161 -16 265.10
-217 154 -19 266.77
-211 135 -30 252.28
-228 129 -23 262.97
-239 114 -21 265.63
-240 109 -27 264.97
-251 106 -21 273.27
-248 74 -30 260.54
-254 78 -28 267.18
-251 65 -39 262.20
-259 40 -36 264.53
-258 49 -33 264.68
-257 12 -38 260.07
-260 1 -38 262.76
-266 0 -33 268.04
-269 -26 -42 273.50
-260 -55 -44 269.37
-265 -43 -42 271.73
-252 -60 -47 263.27
-255 -84 -52 273.47
-243 -101 -51 268.05
-237 -126 -49 272.85
-233 -132 -46 271.71
-216 -127 -54 256.32
-209 -162 -49 268.93
-215 -157 -48 270.51
-211 -163 -46 270.57
-185 -190 -59 271.67
-185 -191 -54 271.33
-183 -212 -57 285.80
-162 -215 -56 274.96
-132 -219 -65 263.84
-134 -228 -61 271.41
-123 -231 -65 269.66
-118 -244 -66 278.96
-88 -251 -75 276.35
-85 -253 -74 276.97
-71 -246 -71 265.70
-51 -251 -83 269.24
-53 -252 -75 268.21
-38 -271 -84 286.25
-38 -273 -82 287.57
-34 -268 -82 282.32
-4 -263 -90 278.00
13 -260 -97 277.81
19 -259 -94 276.18
18 -255 -94 272.37
25 -272 -95 289.20
28 -264 -97 282.65
40 -255 -106 279.04
51 -249 -109 276.56
67 -238 -118 273.97
73 -241 -120 278.94
79 -247 -122 286.59
90 -230 -128 278.18
101 -224 -131 278.46
94 -222 -133 275.33
97 -217 -134 272.86
105 -204 -135 266.21
100 -215 -132 271.38
112 -206 -135 270.56
123 -207 -137 277.03
126 -197 -141 273.07
126 -191 -138 267.21
139 -196 -144 280.13
152 -194 -143 284.94
156 -183 -143 279.77
161 -176 -141 277.09
150 -173 -141 268.91
167 -168 -141 275.67
170 -166 -136 273.77
171 -169 -137 276.71
181 -157 -144 279.55
179 -146 -140 270.11
188 -138 -138 270.98
184 -130 -140 265.25
195 -125 -141 271.17
196 -121 -140 269.55
192 -129 -137 268.84
214 -108 -137 276.10
197 -110 -131 260.90
208 -99 -140 269.56
220 -89 -135 273.03
221 -104 -130 276.69
235 -95 -133 286.25
221 -96 -132 274.74
221 -77 -128 266.75
222 -79 -128 268.16
214 -85 -128 263.45
219 -69 -131 264.35
220 -87 -120 265.27
218 -79 -120 261.08
239 -62 -125 276.75
237 -71 -113 271.99
242 -62 -114 274.60
227 -71 -105 259.99
244 -70 -111 277.05
238 -39 -105 263.04
241 -62 -100 268.19
236 -66 -102 265.44
241 -55 -101 267.03
241 -69 -96 268.44
252 -47 -106 277.40
237 -56 -96 261.77
242 -54 -101 267.73
224 -59 -91 248.87
235 -56 -95 259.59
234 -46 -80 251.54
250 -51 -84 268.62
250 -59 -76 267.87
244 -63 -77 263.50
247 -62 -78 266.34
245 -58 -78 263.58
247 -57 -77 264.93
248 -55 -77 265.44
244 -54 -72 260.07
246 -64 -79 266.18
247 -62 -77 266.05
247 -52 -74 263.04
243 -63 -74 261.71
248 -62 -80 267.86
242 -60 -73 259.79
249 -54 -75 265.60
248 -63 -77 267.21
242 -60 -73 259.79
245 -61 -75 263.38
245 -63 -76 264.14
246 -51 -72 261.34
245 -67 -76 265.12
239 -64 -74 258.25
236 -80 -78 261.11
243 -58 -81 262.63
228 -89 -76 256.28
243 -66 -80 264.21
222 -102 -75 255.56
232 -83 -79 258.75
239 -101 -87 273.66
229 -99 -84 263.25
220 -138 -88 274.20
212 -97 -78 245.84
221 -145 -88 278.59
203 -148 -93 267.88
190 -154 -92 261.30
196 -158 -96 269.44
186 -149 -87 253.70
191 -174 -89 273.27
190 -196 -98 290.03
167 -192 -98 272.68
143 -225 -87 280.43
157 -230 -102 296.57
137 -220 -96 276.38
129 -221 -102 275.47
88 -219 -105 258.32
107 -244 -121 292.62
80 -232 -107 267.72
69 -264 -119 297.69
57 -250 -108 278.23
55 -246 -121 279.61
41 -247 -124 279.40
-1 -251 -112 274.86
-2 -255 -116 280.15
6 -244 -123 273.31
-21 -256 -108 278.64
-35 -249 -118 277.76
-49 -248 -114 277.31
-47 -241 -122 274.18
-72 -248 -120 284.76
-89 -230 -109 269.63
-106 -241 -109 284.95
-105 -232 -112 278.20
-122 -220 -113 275.78
-133 -225 -103 280.93
-141 -209 -100 271.22
-164 -198 -97 274.79
-163 -196 -96 272.40
-175 -193 -90 275.63
-179 -201 -91 284.12
-183 -189 -91 278.37
-194 -182 -84 278.96
-191 -179 -89 276.48
-205 -165 -81 275.34
-209 -163 -80 276.86
-208 -153 -81 270.62
-219 -153 -75 277.48
-219 -145 -78 273.99
-233 -133 -71 277.52
-229 -139 -75 278.19
-231 -116 -74 268.87
-242 -110 -68 274.39
-240 -107 -70 271.94
-245 -102 -68 273.96
-246 -95 -66 271.84
-250 -91 -64 273.64
-250 -87 -67 273.05
-253 -85 -62 274.00
-259 -74 -57 275.33
-257 -68 -59 272.31
-257 -62 -60 271.10
-257 -62 -56 270.24
-263 -50 -55 273.30
-256 -51 -57 267.18
-262 -48 -54 271.78
-258 -42 -55 267.12
-261 -18 -57 267.76
-270 -27 -49 275.74
-261 -15 -54 266.95
-266 -17 -50 271.19
-263 -7 -51 267.99
-265 -18 -45 269.40
-264 -14 -44 268.01
-272 -18 -36 274.96
-258 -13 -41 261.56
-266 -21 -29 268.40
-262 -24 -29 264.69
-259 -22 -23 260.95
-279 -28 -10 280.58
-264 -8 -7 264.21
-255 -19 -7 255.80
-268 -13 -1 268.32
-259 -11 4 259.26
-264 -6 19 264.75
-252 -5 24 253.19
-268 -15 42 271.69
-244 -4 31 245.99
-235 -22 29 237.80
-244 -4 53 249.72
-243 -8 65 251.67
-240 -4 79 252.70
-255 -6 92 271.15
-227 -15 100 248.50
-217 -7 115 245.69
-201 -12 118 233.39
-206 -12 128 242.83
-183 -1 130 224.48
-172 -4 143 223.72
-190 5 150 242.13
-162 11 156 225.17
-165 11 171 237.88
-146 9 178 230.39
-144 12 190 238.70
-127 2 186 225.23
-106 1 185 213.22
-120 -4 194 228.15
-94 -8 200 221.13
-104 2 202 227.21
-77 6 209 222.81
-75 2 214 226.77
-61 1 207 215.80
-51 6 205 211.33
-62 12 214 223.12
-41 5 210 214.02
-43 0 216 220.24
-27 2 210 211.74
-23 12 213 214.57
-18 6 217 217.83
-8 4 212 212.19
-6 7 214 214.20
-6 1 218 218.08
-10 -1 221 221.23
8 -2 213 213.16
10 -8 213 213.38
3 2 217 217.03
18 8 221 221.88
14 6 218 218.53
34 2 208 210.77
36 3 208 211.11
51 -2 204 210.29
51 -6 207 213.27
60 1 212 220.33
57 -1 211 218.57
78 1 206 220.27
82 1 199 215.23
87 3 198 216.29
102 -4 186 212.17
101 0 189 214.29
121 2 191 226.11
119 -2 186 220.82
137 -4 176 223.07
138 -3 181 227.63
139 -4 181 228.25
153 0 177 233.96
162 -5 157 225.65
169 -11 147 224.26
161 -11 148 218.97
175 -8 135 221.17
192 -11 142 239.06
174 -9 142 224.77
206 -11 111 234.26
198 -17 120 232.15
198 -23 116 230.63
217 -28 109 244.45
212 -27 104 237.67
226 -27 85 242.96
232 -17 88 248.71
212 -21 94 232.85
246 -27 70 257.19
234 -29 65 244.59
238 -24 50 244.38
250 -16 49 255.26
205 -32 65 217.43
251 -33 44 256.96
256 -27 33 259.53
226 -26 39 230.81
245 -38 33 250.12
233 -30 38 237.98
253 -20 22 254.74
255 -23 12 256.32
252 -29 2 253.67
248 -31 5 249.98
242 -27 9 243.67
248 -24 4 249.19
257 -24 -10 258.31
250 -25 1 251.25
255 -29 2 256.65
245 -34 2 247.36
260 -31 -2 261.85
256 -24 -8 257.25
249 -25 -8 250.38
246 -26 -3 247.39
253 -28 -7 254.64
244 -28 1 245.60
260 -36 10 262.67
243 -37 22 246.78
253 -28 11 254.78
250 -22 21 251.84
242 -41 24 246.62
240 -39 42 246.75
236 -34 63 246.62
217 -25 64 227.62
204 -30 79 220.81
224 -42 91 245.40
250 -46 103 274.27
174 -40 129 220.27
211 -38 124 247.67
127 -7 152 198.20
230 -30 159 281.21
172 -38 144 227.52
172 -36 146 228.46
129 -29 184 226.58
74 -26 204 218.56
77 -17 197 212.20
73 -7 201 213.96
72 -13 210 222.38
34 -7 213 215.81
30 -23 208 211.41
-17 -9 238 238.78
-8 -24 232 233.38
-23 -19 224 225.98
-40 -2 222 225.58
-61 -12 208 217.09
-83 0 213 228.60
-90 0 204 222.97
-93 -5 197 217.91
-122 -5 190 225.85
-122 -4 186 222.48
-167 3 193 255.24
-131 -15 170 215.14
-174 -2 166 240.49
-147 -19 136 201.16
-193 -8 149 243.95
-207 16 144 252.67
-231 6 120 260.38
-211 1 106 236.13
-220 -1 107 244.64
-235 -2 106 257.81
-253 16 84 267.06
-236 13 64 244.87
-212 -13 38 215.77
-243 1 42 246.60
-237 0 19 237.76
-275 4 37 277.51
-249 4 16 249.55
-236 -17 -2 236.62
-276 -2 13 276.31
-255 -8 -15 255.57
-281 5 -8 281.16
-256 -5 -28 257.58
-262 -6 -31 263.90
-253 -9 -41 256.46
-268 0 -38 270.68
-259 -8 -49 263.72
-277 5 -42 280.21
-257 -9 -69 266.25
-250 -2 -80 262.50
-260 -11 -81 272.55
-269 3 -74 279.01
-259 -3 -93 275.21
-257 36 -88 274.02
-247 3 -105 268.41
-262 10 -104 282.06
-238 7 -131 271.76
-237 13 -129 270.15
-225 2 -148 269.32
-237 22 -137 274.63
-238 18 -141 277.22
-250 18 -141 287.58
-241 24 -146 282.79
-244 26 -150 287.60
-225 12 -174 284.68
-233 21 -170 289.19
-231 27 -166 285.74
-231 39 -167 287.70
-220 26 -178 284.18
-199 16 -199 281.88
-207 32 -187 280.79
-191 29 -201 278.79
-187 31 -203 277.74
-203 57 -196 287.88
-200 42 -206 290.17
-190 23 -225 295.39
-190 27 -214 287.45
-185 32 -215 285.44
-179 42 -217 284.42
-173 42 -221 283.79
-168 34 -236 291.68
-166 30 -231 286.04
-171 38 -240 297.13
-167 38 -230 286.76
-153 28 -241 286.83
-146 23 -252 292.15
-130 2 -257 288.02
-108 49 -251 277.61
-108 31 -280 301.70
-82 29 -257 271.32
-95 4 -277 292.87
-78 33 -278 290.61
-57 31 -292 299.12
-51 13 -285 289.82
-36 40 -272 277.27
-26 42 -288 292.21
-29 6 -290 291.51
-11 9 -284 284.36
-2 20 -299 299.67
12 37 -292 294.58
23 22 -267 268.89
41 25 -263 267.35
41 23 -288 291.81
61 26 -279 286.77
63 27 -268 276.63
92 17 -266 281.97
88 26 -264 279.49
91 31 -265 281.90
110 11 -257 279.77
118 18 -263 288.82
127 30 -248 280.24
127 21 -257 287.44
138 11 -228 266.74
144 23 -240 280.83
158 21 -231 280.65
165 11 -220 275.22
169 26 -246 299.59
193 7 -188 269.52
190 20 -202 278.04
183 14 -223 288.81
198 22 -187 273.23
200 23 -209 290.19
215 13 -168 273.16
211 23 -184 280.90
224 17 -153 271.80
227 23 -159 278.10
232 13 -134 268.23
230 13 -139 269.05
234 14 -120 263.35
241 20 -125 272.22
240 9 -115 266.28
238 18 -107 261.57
247 8 -94 264.40
244 18 -106 266.64
251 20 -79 263.90
254 16 -90 269.95
252 7 -68 261.11
245 16 -97 263.99
249 21 -90 265.60
252 19 -95 269.98
252 6 -89 267.32
253 18 -109 276.07
245 14 -97 263.87
241 15 -98 260.60
236 22 -115 263.45
240 16 -105 262.45
251 6 -101 270.63
228 19 -119 257.89
243 14 -134 277.85
229 19 -113 256.07
243 16 -148 284.97
226 13 -122 257.16
221 27 -161 274.76
213 9 -162 267.76
203 26 -171 266.69
196 24 -198 279.64
206 25 -174 270.81
188 19 -202 276.60
192 19 -199 277.18
180 17 -218 283.22
162 29 -239 290.18
173 18 -213 274.99
155 30 -225 274.86
134 14 -258 291.06
125 34 -268 297.67
126 33 -251 282.78
108 29 -253 276.61
90 28 -273 288.81
88 40 -260 277.39
73 36 -272 283.92
60 30 -283 290.84
53 32 -281 287.74
29 46 -295 299.97
20 35 -285 287.84
4 46 -275 278.85
-17 38 -278 281.10
-44 46 -282 289.10
-54 56 -281 291.57
-73 45 -271 284.24
-76 55 -263 279.23
-111 54 -265 292.34
-121 43 -258 288.19
-122 67 -255 290.51
-141 50 -246 287.92
-157 73 -225 283.91
-170 67 -234 296.89
-177 62 -212 283.05
-198 79 -204 295.06
-199 62 -187 280.02
-210 58 -180 282.60
-195 88 -190 286.13
-236 66 -139 281.73
-227 74 -152 283.04
-229 70 -122 268.75
-244 58 -115 275.91
-245 72 -120 282.15
-262 10 -64 269.89
-261 25 -73 272.17
-259 20 -45 263.64
-252 36 -66 262.98
-256 24 -58 263.58
-259 10 -53 264.56
-257 21 -51 262.85
-285 -17 -35 287.64
-266 4 -34 268.19
-246 36 -55 254.63
-261 -2 -69 269.97
-237 2 -53 242.86
-255 -5 -63 262.71
-255 -22 -84 269.38
-270 -64 -42 280.64
-259 -38 -34 263.97
-284 -71 -69 300.76
-280 -4 -77 290.42
-242 6 -53 247.81
-282 -3 -29 283.50
-252 9 -74 262.79
-251 -36 -75 264.43
-268 -41 -82 283.25
-248 -33 -98 268.70
-281 -20 -35 283.88
-250 -26 -96 269.06
-305 -3 -4 305.04
-259 -11 -27 260.64
-270 -9 -32 272.04
-268 -25 -35 271.43
-271 -12 0 271.27
-263 25 2 264.19
-287 4 -5 287.07
-267 24 -29 269.64
-261 33 -20 263.84
-265 17 -12 265.82
-262 23 -19 263.69
-263 3 -22 263.94
-268 -5 -21 268.87
-265 16 -20 266.23
-264 14 -37 266.95
-264 6 -41 267.23
-262 11 -38 264.97
-264 12 -17 264.82
-281 8 -109 301.51
-209 97 -78 243.26
-280 -7 -46 283.84
-265 30 -52 271.71
-261 40 -35 266.36
-261 31 -41 266.01
-262 34 -43 267.67
-261 32 -39 265.83
-261 33 -38 265.81
-262 37 -41 267.76
-262 33 -41 267.23
-261 29 -41 265.79
-262 36 -39 267.32
-261 35 -43 266.82
-262 32 -37 266.53
-262 33 -38 266.79
-262 36 -41 267.62
-261 34 -39 266.08
-261 33 -39 265.95
-261 34 -42 266.54
-262 37 -41 267.76
-262 36 -40 267.47
-261 35 -41 266.51
-262 36 -40 267.47
-262 35 -41 267.49
-261 33 -42 266.41
-261 36 -39 266.34
-262 35 -41 267.49
-262 35 -43 267.80
-263 35 -42 268.62
-262 34 -38 266.92
-260 34 -39 265.10
-262 35 -41 267.49
-261 34 -40 266.23
-261 34 -40 266.23
-262 35 -40 267.34
-262 35 -39 267.19
-261 35 -43 266.82
-263 35 -42 268.62
-261 34 -42 266.54
-262 35 -40 267.34
-261 33 -41 266.25
-262 35 -39 267.19
-262 35 -40 267.34
-263 35 -40 268.32
-261 34 -41 266.38
-261 34 -40 266.23
-261 34 -40 266.23
-262 36 -40 267.47
-262 34 -41 267.36
-261 34 -39 266.08
-261 34 -41 266.38
-261 34 -40 266.23
-261 34 -39 266.08
-262 35 -40 267.34
-262 36 -40 267.47
-261 35 -38 266.06
-262 34 -42 267.51
-262 35 -41 267.49
-263 35 -39 268.17
-262 34 -41 267.36
-262 34 -40 267.21
-262 35 -41 267.49
-261 35 -42 266.66
-261 35 -40 266.36
-261 35 -40 266.36
-261 35 -39 266.21
-262 35 -39 267.19
-262 34 -40 267.21
-262 34 -41 267.36
-261 33 -40 266.10
-261 33 -40 266.10
-261 34 -39 266.08
-261 35 -42 266.66
-262 34 -41 267.36
-262 33 -39 266.93
-262 34 -40 267.21
-262 36 -40 267.47
-262 35 -41 267.49
-261 35 -40 266.36
-262 35 -39 267.19
-262 35 -40 267.34
-260 34 -40 265.25
-262 34 -40 267.21
-262 35 -40 267.34
-262 35 -40 267.34
-262 35 -40 267.34
-262 36 -39 267.32
-262 36 -39 267.32
-262 34 -39 267.06
-262 34 -41 267.36
-262 34 -40 267.21
-261 34 -41 266.38
-262 34 -40 267.21
-261 34 -40 266.23
-261 34 -41 266.38
-261 34 -40 266.23
-261 34 -39 266.08
-262 35 -42 267.64
-262 35 -37 266.90
-262 33 -40 267.08
-262 35 -41 267.49
-262 35 -38 267.04
-263 35 -41 268.47
-261 35 -39 266.21
-261 34 -41 266.38
-261 35 -39 266.21
-261 34 -39 266.08
-261 33 -40 266.10
-263 36 -41 268.60
-261 34 -40 266.23
-262 36 -40 267.47
-261 34 -42 266.54
-261 35 -40 266.36
-262 35 -38 267.04
-261 35 -41 266.51
-261 34 -41 266.38
-262 35 -37 266.90
-261 34 -39 266.08
-261 33 -41 266.25
-261 34 -40 266.23
/branches/V0.82b-Arthur-P/adxl345driver/examples/ADXL345_test/ADXL345_test.pde
0,0 → 1,234
#include "Wire.h"
#include "ADXL345.h"
 
ADXL345 accel;
 
void setup(void){
int x, y, z, i;
double xyz[3], gains[3], gains_orig[3];
 
Serial.begin(9600);
accel.init(ADXL345_ADDR_ALT_LOW);
accel.powerOn();
Serial.println("Arduino driver for ADXL345 3-axes accelerometer");
Serial.println("Version 2.0");
Serial.println("");
Serial.println("This program is free software; you can redistribute it and/or modify");
Serial.println("it under the terms of the GNU License V2.");
Serial.println("This program is distributed in the hope that it will be useful,");
Serial.println("but WITHOUT ANY WARRANTY; without even the implied warranty of");
Serial.println("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ");
Serial.println("GNU General Public License, version 2 for more details");
 
Serial.println("");
Serial.println("Original development: Kevin Stevenard");
Serial.println("Modified by Justin Shaw May 2010");
Serial.println("");
Serial.println("");
accel.getAxisGains(gains_orig);
Serial.println("gains_orig[]:");
for(i = 0; i < 3; i++){
Serial.print(gains_orig[i], 6);
Serial.print(" ");
}
Serial.println("");
 
gains[0] = .1;
gains[1] = 1.1;
gains[2] = 2.1;
accel.setAxisGains(gains);
accel.getAxisGains(gains);
Serial.println("set gains[]:");
for(i = 0; i < 3; i++){
Serial.print(gains[i]);
Serial.print(" ");
}
Serial.println("");
 
accel.setAxisGains(gains_orig);
accel.getAxisGains(gains);
Serial.println("original gains?");
for(i = 0; i < 3; i++){
Serial.print(gains[i], 6);
Serial.print(" ");
}
Serial.println("");
accel.readAccel(&x, &y, &z);
Serial.print("XYZ COUNTS: ");
Serial.print(x, DEC);
Serial.print(" ");
Serial.print(y, DEC);
Serial.print(" ");
Serial.print(z, DEC);
Serial.println("");
 
accel.get_Gxyz(xyz);
Serial.print("XYZ Gs: ");
for(i = 0; i<3; i++){
Serial.print(xyz[i], DEC);
Serial.print(" ");
}
Serial.println("");
 
accel.setTapThreshold(1);
Serial.print("getTapThreshold(): ");
Serial.println(accel.getTapThreshold(), DEC);
accel.setAxisOffset(2, 3, 4);
Serial.print("getAxisOffset(&x, &y, &z): ");
accel.getAxisOffset(&x, &y, &z);
Serial.print(x);
Serial.print(" ");
Serial.print(y);
Serial.print(" ");
Serial.print(z);
Serial.println("");
 
accel.setTapDuration(5);
Serial.print("getTapDuration(): ");
Serial.println(accel.getTapDuration(), DEC);
 
accel.setDoubleTapLatency(6);
Serial.print("getDoubleTapLatency(): ");
Serial.println(accel.getDoubleTapLatency(), DEC);
 
accel.setDoubleTapWindow(7);
Serial.print("getDoubleTapWindow() ");
Serial.println(accel.getDoubleTapWindow());
 
accel.setActivityThreshold(8);
Serial.print("getActivityThreshold() ");
Serial.println(accel.getActivityThreshold(), DEC);
 
accel.setInactivityThreshold(9);
Serial.print("getInactivityThreshold() ");
Serial.println(accel.getInactivityThreshold(), DEC);
 
accel.setTimeInactivity(10);
Serial.print("getTimeInactivity(): ");
Serial.println(accel.getTimeInactivity());
 
accel.setFreeFallThreshold(11);
Serial.print("getFreeFallThreshold(): ");
Serial.println(accel.getFreeFallThreshold());
 
accel.setFreeFallDuration(12);
Serial.print("getFreeFallDuration(): ");
Serial.println(accel.getFreeFallDuration(), DEC);
 
Serial.print("isActivityXEnabled(): ");
Serial.println(accel.isActivityXEnabled(), DEC);
 
Serial.print("isActivityYEnabled(): ");
Serial.println(accel.isActivityYEnabled(), DEC);
 
Serial.print("isActivityZEnabled(): ");
Serial.println(accel.isActivityZEnabled(), DEC);
 
Serial.print("isInactivityXEnabled(): ");
Serial.println(accel.isInactivityXEnabled(), DEC);
 
Serial.print("isInactivityYEnabled(): ");
Serial.println(accel.isInactivityYEnabled(), DEC);
 
Serial.print("isInactivityZEnabled(): ");
Serial.println(accel.isInactivityZEnabled(), DEC);
 
Serial.print("isActivityAc(): ");
Serial.println(accel.isInactivityAc(), DEC);
 
accel.setActivityAc(true);
accel.setInactivityAc(true);
 
accel.setSuppressBit(true);
Serial.print("getSuppressBit(); true? ");
Serial.println(accel.getSuppressBit());
 
accel.setSuppressBit(false);
Serial.print("getSuppressBit(); false? ");
Serial.println(accel.getSuppressBit());
accel.setTapDetectionOnX(true);
Serial.print("isTapDetectionOnX(); true? ");
Serial.println(accel.isTapDetectionOnX(), DEC);
accel.setTapDetectionOnX(false);
Serial.print("isTapDetectionOnX(); false? ");
Serial.println(accel.isTapDetectionOnX(), DEC);
 
accel.setTapDetectionOnY(true);
Serial.print("isTapDetectionOnY(); true? ");
Serial.println(accel.isTapDetectionOnY(), DEC);
accel.setTapDetectionOnY(false);
Serial.print("isTapDetectionOnY(); false? ");
Serial.println(accel.isTapDetectionOnY(), DEC);
 
accel.setTapDetectionOnZ(true);
Serial.print("isTapDetectionOnZ(); true? ");
Serial.println(accel.isTapDetectionOnZ(), DEC);
accel.setTapDetectionOnZ(false);
Serial.print("isTapDetectionOnZ(); false? ");
Serial.println(accel.isTapDetectionOnZ(), DEC);
 
accel.setActivityX(true);
accel.setActivityY(true);
accel.setActivityZ(true);
 
accel.setInactivityX(false);
accel.setInactivityY(false);
accel.setInactivityZ(false);
 
Serial.print("isActivitySourceOnX(): ");
Serial.println(accel.isActivitySourceOnX(), DEC);
 
Serial.print("accel.isActivitySourceOnY(): ");
Serial.println(accel.isActivitySourceOnY(), DEC);
 
Serial.print("accel.isActivitySourceOnZ(): ");
Serial.println(accel.isActivitySourceOnZ(), DEC);
 
Serial.print("accel.isTapSourceOnX(): ");
Serial.println(accel.isTapSourceOnX(), DEC);
 
Serial.print("accel.isTapSourceOnY(): ");
Serial.println(accel.isTapSourceOnY(), DEC);
 
Serial.print("accel.isTapSourceOnZ(): ");
Serial.println(accel.isTapSourceOnZ(), DEC);
 
Serial.print("accel.isAsleep(): ");
Serial.println(accel.isAsleep(), DEC);
 
Serial.print("accel.isLowPower(): ");
Serial.println(accel.isLowPower(), DEC);
 
accel.setLowPower(false);
accel.setRate(3.14159);
Serial.print("getRate(): 3.14159?");
Serial.println(accel.getRate());
 
Serial.print("getInterruptSource(): ");
Serial.println(accel.getInterruptSource(), DEC);
 
Serial.print("getInterruptSource(1): ");
Serial.println(accel.getInterruptSource(1), DEC);
Serial.print("getInterruptMapping(1): ");
Serial.println(accel.getInterruptMapping(1), DEC);
 
accel.setInterruptMapping(1, true);
Serial.print("isInterruptEnabled(1): ");
Serial.println(accel.isInterruptEnabled(1));
accel.setInterrupt(1, true);
 
accel.setSelfTestBit(false);
Serial.print("getSelfTestBit(): ");
Serial.println(accel.getSelfTestBit(), DEC);
 
accel.printAllRegister();
}
void loop(void){
}