Why is there periodic success when continuously reading SHT31?

Why is there periodic success when continuously reading SHT31?

  • Hello,

    Could you share some more details, like which Nordic chip or development kit and which version of the nRF Connect SDK you are using here?

    Could you share the whole log here? By checking the screenshot you shared, it looks like a general input/output error. Have you followed all the steps mentioned in this section? How does your overlay file look?

     

    Kind Regards,

    Abhijith

  • CONFIG_I2C=y
    CONFIG_I2C_SHELL=y
    
    CONFIG_LOG=y
    
    CONFIG_SENSOR=y
    CONFIG_SHT3XD=y

    prj.conf

    #include <zephyr/drivers/i2c.h>
    #include <zephyr/drivers/sensor.h>
    static const struct device *twi_dev = DEVICE_DT_GET(DT_NODELABEL(i2c0));
    const struct device *const dev = DEVICE_DT_GET_ONE(sensirion_sht3xd);
    
    
        if (!device_is_ready(twi_dev))
    	{
    		printk("error. twi_dev is not ready\n");
    	}
    	else
    	{
    		printk("twi_dev is ready\n");
    	}
    		if(!device_is_ready(dev))
    	{
    		printk("error. dev is not ready\n");
    	}
    	else
    	{
    		printk("dev is ready\n");
    	}

    sht3xd intit...

    		struct sensor_value temp, humidity;
    		rc = sensor_sample_fetch(dev);
    		if (rc)
    		{
    			printk("Failed to fetch data from SHT3X sensor: %d\n", rc);
    			// return;
    		}
    		rc = sensor_channel_get(dev, SENSOR_CHAN_AMBIENT_TEMP, &temp);
    		if (rc)
    		{
    			printk("Failed to fetch temperature data from SHT3X sensor: %d\n", rc);
    			// return;
    		}
    		rc = sensor_channel_get(dev, SENSOR_CHAN_HUMIDITY, &humidity);
    		if (rc)
    		{
    			printk("Failed to fetch humidity data from SHT3X sensor: %d\n", rc);
    			// return;
    		}
    		printk("Temperature: %d.%06d C\n", temp.val1, temp.val2);
    		printk("Humidity: %d.%06d %%RH\n", humidity.val1, humidity.val2);
    		k_msleep(delay_time);
    

    and get sht31 temperature and Humidity in the while...

    When the delay within the while loop is less than 1000ms, errors occur.

    [00:00:04.576,660] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.335845 %RH
    [00:00:04.777,374] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.335845 %RH
    [00:00:04.978,088] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.335845 %RH
    [00:00:05.178,802] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.335845 %RH
    Temperature: 27.977416 C
    Humidity: 54.316009 %RH
    [00:00:05.580,718] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.316009 %RH
    [00:00:05.781,433] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.316009 %RH
    [00:00:05.982,147] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.316009 %RH
    [00:00:06.182,861] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.316009 %RH
    Temperature: 27.977416 C
    Humidity: 54.261077 %RH
    [00:00:06.584,777] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.261077 %RH
    [00:00:06.785,491] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.261077 %RH
    [00:00:06.986,206] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.261077 %RH
    [00:00:07.186,920] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.261077 %RH
    Temperature: 27.990768 C
    Humidity: 54.201568 %RH
    [00:00:07.588,836] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.990768 C
    Humidity: 54.201568 %RH
    [00:00:07.789,550] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.990768 C
    Humidity: 54.201568 %RH
    [00:00:07.990,264] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.990768 C
    Humidity: 54.201568 %RH
    [00:00:08.190,979] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.990768 C
    Humidity: 54.201568 %RH
    Temperature: 27.961394 C
    Humidity: 54.175628 %RH
    [00:00:08.592,864] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.961394 C
    Humidity: 54.175628 %RH
    [00:00:08.793,579] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.961394 C
    Humidity: 54.175628 %RH
    [00:00:08.994,293] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.961394 C
    Humidity: 54.175628 %RH
    [00:00:09.195,007] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.961394 C
    Humidity: 54.175628 %RH
    Temperature: 27.977416 C
    Humidity: 54.123748 %RH
    [00:00:09.596,923] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.123748 %RH
    [00:00:09.797,637] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.123748 %RH
    [00:00:09.998,352] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.123748 %RH
    [00:00:10.199,066] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.977416 C
    Humidity: 54.123748 %RH
    Temperature: 28.004119 C
    Humidity: 54.119171 %RH
    [00:00:10.600,982] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 28.004119 C
    Humidity: 54.119171 %RH
    [00:00:10.801,696] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 28.004119 C
    Humidity: 54.119171 %RH
    [00:00:11.002,410] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 28.004119 C
    Humidity: 54.119171 %RH
    [00:00:11.203,125] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 28.004119 C
    Humidity: 54.119171 %RH
    Temperature: 27.961394 C
    Humidity: 54.312957 %RH
    [00:00:11.605,010] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
    Failed to read data sample!Failed to fetch data from SHT3X sensor: -5
    Temperature: 27.961394 C
    Humidity: 54.312957 %RH
    [00:00:11.805,725] <err> i2c_nrfx_twi: Error 0x0BAE0001 occurred for message 1
  • It is normal for device_is_ready(dev) to run successfully. The main issue arises when attempting to obtain temperature and humidity information at a higher frequency, leading to errors.

  • Hello,

    Please expect some delay in response as it is Easter vacation here in Norway. You can expect a response after the 2nd of April. Sorry if this creates any inconvenience for your development.

    Kind Regards,

    Abhijith

Related