当前位置: 首页 > news >正文

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

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 文件通过定义这些参数,为日志记录系统提供了灵活的配置选项,以满足不同的应用场景和需求。

http://www.xdnf.cn/news/433783.html

相关文章:

  • 大白话解释「量化」是什么
  • (1+x)-1次幂 (1-x)-1次幂 泰勒展开式
  • 论坛系统(中-1)
  • PostgreSQL pg_dump 与 Oracle expdp 对比
  • AI大模型从0到1记录学习 linux day22
  • 项目里程碑未被明确,如何有效控制进度
  • 网页常见水印实现方式
  • Memcached 的特性和使用场景介绍,以及集群搭建
  • sqlserver免费版每天备份数据库
  • 英语学习5.12
  • 进程与线程:08 一个实际的 schedule 函数
  • 【周输入】510周阅读推荐-1
  • 如何使用 Qwen3 实现 Agentic RAG?
  • 采用AI神经网络降噪算法的语言降噪消回音处理芯片NR2049-P
  • C++中的虚表和虚表指针的原理和示例
  • While语句数数字
  • SpringBoot核心注解详解:定义、用法与原理
  • MySQL 学习(八)如何打开binlog日志
  • 球球大作战游戏服务器
  • iOS设备投屏Archlinux
  • MYSQL 查询去除小数位后多余的0
  • Linux——守护进程
  • 软考架构师考试-UML图总结
  • EF Core 数据库迁移命令参考
  • KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache
  • 影刀RPA开发-采集爬取京东读书书籍
  • 【React中函数组件和类组件区别】
  • day 22
  • 制作一款打飞机游戏47:跳转
  • ESP32C3连接wifi