Logger hotfix: Allocate buffer on logging

This enables to use the RAM normally consumed by the log buffer to be used for calibration and other memory-intense tasks.
These run typically only disarmed when logging is not enabled.
This commit is contained in:
Lorenz Meier 2017-05-03 21:52:04 +02:00
parent dce28454c8
commit 65baf99832

View File

@ -60,13 +60,7 @@ LogWriterFile::LogWriterFile(size_t buffer_size) :
bool LogWriterFile::init()
{
if (_buffer) {
return true;
}
_buffer = new uint8_t[_buffer_size];
return _buffer;
return true;
}
LogWriterFile::~LogWriterFile()
@ -91,6 +85,17 @@ void LogWriterFile::start_log(const char *filename)
return;
} else {
if (_buffer == nullptr) {
_buffer = new uint8_t[_buffer_size];
if (_buffer == nullptr) {
PX4_ERR("Can't create log buffer");
_should_run = false;
return;
}
}
PX4_INFO("Opened log file: %s", filename);
_should_run = true;
_running = true;