Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMI270 initialization issue with bmi2

    BMI270 initialization issue with bmi2

    Eason
    Member

    Hi

    I used the official program to initialize BMI270, but there was an error in the initialization program

     

    BMI270_Arduino_example_1:44:10: error: 'struct bmi2_dev' has no member named 'dev_id'
    
         bmi2.dev_id = BMI270_CS;

     

     

     

    #include <SPI.h>
    
    #include <bmi2.h>
    #include <bmi270.h>
    #include <bmi270_context.h>
    #include <bmi2_defs.h>
    #include <bmi2_ois.h>
      
    #include <Arduino.h>
    
    #define BMI270_CS   SS
    #define BMI270_INT1 6
    
    
    
    /* Callback function prototypes for the BMI270 Sensor API */
    
    int8_t bmi2_spi_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *data, uint16_t len);
    int8_t bmi2_spi_write(uint8_t dev_id, uint8_t reg_addr, const uint8_t *data, uint16_t len);
    void bmi2_delay_us(uint32_t period);
    
    /* Static variables */
    static struct bmi2_dev bmi2;
    static volatile bool bmi2_intr_recvd = false;
    static volatile uint32_t last_time_us = 0;
    
    void setup(void)
    {
      int8_t rslt;
      Serial.begin(115200);
      while (!Serial.available()); // Wait for an input to proceed
      pinMode(LED_BUILTIN, OUTPUT);
    
      /* Use either the SPI or I2C configuration */
    
      //  /* Start of SPI configuration */
        SPI.begin();
        pinMode(BMI270_CS, OUTPUT);
        digitalWrite(BMI270_CS, LOW);
        delay(1);
        digitalWrite(BMI270_CS, HIGH); // Toggle the chip select to switch into SPI mode
        delay(10);
        
        bmi2.dev_id = BMI270_CS;
        bmi2.read = bmi2_spi_read;
        bmi2.write = bmi2_spi_write;
        bmi2.delay_us = bmi2_delay_us;
        bmi2.intf = BMI2_SPI_INTERFACE;
        bmi2.read_write_len = 8192;
        bmi2.config_file_ptr = NULL; // Use the default BMI270 config file
        /* End of SPI configuration */
    
    
      rslt = bmi270_init(&bmi2);
      print_rslt(rslt);
    
      attachInterrupt(BMI270_INT1, bmi2_intr1_callback, RISING);
    
      //rslt = configure_sensor(&bmi2);
      //print_rslt(rslt);
    }

     

     

     

    8 REPLIES 8

    Hallo , Minhwan

    Thank you very much for your help, but during the compilation process I found that I was missing a header file. I don’t know if this header file is particularly important

     

     

    DueTimer.h: No such file or directory
    #include <SPI.h>
    #include <DueTimer.h>
    #include "Wire.h"
    #include "bmi2.h"
    #include "bmi270.h"

     

    Minhwan
    Community Moderator
    Community Moderator

    Hello Eason, 

     

    My example code is Arduino and if you don't use timer, you don't have to include it 🙂 

    Thanks, 

    Hallo, Minhwan

    Thank you for your help. Could you tell me ,how can I connect BMI270 with Arduino Due? And  which Pins should I use ?

    Minhwan
    Community Moderator
    Community Moderator

    Hello Eason, 

     

    Here is the pin mapping I used 🙂 

    Minhwan_0-1606859198342.png

     

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist