Skip to content

Commit 2bd4b44

Browse files
committed
mod: moved from bsec to bsec2, tested on RP2040 and ESP32S3
1 parent e0e30b3 commit 2bd4b44

File tree

4 files changed

+54
-27
lines changed

4 files changed

+54
-27
lines changed

Diff for: examples/SerialDebug/SerialDebug.ino

+24
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ ScienceKitCarrier science_kit;
55
void setup() {
66
Serial.begin(115200);
77
science_kit.begin(NO_AUXILIARY_THREADS);
8+
science_kit.beginBME688();
89
}
910

1011
void loop() {
@@ -57,6 +58,29 @@ void loop() {
5758
Serial.print("\t| ");
5859
Serial.print(science_kit.getResistance());
5960
Serial.print("\t|| ");
61+
62+
63+
64+
65+
science_kit.updateBME688();
66+
Serial.print(science_kit.getTemperature());
67+
Serial.print("\t");
68+
Serial.print(science_kit.getPressure());
69+
Serial.print("\t");
70+
Serial.print(science_kit.getHumidity());
71+
Serial.print("\t");
72+
Serial.print(science_kit.getAirQuality());
73+
Serial.print("\t|| ");
74+
75+
76+
77+
78+
79+
80+
6081
Serial.print("\n");
82+
83+
//science_kit.updateAPDS();
84+
//Serial.println(science_kit.getProximity());
6185
delay(10);
6286
}

Diff for: library.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ category=Communication
88
url=https://github.com/arduino-libraries/Arduino_ScienceKitCarrier
99
architectures=mbed,mbed_nano,esp32
1010
includes=Arduino_ScienceKitCarrier.h
11-
depends=Arduino_APDS9960,ArduinoBLE,WiFiNINA,INA2xx,Arduino_BMI270_BMM150,BSEC Software Library,Arduino_GroveI2C_Ultrasonic,OneWireNg
11+
depends=Arduino_APDS9960,ArduinoBLE,WiFiNINA,INA2xx,Arduino_BMI270_BMM150,bsec2,Arduino_GroveI2C_Ultrasonic,OneWireNg

Diff for: src/Arduino_ScienceKitCarrier.cpp

+25-24
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ ScienceKitCarrier::ScienceKitCarrier(){
4848
resistance_pin = RESISTANCE_PIN;
4949
opencircuit_resistance = RESISTANCE_CALIBRATION_HIGH;
5050

51-
bme688 = new Bsec();
51+
bme688 = new Bsec2();
5252
temperature=0.0;
5353
pressure=0.0;
5454
humidity=0.0;
@@ -419,39 +419,40 @@ int ScienceKitCarrier::beginBME688(){
419419
SPI.begin();
420420
bme688->begin(bme688_cs,SPI);
421421

422-
if (bme688->bsecStatus != 0){
422+
if (bme688->status != 0){
423423
return ERR_BEGIN_BME;
424424
}
425-
if (bme688->bme68xStatus != 0){
425+
if (bme688->sensor.status != 0){
426426
return ERR_BEGIN_BME;
427427
}
428428

429-
bsec_virtual_sensor_t sensorList[13] = {
430-
BSEC_OUTPUT_IAQ,
431-
BSEC_OUTPUT_STATIC_IAQ,
432-
BSEC_OUTPUT_CO2_EQUIVALENT,
433-
BSEC_OUTPUT_BREATH_VOC_EQUIVALENT,
434-
BSEC_OUTPUT_RAW_TEMPERATURE,
435-
BSEC_OUTPUT_RAW_PRESSURE,
436-
BSEC_OUTPUT_RAW_HUMIDITY,
437-
BSEC_OUTPUT_RAW_GAS,
438-
BSEC_OUTPUT_STABILIZATION_STATUS,
439-
BSEC_OUTPUT_RUN_IN_STATUS,
440-
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
441-
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
442-
BSEC_OUTPUT_GAS_PERCENTAGE
443-
};
444-
445-
bme688->updateSubscription(sensorList, 13, BSEC_SAMPLE_RATE_CONT);
429+
bsecSensor sensorList[14] = {
430+
BSEC_OUTPUT_IAQ,
431+
BSEC_OUTPUT_RAW_TEMPERATURE,
432+
BSEC_OUTPUT_RAW_PRESSURE,
433+
BSEC_OUTPUT_RAW_HUMIDITY,
434+
BSEC_OUTPUT_RAW_GAS,
435+
BSEC_OUTPUT_STABILIZATION_STATUS,
436+
BSEC_OUTPUT_RUN_IN_STATUS,
437+
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
438+
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
439+
BSEC_OUTPUT_STATIC_IAQ,
440+
BSEC_OUTPUT_CO2_EQUIVALENT,
441+
BSEC_OUTPUT_BREATH_VOC_EQUIVALENT,
442+
BSEC_OUTPUT_GAS_PERCENTAGE,
443+
BSEC_OUTPUT_COMPENSATED_GAS
444+
};
445+
446+
bme688->updateSubscription(sensorList, 14, BSEC_SAMPLE_RATE_CONT);
446447
return 0;
447448
}
448449

449450
void ScienceKitCarrier::updateBME688(){
450451
if (bme688->run()){
451-
temperature=bme688->temperature;
452-
pressure=(bme688->pressure)/100.0;
453-
humidity=bme688->humidity;
454-
airquality=bme688->iaq;
452+
temperature=bme688->getData(BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE).signal;
453+
pressure=bme688->getData(BSEC_OUTPUT_RAW_PRESSURE).signal;
454+
humidity=bme688->getData(BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY).signal;
455+
airquality=bme688->getData(BSEC_OUTPUT_IAQ).signal;
455456
}
456457
}
457458

Diff for: src/Arduino_ScienceKitCarrier.h

+4-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@
3232
#include <Wire.h>
3333
#include "Arduino_APDS9960.h"
3434
#include "INA.h"
35-
#include "bsec.h"
35+
36+
#include "bsec2.h"
37+
3638
#include "Arduino_BMI270_BMM150.h"
3739
#include "Arduino_GroveI2C_Ultrasonic.h"
3840

@@ -69,7 +71,7 @@ class ScienceKitCarrier{
6971
uint8_t resistance_pin;
7072
float resistance, opencircuit_resistance;
7173

72-
Bsec * bme688;
74+
Bsec2 * bme688;
7375
float temperature, pressure, humidity, airquality;
7476
uint8_t bme688_cs;
7577

0 commit comments

Comments
 (0)