void imu_process_values() { value_process_dt = micros() - value_process_timer; // for benchmarking value_process_timer = micros(); process_gyro(); process_accel(); combine(); }
BOOL callback_tilt_reading( struct sCAN* mMsg ) { BOOL retval = FALSE; switch (mMsg->id.group.id) { case ID_ACCEL_XYZ : count_accel++; parse_accel_msg (mMsg); process_accel (FALSE); //ShowAccelerometerData); retval= TRUE; break; case ID_GYRO_XYZ : count_gyro++; parse_gyro_msg (mMsg); // puts into RawxyzGyro process_gyro (FALSE); //ShowGyroData); if (ShowGyroData) { printf("\n"); //print_vector( &RawxyzGyro ); printf("\n"); //print_message(mMsg); printf("\n"); } retval=TRUE; break; /* case ID_MAGNET_XYZ : count_magnet++; if (ShowMagnetData && ShowCANData) print_message(mMsg); parse_magnet_msg(mMsg); process_magnet(ShowMagnetData); if (ShowMagnetData) printf("\n"); retval= TRUE; break; */ default: retval= FALSE; break; } //if ((count_accel==1) && (count_gyro==1) && (count_magnet==1)) if ((count_accel==1) && (count_gyro==1)) { printf("<<<=======FUSION===========>>>\n"); compute_accelGyro_fusion(FALSE); (*tiltsensor_callback)( ); /*if (count_samples++ < 300) save_timeslice_data(); else close_log_file(); */ count_accel=0; count_gyro=0; count_magnet=0; } return retval; }
Bool Window_process_accel( Handle self, int key) { return var-> modal ? my-> first_that_component( self, (void*)find_accel, &key) : inherited process_accel( self, key); }