static void run_self_test(void) { int result; long gyro[3], accel[3]; result = mpu_run_self_test(gyro, accel); if (result == 0x7) { /* Test passed. We can trust the gyro data here, so let's push it down * to the DMP. */ float sens; unsigned short accel_sens; mpu_get_gyro_sens(&sens); gyro[0] = (long)(gyro[0] * sens); gyro[1] = (long)(gyro[1] * sens); gyro[2] = (long)(gyro[2] * sens); dmp_set_gyro_bias(gyro); mpu_get_accel_sens(&accel_sens); accel[0] *= accel_sens; accel[1] *= accel_sens; accel[2] *= accel_sens; dmp_set_accel_bias(accel); printf("setting bias succesfully ......\r\n"); } }
int mpulib_run_self_test(void) { long gyro[3], accel[3]; if( mpu_run_self_test(gyro, accel) ) { /* Test passed: we can trust the gyro data here, * so let's push it down to the DMP. */ float sens; unsigned short accel_sens; mpu_get_gyro_sens(&sens); gyro[0] = (long)(gyro[0] * sens); gyro[1] = (long)(gyro[1] * sens); gyro[2] = (long)(gyro[2] * sens); dmp_set_gyro_bias(gyro); mpu_get_accel_sens(&accel_sens); accel[0] *= accel_sens; accel[1] *= accel_sens; accel[2] *= accel_sens; dmp_set_accel_bias(accel); printf("\nsetting bias succesfully ......\n"); return 0; } else { printf("\nbias has not been modified ......\n"); return -1; } }
static void run_self_test(void) { int result; // char test_packet[4] = {0}; long gyro[3], accel[3]; result = mpu_run_self_test(gyro, accel); if(result == 0) printf("self-test is executed succesfully ......\n"); //added by Damm Stanger if (result == 0x7) // if(result == 0x03) //Curently we don't have compass sensor so we don't need to test it Damm Stanger { /* Test passed. We can trust the gyro data here, so let's push it down * to the DMP. */ float sens; unsigned short accel_sens; mpu_get_gyro_sens(&sens); gyro[0] = (long)(gyro[0] * sens); gyro[1] = (long)(gyro[1] * sens); gyro[2] = (long)(gyro[2] * sens); dmp_set_gyro_bias(gyro); mpu_get_accel_sens(&accel_sens); accel[0] *= accel_sens; accel[1] *= accel_sens; accel[2] *= accel_sens; dmp_set_accel_bias(accel); printf("setting bias succesfully ......\n"); } else { printf("bias has not been modified ......\n"); } }
static inline void run_self_test(void) { int result; long gyro[3], accel[3]; result = mpu_run_self_test(gyro, accel); if (result == 0x7) { /* Test passed. We can trust the gyro data here, so let's push it down * to the DMP. */ float sens; unsigned short accel_sens; mpu_get_gyro_sens(&sens); gyro[0] = (long)(gyro[0] * sens); gyro[1] = (long)(gyro[1] * sens); gyro[2] = (long)(gyro[2] * sens); dmp_set_gyro_bias(gyro); mpu_get_accel_sens(&accel_sens); accel[0] *= accel_sens; accel[1] *= accel_sens; accel[2] *= accel_sens; dmp_set_accel_bias(accel); } /* Report results. */ //#报告结果 改为N5110 //test_packet[0] = 't'; //test_packet[1] = result; // N5110_Set_XY(0,0);//# // N5110_Write_Char('T'); // N5110_Write_Char(':'); // N5110_Write_Char(result+48); //send_packet(PACKET_TYPE_MISC, test_packet); }
void mpu6050_run_self_test(void) { int rtn; long gyro[3], accel[3]; float sens; unsigned short accel_sens; rtn = mpu_run_self_test(gyro, accel); if (rtn == 0x3) { /* Test passed. We can trust the gyro data here, so let's push it down * to the DMP. */ mpu_get_gyro_sens(&sens); gyro[0] = (long)(gyro[0] * sens); gyro[1] = (long)(gyro[1] * sens); gyro[2] = (long)(gyro[2] * sens); dmp_set_gyro_bias(gyro); mpu_get_accel_sens(&accel_sens); accel[0] *= accel_sens; accel[1] *= accel_sens; accel[2] *= accel_sens; dmp_set_accel_bias(accel); printf("\r\nSelf Test Passed!\r\n"); } }
void run_self_test(void) { extern bool Update_10Hz; int result; // char test_packet[4] = {0}; long gyro[3], accel[3]; result = mpu_run_self_test(gyro, accel); if (result == 0x7) { /* Test passed. We can trust the gyro data here, so let's push it down * to the DMP. */ float sens; unsigned short accel_sens; mpu_get_gyro_sens(&sens); gyro[0] = (long)(gyro[0] * sens); gyro[1] = (long)(gyro[1] * sens); gyro[2] = (long)(gyro[2] * sens); dmp_set_gyro_bias(gyro); mpu_get_accel_sens(&accel_sens); accel[0] *= accel_sens; accel[1] *= accel_sens; accel[2] *= accel_sens; dmp_set_accel_bias(accel); } else { //PrintChar("bias has not been modified ......\n"); while (1) { if(Update_10Hz) { Update_10Hz = false; GPIOPinWrite(GPIO_PORTE_BASE, GPIO_PIN_5, ~GPIOPinRead(GPIO_PORTE_BASE, GPIO_PIN_5) ); } } } }
bool MPUManager::__RunSelfTest() { int result; long gyro[3], accel[3]; int iSuccess = 0x01|0x02; #ifdef AK89xx_SECONDARY iSuccess |= 0x04; #endif result = mpu_run_self_test(gyro, accel); if (result == iSuccess) { /* Test passed. We can trust the gyro data here, so let's push it down * to the DMP. */ float sens; unsigned short accel_sens; mpu_get_gyro_sens(&sens); gyro[0] = (long)(gyro[0] * sens); gyro[1] = (long)(gyro[1] * sens); gyro[2] = (long)(gyro[2] * sens); dmp_set_gyro_bias(gyro); mpu_get_accel_sens(&accel_sens); accel[0] *= accel_sens; accel[1] *= accel_sens; accel[2] *= accel_sens; dmp_set_accel_bias(accel); return true; } else { #ifdef AK89xx_SECONDARY printf("Self test failed: gyro %s; accel %s; comp %s\n", (result&0x01)?"pass":"******", (result&0x02)?"pass":"******", (result&0x04)?"pass":"******" ); #else printf("Self test failed: gyro %s; accel %s\n", (result&0x01)?"pass":"******", (result&0x02)?"pass":"******" ); #endif return false; } }