Skip to content

Commit b2c39ad

Browse files
committed
update run_demo.md
1 parent 36a34ec commit b2c39ad

2 files changed

Lines changed: 68 additions & 19 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
>| RTK/GPS | | NMEA |
4747
>| 主机(ARM/X86) | Intel/AMD/Jetson/RockChip/... | PTP |
4848
49+
4950
# 开始使用
5051
## 下载安装
5152
```bash

assets/doc/run_demo.md

Lines changed: 67 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,68 @@
1-
# 系统正常运行打印输出
2-
```python
3-
(串口打开状态)
4-
serial_manager.cpp:25 Serial port: /dev/ttyACM0 initialized and opened.
5-
serial_manager.cpp:44 Serial manager started ( 使用串口通信 )
6-
infinite_sense.cpp:49 Synchronizer started
7-
messenger.cpp:16 ZMQ PUB: tcp://0.0.0.0:40295 ( 当前使用的ZMQ通讯地址 )
8-
infinite_sense.cpp:68
9-
--- Topic Monitor ---
10-
Active Topics (8): ( 活跃话题数量 )
11-
• imu1 (num: 100) (1秒内收到收到消息数量 )
12-
• trigger/imu_1 (num: 100) ( 触发状态 )
13-
• trigger/cam_4 (num: 8)
14-
• trigger/cam_3 (num: 4)
15-
• trigger/cam_2 (num: 2)
16-
• trigger/laser (num: 1)
17-
• trigger/cam_1 (num: 1)
18-
• trigger/imu_2 (num: 1)
19-
---------------------
1+
# 下载安装
2+
```bash
3+
sudo apt-get install libzmq3-dev # 安装ZeroMQ(可选)
4+
git clone git@github.com:InfiniteSenseLab/InfiniteSenseSDK2.0.git -b main
5+
cd InfiniteSenseSDK2.0
6+
mkdir build && cd build
7+
cmake..
8+
```
9+
# 编译运行
10+
## 运行监听程序(可选)
11+
运行话题监听程序,可以帮助检查是否有数据接收与数据上传频率是否正常。
12+
```bash
13+
cd build/tools
14+
./monitor
15+
```
16+
## 运行example中的程序
17+
### 运行工业相机Demo
18+
```bash
19+
cd build/examples/GigeCam
20+
./gige_cam
21+
```
22+
### 运行工业相机ROS节点
23+
24+
25+
26+
27+
## 使用SDKC++开发的基本流程如下:
28+
```C++
29+
// 加入SDK头文件
30+
#include "infinite_sense.h"
31+
// 加入工业相机头文件
32+
#include "mv_cam.h"
33+
using namespace infinite_sense;
34+
// 自定义回调函数
35+
void ImuCallback(const void* msg, size_t) {
36+
const auto* imu_data = static_cast<const ImuData*>(msg);
37+
// 处理IMU数据
38+
}
39+
// 自定义回调函数
40+
void ImageCallback(const void* msg, size_t) {
41+
const auto* cam_data = static_cast<const CamData*>(msg);
42+
// 处理图像数据
43+
}
44+
int main() {
45+
// 1.创建同步器
46+
Synchronizer synchronizer;
47+
synchronizer.SetUsbLink("/dev/ttyACM0", 921600);
48+
49+
// 2.配置同步接口
50+
auto mv_cam = std::make_shared<MvCam>();
51+
mv_cam->SetParams({{"camera_1", CAM_1}});
52+
synchronizer.UseSensor(mv_cam);
53+
54+
// 3.开启同步
55+
synchronizer.Start();
56+
57+
// 4.接收数据
58+
Messenger::GetInstance().SubStruct("imu_1", ImuCallback);
59+
Messenger::GetInstance().SubStruct("camera_1", ImageCallback);
60+
// 阻塞线程
61+
while (true) {
62+
std::this_thread::sleep_for(std::chrono::milliseconds(100));
63+
}
64+
// 5.停止同步
65+
synchronizer.Stop();
66+
return 0;
67+
}
2068
```

0 commit comments

Comments
 (0)