Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    The output of BMP280 sensor are too consistent

    The output of BMP280 sensor are too consistent

    Iuliean
    New Poster

    I've used this https://github.com/BoschSensortec/BMP280_driver/tree/master/examples and implemented the i2c functions like this

     

    int8_t i2c_reg_write(uint8_t i2c_addr, uint8_t reg_addr, uint8_t *reg_data, uint16_t length)
    {
        int fd;
        std::cout << "write";
        fd = open("/dev/i2c-1", O_RDWR);
        std::cout << "fd " << fd;
        if((ioctl(fd, I2C_SLAVE, i2c_addr)) < 0)
        {
            std::cout << "kek1";
        }
        int rres = write(fd, reg_data, length);
        if(rres != length)
        {
            std::cout << " failed to write\n";
        }
        close(fd);
        return 0;
    }
    int8_t i2c_reg_read(uint8_t i2c_addr, uint8_t reg_addr, uint8_t *reg_data, uint16_t length)
    {
        int fd;
        //std::cout << "read";
        fd = open("/dev/i2c-1", I2C_RDWR);
        //std::cout << "fd " << fd;
        int rres = ioctl(fd, I2C_SLAVE, i2c_addr);
        if(rres < 0)
        {
            std::cout << "rkek1 "<< rres << ' ';
        }
        std::cout << "trying to read " << length << "bytes\n";
        for(int i = 0; i < length ; i++)
        {
            __s32 status = i2c_smbus_read_byte_data(fd, reg_addr);
            if( status < 0)
            {
                std::cout << "failed " << status << '\n';
            }
            reg_data[i] = status;
    
        }
        close(fd);
        /* Implement the I2C read routine according to the target machine. */
        return 0;
    }

     

    And after i compile temperatures.c and run the program i alway gen the same values 444102, 4671, 46.711974 and i have no i dea why

    I compiled my program on a raspberry pi zero w with this command "g++ temperatures.c bmp280.c -li2c"

    1 REPLY 1

    FAE_CA1
    Community Moderator
    Community Moderator

    Hi,

    Thanks for your inquiry.

    Please refer to the ticket at https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BMP-280-Weird-temperatur-data-with-I2C/m... for more informaiton.

    Thanks.

    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