From 45b00bd9573716b324ae1fc4fcef9d633364177a Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Fri, 5 Jan 2018 18:27:57 +0100 Subject: [PATCH 1/2] minor change --- extras/ccs811/ccs811.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/extras/ccs811/ccs811.c b/extras/ccs811/ccs811.c index 2087b2a..5bf60d8 100644 --- a/extras/ccs811/ccs811.c +++ b/extras/ccs811/ccs811.c @@ -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"); From b43588cf8c3308d156c25726d7ec5c3ba7d8ddbf Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Sat, 6 Jan 2018 15:32:19 +0100 Subject: [PATCH 2/2] minor changes --- examples/ccs811/ccs811_one_sensor/ccs811_one_sensor.c | 2 ++ extras/ccs811/README.md | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/examples/ccs811/ccs811_one_sensor/ccs811_one_sensor.c b/examples/ccs811/ccs811_one_sensor/ccs811_one_sensor.c index a53b8a6..51e6c08 100644 --- a/examples/ccs811/ccs811_one_sensor/ccs811_one_sensor.c +++ b/examples/ccs811/ccs811_one_sensor/ccs811_one_sensor.c @@ -174,5 +174,7 @@ 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"); } diff --git a/extras/ccs811/README.md b/extras/ccs811/README.md index fa660ae..3d39ae5 100644 --- a/extras/ccs811/README.md +++ b/extras/ccs811/README.md @@ -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"); } ```