You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was having an issue with the example code (accelGyro) not running, and freezing com ports, etc. I traced the issue to having
Wire.begin() in the class constructor: DFRobot_BMI160::DFRobot_BMI160()
The feather m0 seems to lock up, especially when instantiating the:
DFRobot_BMI160 bmi160;
As a global object, before the void setup() function.
The solution was to move Wire.begin() to the beginning of: int8_t DFRobot_BMI160::I2cInit(int8_t i2c_addr)
My Code changes were as follows (in DFRobot_BMI160.cpp) DFRobot_BMI160::DFRobot_BMI160() { // Wire.begin();
I was having an issue with the example code (accelGyro) not running, and freezing com ports, etc. I traced the issue to having
Wire.begin() in the class constructor: DFRobot_BMI160::DFRobot_BMI160()
The feather m0 seems to lock up, especially when instantiating the:
DFRobot_BMI160 bmi160;
As a global object, before the void setup() function.
The solution was to move Wire.begin() to the beginning of:
int8_t DFRobot_BMI160::I2cInit(int8_t i2c_addr)
My Code changes were as follows (in DFRobot_BMI160.cpp)
DFRobot_BMI160::DFRobot_BMI160()
{
// Wire.begin();
Obmi160=(struct bmi160Dev *)malloc(sizeof(struct bmi160Dev));
//Obmi160->id = BMI160_I2C_ADDR;
//Obmi160->interface = BMI160_I2C_INTF;
Oaccel= (struct bmi160SensorData*)malloc(sizeof(struct bmi160SensorData));
Ogyro = (struct bmi160SensorData*)malloc(sizeof(struct bmi160SensorData));
}
int8_t DFRobot_BMI160::I2cInit(int8_t i2c_addr)
{
Wire.begin();
Obmi160->id = i2c_addr;
Obmi160->interface = BMI160_I2C_INTF;
return DFRobot_BMI160::I2cInit(Obmi160);
}
The text was updated successfully, but these errors were encountered: