According to SMBus standard in some linux, the I2C read/write has a limit of :
I2C_SMBUS_BLOCK_MAX is 32 bytes.
But bme68x_defs.h has
#define BME68X_LEN_FIELD is UINT8_C(17)
So, in bme68x.c where function 'read_all_field_data' defined the buff length as BME68X_LEN_FIELD x 3 which is greater than I2C_SMBUS_BLOCK_MAX resulting in chop offs in the register read/writes.
thank you for your attention in this matter.
According to SMBus standard in some linux, the I2C read/write has a limit of :
I2C_SMBUS_BLOCK_MAX is 32 bytes.
But bme68x_defs.h has
#define BME68X_LEN_FIELD is UINT8_C(17)
So, in bme68x.c where function 'read_all_field_data' defined the buff length as BME68X_LEN_FIELD x 3 which is greater than I2C_SMBUS_BLOCK_MAX resulting in chop offs in the register read/writes.
thank you for your attention in this matter.