コード例 #1
0
ファイル: stbm_mpu.c プロジェクト: KNTRF/001_apt
uint8_t mpu_configure_fifo(uint8_t sensors)
{
	uint8_t prev;
	uint8_t result = 0;

	/* Compass data isn't going into the FIFO. Stop trying. */
	sensors &= ~MPU_XYZ_COMPASS;

	if (mpu9250_st.dmp_on){
		return 0;
	} else {
		if (!(mpu9250_st.sensors))
			return -1;
		prev = mpu9250_st.fifo_enable;
		mpu9250_st.fifo_enable = sensors & mpu9250_st.sensors;
		if (mpu9250_st.fifo_enable != sensors)
			/* You're not getting what you asked for. Some sensors are
			* asleep.
			*/
			result = -1;
		else
			result = 0;
		if (sensors || mpu9250_st.lp_accel_mode)
			set_int_enable(1);
		else
			set_int_enable(0);
		if (sensors) {
			if (mpu_reset_fifo()) {
				mpu9250_st.fifo_enable = prev;
				return -1;
			}
		}
	}

	return result;
}
コード例 #2
0
inv_error_t MPU9250_DMP::enableInterrupt(unsigned char enable)
{
	return set_int_enable(enable);
}