1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package main
- import (
- "cicv-data-closedloop/pjisuv_msgs"
- "github.com/bluenviron/goroslib/v2"
- "log"
- "os"
- "os/signal"
- "time"
- )
- func main() {
- // create a node and connect to the master
- n, err := goroslib.NewNode(goroslib.NodeConf{
- Name: "goroslib_pub_fault_info",
- MasterAddress: "127.0.0.1:11311",
- })
- if err != nil {
- panic(err)
- }
- defer n.Close()
- // create a publisher
- pub, err := goroslib.NewPublisher(goroslib.PublisherConf{
- Node: n,
- Topic: "/fault_info",
- Msg: &pjisuv_msgs.FaultVec{},
- })
- if err != nil {
- panic(err)
- }
- defer pub.Close()
- r := n.TimeRate(1 * time.Second)
- c := make(chan os.Signal, 1)
- signal.Notify(c, os.Interrupt)
- for {
- select {
- // publish a message every second
- case <-r.SleepChan():
- msg := &pjisuv_msgs.FaultVec{
- InfoVec: []pjisuv_msgs.FaultInfo{
- {ErrorCode: 12345}, // 发送故障码12345
- },
- }
- log.Printf("Outgoing: %+v\n", msg)
- pub.Write(msg)
- // handle CTRL-C
- case <-c:
- return
- }
- }
- }
|