package kinglong_msgs

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

type JinlongControlCommand struct {
	msg.Package                   `ros:"autoware_msgs"`
	Header                        std_msgs.Header
	ASStrgAngleReq                float64 `rosname:"AS_Strg_Angle_Req"`
	ASStrgWorkModeReq             int16   `rosname:"AS_Strg_WorkMode_Req"`
	ASStrg0Enable                 int16   `rosname:"AS_Strg0_Enable"`
	ASSteeringTorqueSuperposition float64 `rosname:"AS_Steering_torque_superposition"`
	ASStrgSpdReq                  float64 `rosname:"AS_Strg_Spd_Req"`
	ASStrg1Enable                 int16   `rosname:"AS_Strg1_Enable"`
	ASStrgLifeSignal              int16   `rosname:"AS_Strg_Life_Signal"`
	ASAutoDReq                    int16   `rosname:"AS_AutoD_Req"`
	ASLongitCtrlmode              int16   `rosname:"AS_Longit_Ctrlmode"`
	ASAutoDEmergBrkRelease        int16   `rosname:"AS_AutoD_EmergBrk_Release"`
	ASAutoDCollisionRelease       int16   `rosname:"AS_AutoD_Collision_Release"`
	ASAutoDAccelPosReq            float64 `rosname:"AS_AutoD_Accel_Pos_Req"`
	ASAutoDShiftReq               int16   `rosname:"AS_AutoD_Shift_Req"`
	ASAutoDPShiftReq              int16   `rosname:"AS_AutoD_P_Shift_Req"`
	ASAutoDBrkModeReq             int16   `rosname:"AS_AutoD_BrkMode_Req"`
	ASAutoDBrkPelPosReq           float64 `rosname:"AS_AutoD_BrkPelPos_Req"`
	ASAutoDSpdLimit               float64 `rosname:"AS_AutoD_Spd_Limit"`
	ASAutoAccelerationReq         float64 `rosname:"AS_Auto_Acceleration_Req"`
	ASAutoDLifeSignal             int16   `rosname:"AS_AutoD_Life_Signal"`
	ASAutoDSpdReq                 float64 `rosname:"AS_AutoD_Spd_Req"`
	ASSpdLifeSignal               int16   `rosname:"AS_Spd_Life_Signal"`
	ASAlarmLampReq                int16   `rosname:"AS_AlarmLamp_Req"`
	ASFrontDoorCtrlReq            int16   `rosname:"AS_Front_Door_Ctrl_Req"`
	ASLowBeamStartReq             int16   `rosname:"AS_LowBeam_Start_Req"`
	ASTurnLeftLightStartReq       int16   `rosname:"AS_TurnLeftLight_Start_Req"`
	ASTurnRightLightStartReq      int16   `rosname:"AS_TurnRightLight_Start_Req"`
	ASMiniLightStartReq           int16   `rosname:"AS_MiniLight_Start_Req"`
	ASHornStartReq                int16   `rosname:"AS_Horn_Start_Req"`
	ASTreadleOperatingReq         int16   `rosname:"AS_Treadle_Operating_Req"`
	ASFDoorButtonLockReq          int16   `rosname:"AS_FDoorButtonLock_Req"`
	ASMidDoorCtrlReq              int16   `rosname:"AS_Mid_Door_Ctrl_Req"`
	ASMDoorButtonLockReq          int16   `rosname:"AS_MDoorButtonLock_Req"`
	ASRearDoorCtrlReq             int16   `rosname:"AS_Rear_Door_Ctrl_Req"`
	ASRDoorButtonLockReq          int16   `rosname:"AS_RDoorButtonLock_Req"`
	ASFrontFogReq                 int16   `rosname:"AS_FrontFog_Req"`
	ASRearFogReq                  int16   `rosname:"AS_RearFog_Req"`
	ASWarninglightReq             int16   `rosname:"AS_Warninglight_Req"`
	ASHighBeamStartReq            int16   `rosname:"AS_HighBeam_Start_Req"`
	TargetX                       float64
	TargetY                       float64
	Velocity                      float64
	AutoMode                      int16
}
