孟令鑫 1 anno fa
parent
commit
b57fb9ebd4

+ 69 - 0
aarch64/topic-echo/main/main.go

@@ -0,0 +1,69 @@
+package main
+
+import (
+	"cicv-data-closedloop/common/util"
+	masterConfig "cicv-data-closedloop/kinglong/master/pkg/cfg"
+	"cicv-data-closedloop/kinglong_msgs"
+	"fmt"
+	"github.com/bluenviron/goroslib/v2"
+	"os"
+)
+
+var (
+	TopicOfNodeFaultInfo = "/nodefault_info"
+	TopicOfCicvLocation  = "/cicv_location"
+	TopicOfTpperception  = "/tpperception"
+	TopicOfFaultInfo     = "/fault_info"
+	TopicOfDataRead      = "/data_read"
+)
+
+func main() {
+	rosNode, _ := goroslib.NewNode(goroslib.NodeConf{
+		Name:          "cicvDataClosedloopTopicEcho",
+		MasterAddress: "127.0.0.1:11311",
+	})
+	topic := util.ToString(os.Args[1])
+	if topic == TopicOfNodeFaultInfo {
+		_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
+			Node:  rosNode,
+			Topic: masterConfig.TopicOfNodeFaultInfo,
+			Callback: func(data *kinglong_msgs.FaultInfo) {
+				fmt.Println("收到话题", topic, "的数据", data)
+			}})
+	}
+	if topic == TopicOfCicvLocation {
+		_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
+			Node:  rosNode,
+			Topic: masterConfig.TopicOfCicvLocation,
+			Callback: func(data *kinglong_msgs.PerceptionLocalization) {
+				fmt.Println("收到话题", topic, "的数据", data)
+			}})
+	}
+	if topic == TopicOfTpperception {
+		_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
+			Node:  rosNode,
+			Topic: masterConfig.TopicOfTpperception,
+			Callback: func(data *kinglong_msgs.PerceptionObjects) {
+				fmt.Println("收到话题", topic, "的数据", data)
+			}})
+	}
+	if topic == TopicOfFaultInfo {
+		_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
+			Node:  rosNode,
+			Topic: masterConfig.TopicOfFaultInfo,
+			Callback: func(data *kinglong_msgs.FaultVec) {
+				fmt.Println("收到话题", topic, "的数据", data)
+			}})
+	}
+	if topic == TopicOfDataRead {
+		_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
+			Node:  rosNode,
+			Topic: masterConfig.TopicOfDataRead,
+			Callback: func(data *kinglong_msgs.Retrieval) {
+				fmt.Println("收到话题", topic, "的数据", data)
+			}})
+	}
+
+	select {}
+
+}

+ 6 - 6
kinglong/master/pkg/svc/produce_window.go

@@ -8,7 +8,7 @@ import (
 	"cicv-data-closedloop/kinglong/common/svc"
 	"cicv-data-closedloop/kinglong/common/util"
 	masterConfig "cicv-data-closedloop/kinglong/master/pkg/cfg"
-	masterEntity "cicv-data-closedloop/kinglong_msgs"
+	"cicv-data-closedloop/kinglong_msgs"
 	"github.com/bluenviron/goroslib/v2"
 	"os"
 	"sync"
@@ -36,7 +36,7 @@ func PrepareTimeWindowProducerQueue() {
 	subscriber0, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  commonConfig.RosNode,
 		Topic: masterConfig.TopicOfNodeFaultInfo,
-		Callback: func(data *masterEntity.FaultInfo) {
+		Callback: func(data *kinglong_msgs.FaultInfo) {
 			if len(masterConfig.RuleOfNodefaultInfo) == 0 {
 				//log.GlobalLogger.Info("话题 nodefault_info没有触发器")
 				return
@@ -78,7 +78,7 @@ func PrepareTimeWindowProducerQueue() {
 	subscriber1, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  commonConfig.RosNode,
 		Topic: masterConfig.TopicOfCicvLocation,
-		Callback: func(data *masterEntity.PerceptionLocalization) {
+		Callback: func(data *kinglong_msgs.PerceptionLocalization) {
 			if len(masterConfig.RuleOfCicvLocation) == 0 {
 				log.GlobalLogger.Info("话题 cicv_location 没有触发器")
 				return
@@ -116,7 +116,7 @@ func PrepareTimeWindowProducerQueue() {
 	subscriber2, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  commonConfig.RosNode,
 		Topic: masterConfig.TopicOfTpperception,
-		Callback: func(data *masterEntity.PerceptionObjects) {
+		Callback: func(data *kinglong_msgs.PerceptionObjects) {
 			if len(masterConfig.RuleOfTpperception) == 0 {
 				log.GlobalLogger.Info("话题 tpperception 没有触发器")
 				return
@@ -157,7 +157,7 @@ func PrepareTimeWindowProducerQueue() {
 	subscriber3, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  commonConfig.RosNode,
 		Topic: masterConfig.TopicOfFaultInfo,
-		Callback: func(data *masterEntity.FaultVec) {
+		Callback: func(data *kinglong_msgs.FaultVec) {
 			if len(masterConfig.RuleOfFaultInfo) == 0 {
 				log.GlobalLogger.Info("话题 fault_info 没有触发器")
 				return
@@ -200,7 +200,7 @@ func PrepareTimeWindowProducerQueue() {
 	subscriber4, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  commonConfig.RosNode,
 		Topic: masterConfig.TopicOfDataRead,
-		Callback: func(data *masterEntity.Retrieval) {
+		Callback: func(data *kinglong_msgs.Retrieval) {
 			if len(masterConfig.RuleOfDataRead) == 0 {
 				//log.GlobalLogger.Info("话题 data_read 没有触发器")
 				return