package config

import (
	"cicv-data-closedloop/common/config/c_log"
	"cicv-data-closedloop/common/util"
	"github.com/bluenviron/goroslib/v2"
	"time"
)

var (
	RosNode    *goroslib.Node
	RosbagPath string
	RosbagEnvs []string
)

func InitRosConfig() {
	var err error
	// 1
	c_log.GlobalLogger.Info("初始化RosNode - 开始")
	for {
		time.Sleep(time.Duration(2) * time.Second)
		if RosNode, err = goroslib.NewNode(goroslib.NodeConf{Name: "node" + util.GetNowTimeCustom(), MasterAddress: CloudConfig.Ros.MasterAddress}); err != nil {
			c_log.GlobalLogger.Info("初始化RosNode - 进行中:", err)
			continue
		}
		break
	}
	c_log.GlobalLogger.Info("初始化RosNode - 成功:", CloudConfig.Ros.MasterAddress)
	// 2 获取 rosbag 命令路径和环境变量
	for _, host := range CloudConfig.Hosts {
		if host.Name == LocalConfig.Node.Name {
			RosbagPath = host.Rosbag.Path
			RosbagEnvs = host.Rosbag.Envs
			break
		}
	}
	c_log.GlobalLogger.Infof("rosbag 命令路径为:%v,环境变量为:%v", RosbagPath, RosbagEnvs)

}