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

相关文章:

  • 携程酒店 phantom-token token1004 分析
  • 什么是原码和补码
  • python中的进程锁与线程锁
  • 关于索引的使用
  • pe文件二进制解析(用c/c++解析一个二进制pe文件)
  • HTTP协议解析:Session/Cookie机制与HTTPS加密体系的技术演进(二)
  • 基于STM32、HAL库的PCM3060PWR 音频接口芯片驱动程序设计
  • UDP协议详细讲解及C++代码实例
  • 转发多台px4仿真UDP数据到地面站
  • KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache
  • sqlserver免费版每天备份数据库
  • 【计算机网络】3数据链路层②
  • 数据结构(一) 绪论
  • 进程与线程:07 CPU调度策略
  • 黑马Java基础笔记-10
  • Spring框架请求注解
  • Java键盘鼠标事件监听器(鼠标)MouseListener、MouseMotionListener、MouseWheelListener和(键盘)keyListener
  • 科学养生,开启健康生活
  • Spring Security与SaToken的对比
  • 机试刷题:进制转换3
  • 广西北部湾国际港务集团副总经理潘料庭接受审查调查
  • 外交部:反对美方人士发表不负责任谬论
  • 微软将在全球裁员6000人,目标之一为减少管理层
  • KPL“王朝”诞生背后:AG和联赛一起迈向成熟
  • 费高云不再担任安徽省人民政府副省长
  • 中东睿评|特朗普中东三国行:喧嚣的形式与空洞的实质