diff --git a/docs/en/advanced_config/parameter_reference.md b/docs/en/advanced_config/parameter_reference.md
index c43e959dcf..38c5a3939e 100644
--- a/docs/en/advanced_config/parameter_reference.md
+++ b/docs/en/advanced_config/parameter_reference.md
@@ -23383,6 +23383,21 @@ Enables the PPS capture module to refine the GPS time from pulses detected on a
| ------- | -------- | -------- | --------- | ------------ | ---- |
| ✓ | | | | Disabled (0) | |
+### PPS_CAP_GPS_ID (`INT32`) {#PPS_CAP_GPS_ID}
+
+PPS capture GPS receiver device ID.
+
+Device ID of the GPS receiver that emits the PPS signal captured on the
+configured PWM input pin. When set to 0 (default), the first available
+GPS instance is used.
+
+The device ID can be obtained from the sensor_gps publication
+(e.g. via listener sensor_gps).
+
+| Reboot | minValue | maxValue | increment | default | unit |
+| ------- | -------- | -------- | --------- | ------- | ---- |
+| ✓ | 0 | | | 0 | |
+
## Geofence
### GF_ACTION (`INT32`) {#GF_ACTION}
diff --git a/docs/en/middleware/dds_topics.md b/docs/en/middleware/dds_topics.md
index f911999f12..193962c3be 100644
--- a/docs/en/middleware/dds_topics.md
+++ b/docs/en/middleware/dds_topics.md
@@ -95,204 +95,205 @@ They are not build into the module, and hence are neither published or subscribe
::: details See messages
-- [AdcReport](../msg_docs/AdcReport.md)
-- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
-- [MountOrientation](../msg_docs/MountOrientation.md)
-- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
-- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
-- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
-- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
-- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
-- [GpsDump](../msg_docs/GpsDump.md)
-- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
-- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
-- [EstimatorStates](../msg_docs/EstimatorStates.md)
-- [EscStatus](../msg_docs/EscStatus.md)
-- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
-- [SensorTemp](../msg_docs/SensorTemp.md)
-- [VehicleImu](../msg_docs/VehicleImu.md)
-- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
-- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
-- [OrbitStatus](../msg_docs/OrbitStatus.md)
-- [GainCompression](../msg_docs/GainCompression.md)
-- [VehicleRoi](../msg_docs/VehicleRoi.md)
-- [Vtx](../msg_docs/Vtx.md)
-- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
-- [EscEepromRead](../msg_docs/EscEepromRead.md)
-- [DebugArray](../msg_docs/DebugArray.md)
-- [FollowTarget](../msg_docs/FollowTarget.md)
-- [ButtonEvent](../msg_docs/ButtonEvent.md)
-- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
-- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
-- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
-- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
-- [MavlinkLog](../msg_docs/MavlinkLog.md)
-- [PowerMonitor](../msg_docs/PowerMonitor.md)
-- [TecsStatus](../msg_docs/TecsStatus.md)
-- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
-- [SensorAccel](../msg_docs/SensorAccel.md)
-- [RaptorStatus](../msg_docs/RaptorStatus.md)
-- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md)
-- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
-- [CameraStatus](../msg_docs/CameraStatus.md)
-- [RcParameterMap](../msg_docs/RcParameterMap.md)
-- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md)
-- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
-- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
-- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
-- [CameraTrigger](../msg_docs/CameraTrigger.md)
-- [HomePositionV0](../msg_docs/HomePositionV0.md)
-- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
-- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
-- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
-- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
-- [PwmInput](../msg_docs/PwmInput.md)
-- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
-- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
-- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
-- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
-- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
-- [GpsInjectData](../msg_docs/GpsInjectData.md)
-- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
-- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md)
-- [MissionResult](../msg_docs/MissionResult.md)
-- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
-- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
-- [InputRc](../msg_docs/InputRc.md)
-- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
-- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
-- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
-- [LoggerStatus](../msg_docs/LoggerStatus.md)
-- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
-- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
-- [RaptorInput](../msg_docs/RaptorInput.md)
-- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
-- [ActuatorTest](../msg_docs/ActuatorTest.md)
-- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
-- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
-- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
-- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
-- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
-- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
-- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
-- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
-- [SystemPower](../msg_docs/SystemPower.md)
-- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
-- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
-- [RadioStatus](../msg_docs/RadioStatus.md)
-- [QshellRetval](../msg_docs/QshellRetval.md)
-- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
-- [Gripper](../msg_docs/Gripper.md)
-- [EscReport](../msg_docs/EscReport.md)
-- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
-- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
-- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
-- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md)
-- [BatteryInfo](../msg_docs/BatteryInfo.md)
-- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
-- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
-- [GeofenceResult](../msg_docs/GeofenceResult.md)
-- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
+- [OrbTest](../msg_docs/OrbTest.md)
- [EstimatorStatus](../msg_docs/EstimatorStatus.md)
-- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
-- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
-- [QshellReq](../msg_docs/QshellReq.md)
-- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
-- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
-- [DatamanRequest](../msg_docs/DatamanRequest.md)
-- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
-- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
-- [DebugValue](../msg_docs/DebugValue.md)
-- [WheelEncoders](../msg_docs/WheelEncoders.md)
-- [EstimatorBias](../msg_docs/EstimatorBias.md)
-- [VelocityLimits](../msg_docs/VelocityLimits.md)
-- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
-- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
-- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
-- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
-- [AirspeedWind](../msg_docs/AirspeedWind.md)
-- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
-- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
-- [SensorCorrection](../msg_docs/SensorCorrection.md)
-- [SensorsStatus](../msg_docs/SensorsStatus.md)
-- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
-- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
-- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
-- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
-- [GpioRequest](../msg_docs/GpioRequest.md)
-- [SensorSelection](../msg_docs/SensorSelection.md)
-- [SensorUwb](../msg_docs/SensorUwb.md)
-- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
+- [MissionResult](../msg_docs/MissionResult.md)
- [HealthReport](../msg_docs/HealthReport.md)
+- [RcParameterMap](../msg_docs/RcParameterMap.md)
+- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
+- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
+- [GpioConfig](../msg_docs/GpioConfig.md)
+- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
+- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
+- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
+- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
+- [RcChannels](../msg_docs/RcChannels.md)
+- [TecsStatus](../msg_docs/TecsStatus.md)
+- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
+- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
+- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
+- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
+- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
+- [MagWorkerData](../msg_docs/MagWorkerData.md)
+- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
+- [GpioOut](../msg_docs/GpioOut.md)
+- [FollowTarget](../msg_docs/FollowTarget.md)
+- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
+- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
+- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
+- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
+- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
+- [CameraCapture](../msg_docs/CameraCapture.md)
+- [PowerButtonState](../msg_docs/PowerButtonState.md)
+- [Mission](../msg_docs/Mission.md)
+- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
+- [Cpuload](../msg_docs/Cpuload.md)
+- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md)
+- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
+- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
+- [GeofenceResult](../msg_docs/GeofenceResult.md)
+- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
+- [GpioIn](../msg_docs/GpioIn.md)
+- [Gripper](../msg_docs/Gripper.md)
+- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
+- [SystemPower](../msg_docs/SystemPower.md)
+- [Rpm](../msg_docs/Rpm.md)
+- [GpioRequest](../msg_docs/GpioRequest.md)
+- [CellularStatus](../msg_docs/CellularStatus.md)
+- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
+- [SensorBaro](../msg_docs/SensorBaro.md)
+- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
+- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
+- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md)
+- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
+- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
+- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
+- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
+- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
+- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
+- [GimbalControls](../msg_docs/GimbalControls.md)
+- [MountOrientation](../msg_docs/MountOrientation.md)
+- [PpsCapture](../msg_docs/PpsCapture.md)
+- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
+- [OrbitStatus](../msg_docs/OrbitStatus.md)
+- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
+- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
+- [SensorMag](../msg_docs/SensorMag.md)
+- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
+- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
+- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md)
+- [DatamanResponse](../msg_docs/DatamanResponse.md)
+- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
+- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
+- [VehicleAirData](../msg_docs/VehicleAirData.md)
+- [AirspeedWind](../msg_docs/AirspeedWind.md)
+- [SensorAccel](../msg_docs/SensorAccel.md)
+- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
+- [EscEepromRead](../msg_docs/EscEepromRead.md)
+- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
+- [PowerMonitor](../msg_docs/PowerMonitor.md)
+- [MavlinkLog](../msg_docs/MavlinkLog.md)
+- [NeuralControl](../msg_docs/NeuralControl.md)
+- [PwmInput](../msg_docs/PwmInput.md)
+- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
+- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
+- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
+- [GainCompression](../msg_docs/GainCompression.md)
+- [IrlockReport](../msg_docs/IrlockReport.md)
+- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
+- [Vtx](../msg_docs/Vtx.md)
+- [QshellRetval](../msg_docs/QshellRetval.md)
+- [Event](../msg_docs/Event.md)
+- [Ping](../msg_docs/Ping.md)
+- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
+- [DeviceInformation](../msg_docs/DeviceInformation.md)
+- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
+- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
+- [QshellReq](../msg_docs/QshellReq.md)
+- [ActionRequest](../msg_docs/ActionRequest.md)
+- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
+- [WheelEncoders](../msg_docs/WheelEncoders.md)
+- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
+- [DebugValue](../msg_docs/DebugValue.md)
+- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
+- [TuneControl](../msg_docs/TuneControl.md)
+- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
+- [RadioStatus](../msg_docs/RadioStatus.md)
+- [AdcReport](../msg_docs/AdcReport.md)
+- [DebugArray](../msg_docs/DebugArray.md)
+- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
+- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
+- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
+- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
+- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
+- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
+- [VehicleImu](../msg_docs/VehicleImu.md)
+- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
+- [SensorUwb](../msg_docs/SensorUwb.md)
+- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
+- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
+- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
+- [EstimatorStates](../msg_docs/EstimatorStates.md)
+- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
+- [SensorAirflow](../msg_docs/SensorAirflow.md)
+- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
+- [SensorSelection](../msg_docs/SensorSelection.md)
+- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md)
+- [SensorsStatus](../msg_docs/SensorsStatus.md)
+- [VelocityLimits](../msg_docs/VelocityLimits.md)
+- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
+- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
+- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
+- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
+- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md)
+- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
+- [DatamanRequest](../msg_docs/DatamanRequest.md)
+- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
+- [HomePositionV0](../msg_docs/HomePositionV0.md)
+- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
+- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
+- [RtlStatus](../msg_docs/RtlStatus.md)
+- [GpsInjectData](../msg_docs/GpsInjectData.md)
+- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
+- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
+- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
+- [EscStatus](../msg_docs/EscStatus.md)
+- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
+- [ButtonEvent](../msg_docs/ButtonEvent.md)
+- [RaptorInput](../msg_docs/RaptorInput.md)
+- [InputRc](../msg_docs/InputRc.md)
+- [CameraTrigger](../msg_docs/CameraTrigger.md)
+- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
+- [SensorGyro](../msg_docs/SensorGyro.md)
+- [Airspeed](../msg_docs/Airspeed.md)
+- [EstimatorBias](../msg_docs/EstimatorBias.md)
+- [BatteryInfo](../msg_docs/BatteryInfo.md)
+- [EventV0](../msg_docs/EventV0.md)
+- [GpsDump](../msg_docs/GpsDump.md)
+- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
+- [EscEepromWrite](../msg_docs/EscEepromWrite.md)
+- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
+- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
+- [LoggerStatus](../msg_docs/LoggerStatus.md)
+- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md)
+- [CameraStatus](../msg_docs/CameraStatus.md)
+- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
+- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
+- [ActuatorTest](../msg_docs/ActuatorTest.md)
- [NavigatorStatus](../msg_docs/NavigatorStatus.md)
- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md)
-- [LedControl](../msg_docs/LedControl.md)
-- [Event](../msg_docs/Event.md)
-- [SensorMag](../msg_docs/SensorMag.md)
-- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
-- [Rpm](../msg_docs/Rpm.md)
-- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
-- [EscEepromWrite](../msg_docs/EscEepromWrite.md)
-- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
-- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
-- [ActionRequest](../msg_docs/ActionRequest.md)
-- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md)
-- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
-- [PowerButtonState](../msg_docs/PowerButtonState.md)
-- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
-- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
-- [RtlStatus](../msg_docs/RtlStatus.md)
-- [Airspeed](../msg_docs/Airspeed.md)
-- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
-- [GimbalControls](../msg_docs/GimbalControls.md)
-- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
-- [PpsCapture](../msg_docs/PpsCapture.md)
-- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
-- [SensorBaro](../msg_docs/SensorBaro.md)
- [UlogStreamAck](../msg_docs/UlogStreamAck.md)
-- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
-- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
-- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
-- [SensorAirflow](../msg_docs/SensorAirflow.md)
-- [GpioConfig](../msg_docs/GpioConfig.md)
-- [UlogStream](../msg_docs/UlogStream.md)
-- [GpioIn](../msg_docs/GpioIn.md)
-- [TuneControl](../msg_docs/TuneControl.md)
-- [MagWorkerData](../msg_docs/MagWorkerData.md)
-- [EventV0](../msg_docs/EventV0.md)
-- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
-- [SensorGyro](../msg_docs/SensorGyro.md)
-- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
-- [HeaterStatus](../msg_docs/HeaterStatus.md)
-- [Mission](../msg_docs/Mission.md)
-- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md)
-- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
-- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
-- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
-- [DeviceInformation](../msg_docs/DeviceInformation.md)
-- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
-- [DatamanResponse](../msg_docs/DatamanResponse.md)
-- [DebugVect](../msg_docs/DebugVect.md)
-- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
-- [VehicleAirData](../msg_docs/VehicleAirData.md)
-- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
-- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
-- [NeuralControl](../msg_docs/NeuralControl.md)
-- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
-- [FigureEightStatus](../msg_docs/FigureEightStatus.md)
-- [GpioOut](../msg_docs/GpioOut.md)
-- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
-- [LogMessage](../msg_docs/LogMessage.md)
-- [Cpuload](../msg_docs/Cpuload.md)
-- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
+- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
+- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md)
-- [CameraCapture](../msg_docs/CameraCapture.md)
-- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
-- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
-- [OrbTest](../msg_docs/OrbTest.md)
-- [Ping](../msg_docs/Ping.md)
-- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
-- [IrlockReport](../msg_docs/IrlockReport.md)
-- [RcChannels](../msg_docs/RcChannels.md)
-- [CellularStatus](../msg_docs/CellularStatus.md)
+- [VehicleStatusV2](../msg_docs/VehicleStatusV2.md)
+- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
+- [LedControl](../msg_docs/LedControl.md)
+- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
+- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
+- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
+- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
+- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
+- [FigureEightStatus](../msg_docs/FigureEightStatus.md)
+- [VehicleRoi](../msg_docs/VehicleRoi.md)
+- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
+- [HeaterStatus](../msg_docs/HeaterStatus.md)
+- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
+- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
+- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
+- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
+- [RaptorStatus](../msg_docs/RaptorStatus.md)
+- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
+- [SensorTemp](../msg_docs/SensorTemp.md)
+- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
+- [SensorCorrection](../msg_docs/SensorCorrection.md)
+- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
+- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
+- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
+- [LogMessage](../msg_docs/LogMessage.md)
+- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
+- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
+- [EscReport](../msg_docs/EscReport.md)
+- [UlogStream](../msg_docs/UlogStream.md)
+- [DebugVect](../msg_docs/DebugVect.md)
:::
diff --git a/docs/en/msg_docs/VehicleStatus.md b/docs/en/msg_docs/VehicleStatus.md
index 241de2e6ca..8daf0985a7 100644
--- a/docs/en/msg_docs/VehicleStatus.md
+++ b/docs/en/msg_docs/VehicleStatus.md
@@ -25,7 +25,6 @@ Encodes the system state of the vehicle published by commander.
| nav_state_display | `uint8` | | | User-visible nav state sent via MAVLink (executor state if active, otherwise nav_state) |
| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values |
| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select |
-| failure_detector_status | `uint16` | | |
| hil_state | `uint8` | | |
| vehicle_type | `uint8` | | |
| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) |
@@ -58,7 +57,7 @@ Encodes the system state of the vehicle published by commander.
| Name | Type | Value | Description |
| --------------------------------------------------------------------------------------- | -------- | ----- | ------------------------------------------------ |
-| MESSAGE_VERSION | `uint32` | 2 |
+| MESSAGE_VERSION | `uint32` | 3 |
| ARMING_STATE_DISARMED | `uint8` | 1 |
| ARMING_STATE_ARMED | `uint8` | 2 |
| ARM_DISARM_REASON_STICK_GESTURE | `uint8` | 1 |
@@ -103,15 +102,6 @@ Encodes the system state of the vehicle published by commander.
| NAVIGATION_STATE_EXTERNAL7 | `uint8` | 29 |
| NAVIGATION_STATE_EXTERNAL8 | `uint8` | 30 |
| NAVIGATION_STATE_MAX | `uint8` | 31 |
-| FAILURE_NONE | `uint16` | 0 |
-| FAILURE_ROLL | `uint16` | 1 | (1 << 0) |
-| FAILURE_PITCH | `uint16` | 2 | (1 << 1) |
-| FAILURE_ALT | `uint16` | 4 | (1 << 2) |
-| FAILURE_EXT | `uint16` | 8 | (1 << 3) |
-| FAILURE_ARM_ESC | `uint16` | 16 | (1 << 4) |
-| FAILURE_BATTERY | `uint16` | 32 | (1 << 5) |
-| FAILURE_IMBALANCED_PROP | `uint16` | 64 | (1 << 6) |
-| FAILURE_MOTOR | `uint16` | 128 | (1 << 7) |
| HIL_STATE_OFF | `uint8` | 0 |
| HIL_STATE_ON | `uint8` | 1 |
| VEHICLE_TYPE_UNSPECIFIED | `uint8` | 0 |
@@ -131,7 +121,7 @@ Encodes the system state of the vehicle published by commander.
```c
# Encodes the system state of the vehicle published by commander
-uint32 MESSAGE_VERSION = 2
+uint32 MESSAGE_VERSION = 3
uint64 timestamp # time since system start (microseconds)
@@ -199,18 +189,6 @@ uint8 nav_state_display # User-visible nav state sent vi
uint32 valid_nav_states_mask # Bitmask for all valid nav_state values
uint32 can_set_nav_states_mask # Bitmask for all modes that a user can select
-# Bitmask of detected failures
-uint16 failure_detector_status
-uint16 FAILURE_NONE = 0
-uint16 FAILURE_ROLL = 1 # (1 << 0)
-uint16 FAILURE_PITCH = 2 # (1 << 1)
-uint16 FAILURE_ALT = 4 # (1 << 2)
-uint16 FAILURE_EXT = 8 # (1 << 3)
-uint16 FAILURE_ARM_ESC = 16 # (1 << 4)
-uint16 FAILURE_BATTERY = 32 # (1 << 5)
-uint16 FAILURE_IMBALANCED_PROP = 64 # (1 << 6)
-uint16 FAILURE_MOTOR = 128 # (1 << 7)
-
uint8 hil_state
uint8 HIL_STATE_OFF = 0
uint8 HIL_STATE_ON = 1
diff --git a/docs/en/msg_docs/VehicleStatusV2.md b/docs/en/msg_docs/VehicleStatusV2.md
new file mode 100644
index 0000000000..29e3d1a3a9
--- /dev/null
+++ b/docs/en/msg_docs/VehicleStatusV2.md
@@ -0,0 +1,269 @@
+---
+pageClass: is-wide-page
+---
+
+# VehicleStatusV2 (UORB message)
+
+Encodes the system state of the vehicle published by commander.
+
+**TOPICS:** vehicle_status_v2
+
+## Fields
+
+| Name | Type | Unit [Frame] | Range/Enum | Description |
+| -------------------------------- | -------- | ------------ | ---------- | ----------------------------------------------------------------------------------------------- |
+| timestamp | `uint64` | | | time since system start (microseconds) |
+| armed_time | `uint64` | | | Arming timestamp (microseconds) |
+| takeoff_time | `uint64` | | | Takeoff timestamp (microseconds) |
+| arming_state | `uint8` | | |
+| latest_arming_reason | `uint8` | | |
+| latest_disarming_reason | `uint8` | | |
+| nav_state_timestamp | `uint64` | | | time when current nav_state activated |
+| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) |
+| nav_state | `uint8` | | | Currently active mode |
+| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) |
+| nav_state_display | `uint8` | | | User-visible nav state sent via MAVLink (executor state if active, otherwise nav_state) |
+| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values |
+| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select |
+| failure_detector_status | `uint16` | | |
+| hil_state | `uint8` | | |
+| vehicle_type | `uint8` | | |
+| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) |
+| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control |
+| failsafe_defer_state | `uint8` | | | one of FAILSAFE*DEFER_STATE*\* |
+| gcs_connection_lost | `bool` | | | datalink to GCS lost |
+| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events |
+| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost |
+| is_vtol | `bool` | | | True if the system is VTOL capable |
+| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW |
+| in_transition_mode | `bool` | | | True if VTOL is doing a transition |
+| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW |
+| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE |
+| system_id | `uint8` | | | system id, contains MAVLink's system ID field |
+| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field |
+| safety_button_available | `bool` | | | Set to true if a safety button is connected |
+| safety_off | `bool` | | | Set to true if safety is off |
+| power_input_valid | `bool` | | | set if input power is valid |
+| usb_connected | `bool` | | | set to true (never cleared) once telemetry received from usb link |
+| open_drone_id_system_present | `bool` | | |
+| open_drone_id_system_healthy | `bool` | | |
+| parachute_system_present | `bool` | | |
+| parachute_system_healthy | `bool` | | |
+| traffic_avoidance_system_present | `bool` | | |
+| rc_calibration_in_progress | `bool` | | |
+| calibration_enabled | `bool` | | |
+| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass |
+
+## Constants
+
+| Name | Type | Value | Description |
+| --------------------------------------------------------------------------------------- | -------- | ----- | ------------------------------------------------ |
+| MESSAGE_VERSION | `uint32` | 2 |
+| ARMING_STATE_DISARMED | `uint8` | 1 |
+| ARMING_STATE_ARMED | `uint8` | 2 |
+| ARM_DISARM_REASON_STICK_GESTURE | `uint8` | 1 |
+| ARM_DISARM_REASON_RC_SWITCH | `uint8` | 2 |
+| ARM_DISARM_REASON_COMMAND_INTERNAL | `uint8` | 3 |
+| ARM_DISARM_REASON_COMMAND_EXTERNAL | `uint8` | 4 |
+| ARM_DISARM_REASON_MISSION_START | `uint8` | 5 |
+| ARM_DISARM_REASON_LANDING | `uint8` | 6 |
+| ARM_DISARM_REASON_PREFLIGHT_INACTION | `uint8` | 7 |
+| ARM_DISARM_REASON_KILL_SWITCH | `uint8` | 8 |
+| ARM_DISARM_REASON_RC_BUTTON | `uint8` | 13 |
+| ARM_DISARM_REASON_FAILSAFE | `uint8` | 14 |
+| NAVIGATION_STATE_MANUAL | `uint8` | 0 | Manual mode |
+| NAVIGATION_STATE_ALTCTL | `uint8` | 1 | Altitude control mode |
+| NAVIGATION_STATE_POSCTL | `uint8` | 2 | Position control mode |
+| NAVIGATION_STATE_AUTO_MISSION | `uint8` | 3 | Auto mission mode |
+| NAVIGATION_STATE_AUTO_LOITER | `uint8` | 4 | Auto loiter mode |
+| NAVIGATION_STATE_AUTO_RTL | `uint8` | 5 | Auto return to launch mode |
+| NAVIGATION_STATE_POSITION_SLOW | `uint8` | 6 |
+| NAVIGATION_STATE_FREE5 | `uint8` | 7 |
+| NAVIGATION_STATE_ALTITUDE_CRUISE | `uint8` | 8 | Altitude with Cruise mode |
+| NAVIGATION_STATE_FREE3 | `uint8` | 9 |
+| NAVIGATION_STATE_ACRO | `uint8` | 10 | Acro mode |
+| NAVIGATION_STATE_FREE2 | `uint8` | 11 |
+| NAVIGATION_STATE_DESCEND | `uint8` | 12 | Descend mode (no position control) |
+| NAVIGATION_STATE_TERMINATION | `uint8` | 13 | Termination mode |
+| NAVIGATION_STATE_OFFBOARD | `uint8` | 14 |
+| NAVIGATION_STATE_STAB | `uint8` | 15 | Stabilized mode |
+| NAVIGATION_STATE_FREE1 | `uint8` | 16 |
+| NAVIGATION_STATE_AUTO_TAKEOFF | `uint8` | 17 | Takeoff |
+| NAVIGATION_STATE_AUTO_LAND | `uint8` | 18 | Land |
+| NAVIGATION_STATE_AUTO_FOLLOW_TARGET | `uint8` | 19 | Auto Follow |
+| NAVIGATION_STATE_AUTO_PRECLAND | `uint8` | 20 | Precision land with landing target |
+| NAVIGATION_STATE_ORBIT | `uint8` | 21 | Orbit in a circle |
+| NAVIGATION_STATE_AUTO_VTOL_TAKEOFF | `uint8` | 22 | Takeoff, transition, establish loiter |
+| NAVIGATION_STATE_EXTERNAL1 | `uint8` | 23 |
+| NAVIGATION_STATE_EXTERNAL2 | `uint8` | 24 |
+| NAVIGATION_STATE_EXTERNAL3 | `uint8` | 25 |
+| NAVIGATION_STATE_EXTERNAL4 | `uint8` | 26 |
+| NAVIGATION_STATE_EXTERNAL5 | `uint8` | 27 |
+| NAVIGATION_STATE_EXTERNAL6 | `uint8` | 28 |
+| NAVIGATION_STATE_EXTERNAL7 | `uint8` | 29 |
+| NAVIGATION_STATE_EXTERNAL8 | `uint8` | 30 |
+| NAVIGATION_STATE_MAX | `uint8` | 31 |
+| FAILURE_NONE | `uint16` | 0 |
+| FAILURE_ROLL | `uint16` | 1 | (1 << 0) |
+| FAILURE_PITCH | `uint16` | 2 | (1 << 1) |
+| FAILURE_ALT | `uint16` | 4 | (1 << 2) |
+| FAILURE_EXT | `uint16` | 8 | (1 << 3) |
+| FAILURE_ARM_ESC | `uint16` | 16 | (1 << 4) |
+| FAILURE_BATTERY | `uint16` | 32 | (1 << 5) |
+| FAILURE_IMBALANCED_PROP | `uint16` | 64 | (1 << 6) |
+| FAILURE_MOTOR | `uint16` | 128 | (1 << 7) |
+| HIL_STATE_OFF | `uint8` | 0 |
+| HIL_STATE_ON | `uint8` | 1 |
+| VEHICLE_TYPE_UNSPECIFIED | `uint8` | 0 |
+| VEHICLE_TYPE_ROTARY_WING | `uint8` | 1 |
+| VEHICLE_TYPE_FIXED_WING | `uint8` | 2 |
+| VEHICLE_TYPE_ROVER | `uint8` | 3 |
+| FAILSAFE_DEFER_STATE_DISABLED | `uint8` | 0 |
+| FAILSAFE_DEFER_STATE_ENABLED | `uint8` | 1 |
+| FAILSAFE_DEFER_STATE_WOULD_FAILSAFE | `uint8` | 2 | Failsafes deferred, but would trigger a failsafe |
+
+## Source Message
+
+[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/VehicleStatusV2.msg)
+
+::: details Click here to see original file
+
+```c
+# Encodes the system state of the vehicle published by commander
+
+uint32 MESSAGE_VERSION = 2
+
+uint64 timestamp # time since system start (microseconds)
+
+uint64 armed_time # Arming timestamp (microseconds)
+uint64 takeoff_time # Takeoff timestamp (microseconds)
+
+uint8 arming_state
+uint8 ARMING_STATE_DISARMED = 1
+uint8 ARMING_STATE_ARMED = 2
+
+uint8 latest_arming_reason
+uint8 latest_disarming_reason
+uint8 ARM_DISARM_REASON_STICK_GESTURE = 1
+uint8 ARM_DISARM_REASON_RC_SWITCH = 2
+uint8 ARM_DISARM_REASON_COMMAND_INTERNAL = 3
+uint8 ARM_DISARM_REASON_COMMAND_EXTERNAL = 4
+uint8 ARM_DISARM_REASON_MISSION_START = 5
+uint8 ARM_DISARM_REASON_LANDING = 6
+uint8 ARM_DISARM_REASON_PREFLIGHT_INACTION = 7
+uint8 ARM_DISARM_REASON_KILL_SWITCH = 8
+uint8 ARM_DISARM_REASON_RC_BUTTON = 13
+uint8 ARM_DISARM_REASON_FAILSAFE = 14
+
+uint64 nav_state_timestamp # time when current nav_state activated
+
+uint8 nav_state_user_intention # Mode that the user selected (might be different from nav_state in a failsafe situation)
+
+uint8 nav_state # Currently active mode
+uint8 NAVIGATION_STATE_MANUAL = 0 # Manual mode
+uint8 NAVIGATION_STATE_ALTCTL = 1 # Altitude control mode
+uint8 NAVIGATION_STATE_POSCTL = 2 # Position control mode
+uint8 NAVIGATION_STATE_AUTO_MISSION = 3 # Auto mission mode
+uint8 NAVIGATION_STATE_AUTO_LOITER = 4 # Auto loiter mode
+uint8 NAVIGATION_STATE_AUTO_RTL = 5 # Auto return to launch mode
+uint8 NAVIGATION_STATE_POSITION_SLOW = 6
+uint8 NAVIGATION_STATE_FREE5 = 7
+uint8 NAVIGATION_STATE_ALTITUDE_CRUISE = 8 # Altitude with Cruise mode
+uint8 NAVIGATION_STATE_FREE3 = 9
+uint8 NAVIGATION_STATE_ACRO = 10 # Acro mode
+uint8 NAVIGATION_STATE_FREE2 = 11
+uint8 NAVIGATION_STATE_DESCEND = 12 # Descend mode (no position control)
+uint8 NAVIGATION_STATE_TERMINATION = 13 # Termination mode
+uint8 NAVIGATION_STATE_OFFBOARD = 14
+uint8 NAVIGATION_STATE_STAB = 15 # Stabilized mode
+uint8 NAVIGATION_STATE_FREE1 = 16
+uint8 NAVIGATION_STATE_AUTO_TAKEOFF = 17 # Takeoff
+uint8 NAVIGATION_STATE_AUTO_LAND = 18 # Land
+uint8 NAVIGATION_STATE_AUTO_FOLLOW_TARGET = 19 # Auto Follow
+uint8 NAVIGATION_STATE_AUTO_PRECLAND = 20 # Precision land with landing target
+uint8 NAVIGATION_STATE_ORBIT = 21 # Orbit in a circle
+uint8 NAVIGATION_STATE_AUTO_VTOL_TAKEOFF = 22 # Takeoff, transition, establish loiter
+uint8 NAVIGATION_STATE_EXTERNAL1 = 23
+uint8 NAVIGATION_STATE_EXTERNAL2 = 24
+uint8 NAVIGATION_STATE_EXTERNAL3 = 25
+uint8 NAVIGATION_STATE_EXTERNAL4 = 26
+uint8 NAVIGATION_STATE_EXTERNAL5 = 27
+uint8 NAVIGATION_STATE_EXTERNAL6 = 28
+uint8 NAVIGATION_STATE_EXTERNAL7 = 29
+uint8 NAVIGATION_STATE_EXTERNAL8 = 30
+uint8 NAVIGATION_STATE_MAX = 31
+
+uint8 executor_in_charge # Current mode executor in charge (0=Autopilot)
+uint8 nav_state_display # User-visible nav state sent via MAVLink (executor state if active, otherwise nav_state)
+
+uint32 valid_nav_states_mask # Bitmask for all valid nav_state values
+uint32 can_set_nav_states_mask # Bitmask for all modes that a user can select
+
+# Bitmask of detected failures
+uint16 failure_detector_status
+uint16 FAILURE_NONE = 0
+uint16 FAILURE_ROLL = 1 # (1 << 0)
+uint16 FAILURE_PITCH = 2 # (1 << 1)
+uint16 FAILURE_ALT = 4 # (1 << 2)
+uint16 FAILURE_EXT = 8 # (1 << 3)
+uint16 FAILURE_ARM_ESC = 16 # (1 << 4)
+uint16 FAILURE_BATTERY = 32 # (1 << 5)
+uint16 FAILURE_IMBALANCED_PROP = 64 # (1 << 6)
+uint16 FAILURE_MOTOR = 128 # (1 << 7)
+
+uint8 hil_state
+uint8 HIL_STATE_OFF = 0
+uint8 HIL_STATE_ON = 1
+
+# Current vehicle locomotion method. A vehicle can have different methods (e.g. VTOL transitions from RW to FW method)
+uint8 vehicle_type
+uint8 VEHICLE_TYPE_UNSPECIFIED = 0
+uint8 VEHICLE_TYPE_ROTARY_WING = 1
+uint8 VEHICLE_TYPE_FIXED_WING = 2
+uint8 VEHICLE_TYPE_ROVER = 3
+
+uint8 FAILSAFE_DEFER_STATE_DISABLED = 0
+uint8 FAILSAFE_DEFER_STATE_ENABLED = 1
+uint8 FAILSAFE_DEFER_STATE_WOULD_FAILSAFE = 2 # Failsafes deferred, but would trigger a failsafe
+
+bool failsafe # true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...)
+bool failsafe_and_user_took_over # true if system is in failsafe state but the user took over control
+uint8 failsafe_defer_state # one of FAILSAFE_DEFER_STATE_*
+
+# Link loss
+bool gcs_connection_lost # datalink to GCS lost
+uint8 gcs_connection_lost_counter # counts unique GCS connection lost events
+bool high_latency_data_link_lost # Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost
+
+# VTOL flags
+bool is_vtol # True if the system is VTOL capable
+bool is_vtol_tailsitter # True if the system performs a 90° pitch down rotation during transition from MC to FW
+bool in_transition_mode # True if VTOL is doing a transition
+bool in_transition_to_fw # True if VTOL is doing a transition from MC to FW
+
+# MAVLink identification
+uint8 system_type # system type, contains mavlink MAV_TYPE
+uint8 system_id # system id, contains MAVLink's system ID field
+uint8 component_id # subsystem / component id, contains MAVLink's component ID field
+
+bool safety_button_available # Set to true if a safety button is connected
+bool safety_off # Set to true if safety is off
+
+bool power_input_valid # set if input power is valid
+bool usb_connected # set to true (never cleared) once telemetry received from usb link
+
+bool open_drone_id_system_present
+bool open_drone_id_system_healthy
+
+bool parachute_system_present
+bool parachute_system_healthy
+
+bool traffic_avoidance_system_present
+
+bool rc_calibration_in_progress
+bool calibration_enabled
+
+bool pre_flight_checks_pass # true if all checks necessary to arm pass
+```
+
+:::
diff --git a/docs/en/msg_docs/index.md b/docs/en/msg_docs/index.md
index ff02de8420..8c4d7d9ff4 100644
--- a/docs/en/msg_docs/index.md
+++ b/docs/en/msg_docs/index.md
@@ -275,3 +275,4 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
- [VehicleLocalPositionV0](VehicleLocalPositionV0.md) — Fused local position in NED. The coordinate system origin is the vehicle position at the time when the EKF2-module was started.
- [VehicleStatusV0](VehicleStatusV0.md) — Encodes the system state of the vehicle published by commander.
- [VehicleStatusV1](VehicleStatusV1.md) — Encodes the system state of the vehicle published by commander.
+- [VehicleStatusV2](VehicleStatusV2.md) — Encodes the system state of the vehicle published by commander.