LingxinMeng 1 жил өмнө
parent
commit
7e349cc014
1 өөрчлөгдсөн 16 нэмэгдсэн , 2 устгасан
  1. 16 2
      amd64/dpi_boot/main.go

+ 16 - 2
amd64/dpi_boot/main.go

@@ -19,6 +19,7 @@ type HeartBeatInfo struct {
 
 var lastTime time.Time
 var mutex sync.Mutex
+var sub *goroslib.Subscriber
 
 func main() {
 	lastTime = time.Now()
@@ -37,7 +38,7 @@ func main() {
 		Name:          "dpi_with_heartbeatInfo",
 		MasterAddress: "127.0.0.1:11311",
 	})
-	_, err = goroslib.NewSubscriber(goroslib.SubscriberConf{
+	sub, err = goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  rosNode,
 		Topic: "/heartbeat_info",
 		Callback: func(data *HeartBeatInfo) {
@@ -59,7 +60,9 @@ func main() {
 				fmt.Println("执行停止命令报错,执行结果为:", s, ",错误信息为:", err)
 				continue
 			}
-			fmt.Println("执行启动命令 sh dpi_stop.sh 成功,执行结果为:", s)
+			fmt.Println("执行停止命令 sh dpi_stop.sh 成功,执行结果为:", s)
+			sub.Close()
+
 			_, s, err = util.ExecuteWithDirSync("/data", "sh", "dpi_start.sh")
 			if err != nil {
 				fmt.Println("执行启动命令报错,执行结果为:", s, ",错误信息为:", err)
@@ -67,6 +70,17 @@ func main() {
 			}
 			fmt.Println("执行启动命令 sh dpi_start.sh 成功,执行结果为:", s)
 			time.Sleep(5 * time.Second)
+			sub, err = goroslib.NewSubscriber(goroslib.SubscriberConf{
+				Node:  rosNode,
+				Topic: "/heartbeat_info",
+				Callback: func(data *HeartBeatInfo) {
+					fmt.Println("监听到数据:", data)
+					lastTime = time.Now()
+				}})
+			if err != nil {
+				fmt.Println("监听话题/heartbeat_info报错", err)
+				os.Exit(1)
+			}
 			lastTime = time.Now()
 		}
 	}