9dofRazor for near space flight project
Fork of 9dofRazorImuAhrs by
dof9RazorImuAhrs.cpp
00001 //****************************************************************************/ 00002 // Description: 00003 // 00004 // Read attitude and heading reference system [AHRS] data from the SparkFun 00005 // 9DOF Razor Inertial Measurement Unit [IMU]. 00006 // 00007 // AHRS code: 00008 // 00009 // http://code.google.com/p/sf9domahrs/ 00010 // 00011 // 9DOF Razor IMU: 00012 // 00013 // http://www.sparkfun.com/commerce/product_info.php?products_id=9623 00014 //****************************************************************************/ 00015 00016 //****************************************************************************/ 00017 // Includes 00018 //****************************************************************************/ 00019 #include "dof9RazorImuAhrs.h" 00020 extern DigitalOut led1; 00021 00022 dof9RazorImuAhrs::dof9RazorImuAhrs(PinName tx, PinName rx) { 00023 00024 razor = new Serial(tx, rx); 00025 razor->baud(BAUD_RATE); 00026 led1 = 0; 00027 } 00028 00029 void dof9RazorImuAhrs::update(void) { 00030 led1 = 1; 00031 //Make sure we get to the start of a line. 00032 while (razor->getc() != '\n'); 00033 led1 = 0; 00034 #if PRINT_EULER == 1 00035 razor->scanf("!ANG:%f,%f,%f", &roll, &pitch, &yaw); 00036 #endif 00037 00038 #if PRINT_ANALOGS == 1 00039 razor->scanf(",AN:%f,%f,%f", &gyro_x, &gyro_y, &gyro_z); 00040 razor->scanf(",%f,%f,%f", &acc_x, &acc_y, &acc_z); 00041 razor->scanf(",%f,%f,%f", &mag_x, &mag_y, &mag_z); 00042 #endif 00043 00044 } 00045 00046 float dof9RazorImuAhrs::getRoll(void){ 00047 00048 return roll; 00049 00050 } 00051 00052 float dof9RazorImuAhrs::getPitch(void){ 00053 00054 return pitch; 00055 00056 } 00057 00058 float dof9RazorImuAhrs::getYaw(void){ 00059 00060 return yaw; 00061 00062 } 00063 00064 float dof9RazorImuAhrs::getGyroX(void){ 00065 00066 return gyro_x; 00067 00068 } 00069 00070 float dof9RazorImuAhrs::getGyroY(void){ 00071 00072 return gyro_y; 00073 00074 } 00075 00076 float dof9RazorImuAhrs::getGyroZ(void){ 00077 00078 return gyro_z; 00079 00080 } 00081 00082 float dof9RazorImuAhrs::getAccX(void){ 00083 00084 return acc_x; 00085 00086 } 00087 00088 float dof9RazorImuAhrs::getAccY(void){ 00089 00090 return acc_x; 00091 00092 } 00093 00094 float dof9RazorImuAhrs::getAccZ(void){ 00095 00096 return acc_z; 00097 00098 } 00099 00100 float dof9RazorImuAhrs::getMagX(void){ 00101 00102 return mag_x; 00103 00104 } 00105 00106 float dof9RazorImuAhrs::getMagY(void){ 00107 00108 return mag_y; 00109 00110 } 00111 00112 float dof9RazorImuAhrs::getMagZ(void){ 00113 00114 return mag_z; 00115 00116 }
Generated on Thu Jul 14 2022 15:58:09 by 1.7.2