更新log

This commit is contained in:
yewuya 2021-01-22 18:15:13 +08:00
parent 9da8577361
commit ba2a2b7b81
2 changed files with 46 additions and 4 deletions

Binary file not shown.

View File

@ -16,7 +16,7 @@
## px4 log使用 ## px4 log使用
### 代码添加log输出 #### 代码添加log输出
在飞控开发过程中可以使用以下代码进行log调试根据不同的错误级别在相应的部分插入相应的信息。不同的信息代表不同的情况info一般用来表示重要功能完成了。warn表示发生异常但不影响系统使用err代表使用已经影响到了系统的工作必须马上解决问题。 在飞控开发过程中可以使用以下代码进行log调试根据不同的错误级别在相应的部分插入相应的信息。不同的信息代表不同的情况info一般用来表示重要功能完成了。warn表示发生异常但不影响系统使用err代表使用已经影响到了系统的工作必须马上解决问题。
@ -45,11 +45,53 @@ debug方式主要分仿真器调试和真机调试一般都是先进行软件
### 日志分析 ### 日志分析
px4 的logger会把订阅的uorb消息记录成.ulg文件存在SD卡中 #### logger
px4还有一个logger功能,默认情况下飞机解锁之后就会开始记录日志,飞机锁定之后停止记录日志.也可以在终端使用logger on手动开启.logger off停止记录.日志记录的主要内容为飞行数据和debug信息记录的日志文件可以用于对飞机的系统和飞行性能的评估、调整和事故分析.日志的格式是ulog.记录的日志文件会存储成.ulg文件存在SD卡中.可以安装使用pyulog查看日志信息.
pyulog安装方法
px4 的logger会把订阅的uorb消息记录成.ulg文件存在SD卡中logger可以订阅任何uorb消息并且可以进行配置选择需要的消息主题和频率.logger输出保存ulog文件也可以通过mavlink向客户端发送ulog数据.这两个后台任务可以同时进行.
**logger实现**
使用两个线程:
- 主线程以固定速率运行(如果以-p参数启动的话则轮询主题并检查数据更新
- 写入线程,将数据写入文件
两个线程之间有一个可配置大小的写入缓存区。
logger默认情况下飞机解锁之后就会开始记录日志,飞机锁定之后停止记录日志.也可以在终端使用logger on手动开启.logger off停止记录.日志记录的主要内容为飞行数据和debug信息记录的日志文件可以用于对飞机的系统和飞行性能的评估、调整和事故分析.日志的格式是ulog.记录的日志文件会存储成.ulg文件存在SD卡中.可以安装使用pyulog查看日志信息.
**logger 命令**
```
logger <命令> [参数...]
命令:
start
[-m <val>] 后端模式
可选: file|mavlink|all, 缺省: all
[-e] 启动后立即开始记录,直到上锁(否则只在解锁后开始记录)
[-f] 记录直到关闭为止(包含 -e)
[-t] 使用日期/时间命名日志目录和文件
[-r <val>] 记录速率单位Hz值为0则不限速
缺省: 280
[-b <val>] 记录缓存大小单位KiB
缺省: 12
[-q <val>] mavlink模式下uORB队列大小
缺省: 14
[-p <val>] 轮询主题而不是以固定速率运行(记录速率和主题间隔将被忽略)
可选: <topic_name>
on 立即开始记录,覆盖解锁(日志系统必须在运行中)
off 立即停止记录,覆盖锁定(日志系统必须在运行中)
stop
status 打印状态信息
```
**pyulog安装方法**
```shell ```shell
git clone https://github.com/PX4/pyulog.git git clone https://github.com/PX4/pyulog.git