Implement entirely new logging subsystem

Make topic-based logging mechanics.
Print any log value to console.
Possibility to expose any logging value to mavlink.
This commit is contained in:
Oleg Kalachev
2026-06-30 13:03:43 +03:00
parent 26a0dd65be
commit 83d1c5c68a
11 changed files with 464 additions and 63 deletions
+1
View File
@@ -156,6 +156,7 @@ HardwareSerial Serial, Serial1, Serial2;
class EspClass {
public:
void restart() { Serial.println("Ignore reboot in simulation"); }
uint32_t getFreeHeap() { return 300 * 1024; } // assume 300 KB free heap
} ESP;
unsigned long __delayTime = 0;
+10 -1
View File
@@ -48,8 +48,17 @@ void normalizeRC();
void calibrateRC();
void calibrateRCChannel(int*, uint16_t[16], uint16_t[16], const char*);
void printRCCalibration();
void loopLog();
void resetLog();
void writeLog(const void *data, size_t size);
void readLog(void *data, size_t position, size_t size);
bool isTopicUpdated(const uint8_t topic);
void printLogInfo();
int estimateLogDuration();
void printLogHeader();
void printLogData();
void printLogValues(const char *filter);
void configLogThrottle(const char *name, float throttle);
void exposeLogValue(const char *name);
void processMavlink();
void sendMavlink();
void sendMessage(const void *msg);
+1
View File
@@ -55,6 +55,7 @@ public:
initNode();
Serial.begin(0);
setupParameters();
setupLog();
gzmsg << "Flix plugin loaded" << endl;
}