cmake_minimum_required(VERSION 3.8)
project(calibration_chassis_interfaces)

find_package(ament_cmake REQUIRED)
find_package(rosidl_default_generators REQUIRED)
find_package(std_msgs REQUIRED)
find_package(action_msgs REQUIRED)
find_package(calibration_common_interfaces REQUIRED)
find_package(calibration_vehicle_profile_interfaces REQUIRED)

set(msg_files
  "msg/ChassisWorkMode.msg"
  "msg/ChassisWorkModeRequest.msg"
  "msg/ChassisReadinessResponse.msg"
  "msg/ChassisCapabilityRequest.msg"
  "msg/ChassisCapabilityResponse.msg"
  "msg/StraightLineCommand.msg"
  "msg/ArcCommand.msg"
  "msg/InPlaceRotationCommand.msg"
  "msg/SteeringSweepCommand.msg"
  "msg/LateralTranslationCommand.msg"
  "msg/DiagonalMotionCommand.msg"
  "msg/ModuleAlignmentCheckCommand.msg"
  "msg/CoordinatedSteeringCommand.msg"
  "msg/MotionPrimitiveTaskPurpose.msg"
  "msg/ChassisMotionPrimitiveType.msg"
  "msg/MotionPrimitiveRequest.msg"
  "msg/StreamChassisTelemetryRequest.msg"
  "msg/WheelModuleState.msg"
  "msg/ChassisTelemetry.msg"
  "msg/CommonChassisCalibrationParams.msg"
  "msg/AckermannCalibrationParams.msg"
  "msg/DifferentialCalibrationParams.msg"
  "msg/SingleSteerWheelCalibrationParams.msg"
  "msg/SteeringModuleCalibrationParam.msg"
  "msg/MultiSteerWheelCalibrationParams.msg"
  "msg/ChassisSpecificParamsType.msg"
  "msg/ChassisCalibrationParameterSet.msg"
  "msg/ChassisValidationSummary.msg"
  "msg/CommitChassisCalibrationParametersRequest.msg"
  "msg/GetAppliedChassisCalibrationParametersRequest.msg"
  "msg/AppliedChassisCalibrationParametersResponse.msg"
  "msg/ChassisJobResult.msg"
)

set(srv_files
  "srv/Heartbeat.srv"
  "srv/GetChassisReadiness.srv"
  "srv/SetChassisWorkMode.srv"
  "srv/GetChassisCapability.srv"
  "srv/StartMotionPrimitive.srv"
  "srv/GetChassisJobStatus.srv"
  "srv/GetChassisJobResult.srv"
  "srv/CancelChassisJob.srv"
  "srv/StreamChassisTelemetry.srv"
  "srv/CommitChassisCalibrationParameters.srv"
  "srv/GetAppliedChassisCalibrationParameters.srv"
  "srv/EmergencyBrake.srv"
)

set(action_files
  "action/ExecuteMotionPrimitive.action"
)

rosidl_generate_interfaces(${PROJECT_NAME}
  ${msg_files}
  ${srv_files}
  ${action_files}
  DEPENDENCIES std_msgs action_msgs calibration_common_interfaces calibration_vehicle_profile_interfaces
)

ament_export_dependencies(rosidl_default_runtime)
ament_package()
