Why is there periodic success when continuously reading SHT31?

Why is there periodic success when continuously reading SHT31?

Parents
  • 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
Reply
  • 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
Children
Related