Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AP_Logger: handle LOG_DISARMED=0 in mavlink-logging backend
In the current implementation the mavlink backend cant be used with warning messages from the GCS if the GCS doesnt want to permanently receive the whole logging stream (e.g. LOG_DISARMED=0). To explain the erroneous behaviour i want to show 3 possible situations which are possible with the mavlink-router implementation of the GCS side of mavlink-logging: 1. mavlink-router: logging mode "always" APM: DISARMED||ARMED + + LOG_BACKEND_TYPE=MAVLINK-BIT-SET Mavlink-logging backend detects mavlink-router which saves data to disc. Mavlink-logging backend logging_failed == false 2. mavlink-router: logging mode "while-armed" APM: DISARMED + LOG_DISARMED=0 + LOG_BACKEND_TYPE=MAVLINK-BIT-SET Mavlink-logging backend doesnt detect mavlink-router as no data is saved. Mavlink-logging backend logging_failed == true 3. mavlink-router: logging mode "while-armed" APM: ARMED + LOG_DISARMED=0 + LOG_BACKEND_TYPE=MAVLINK-BIT-SET Mavlink-logging backend detects mavlink-router which saves data to disc. Mavlink-logging backend logging_failed == false Case 1 is a inconvient for the user as a lot of non interesting data is saved. Case 2 prevents usage of the arming checks for logging and creates warnings in AP_RCTelemetry.cpp, as the mavlink-logger always fails. This PR tries to create a exception behaviour for Case 2 to not fail automatically when no logging stream is supposed to be sent via mavlink(LOG_DISARMED=0 + DISARMED).
- Loading branch information