bool initialiseIMU(mpu9250_t *dev) { int result; printf("+------------Initializing------------+\n"); result = mpu9250_init(dev, I2C_0, MPU9250_HW_ADDR_HEX_68, MPU9250_COMP_ADDR_HEX_0C); if (result == -1) { puts("[Error] The given i2c is not enabled"); return false; } else if (result == -2) { puts("[Error] The compass did not answer correctly on the given address"); return false; } result = mpu9250_set_gyro_fsr(dev, GFSR); if (result == -1) { puts("[Error] The given i2c is not enabled"); return false; } else if (result == -2) { puts("[Error] Invalid Gyro FSR value"); return false; } result = mpu9250_set_accel_fsr(dev, AFSR); if (result == -1) { puts("[Error] The given i2c is not enabled"); return false; } else if (result == -2) { puts("[Error] Invalid Accel FSR value"); return false; } mpu9250_set_sample_rate(dev, GA_SAMPLE_RATE_HZ); uint16_t gaSampleRate = dev->conf.sample_rate; printf("G+A sample rate set to: %u (requested rate was %u)\n", gaSampleRate, GA_SAMPLE_RATE_HZ); mpu9250_set_compass_sample_rate(dev, C_SAMPLE_RATE_HZ); uint16_t cSampleRate = dev->conf.compass_sample_rate; printf("Compass sample rate set to: %u (requested rate was %u)\n", cSampleRate, C_SAMPLE_RATE_HZ); printf("Initialization successful\n\n"); t0 = xtimer_now64(); autoCalibrate = true; dupInterval = UPDATE_INTERVAL_MS; initialisePosition(); return true; }
CellDoor::CellDoor(Directions::Direction direction, std::shared_ptr<LevelCell> cell, PatientGame* game) : CellEdge(direction, cell) { initialiseSprite(game); initialisePosition(); }