Advertisement
Guest User

imu_aspirin.c

a guest
Jun 29th, 2012
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.72 KB | None | 0 0
  1. void imu_periodic(void) {
  2.     if (imu_aspirin.status == AspirinStatusUninit) {
  3.         imu_aspirin_arch_int_enable();
  4.         itg3200_init();
  5.         hmc5843_init();
  6.         configure_accel();
  7.         imu_aspirin.status = AspirinStatusIdle;
  8.     }
  9.     else {
  10.         // Watchdogs
  11.         if (imu_aspirin.time_since_last_gyro_reading++ > GYRO_TIMEOUT) {
  12.             i2c2_er_irq_handler();
  13.             itg3200_read();
  14.             imu_aspirin.time_since_last_gyro_reading = 0;
  15.         }
  16.         if (imu_aspirin.time_since_last_accel_reading++ > ACCEL_TIMEOUT) {
  17.             configure_accel();
  18.             imu_aspirin.time_since_last_accel_reading = 0;
  19.         }
  20.         if (imu_aspirin.time_since_last_mag_reading++ > MAG_TIMEOUT) {
  21.             i2c2_er_irq_handler();
  22.             hmc5843_read();
  23.             imu_aspirin.time_since_last_mag_reading = 0;
  24.         }
  25.     }
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement