FRDM-Copter is an attempt to build firmware for mbed based multicopter running on FRDM boards from Freescale.
Dependencies: FXAS21000 FXOS8700Q PID mbed-dsp mbed-rtos mbed
main.cpp
00001 #include "mbed.h" 00002 #include "rtos.h" 00003 #include "MotionSensor.h" 00004 #include "FXAS21000.h" 00005 #include "FXOS8700Q.h" 00006 00007 Serial pc(USBTX, USBRX); 00008 I2C i2c(PTE25, PTE24); 00009 I2C i2c_gyro(A4, A5); 00010 00011 FXOS8700QAccelerometer acc(i2c, FXOS8700CQ_SLAVE_ADDR1); // Configured for the FRDM-K64F with onboard sensors 00012 FXOS8700QMagnetometer mag(i2c, FXOS8700CQ_SLAVE_ADDR1); 00013 FXAS21000Gyroscpe gyro(i2c_gyro, FXAS21000_SLAVE_ADDR); 00014 00015 int main(void) 00016 { 00017 motion_data_units_t acc_data, mag_data, gyro_data; 00018 00019 acc.enable(); 00020 mag.enable(); 00021 gyro.enable(); 00022 //printf("FXOS8700QAccelerometer Who Am I= %X\r\n", acc.whoAmI()); 00023 //printf("FXOS8700QMagnetometer Who Am I= %X\r\n", acc.whoAmI()); 00024 //printf("FXAS21000Gyroscope Who am I= %X\r\n", gyro.whoAmI()); 00025 00026 while (true) { 00027 // unit based results 00028 acc.getAxis(acc_data); 00029 mag.getAxis(mag_data); 00030 gyro.getAxis(gyro_data); 00031 /* 00032 printf("%1.4f,%1.4f,%1.4f,%4.1f,%4.1f,%4.1f,%1.4f,%1.4f,%1.4f\r\n", acc_data.x, acc_data.y, acc_data.z, mag_data.x, mag_data.y, mag_data.z, 00033 gyro_data.x, gyro_data.y, gyro_data.z); 00034 */ 00035 00036 printf("%1.4f,%1.4f,%1.4f\r\n", gyro_data.x, gyro_data.y, gyro_data.z); 00037 wait(0.5f); 00038 } 00039 }
Generated on Sat Jul 16 2022 02:08:14 by 1.7.2