diff --git a/src/helpers/stm32/InternalFileSystem.cpp b/src/helpers/stm32/InternalFileSystem.cpp index 2714ec6b..dc032eb9 100644 --- a/src/helpers/stm32/InternalFileSystem.cpp +++ b/src/helpers/stm32/InternalFileSystem.cpp @@ -126,11 +126,14 @@ InternalFileSystem::InternalFileSystem(void) bool InternalFileSystem::begin(void) { + volatile bool format_fs; #ifdef FORMAT_FS - this->format(); + format_fs = true; + #else + format_fs = false; // you can always use debugger to force formatting ;) #endif // failed to mount, erase all sector then format and mount again - if ( !Adafruit_LittleFS::begin() ) + if ( format_fs || !Adafruit_LittleFS::begin() ) { // lfs format this->format(); diff --git a/variants/wio-e5-mini/target.cpp b/variants/wio-e5-mini/target.cpp index 7a2b0d39..e3dd2ec7 100644 --- a/variants/wio-e5-mini/target.cpp +++ b/variants/wio-e5-mini/target.cpp @@ -18,8 +18,7 @@ static const Module::RfSwitchMode_t rfswitch_table[] = { }; VolatileRTCClock rtc_clock; -BME280I2C bme; -WIOE5SensorManager sensors(bme); +WIOE5SensorManager sensors; #ifndef LORA_CR #define LORA_CR 5 @@ -73,9 +72,9 @@ bool WIOE5SensorManager::querySensors(uint8_t requester_permissions, CayenneLPP& float temp(NAN), hum(NAN), pres(NAN); BME280::TempUnit tempUnit(BME280::TempUnit_Celsius); - BME280::PresUnit presUnit(BME280::PresUnit_bar); + BME280::PresUnit presUnit(BME280::PresUnit_hPa); - _bme->read(pres, temp, hum, tempUnit, presUnit); + bme.read(pres, temp, hum, tempUnit, presUnit); telemetry.addTemperature(TELEM_CHANNEL_SELF, temp); telemetry.addRelativeHumidity(TELEM_CHANNEL_SELF, hum); @@ -85,7 +84,7 @@ bool WIOE5SensorManager::querySensors(uint8_t requester_permissions, CayenneLPP& } bool WIOE5SensorManager::begin() { - has_bme = _bme->begin(); + has_bme = bme.begin(); return has_bme; } \ No newline at end of file diff --git a/variants/wio-e5-mini/target.h b/variants/wio-e5-mini/target.h index daf7e174..4b510d56 100644 --- a/variants/wio-e5-mini/target.h +++ b/variants/wio-e5-mini/target.h @@ -25,11 +25,11 @@ public: }; class WIOE5SensorManager : public SensorManager { - BME280I2C* _bme; + BME280I2C bme; bool has_bme = false; public: - WIOE5SensorManager(BME280I2C& bme) : _bme(&bme) {} + WIOE5SensorManager() {} bool begin() override; bool querySensors(uint8_t requester_permissions, CayenneLPP& telemetry) override; };