mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-12 11:51:36 +08:00
logger: add airframe and system-wide default parameters
- adds new ulog message & compatibility flag - separately add airframe and system-wide defaults - log only non-volatile defaults that are different from the current value - additional size is ~3KB for 100 params
This commit is contained in:
@@ -33,12 +33,15 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
enum class ULogMessageType : uint8_t {
|
||||
FORMAT = 'F',
|
||||
DATA = 'D',
|
||||
INFO = 'I',
|
||||
INFO_MULTIPLE = 'M',
|
||||
PARAMETER = 'P',
|
||||
PARAMETER_DEFAULT = 'Q',
|
||||
ADD_LOGGED_MSG = 'A',
|
||||
REMOVE_LOGGED_MSG = 'R',
|
||||
SYNC = 'S',
|
||||
@@ -152,9 +155,30 @@ struct ulog_message_parameter_header_s {
|
||||
char key[255];
|
||||
};
|
||||
|
||||
enum class ulog_parameter_default_type_t : uint8_t {
|
||||
system = (1 << 0),
|
||||
current_setup = (1 << 1) //airframe default
|
||||
};
|
||||
|
||||
inline ulog_parameter_default_type_t operator|(ulog_parameter_default_type_t a, ulog_parameter_default_type_t b)
|
||||
{
|
||||
return static_cast<ulog_parameter_default_type_t>(static_cast<uint8_t>(a) | static_cast<uint8_t>(b));
|
||||
}
|
||||
|
||||
struct ulog_message_parameter_default_header_s {
|
||||
uint16_t msg_size;
|
||||
uint8_t msg_type = static_cast<uint8_t>(ULogMessageType::PARAMETER_DEFAULT);
|
||||
|
||||
ulog_parameter_default_type_t default_types;
|
||||
uint8_t key_len;
|
||||
char key[255];
|
||||
};
|
||||
|
||||
|
||||
#define ULOG_INCOMPAT_FLAG0_DATA_APPENDED_MASK (1<<0)
|
||||
|
||||
#define ULOG_COMPAT_FLAG0_DEFAULT_PARAMETERS_MASK (1<<0)
|
||||
|
||||
struct ulog_message_flag_bits_s {
|
||||
uint16_t msg_size;
|
||||
uint8_t msg_type = static_cast<uint8_t>(ULogMessageType::FLAG_BITS);
|
||||
|
||||
Reference in New Issue
Block a user