Minor changes in CCS811 driver (#542)
This commit is contained in:
		
							parent
							
								
									37230b2de6
								
							
						
					
					
						commit
						8325bb87c5
					
				
					 3 changed files with 11 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -305,12 +305,14 @@ ccs811_set_mode (sensor, ccs811_mode_1s);
 | 
			
		|||
...
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Last, the user task that uses the sensor has to be created.
 | 
			
		||||
Finally, a user task that uses the sensor has to be created.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
xTaskCreate(user_task, "user_task", 256, NULL, 2, 0);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**Please note:** To avoid concurrency situations when driver functions are used to access the sensor, for example to read data, the user task must not be created until the sensor configuration is completed.
 | 
			
		||||
 | 
			
		||||
The user task can use different approaches to fetch new data. Either new data are fetched periodically or the interrupt signal *nINT* is used when new data are available or eCO2 value exceeds defined thresholds.
 | 
			
		||||
 | 
			
		||||
If new data are fetched **periodically** the implementation of the user task is quite simply and could look like following.
 | 
			
		||||
| 
						 | 
				
			
			@ -564,6 +566,8 @@ void user_init(void)
 | 
			
		|||
        // start periodic measurement with one measurement per second
 | 
			
		||||
        ccs811_set_mode (sensor, ccs811_mode_1s);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
        printf("Could not initialize CCS811 sensor\n");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -494,7 +494,8 @@ static bool ccs811_reg_read(ccs811_sensor_t* dev, uint8_t reg, uint8_t *data, ui
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
#   ifdef CCS811_DEBUG_LEVEL_2
 | 
			
		||||
    printf("CCS811 %s: Read following bytes: ", __FUNCTION__);
 | 
			
		||||
    printf("CCS811 %s: bus %d, addr %02x - Read following bytes: ", 
 | 
			
		||||
           __FUNCTION__, dev->bus, dev->addr);
 | 
			
		||||
    printf("%0x: ", reg);
 | 
			
		||||
    for (int i=0; i < len; i++)
 | 
			
		||||
        printf("%0x ", data[i]);
 | 
			
		||||
| 
						 | 
				
			
			@ -514,7 +515,8 @@ static bool ccs811_reg_write(ccs811_sensor_t* dev, uint8_t reg, uint8_t *data, u
 | 
			
		|||
#   ifdef CCS811_DEBUG_LEVEL_2
 | 
			
		||||
    if (data && len)
 | 
			
		||||
    {
 | 
			
		||||
        printf("CCS811 %s: Write following bytes starting at reg addr %02x: ", __FUNCTION__, reg);
 | 
			
		||||
        printf("CCS811 %s: bus %d, addr %02x - Write following bytes: ", 
 | 
			
		||||
               __FUNCTION__, dev->bus, dev->addr);
 | 
			
		||||
        for (int i=0; i < len; i++)
 | 
			
		||||
            printf("%02x ", data[i]);
 | 
			
		||||
        printf("\n");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue