00001 /* 00002 * Atomic6DOF.h 00003 * 00004 * Created on: Feb 18, 2010 00005 * Author: uscr 00006 */ 00007 00008 #ifndef ATOMIC6DOF_H_ 00009 #define ATOMIC6DOF_H_ 00010 00011 #define SERIAL_PORT "/dev/ttyUSB0" 00012 #define SERIAL_BAUD B115200 00013 00014 //sensor calibration and offset constants 00015 #define X_ACCEL_OFFSET 1.952 00016 #define Y_ACCEL_OFFSET 2.21 00017 #define Z_ACCEL_OFFSET 2.0992 00018 #define X_ACCEL_COEFF 0.003931641 00019 #define Y_ACCEL_COEFF 0.004189453 00020 #define Z_ACCEL_COEFF 0.004125 00021 00022 #define GYRO_COEFF 0.9765625 00023 #define GYRO_OFFSET 500 00024 00025 #define RAD_TO_DEG 57.295779506 00026 00027 00028 struct currentIMUData { 00029 double gyro_pitch, gyro_roll, gyro_yaw; 00030 double accel_x, accel_y, accel_z; 00031 double adj_gyro_pitch, adj_gyro_roll, adj_gyro_yaw; 00032 double adj_accel_x, adj_accel_y, adj_accel_z; 00033 double adj_accel_pitch, adj_accel_roll; 00034 int count; 00035 }; 00036 00037 bool initializeAtomic6DOF(); 00038 void shutdownAtomic6DOF(); 00039 00040 bool isIMUDataReady(); //returns true if the read resulted in 00041 00042 #endif /* ATOMIC6DOF_H_ */