tweak memory alloc and cleanup
This commit is contained in:
parent
587329ab35
commit
b1e4352b7b
|
|
@ -60,6 +60,12 @@ Adafruit_BME280::Adafruit_BME280(int8_t cspin, int8_t mosipin, int8_t misopin,
|
||||||
}
|
}
|
||||||
|
|
||||||
Adafruit_BME280::~Adafruit_BME280(void) {
|
Adafruit_BME280::~Adafruit_BME280(void) {
|
||||||
|
if (spi_dev) {
|
||||||
|
delete spi_dev;
|
||||||
|
}
|
||||||
|
if (i2c_dev) {
|
||||||
|
delete i2c_dev;
|
||||||
|
}
|
||||||
if (temp_sensor) {
|
if (temp_sensor) {
|
||||||
delete temp_sensor;
|
delete temp_sensor;
|
||||||
}
|
}
|
||||||
|
|
@ -79,10 +85,14 @@ Adafruit_BME280::~Adafruit_BME280(void) {
|
||||||
*/
|
*/
|
||||||
bool Adafruit_BME280::begin(uint8_t addr, TwoWire *theWire) {
|
bool Adafruit_BME280::begin(uint8_t addr, TwoWire *theWire) {
|
||||||
if (spi_dev == NULL) {
|
if (spi_dev == NULL) {
|
||||||
|
// I2C mode
|
||||||
|
if (i2c_dev)
|
||||||
|
delete i2c_dev;
|
||||||
i2c_dev = new Adafruit_I2CDevice(addr, theWire);
|
i2c_dev = new Adafruit_I2CDevice(addr, theWire);
|
||||||
if (!i2c_dev->begin())
|
if (!i2c_dev->begin())
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
|
// SPI mode
|
||||||
if (!spi_dev->begin())
|
if (!spi_dev->begin())
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
name=Adafruit BME280 Library
|
name=Adafruit BME280 Library
|
||||||
version=2.2.0
|
version=2.2.1
|
||||||
author=Adafruit
|
author=Adafruit
|
||||||
maintainer=Adafruit <info@adafruit.com>
|
maintainer=Adafruit <info@adafruit.com>
|
||||||
sentence=Arduino library for BME280 sensors.
|
sentence=Arduino library for BME280 sensors.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue