tweak memory alloc and cleanup

This commit is contained in:
caternuson 2021-08-24 10:21:27 -07:00
parent 587329ab35
commit b1e4352b7b
2 changed files with 11 additions and 1 deletions

View File

@ -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;
} }

View File

@ -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.