Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -r0a2ca0373a422201d5316df8fb891ef38799e3f9 -red85c796c2e3bd73aeda374d9a109750bd7732e3 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 0a2ca0373a422201d5316df8fb891ef38799e3f9) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision ed85c796c2e3bd73aeda374d9a109750bd7732e3) @@ -88,12 +88,15 @@ if (vActionId == Gui::GuiActionType::ID_KeepAlive) return true; // This message is an exception which is also used to generate fake data and it has a variable length. - if (vData.length() < payloadLen[vActionId]) { - QString mActionIdHexString = Format::toHexString(vActionId); - LOG_DEBUG(QString("Incorrect data length for transmit Message with ID '%1'").arg(mActionIdHexString)); - return false; - } - return true; + if (payloadLen[vActionId] == 0) + return true; // Message with zero length data are ok as been defined + + if (vData.length()) return true; + + QString mActionIdHexString = Format::toHexString(vActionId); + LOG_DEBUG(QString("Data length for transmit Message with ID '%1'Can't be 0") + .arg(mActionIdHexString)); + return false; } /*! * \brief MessageInterpreter::validateMessage Index: sources/storage/DriveWatcher.cpp =================================================================== diff -u -r920342d3f8cb8c29966f2354ebc7d241df23ccf7 -red85c796c2e3bd73aeda374d9a109750bd7732e3 --- sources/storage/DriveWatcher.cpp (.../DriveWatcher.cpp) (revision 920342d3f8cb8c29966f2354ebc7d241df23ccf7) +++ sources/storage/DriveWatcher.cpp (.../DriveWatcher.cpp) (revision ed85c796c2e3bd73aeda374d9a109750bd7732e3) @@ -225,14 +225,15 @@ static qint64 mOAvailable; qint64 mCAvailable; mCIsReady = driveSpaceCheck(Storage::SDCard_Base_Path_Name, mCTotal, mCAvailable); + mPercent = (100 * mCAvailable) / mCTotal; if (mOIsReady == mCIsReady && mOTotal == mCTotal && - mOAvailable == mCAvailable ) return; + mOAvailable == mCAvailable && + mPercent >= _minRequiredAvailableSpacePercent ) return; mOIsReady = mCIsReady ; mOTotal = mCTotal ; mOAvailable = mCAvailable ; - mPercent = (100 * mCAvailable) / mCTotal; emit didSDCardSpaceChange(mCIsReady, mCTotal, mCAvailable, mPercent); // coco end } Index: sources/storage/DriveWatcher.h =================================================================== diff -u -r3aab84456cfbdc4c4f495975ba9b8968eb844309 -red85c796c2e3bd73aeda374d9a109750bd7732e3 --- sources/storage/DriveWatcher.h (.../DriveWatcher.h) (revision 3aab84456cfbdc4c4f495975ba9b8968eb844309) +++ sources/storage/DriveWatcher.h (.../DriveWatcher.h) (revision ed85c796c2e3bd73aeda374d9a109750bd7732e3) @@ -47,6 +47,8 @@ const char *_usbDrive = ""; const int _interval = 1000; // in ms + const qint8 _minRequiredAvailableSpacePercent = 15; + QThread *_thread = nullptr; bool _init = false; Index: sources/storage/logger.cpp =================================================================== diff -u -r920342d3f8cb8c29966f2354ebc7d241df23ccf7 -red85c796c2e3bd73aeda374d9a109750bd7732e3 --- sources/storage/logger.cpp (.../logger.cpp) (revision 920342d3f8cb8c29966f2354ebc7d241df23ccf7) +++ sources/storage/logger.cpp (.../logger.cpp) (revision ed85c796c2e3bd73aeda374d9a109750bd7732e3) @@ -383,9 +383,12 @@ void Logger::onSDCardSpaceChange(bool vReady, qint64 vTotal, qint64 vAvailable, quint8 vPercent) { - if (vPercent > 10 ) { + if (vPercent < _availableSpacePercent ) { concurrentRemoveLogs(); + qDebug() << 0 << vReady << vTotal << vAvailable << vPercent; } - qDebug() << vReady << vTotal << vAvailable << vPercent; + else { + qDebug() << 1 << vReady << vTotal << vAvailable << vPercent; + } } // coco end Index: sources/storage/logger.h =================================================================== diff -u -r920342d3f8cb8c29966f2354ebc7d241df23ccf7 -red85c796c2e3bd73aeda374d9a109750bd7732e3 --- sources/storage/logger.h (.../logger.h) (revision 920342d3f8cb8c29966f2354ebc7d241df23ccf7) +++ sources/storage/logger.h (.../logger.h) (revision ed85c796c2e3bd73aeda374d9a109750bd7732e3) @@ -99,6 +99,8 @@ { LogType::eLogDebug, 5 }, }; + const qint8 _availableSpacePercent = 25; // currently 16G SD-Card so 4G should always be available. + const char *_dateFormat = "yyyy_MM_dd"; const char *_timeFormat = "HH:mm:ss";