bool srf02_init(uint8_t i2c_interface, uint32_t baud_rate) { if (i2c_initialize(i2c_interface, (uint32_t) I2CMASTER, 0, baud_rate, NULL) == false) { /* initialize I2C */ puts("fatal error happened in i2c_initialize()\n"); return false; } else { i2c_enable_pull_up_resistor(i2c_interface); //i2c_disable_pull_up_resistor(i2c_interface); return true; } }
void IMU_Initialisation(){ uint8_t counter=3; i2c_initialize(I2C2); usart_printf(USART1,"Hello\n\r"); uint8_t accel_address=0x53; uint8_t magnet_address=0x1E; uint8_t gyro_address=ITG3200_ADDR_AD0_LOW; counter=3; while(counter!=0){ accel_object=accelerometer_initialization(accel_address); if(accel_object==null){ ms_delay(1000); counter--; }else break; } if(counter==0){ usart_printf(USARTx,"Failed to initialize accel.Exiting...\n\r"); while(1); } usart_printf(USARTx,"Initialized accelerometer\n\r"); counter=3; while(counter!=0){ magnet_object=magnetometer_initialisation(magnet_address); if(magnet_object==null){ ms_delay(1000); counter--; }else break; } if(counter==0){ usart_printf(USARTx,"Failed to initialize magnetometer.Exiting...\n\r"); while(1); } usart_printf(USARTx,"Initialized magnetometer\n\r"); counter=3; while(counter!=0){ gyro_object=gyro_initialisation(gyro_address); if(gyro_object==null){ gyro_object=gyro_initialisation(gyro_address); ms_delay(1000); counter--; }else break; } if(counter==0){ usart_printf(USARTx,"Failed to initialize gyro.Exiting...\n\r"); while(1); } usart_printf(USARTx," initialize gyro\n\r"); }