# jmc_vspy_tool
**Repository Path**: zeso/jmc_vspy_tool
## Basic Information
- **Project Name**: jmc_vspy_tool
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-06-06
- **Last Updated**: 2024-06-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# jmc_vspy_tool
## 1.说明
本工具集成valueCAN4驱动,可实时侦听vspy从OBD接口获取的到的所有报文,并且定制化解析。具体具备如下能力:
- 目标DBC、报文、信号可配置
- 解析参数可配置
- 集成控制台交互
- 多种日志收集、输出
- 定制化的二次日志分析工具
- 多种工具集
## 2.目录树
```sh
jmc_vspy_tool
│
├─configuration.yml # 配置文件
├─jmc_vspy_tool.exe # 可执行文件
├─readme.html # 帮助文档
├─readme.md # 帮助文档
│
├─dbc # dbc文件路径
├─img # 帮助文档图片路径
├─log # 解析后的日志路径
├─raw # 原始数据路径
├─tools # 工具集
│ ├─tool_analys_csv # csv数据分析工具
│ ├─tool_proc_raw_log # 原始数据处理工具
│ └─tool_vin_dump # vin数据筛选工具
└─_internal # 动态库(必要)
```
## 3.使用手册
### 3.1 配置文件
通过`./configuration.yml`文件,可以配置本工具的数据源、解析行为等,便于适配多种测试场景。
```yaml
parse_set:
- log_mode: 0 # 0/1
- dbc: ./dbc/demo.dbc
- raw_log_pcs_size: 10 # unit:KB
signal_sets:
- signal:
msg_name: 'TBOX_GNSSAndRTK_0x572'
sig_name: 'RTKSignal_GNSS'
sig_ignored: False
check_peroid: True
peroid: 1000 # unit:ms
min_peroid: 900
max_peroid: 1100
- signal:
msg_name: 'GW_ABS_Vspeed_0x601'
sig_name: 'ABS_VehSpd_GB1'
sig_ignored: False
check_peroid: False
- signal:
msg_name: 'GW_ABS_Vspeed_0x601'
sig_name: 'ABS_VehSpd'
sig_ignored: False
check_peroid: False
- signal:
msg_name: 'TBOX_Location_0x580'
sig_name: ''
sig_ignored: True
check_peroid: False
- signal:
msg_name: 'TBOX_IMU_0x1B6'
sig_name: ''
sig_ignored: True
check_peroid: False
```
#### 参数介绍
| 参数 | 说明 | 默认值 |
| ---------------- | ------------------------------------------------------------ | ------ |
| log_mode | 日志模式
0-解析后的日志存放在./log/can_dump.log中
1-解析后的日志自动以时间命名存放在./log目录中 | 0 |
| dbc | dbc文件的路径(支持绝对路径和相对路径) | |
| raw_log_pcs_size | 原始数据分包存储的单包大小,单位KB | 200 |
| msg_name | 报文名称(对应于DBC文件) | |
| sig_name | 信号名称(对应于DBC文件) | |
| sig_ignored | 是否忽略信号解析 | True |
| check_peroid | 是否需要统计信号周期 | False |
| peroid | 信号周期(用于自动分析信号周期参考值) | |
| min_peroid | 信号周期最小值(用于自动分析信号周期参考值) | |
| max_peroid | 信号周期最大值(用于自动分析信号周期参考值) | |
| | | |
### 3.2 硬件连接
目前已验证支持的设备:**value CAN4-2**

### 3.3 运行
打开`CMD/powershell终端`,切换到`jmc_vspy_tool.exe`所在的目录,执行如下命令:
```sh
.\jmc_vspy_tool.exe
```

如果正常找到设备并打开,则脚本一直保持侦听状态,此时有3个线程:
1. 定时读取vspy数据,保存原始数据到`./raw`目录
2. 按照配置文件实时解析数据,并保存解析结果到`./log`目录
3. 终端控制台接收用户指令
### 3.4 控制台

在运行终端回车(任意时刻都支持),终端提示符列出所有可选命令。
| 命令 | 功能 |
| ---- | --------------------------------------------- |
| q或Q | 退出程序 |
| 1 | 获取实时固定解率,572报文的RTKSignal_GNSS信号 |
| 2 | 暂停接收,并计算固定解丢帧率 |
| 3 | 恢复接收 |



### 3.5 日志-原始数据
路径:`./raw`

原始数据的格式为:`时间戳,网络ID,CAN_id,HEX数据`
```sh
1987-06-13 13:07:09.348259,0x1,0x1a2,0x0000000000000000
1987-06-13 13:07:09.348372,0x1,0x1a7,0x0000000000000000
1987-06-13 13:07:09.348486,0x1,0x571,0x0000000000000000
1987-06-13 13:07:09.348601,0x1,0x580,0x0000000000000000
1987-06-13 13:07:09.348716,0x1,0x582,0x0000000000000000
1987-06-13 13:07:09.348829,0x1,0x585,0x0000000000000606
1987-06-13 13:07:09.348943,0x1,0x602,0x0000000000040000
```
### 3.6 日志-解析后数据
路径:`./log`


### 3.7 原始数据二次处理
因原始数据分包存储,使用`tool_prc_raw_log`工具对原始数据进行二次处理,便于查看和分析。
[使用方法](./tools/tool_proc_raw_log/readme.html)
### 3.8 软件版本查看
运行软件时,使用`-v`参数可参看当前软件版本。
