package pjibot_patrol_msgs

import (
	"github.com/bluenviron/goroslib/v2/pkg/msg"
	"github.com/bluenviron/goroslib/v2/pkg/msgs/geometry_msgs"
)

type SysInfo struct {
	msg.Package    `ros:"common_msgs"`
	CpuOccupied    float32 `rosname:"cpu_occupied"`
	MemOccupied    float32 `rosname:"mem_occupied"`
	CurMileage     float64 `rosname:"cur_mileage"`
	HistoryMileage float64 `rosname:"history_mileage"`
}

type LocateInfo struct {
	msg.Package  `ros:"common_msgs"`
	Pose         geometry_msgs.PoseStamped `rosname:"pose"`
	LocateStatus int8                      `rosname:"locate_status"`
	ErrorCode    int64                     `rosname:"error_code"`
	Message      string                    `rosname:"message"`
}
type TaskInfo struct {
	msg.Package    `ros:"common_msgs"`
	TaskID         string                    `rosname:"task_id"`
	TaskType       int32                     `rosname:"task_type"`
	SubTaskType    int32                     `rosname:"sub_task_type"`
	TransitionTask bool                      `rosname:"transition_task"`
	CanRotation    bool                      `rosname:"can_rotation"`
	Point          geometry_msgs.PoseStamped `rosname:"point"`
}

type TaskFeedbackInfo struct {
	msg.Package   `ros:"common_msgs"`
	TaskInfo      TaskInfo `rosname:"task_info"`
	TaskStatus    int8     `rosname:"task_status"`
	TaskErrorCode int64    `rosname:"task_error_code"`
	Message       string   `rosname:"message"`
}