【NextPilot日志移植】params.c解析

发布于:2025-05-14 ⋅ 阅读:(65) ⋅ 点赞:(0)

params.c 参数说明

params.c 文件的主要作用是定义与 SD卡日志记录 相关的参数。这些参数用于配置日志记录的行为,包括日志记录的时间、内容、存储管理以及加密设置等。

1. UTC 偏移量 (SDLOG_UTC_OFFSET)

PARAM_DEFINE_INT32(SDLOG_UTC_OFFSET, 0);
  • 用途:设置本地时间与协调世界时(UTC)的偏移量,单位为分钟。例如,韩国(UTC+09:00)的偏移量为 540 分钟(9 * 60)。
  • 取值范围:-1000 到 1000 分钟。

2. 日志记录模式 (SDLOG_MODE)

PARAM_DEFINE_INT32(SDLOG_MODE, 1);
  • 用途:决定日志记录的开始和停止时间。
  • 取值及含义
    • -1: 禁用日志记录。
    • 0: 系统武装(armed)时开始记录,解除武装(disarmed)时停止记录(默认值)。
    • 1: 从系统启动开始记录,直到解除武装。
    • 2: 从系统启动开始记录,直到系统关机。
    • 3: 根据 AUX1 RC 通道的状态决定是否记录。
    • 4: 从第一次武装开始记录,直到系统关机。
  • 注意事项:更改此参数需要重启系统。

3. 仅电池供电时记录 (SDLOG_BOOT_BAT)

PARAM_DEFINE_INT32(SDLOG_BOOT_BAT, 0);
  • 用途:启用此参数后,如果系统在启动时未检测到电池供电(例如通过 USB 供电进行测试),则不会从启动开始记录日志。这可以避免在测试台上产生不必要的飞行日志。
  • 注意事项:此参数仅适用于从启动开始记录的模式,对基于武装状态的记录模式无效。

4. 任务日志 (SDLOG_MISSION)

PARAM_DEFINE_INT32(SDLOG_MISSION, 0);
  • 用途:如果启用,会在 SD 卡上额外创建一个小的“任务”日志文件。该日志仅包含对生成飞行统计数据和地理标记等任务有用的消息。
  • 取值及含义
    • 0: 禁用任务日志。
    • 1: 记录所有任务消息。
    • 2: 仅记录地理标记所需的消息。
  • 注意事项:更改此参数需要重启系统。

5. 日志记录主题配置文件 (SDLOG_PROFILE)

PARAM_DEFINE_INT32(SDLOG_PROFILE, 1);
  • 用途:使用整数位掩码控制记录的主题集合和速率。默认设置允许进行一般的日志分析,同时保持日志文件大小合理。
  • 取值范围:0 到 2047。
  • 位掩码含义:每个位对应一组特定的主题,设置为 1 表示启用该组主题。
  • 注意事项:启用多个组会导致更高的带宽需求和更大的日志文件大小。更改此参数需要重启系统。

6. 最大日志目录数量 (SDLOG_DIRS_MAX)

PARAM_DEFINE_INT32(SDLOG_DIRS_MAX, 0);
  • 用途:设置系统保留的最大日志目录数量。如果日志目录数量超过此值,系统将在启动时删除最旧的目录。此外,如果可用空间不足 300 MB,系统也会删除旧的日志。
  • 取值范围:0 到 1000。
  • 注意事项:如果设置为 0,则仅在可用空间低于最小值时才会删除旧目录。此参数不适用于任务日志文件。更改此参数需要重启系统。

7. 日志 UUID (SDLOG_UUID)

PARAM_DEFINE_INT32(SDLOG_UUID, 1);
  • 用途:如果设置为 1,会在日志中添加一个唯一标识符,用于唯一标识车辆。

8. 日志文件加密算法 (SDLOG_ALGORITHM)

PARAM_DEFINE_INT32(SDLOG_ALGORITHM, 2);
  • 用途:选择用于日志文件加密的算法。
  • 取值及含义
    • 0: 禁用加密。
    • 2: 使用 XChaCha20 算法。
    • 3: 使用 AES 算法。

9. 日志文件加密密钥索引 (SDLOG_KEY)

PARAM_DEFINE_INT32(SDLOG_KEY, 2);
  • 用途:选择密钥库中用于加密日志的密钥索引。对于对称加密算法,密钥在日志记录开始时生成,并存储在该索引中。密钥是临时的,仅在日志记录期间有效。密钥使用 RSA2048 密钥(由 SDLOG_EXCH_KEY 定义)加密后存储在 SD 卡上。
  • 取值范围:0 到 255。

10. 日志文件加密密钥交换密钥 (SDLOG_EXCH_KEY)

PARAM_DEFINE_INT32(SDLOG_EXCH_KEY, 1);
  • 用途:如果使用对称密钥算法加密日志文件,生成的加密密钥将使用此索引指定的 RSA2048 密钥进行加密,并存储在 SD 卡上。
  • 取值范围:0 到 255。

综上所述,logger/params.c 文件通过定义这些参数,为日志记录系统提供了灵活的配置选项,以满足不同的应用场景和需求。


网站公告

今日签到

点亮在社区的每一天
去签到