Hi there, I am really likeing the library for the BMI270 from github, but i am having one issue. When loading the config file over SPI to the BMI270 the program seems to stop with the error code -9 (=BMI2_E_CONFIG_LOAD). I checked BMI2_OK wich is 0 as it should so it must be something with "load_status" but i cant figure out whats wrong. Here the errorcode gets thrown: * Write the configuration file */ rslt = write_config_file(dev); if (rslt == BMI2_OK) { /* Check the configuration load status */ rslt = bmi2_get_internal_status(&load_status, dev); /* Return error if loading not successful */ if ((rslt == BMI2_OK) && (!(load_status & BMI2_CONFIG_LOAD_SUCCESS))) { rslt = BMI2_E_CONFIG_LOAD; } } So i was thinking that the problem must be within bmi2_get_internal_status. I should also mention, that the programm seems to have issues with the function upload file: static int8_t write_config_file(struct bmi2_dev *dev) { /* Variable to define error */ int8_t rslt; /* Variable to update the configuration file index */ uint16_t index = 0; /* config file size */ uint16_t config_size = dev->config_size; /* Variable to get the remainder */ uint8_t remain = (uint8_t)(config_size % dev->read_write_len); /* Variable to get the balance bytes */ uint16_t bal_byte = 0; /* Variable to define temporary read/write length */ uint16_t read_write_len = 0; /* Disable advanced power save mode */ rslt = bmi2_set_adv_power_save(BMI2_DISABLE, dev); if (rslt == BMI2_OK) { /* Disable loading of the configuration */ rslt = set_config_load(BMI2_DISABLE, dev); if (rslt == BMI2_OK) { if (!remain) { /* Write the configuration file */ for (index = 0; (index < config_size) && (rslt == BMI2_OK); index += dev->read_write_len) { rslt = upload_file((dev->config_file_ptr + index), index, dev->read_write_len, dev); } } else ... It sends out the config file (checked with osciloscope), but doesnt proceed in the code after that. Does anyone see the issue at hand? I would be imennsly gearfull. Best regards Hannes
... View more