Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void imu_periodic(void) {
- if (imu_aspirin.status == AspirinStatusUninit) {
- imu_aspirin_arch_int_enable();
- itg3200_init();
- hmc5843_init();
- configure_accel();
- imu_aspirin.status = AspirinStatusIdle;
- }
- else {
- // Watchdogs
- if (imu_aspirin.time_since_last_gyro_reading++ > GYRO_TIMEOUT) {
- i2c2_er_irq_handler();
- itg3200_read();
- imu_aspirin.time_since_last_gyro_reading = 0;
- }
- if (imu_aspirin.time_since_last_accel_reading++ > ACCEL_TIMEOUT) {
- configure_accel();
- imu_aspirin.time_since_last_accel_reading = 0;
- }
- if (imu_aspirin.time_since_last_mag_reading++ > MAG_TIMEOUT) {
- i2c2_er_irq_handler();
- hmc5843_read();
- imu_aspirin.time_since_last_mag_reading = 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement