From 2fd131d3cff7dcb41d80c4912cafda85081678e0 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 4 Mar 2026 09:45:50 +1100 Subject: [PATCH] Link fixes 4 (#26633) * Airframe - replace Babyshark with QAV250 * Link fixes --- docs/_link_checker_sc/ignore_errors.json | 20 +++ docs/assets/site/logo_dronecode.png | Bin 7965 -> 0 bytes docs/assets/site/logo_pro_small.png | Bin 33608 -> 0 bytes docs/en/SUMMARY.md | 1 + docs/en/advanced/px4_metadata.md | 3 +- docs/en/camera/fc_connected_camera.md | 2 +- docs/en/dev_airframes/adding_a_new_frame.md | 154 ++++++------------ docs/en/flight_controller/auav_x2.md | 1 - docs/en/flight_controller/beaglebone_blue.md | 6 +- docs/en/flight_controller/modalai_voxl_2.md | 7 +- .../flight_controller/modalai_voxl_flight.md | 2 +- docs/en/flight_controller/mro_x2.1.md | 2 +- .../raspberry_pi_pilotpi_ubuntu_server.md | 4 +- docs/en/frames_multicopter/omnicopter.md | 2 +- docs/en/frames_plane/wing_wing_z84.md | 2 +- ...dplane_falcon_vertigo_hybrid_rtf_dropix.md | 2 +- .../vtol_tiltrotor_omp_hobby_zmo_fpv.md | 2 +- docs/en/gps_compass/gps_cuav_neo_3pro.md | 2 +- docs/en/gps_compass/rtk_gps_cuav_c-rtk.md | 2 +- docs/en/gps_compass/rtk_gps_gem1305.md | 2 +- .../gps_compass/rtk_gps_holybro_h-rtk-m8p.md | 9 +- docs/en/gps_compass/septentrio.md | 4 +- docs/en/gps_compass/septentrio_mosaic-go.md | 4 +- docs/en/peripherals/remote_id.md | 2 +- docs/en/sensor/airspeed.md | 2 +- docs/en/sensor/inertial_navigation_systems.md | 1 - docs/en/sensor/microstrain.md | 4 +- docs/en/sensor/teraranger.md | 11 +- docs/en/sensor/thunderfly_tachometer.md | 2 +- docs/en/sensor/vectornav.md | 2 +- docs/en/smart_batteries/rotoye_batmon.md | 4 - 31 files changed, 109 insertions(+), 152 deletions(-) delete mode 100644 docs/assets/site/logo_dronecode.png delete mode 100644 docs/assets/site/logo_pro_small.png diff --git a/docs/_link_checker_sc/ignore_errors.json b/docs/_link_checker_sc/ignore_errors.json index 08ac802966..e4637e9ad2 100644 --- a/docs/_link_checker_sc/ignore_errors.json +++ b/docs/_link_checker_sc/ignore_errors.json @@ -565,6 +565,11 @@ "fileRelativeToRoot": "assets\\simulation\\gazebo_classic\\gazebo_offboard.webm", "hideReason": "Its fine" }, + { + "type": "OrphanedImage", + "fileRelativeToRoot": "assets\\site\\px4_logo.svg", + "hideReason": "Used in the project root README.md, outside the docs folder" + }, { "type": "InternalLinkToHTML", "fileRelativeToRoot": "en\\flight_modes\\README.md", @@ -1147,5 +1152,20 @@ "link": { "url": "https://www.hovergames.com/", "text": "" }, "hideReason": "timeout - bot block", "expiry": "2026-08-26" + }, + { + "link": { "url": "https://senterasensors.com/phx/", "text": "" }, + "hideReason": "cert error in Node.js — page OK in browser", + "expiry": "2027-03-02" + }, + { + "link": { "url": "https://app.gazebosim.org/PX4", "text": "" }, + "hideReason": "reports 404 to automated requests but tested good in browser — likely SPA client-side routing or bot detection", + "expiry": "2027-03-02" + }, + { + "link": { "url": "https://duo3d.com/product/duo-minilx-lv1", "text": "" }, + "hideReason": "certificate error", + "expiry": "2027-03-03" } ] diff --git a/docs/assets/site/logo_dronecode.png b/docs/assets/site/logo_dronecode.png deleted file mode 100644 index 94b6511b3407981a441619fa0e575b694a15429a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7965 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 diff --git a/docs/en/SUMMARY.md b/docs/en/SUMMARY.md index 18c4ec34ea..e506ac7b04 100644 --- a/docs/en/SUMMARY.md +++ b/docs/en/SUMMARY.md @@ -559,6 +559,7 @@ - [Airspeed](msg_docs/Airspeed.md) - [AirspeedWind](msg_docs/AirspeedWind.md) - [AutotuneAttitudeControlStatus](msg_docs/AutotuneAttitudeControlStatus.md) + - [AuxGlobalPosition](msg_docs/AuxGlobalPosition.md) - [BatteryInfo](msg_docs/BatteryInfo.md) - [ButtonEvent](msg_docs/ButtonEvent.md) - [CameraCapture](msg_docs/CameraCapture.md) diff --git a/docs/en/advanced/px4_metadata.md b/docs/en/advanced/px4_metadata.md index 065b5fcf10..1ff3764471 100644 --- a/docs/en/advanced/px4_metadata.md +++ b/docs/en/advanced/px4_metadata.md @@ -45,7 +45,7 @@ Events metadata is also added to the log files, allowing log analysis tools (suc Binaries for flight controller targets with constrained memory do not store the parameter metadata in the binary, but instead reference the same data stored on `px4-travis.s3.amazonaws.com`. This applies, for example, to the [Omnibus F4 SD](../flight_controller/omnibus_f4_sd.md). -The metadata is uploaded via [github CI](https://github.com/PX4/PX4-Autopilot/blob/main/.github/workflows/metadata.yml) for all build targets (and hence will only be available once parameters have been merged into main). +The metadata is uploaded via the [build_all_targets](https://github.com/PX4/PX4-Autopilot/blob/main/.github/workflows/build_all_targets.yml) GitHub CI workflow for all build targets (and hence will only be available once parameters have been merged into main). ::: info You can identify memory constrained boards because they specify `CONFIG_BOARD_CONSTRAINED_FLASH=y` in their [px4board definition file](https://github.com/PX4/PX4-Autopilot/blob/main/boards/omnibus/f4sd/default.px4board). @@ -60,6 +60,7 @@ The metadata JSON files for CI builds of `main` are also copied to the github re This integrates with Crowdin to get translations, which are stored in the [translated](https://github.com/PX4/PX4-Metadata-Translations/tree/main/translated) folder as xz-compressed translation files for each language. These are referenced by the vehicle component metadata, and are downloaded when needed. For more information see [PX4-Metadata-Translations](https://github.com/PX4/PX4-Metadata-Translations/) and [Component Metadata Protocol > Translation](https://mavlink.io/en/services/component_information.html#translation). +This is orchestrated by the [docs-orchestrator](https://github.com/PX4/PX4-Autopilot/blob/main/.github/workflows/docs-orchestrator.yml) GitHub CI workflow, which also regenerates auto-generated documentation such as parameter reference, airframe reference, and uORB message docs. ::: info The parameter XML file of the main branch is copied into the QGC source tree via CI and is used as a fallback in cases where no metadata is available via the component metadata protocol (this approach predates the existence of the component metadata protocol). diff --git a/docs/en/camera/fc_connected_camera.md b/docs/en/camera/fc_connected_camera.md index f3cee6de85..1f18179122 100644 --- a/docs/en/camera/fc_connected_camera.md +++ b/docs/en/camera/fc_connected_camera.md @@ -307,7 +307,7 @@ Wire up your cameras to your AUX port by connecting the ground and signal pins t ### Step 4 You will have to modify your driver to follow the sequence diagram above. -Public reference implementations for [IDS Imaging UEye](https://github.com/ProjectArtemis/ueye_cam) cameras and for [IEEE1394 compliant](https://github.com/andre-nguyen/camera1394) cameras are available. +Public reference implementations for [IDS Imaging UEye](https://github.com/anqixu/ueye_cam) cameras and for [IEEE1394 compliant](https://github.com/andre-nguyen/camera1394) cameras are available. ## See Also diff --git a/docs/en/dev_airframes/adding_a_new_frame.md b/docs/en/dev_airframes/adding_a_new_frame.md index f34ec3ea30..801d0b0bab 100644 --- a/docs/en/dev_airframes/adding_a_new_frame.md +++ b/docs/en/dev_airframes/adding_a_new_frame.md @@ -124,118 +124,79 @@ param set-default CA_ROTOR3_PY 0.15 param set-default CA_ROTOR3_KM -0.05 ``` -### Example - Babyshark VTOL Complete Vehicle +### Example - HolyBro QAV250 Complete Vehicle -A more complicated configuration file for a complete vehicle is provided below. -This is the configuration for the Baby Shark [Standard VTOL](../frames_vtol/standardvtol.md) ([original file here](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d/airframes/13014_vtol_babyshark)). +A more complete configuration file for a real vehicle is provided below. +This is the configuration for the [HolyBro QAV250](../frames_multicopter/holybro_qav250_pixhawk4_mini.md) quadrotor ([original file here](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d/airframes/4052_holybro_qav250)). -The shebang and documentation sections are similar to those for the generic frame, but here we also document what `outputs` are mapped to each motor and actuator. -Note that these outputs are documentation only; the actual mapping is done using parameters. +The shebang and documentation sections are similar to those for the generic frame. +Here we also add a `@url` link to the vehicle documentation, a `@maintainer`, and additional board exclusions. ```sh #!/bin/sh # -# @name BabyShark VTOL +# @name HolyBro QAV250 # -# @type Standard VTOL -# @class VTOL +# @url https://docs.px4.io/main/en/frames_multicopter/holybro_qav250_pixhawk4_mini # -# @maintainer Silvan Fuhrer +# @type Quadrotor x +# @class Copter # -# @output Motor1 motor 1 -# @output Motor2 motor 2 -# @output Motor3 motor 3 -# @output Motor4 motor 4 -# @output Motor5 Pusher motor -# @output Servo1 Ailerons -# @output Servo2 A-tail left -# @output Servo3 A-tail right +# @maintainer Beat Kueng # # @board px4_fmu-v2 exclude # @board bitcraze_crazyflie exclude -# @board holybro_kakutef7 exclude +# @board px4_fmu-v6x exclude +# @board ark_fmu-v6x exclude # ``` -As for the generic frame, we then include the generic VTOL defaults. +Next, we source the multicopter defaults. ```sh -. ${R}etc/init.d/rc.vtol_defaults +. ${R}etc/init.d/rc.mc_defaults ``` Then we define configuration parameters and [tuning gains](#tuning-gains): ```sh -param set-default MAV_TYPE 22 +# The set does not include a battery, but most people will probably use 4S +param set-default BAT1_N_CELLS 4 -param set-default BAT1_N_CELLS 6 +param set-default IMU_GYRO_CUTOFF 120 +param set-default IMU_DGYRO_CUTOFF 45 -param set-default FW_AIRSPD_MAX 30 -param set-default FW_AIRSPD_MIN 19 -param set-default FW_AIRSPD_TRIM 23 -param set-default FW_PN_R_SLEW_MAX 40 -param set-default FW_PSP_OFF 3 -param set-default FW_P_LIM_MAX 18 -param set-default FW_P_LIM_MIN -25 -param set-default FW_RLL_TO_YAW_FF 0.1 -param set-default FW_RR_P 0.08 -param set-default FW_R_LIM 45 -param set-default FW_R_RMAX 50 -param set-default FW_THR_TRIM 0.65 -param set-default FW_THR_MIN 0.3 -param set-default FW_THR_SLEW_MAX 0.6 -param set-default FW_T_HRATE_FF 0 -param set-default FW_T_SINK_MAX 15 -param set-default FW_T_SINK_MIN 3 -param set-default FW_YR_P 0.15 - -param set-default IMU_DGYRO_CUTOFF 15 -param set-default MC_PITCHRATE_MAX 60 -param set-default MC_ROLLRATE_MAX 60 -param set-default MC_YAWRATE_I 0.15 -param set-default MC_YAWRATE_MAX 40 -param set-default MC_YAWRATE_P 0.3 - -param set-default MPC_ACC_DOWN_MAX 2 -param set-default MPC_ACC_HOR_MAX 2 -param set-default MPC_ACC_UP_MAX 3 param set-default MC_AIRMODE 1 -param set-default MPC_JERK_AUTO 4 -param set-default MPC_LAND_SPEED 1 -param set-default MPC_MAN_TILT_MAX 25 -param set-default MPC_MAN_Y_MAX 40 -param set-default COM_SPOOLUP_TIME 1.5 -param set-default MPC_THR_HOVER 0.45 -param set-default MPC_TILTMAX_AIR 25 -param set-default MPC_TKO_RAMP_T 1.8 -param set-default MPC_TKO_SPEED 1 -param set-default MPC_VEL_MANUAL 3 -param set-default MPC_XY_CRUISE 3 -param set-default MPC_XY_VEL_MAX 3.5 -param set-default MPC_YAWRAUTO_MAX 40 -param set-default MPC_Z_VEL_MAX_UP 2 +param set-default MC_PITCHRATE_D 0.0012 +param set-default MC_PITCHRATE_I 0.35 +param set-default MC_PITCHRATE_MAX 1200 +param set-default MC_PITCHRATE_P 0.082 +param set-default MC_PITCH_P 8 +param set-default MC_ROLLRATE_D 0.0012 +param set-default MC_ROLLRATE_I 0.3 +param set-default MC_ROLLRATE_MAX 1200 +param set-default MC_ROLLRATE_P 0.076 +param set-default MC_ROLL_P 8 +param set-default MC_YAWRATE_I 0.3 +param set-default MC_YAWRATE_MAX 600 +param set-default MC_YAWRATE_P 0.25 +param set-default MC_YAW_P 4 -param set-default NAV_ACC_RAD 3 +param set-default MPC_MANTHR_MIN 0 +param set-default MPC_MAN_TILT_MAX 60 +param set-default MPC_THR_CURVE 1 +param set-default MPC_THR_HOVER 0.25 +param set-default MPC_THR_MIN 0.05 +param set-default MPC_Z_VEL_I_ACC 1.7 -param set-default SENS_BOARD_ROT 4 - -param set-default VT_ARSP_BLEND 10 -param set-default VT_ARSP_TRANS 21 -param set-default VT_B_DEC_MSS 1.5 -param set-default VT_B_TRANS_DUR 12 -param set-default VT_ELEV_MC_LOCK 0 -param set-default VT_FWD_THRUST_SC 1.2 -param set-default VT_F_TR_OL_TM 8 -param set-default VT_PSHER_SLEW 0.5 -param set-default VT_TRANS_MIN_TM 4 -param set-default VT_TYPE 2 +param set-default THR_MDL_FAC 0.3 ``` -Last of all, the file defines the control allocation parameters for the geometry and the parameters that set which outputs map to different motors and servos. +Last of all, the file defines the control allocation parameters for the geometry and the parameters that set which outputs map to different motors. ```sh -param set-default CA_AIRFRAME 2 -param set-default CA_ROTOR_COUNT 5 +# Square quadrotor X PX4 numbering +param set-default CA_ROTOR_COUNT 4 param set-default CA_ROTOR0_PX 1 param set-default CA_ROTOR0_PY 1 param set-default CA_ROTOR1_PX -1 @@ -246,34 +207,11 @@ param set-default CA_ROTOR2_KM -0.05 param set-default CA_ROTOR3_PX -1 param set-default CA_ROTOR3_PY 1 param set-default CA_ROTOR3_KM -0.05 -param set-default CA_ROTOR4_AX 1.0 -param set-default CA_ROTOR4_AZ 0.0 -param set-default CA_SV_CS_COUNT 3 -param set-default CA_SV_CS0_TYPE 15 -param set-default CA_SV_CS0_TRQ_R 1.0 -param set-default CA_SV_CS1_TRQ_P 0.5000 -param set-default CA_SV_CS1_TRQ_R 0.0000 -param set-default CA_SV_CS1_TRQ_Y -0.5000 -param set-default CA_SV_CS1_TYPE 13 -param set-default CA_SV_CS2_TRQ_P 0.5000 -param set-default CA_SV_CS2_TRQ_Y 0.5000 -param set-default CA_SV_CS2_TYPE 14 - -param set-default PWM_MAIN_FUNC1 201 -param set-default PWM_MAIN_FUNC2 202 -param set-default PWM_MAIN_FUNC3 105 -param set-default PWM_MAIN_FUNC4 203 -param set-default PWM_MAIN_FUNC5 101 -param set-default PWM_MAIN_FUNC6 102 -param set-default PWM_MAIN_FUNC7 103 -param set-default PWM_MAIN_FUNC8 104 - -param set-default PWM_MAIN_TIM0 50 -param set-default PWM_MAIN_DIS1 1500 -param set-default PWM_MAIN_DIS2 1500 -param set-default PWM_MAIN_DIS3 1000 -param set-default PWM_MAIN_DIS4 1500 +param set-default PWM_MAIN_FUNC1 101 +param set-default PWM_MAIN_FUNC2 102 +param set-default PWM_MAIN_FUNC3 103 +param set-default PWM_MAIN_FUNC4 104 ``` ## Adding a New Airframe Group diff --git a/docs/en/flight_controller/auav_x2.md b/docs/en/flight_controller/auav_x2.md index d1cc830ee6..354db83824 100644 --- a/docs/en/flight_controller/auav_x2.md +++ b/docs/en/flight_controller/auav_x2.md @@ -57,7 +57,6 @@ mRobotics is the distributor for the AUAV Products from August 2017. ## Key Links -- [User Manual](http://arsovtech.com/wp-content/uploads/2015/08/AUAV-X2-user-manual-EN.pdf) - [DIY Drones Post](https://diydrones.com/profiles/blogs/introducing-the-auav-x2-1-flight-controller) ## Wiring Guide diff --git a/docs/en/flight_controller/beaglebone_blue.md b/docs/en/flight_controller/beaglebone_blue.md index 711f9c0d97..d9ae488667 100644 --- a/docs/en/flight_controller/beaglebone_blue.md +++ b/docs/en/flight_controller/beaglebone_blue.md @@ -4,10 +4,10 @@ ::: warning PX4 does not manufacture this (or any) autopilot. -Contact the [manufacturer](https://beagleboard.org/blue) for hardware support or compliance issues. +Contact the [manufacturer](https://www.beagleboard.org/boards/beaglebone-blue) for hardware support or compliance issues. ::: -[BeagleBone Blue](https://beagleboard.org/blue) is an all-in-one Linux-based computer. +[BeagleBone Blue](https://www.beagleboard.org/boards/beaglebone-blue) is an all-in-one Linux-based computer. Although it is optimized for robotics, this compact and inexpensive board has all necessary sensors and peripherals needed by a flight controller. This topic shows how to set up the board to run PX4 with [librobotcontrol](https://github.com/beagleboard/librobotcontrol) robotics package. @@ -17,7 +17,7 @@ This topic shows how to set up the board to run PX4 with [librobotcontrol](https _BeagleBone Blue_ images can be found here: -- [Latest stable OS image](https://beagleboard.org/latest-images). +- [Latest stable OS image](https://www.beagleboard.org/distros). - [Test OS images](https://rcn-ee.net/rootfs/bb.org/testing/) (updated frequently). Information about flashing OS images can be found on [this page](https://github.com/beagleboard/beaglebone-blue/wiki/Flashing-firmware). diff --git a/docs/en/flight_controller/modalai_voxl_2.md b/docs/en/flight_controller/modalai_voxl_2.md index fa61b164a7..c09b34f7e7 100644 --- a/docs/en/flight_controller/modalai_voxl_2.md +++ b/docs/en/flight_controller/modalai_voxl_2.md @@ -62,7 +62,7 @@ ModalAI is actively maintaining a [branched PX4 version](https://github.com/moda As VOXL 2 runs Ubuntu, the production releases of PX4 for VOXL 2 are distributed through [apt package management](https://docs.modalai.com/configure-pkg-manager/) and the [VOXL SDK](https://docs.modalai.com/voxl-sdk/). -More information about the firmware can be found [here](https://docs.modalai.com/voxl-px4-developer-guide/). +More information about the firmware can be found [here](https://docs.modalai.com/voxl-px4/). ### main branch @@ -78,7 +78,6 @@ This board is supported in QGroundControl 4.0 and later. - [Starling 2 MAX](https://www.modalai.com/products/starling-2-max) - [Sentinel Development Drone powered by VOXL 2](https://www.modalai.com/pages/sentinel) - [Demo Video](https://www.youtube.com/watch?v=hMhQgWPLGXo) -- [VOXL 2 Flight Deck, ready to mount, tune and fly](https://www.modalai.com/collections/ready-to-mount/products/voxl-2-flight-deck) - [VOXL 2 Development Kits](https://www.modalai.com/products/voxl-2) - [Demo Video](https://www.youtube.com/watch?v=aVHBWbwp488) @@ -88,7 +87,7 @@ Quickstarts from the vendor are located [here](https://docs.modalai.com/voxl-2-h ### VOXL SDK -VOXL SDK (Software Development Kit) consists of the open source [voxl-px4](https://docs.modalai.com/voxl-px4/), [core libraries](https://docs.modalai.com/core-libs/), [services](https://docs.modalai.com/mpa-services/), [tools](https://docs.modalai.com/inspect-tools/), [utilities](https://docs.modalai.com/sdk-utilities/), and [build environments](https://docs.modalai.com/build-environments/) that ModalAI provide to accelerate the use and development of VOXL compute boards and accessories. +VOXL SDK (Software Development Kit) consists of the open source [voxl-px4](https://docs.modalai.com/voxl-px4/), [core libraries](https://docs.modalai.com/core-libs/), [services](https://docs.modalai.com/mpa-services/), [tools](https://docs.modalai.com/inspect-tools/), and [build environments](https://docs.modalai.com/build-environments/) that ModalAI provide to accelerate the use and development of VOXL compute boards and accessories. VOXL SDK runs on VOXL, VOXL 2 and RB5 Flight! @@ -123,7 +122,7 @@ The PX4 user guide for VOXL 2 is available [here](https://docs.modalai.com/voxl- ### Developer Guide -The PX4 developer guide for VOXL 2 is available [here](https://docs.modalai.com/voxl-px4-developer-guide/). +The PX4 developer guide for VOXL 2 is available [here](https://docs.modalai.com/voxl-px4/). ### How to Build diff --git a/docs/en/flight_controller/modalai_voxl_flight.md b/docs/en/flight_controller/modalai_voxl_flight.md index 749201699f..9dd9a041b7 100644 --- a/docs/en/flight_controller/modalai_voxl_flight.md +++ b/docs/en/flight_controller/modalai_voxl_flight.md @@ -41,7 +41,7 @@ This flight controller is [manufacturer supported](../flight_controller/autopilo | Video | 4k30 Video Capture h.264/5 w/ 720p FPV | | Camera Interfaces | Support for MIPI-CSI2, USB UVC, HDMI | | Wi-Fi | Pre-certified Wi-Fi module [QCNFA324 FCC ID:PPD-QCNFA324](https://fccid.io/PPD-QCNFA324), QCA6174A modem, 802.11ac 2x2 Dual-band, Bluetooth 4.2 (dual-mode) | -| 4G LTE | [Optional add-on module](https://www.modalai.com/collections/voxl-add-ons/products/voxl-lte) | +| 4G LTE | Optional add-on module | | Microhard pDDL | [Optional add-on module](https://www.modalai.com/collections/voxl-add-ons/products/voxl-microhard-modem-usb-hub) | | GNSS | WGR7640 10Hz | | I/O | 1x USB3.0 OTG (ADB port), 1x USB2.0 (expansion port), 2x UART, 3x I2C, additional GPIO and SPI can be configured | diff --git a/docs/en/flight_controller/mro_x2.1.md b/docs/en/flight_controller/mro_x2.1.md index d91bc2ad83..fd1510da20 100644 --- a/docs/en/flight_controller/mro_x2.1.md +++ b/docs/en/flight_controller/mro_x2.1.md @@ -11,7 +11,7 @@ PX4 does not manufacture this (or any) autopilot. Contact the [manufacturer](https://store.mrobotics.io/) for hardware support or compliance issues. ::: -The [mRo-X2.1 autopilot](http://www.mRobotics.io/) is based on the [Pixhawk®-project](https://pixhawk.org/) **FMUv2** open hardware design. +The (mRobotics) _mRo-X2.1_ autopilot is based on the [Pixhawk®-project](https://pixhawk.org/) **FMUv2** open hardware design. It runs PX4 on the [NuttX](https://nuttx.apache.org/) OS. ![mRo X2.1](../../assets/flight_controller/mro/mro_x2.1.jpg) diff --git a/docs/en/flight_controller/raspberry_pi_pilotpi_ubuntu_server.md b/docs/en/flight_controller/raspberry_pi_pilotpi_ubuntu_server.md index 5e7ddac14d..8d3e68b441 100644 --- a/docs/en/flight_controller/raspberry_pi_pilotpi_ubuntu_server.md +++ b/docs/en/flight_controller/raspberry_pi_pilotpi_ubuntu_server.md @@ -16,13 +16,13 @@ Both armhf and arm64 arch are supported. - [Ubuntu Server 18.04.5 for RPi2](https://cdimage.ubuntu.com/releases/18.04.5/release/ubuntu-18.04.5-preinstalled-server-armhf+raspi2.img.xz) - [Ubuntu Server 18.04.5 for RPi3](https://cdimage.ubuntu.com/releases/18.04.5/release/ubuntu-18.04.5-preinstalled-server-armhf+raspi3.img.xz) - [Ubuntu Server 18.04.5 for RPi4](https://cdimage.ubuntu.com/releases/18.04.5/release/ubuntu-18.04.5-preinstalled-server-armhf+raspi4.img.xz) -- [Ubuntu Server 20.04.1 for RPi 2/3/4](https://cdimage.ubuntu.com/releases/20.04.1/release/ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz) +- [Ubuntu Server 20.04.1 for RPi 2/3/4](https://old-releases.ubuntu.com/releases/focal/ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz) #### arm64 - [Ubuntu Server 18.04.5 for RPi3](https://cdimage.ubuntu.com/releases/18.04.5/release/ubuntu-18.04.5-preinstalled-server-arm64+raspi3.img.xz) - [Ubuntu Server 18.04.5 for RPi4](https://cdimage.ubuntu.com/releases/18.04.5/release/ubuntu-18.04.5-preinstalled-server-arm64+raspi4.img.xz) -- [Ubuntu Server 20.04.1 for RPi 3/4](https://cdimage.ubuntu.com/releases/20.04.1/release/ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz) +- [Ubuntu Server 20.04.1 for RPi 3/4](https://old-releases.ubuntu.com/releases/focal/ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz) #### Latest OS diff --git a/docs/en/frames_multicopter/omnicopter.md b/docs/en/frames_multicopter/omnicopter.md index 5d7252a28e..7b27f6afb5 100644 --- a/docs/en/frames_multicopter/omnicopter.md +++ b/docs/en/frames_multicopter/omnicopter.md @@ -18,7 +18,7 @@ The components needed for this build are: ::: info You can select your own flight controller of choice, it just needs to support 8 DShot outputs. ::: - - GPS: [ZED-F9P](https://gnss.store/en/zed-f9p-gnss-modules/105-elt0092.html) + - GPS: [ZED-F9P](https://gnss.store/products/elt0092) - [GPS helix antenna](https://gnss.store/products/elt0014) ::: info Any other GPS may work as well, however a helix antenna is expected to perform better for inverted flights. diff --git a/docs/en/frames_plane/wing_wing_z84.md b/docs/en/frames_plane/wing_wing_z84.md index 52b837b741..a79912a7d7 100644 --- a/docs/en/frames_plane/wing_wing_z84.md +++ b/docs/en/frames_plane/wing_wing_z84.md @@ -33,7 +33,7 @@ Any small (>=12A) ESC will do: - FrSky D4R-II receiver or equivalent (jumpered to PPM sum output according to its manual) - [Mini telemetry set](../flight_controller/pixfalcon.md#availability) for Holybro pix32 - [Digital airspeed sensor](../flight_controller/pixfalcon.md#availability) for Holybro pix32 / Pixfalcon -- 1800 mAh 2S LiPo Battery - e.g. [Team Orion 1800mAh 7.4V 50C 2S1P](https://teamorion.com/en/batteries-en/lipo/soft-case/team-orion-lipo-1800-2s-7-4v-50c-xt60-en/) +- 1800 mAh 2S LiPo Battery - e.g. Team Orion 1800mAh 7.4V 50C 2S1P with XT 60 plug. ### Recommended spare parts diff --git a/docs/en/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/docs/en/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md index 5c6db19062..3bd13fd26e 100644 --- a/docs/en/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md +++ b/docs/en/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md @@ -35,7 +35,7 @@ Almost everything you need is provided in the RTF kit (the links next to compone - Pusher motor power system - Carbon fiber tubes and mounts - G10 motor mounts -- 1 x [3700mah 4S 30C Lipo battery](https://www.overlander.co.uk/batteries/lipo-batteries/power-packs/3700mah-4s-14-8v-25c-lipo-battery-overlander-sport.html) +- 1 x [3700mah 4S 30C Lipo battery](https://wheelspinmodels.co.uk/i/3700mah-4s-14.8v-25c-lipo-battery-overlander-262221/) - Dropix power distribution board and cable The kit does not come with a radio receiver or (optional) telemetry modules. diff --git a/docs/en/frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md b/docs/en/frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md index 25462cd7f2..d92f9eb0f6 100644 --- a/docs/en/frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md +++ b/docs/en/frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md @@ -25,9 +25,9 @@ Depending on the final takeoff weight the hover time might be limited (there is ## Where to Buy -- [OMP-Hobby](https://www.omphobby.com/OMPHOBBY-ZMO-VTOL-FPV-Aircraft-With-DJI-Goggles-And-Remote-Controller-p3069854.html) - [GetFPV](https://www.getfpv.com/omphobby-zmo-z3-vtol-fpv-1200mm-arf-plane-kit-no-fpv-system.html) - [FoxtechFPV](https://www.foxtechfpv.com/zmo-pro-fpv-vtol.html) +- [RMRC](https://www.readymaderc.com/products/details/omp-hobby-zmo-vtol-fpv-airplane-rtf-goggles-radio) ## Flight Controller diff --git a/docs/en/gps_compass/gps_cuav_neo_3pro.md b/docs/en/gps_compass/gps_cuav_neo_3pro.md index 41389c7a5d..540981dba6 100644 --- a/docs/en/gps_compass/gps_cuav_neo_3pro.md +++ b/docs/en/gps_compass/gps_cuav_neo_3pro.md @@ -41,7 +41,7 @@ It integrates UBLOX M9N, STM32F4 MCU, RM3100 compass, three-color LED light and ## Where to Buy -- [CUAV](https://cuav.en.alibaba.com/product/1600165544920-820872629/Free_shipping_CUAV_Neo_3_pro_drone_UAVCAN_GNSS_processor_STM32F412_autopilot_ublox_M9N_positioning_RM3100_compass_uav_gps_module.html?spm=a2700.shop_oth.74.2.636e28725EvVHb) +- [CUAV](https://www.alibaba.com/product-detail/Free_shipping_CUAV_Neo_3_pro_drone_UAVCAN_GNSS_processor_STM32F412_autopilot_ublox_M9N_positioning_RM3100_compass_uav_gps_module_1600165544920.html) ## Wiring and Connections diff --git a/docs/en/gps_compass/rtk_gps_cuav_c-rtk.md b/docs/en/gps_compass/rtk_gps_cuav_c-rtk.md index 0fb1f4d222..a5eef30010 100644 --- a/docs/en/gps_compass/rtk_gps_cuav_c-rtk.md +++ b/docs/en/gps_compass/rtk_gps_cuav_c-rtk.md @@ -16,7 +16,7 @@ RTK setup and use on PX4 via _QGroundControl_ is largely plug and play \(see [RT ## Wiring and Connections -C-RTK GPS comes with a cable that terminates in a 6-pin connector and 4-pin connector that are compatible with [Pixhack v3](https://doc.cuav.net/flight-controller/pixhack/en/quick-start-pixhack-v3x.html#gps--compass). +C-RTK GPS comes with a cable that terminates in a 6-pin connector and 4-pin connector that are compatible with [Pixhack v3](../flight_controller/pixhack_v3.md). The 6-pin connector provides the interface for RTK GPS, and should be connected to the flight controller's GPS port. The 4-pin connector is an m8n (standard) GPS interface that is intended for (optional) use as a second GPS. diff --git a/docs/en/gps_compass/rtk_gps_gem1305.md b/docs/en/gps_compass/rtk_gps_gem1305.md index 4757694dd0..3872b53faa 100644 --- a/docs/en/gps_compass/rtk_gps_gem1305.md +++ b/docs/en/gps_compass/rtk_gps_gem1305.md @@ -121,7 +121,7 @@ GPS and RTK configuration on PX4 via _QGroundControl_ is plug and play (see [RTK ## More information -- [NANO RTK Receiver](https://www.datagnss.com/products/tau951m-1312-tiny-evk) +- [NANO RTK Receiver](https://www.datagnss.com/products/nano-rtk-receiver) - [HELIX Antenna for RTK](https://www.datagnss.com/collections/rtk-antenna/products/smart-helix-antenna) - [RTK Antenna AGR6302G](https://www.datagnss.com/collections/rtk-antenna/products/antenna-agr6302g) - [AT400 RTK Antenna](https://www.datagnss.com/collections/rtk-antenna/products/at400-multi-band-antenna-for-rtk) diff --git a/docs/en/gps_compass/rtk_gps_holybro_h-rtk-m8p.md b/docs/en/gps_compass/rtk_gps_holybro_h-rtk-m8p.md index 2d09d57079..eb9f2783a0 100644 --- a/docs/en/gps_compass/rtk_gps_holybro_h-rtk-m8p.md +++ b/docs/en/gps_compass/rtk_gps_holybro_h-rtk-m8p.md @@ -2,9 +2,10 @@ :::warning This GNSS has been discontinued, and is no longer commercially available. +Replaced by [Holybro H-RTK F9P GNSS](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md). ::: -The [Holybro H-RTK M8P GNSS](https://holybro.com/collections/standard-h-rtk-series/products/h-rtk-m8p-gnss-series) is an [RTK GNSS module](../gps_compass/rtk_gps.md) series for the mass market. +The _Holybro H-RTK M8P GNSS_ is an [RTK GNSS module](../gps_compass/rtk_gps.md) series for the mass market. This family is similar to the [H-RTK M9P](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md) series but uses the smaller, lighter, and less expensive M8P u-blox RTK GNSS module (which still provides far superior position resolution than previous generations\_. There are three models of Holybro H-RTK M8P to choose from, each with different antenna design to meet different needs. @@ -16,7 +17,7 @@ Using RTK allows PX4 to get its position with centimeter-level accuracy, which i ## Where to Buy -- [H-RTK M8P (GPS RTK Mounts)](https://holybro.com/collections/gps-accessories/products/vertical-mount-for-h-rtk-helical) +- Discontinued. ## Configuration @@ -30,9 +31,7 @@ All H-RTK GNSS models come with a GH 10-pin connector/cable that is compatible w The cables/connectors may need to be modified in order to connect to other flight controller boards (see [pin map](#pin_map)below). ::: - - -## Pin Map +## Pin Map {#pin_map} ![h-rtk_rover_pinmap](../../assets/hardware/gps/rtk_holybro_h-rtk-m8p_pinmap.jpg) diff --git a/docs/en/gps_compass/septentrio.md b/docs/en/gps_compass/septentrio.md index 3d2939aae9..90c4721538 100644 --- a/docs/en/gps_compass/septentrio.md +++ b/docs/en/gps_compass/septentrio.md @@ -10,7 +10,7 @@ Certain receivers are recommended for autopilot applications because of their ph Dual-antenna, ultra-low-power GNSS rover receiver with support for heading. -- [AsteRx-m3 Pro+](https://www.septentrio.com/en/products/gps/gnss-boards/asterx-m3-pro-plus) +- [AsteRx-m3 Pro+](https://www.septentrio.com/en/products/gnss-receivers/gnss-boards/asterx-m3-pro-plus) Dual-antenna, ultra-low-power versatile GNSS rover and base receiver with support for heading. @@ -19,7 +19,7 @@ Certain receivers are recommended for autopilot applications because of their ph Single-antenna evaluation kit with support for L5 frequency band, based on the mosaic-X5 GNSS receiver module. -- [mosaic-go heading](https://www.septentrio.com/en/products/gps/gnss-receiver-modules/mosaic-h-evaluation-kit) +- [mosaic-go heading](https://www.septentrio.com/en/products/gnss-receivers/gnss-receiver-modules/mosaic-h-evaluation-kit) Dual-antenna evaluation kit with support for heading, based on the mosaic-H GNSS receiver module. diff --git a/docs/en/gps_compass/septentrio_mosaic-go.md b/docs/en/gps_compass/septentrio_mosaic-go.md index 7c6bf7d3e7..d77e94112f 100644 --- a/docs/en/gps_compass/septentrio_mosaic-go.md +++ b/docs/en/gps_compass/septentrio_mosaic-go.md @@ -2,8 +2,8 @@ The Septentrio mosaic-go receivers are evaluation kits for their mosaic-X5 and mosaic-H receiver modules. Because of their small size and low weight, they are ideal for autopilot applications. -The available variants are the [mosaic-go](https://www.septentrio.com/en/products/gps/gnss-receiver-modules/mosaic-go-evaluation-kit) -and [mosaic-go heading](https://www.septentrio.com/en/products/gps/gnss-receiver-modules/mosaic-h-evaluation-kit). +The available variants are the [mosaic-go](https://www.septentrio.com/en/products/gnss-receivers/gnss-receiver-modules/mosaic-go-evaluation-kit) +and [mosaic-go heading](https://www.septentrio.com/en/products/gnss-receivers/gnss-receiver-modules/mosaic-h-evaluation-kit). ![Mosaic go Highly Accurate GNSS Receiver Module](../../assets/hardware/gps/septentrio_sbf/mosaic-go.png) diff --git a/docs/en/peripherals/remote_id.md b/docs/en/peripherals/remote_id.md index 60d3413661..55f0e74001 100644 --- a/docs/en/peripherals/remote_id.md +++ b/docs/en/peripherals/remote_id.md @@ -156,7 +156,7 @@ To only allow arming when a Remote ID is ready, [set](../advanced_config/paramet Integrators should test than the remote ID module is broadcasting the correct information, such as UAV location, ID, operator ID and so on. This is most easily done using a 3rd party application on your mobile device: -- [Drone Scanner](https://github.com/dronetag/drone-scanner) (Google Play or Apple App store) +- [Drone Scanner](https://help.dronetag.com/drone-scanner/) (Google Play or Apple App store) - [OpenDroneID OSM](https://play.google.com/store/apps/details?id=org.opendroneid.android_osm&hl=en&gl=US) (Google Play) ## Implementation diff --git a/docs/en/sensor/airspeed.md b/docs/en/sensor/airspeed.md index e0db4f4ba0..df5c042300 100644 --- a/docs/en/sensor/airspeed.md +++ b/docs/en/sensor/airspeed.md @@ -11,7 +11,7 @@ For fixed-wing flight it is the airspeed that guarantees lift — not ground spe Recommended digital airspeed sensors include: - Based on [Pitot tube](https://en.wikipedia.org/wiki/Pitot_tube) - - I2C MEAS Spec series (e.g. [MS4525DO](https://www.te.com/usa-en/product-CAT-BLPS0002.html), [MS5525](https://www.te.com/usa-en/product-CAT-BLPS0003.html)) + - I2C MEAS Spec series (e.g. [MS4525DO](https://www.te.com/en/product-20003581-00.html), [MS5525](https://www.te.com/usa-en/product-CAT-BLPS0003.html)) - [mRo I2C Airspeed Sensor JST-GH MS4525DO](https://store.3dr.com/airspeed-sensor-jst-gh-ms4525do/) (3DR store) - [Digital Differential Airspeed Sensor Kit - MS4525DO](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html) (Drotek). - [Holybro Digital Air Speed Sensor - MS4525DO](https://holybro.com/collections/sensors/products/digital-air-speed-sensor-ms4525do) diff --git a/docs/en/sensor/inertial_navigation_systems.md b/docs/en/sensor/inertial_navigation_systems.md index ce3e32106f..971778ddc1 100644 --- a/docs/en/sensor/inertial_navigation_systems.md +++ b/docs/en/sensor/inertial_navigation_systems.md @@ -49,5 +49,4 @@ Essentially it is an AHRS that also includes position/velocity estimation. ## Further Information -- [What is an Inertial Navigation System?](https://www.vectornav.com/resources/inertial-navigation-articles/what-is-an-ins) (VectorNav) - [Inertial Navigation Primer](https://www.vectornav.com/resources/inertial-navigation-primer) (VectorNav) diff --git a/docs/en/sensor/microstrain.md b/docs/en/sensor/microstrain.md index b969b18ea0..5ae6d3d448 100644 --- a/docs/en/sensor/microstrain.md +++ b/docs/en/sensor/microstrain.md @@ -8,8 +8,8 @@ Widely used across industries like aerospace, robotics, industrial automation, a The driver currently supports the following hardware: - [`MicroStrain CV7-AR`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/vertical-reference/3dm-cv7-ar): Inertial Measurement Unit (IMU) and Vertical Reference Unit (VRU) -- [`MicroStrain CV7-AHRS`](https://www.microstrain.com/inertial-sensors/3dm-cv7-ahrs): Inertial Measurement Unit (IMU) and Attitude Heading Reference System (AHRS) -- [`MicroStrain CV7-INS`](https://www.microstrain.com/inertial-sensors/3dm-cv7-ins): Inertial Measurement Unit (IMU) and Inertial Navigation System (INS). +- [`MicroStrain CV7-AHRS`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/attitude-and-heading/3dm-cv7-ahrs): Inertial Measurement Unit (IMU) and Attitude Heading Reference System (AHRS) +- [`MicroStrain CV7-INS`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/navigation/3dm-cv7-ins): Inertial Measurement Unit (IMU) and Inertial Navigation System (INS). - [`MicroStrain CV7-GNSS/INS`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/navigation/3dm-cv7-gnss-ins): Inertial Measurement Unit (IMU) and Inertial Navigation System (INS) combined with dual multiband (GNSS) receivers. PX4 can use these sensors to provide raw IMU data for EKF2 or to replace EKF2 as an external INS. diff --git a/docs/en/sensor/teraranger.md b/docs/en/sensor/teraranger.md index 4faed11532..a3d9fc7dcf 100644 --- a/docs/en/sensor/teraranger.md +++ b/docs/en/sensor/teraranger.md @@ -1,12 +1,17 @@ -# TeraRanger Rangefinders +# TeraRanger Rangefinders (Discontinued) + +::: warning +TeraRanger Evo sensors were discontinued by Terabee in May 2024. +Limited stock may still be available from third-party resellers such as [Tribotix](https://tribotix.com/product/teraranger-evo-60m/). +::: TeraRanger provide a number of lightweight distance measurement sensor based on infrared Time-of-Flight (ToF) technology. They are typically faster and have greater range than sonar, and smaller and lighter than laser-based systems. PX4 supports: -- [TeraRanger Evo 60m](https://www.terabee.com/shop/lidar-tof-range-finders/teraranger-evo-60m/) (0.5 – 60 m) -- [TeraRanger Evo 600Hz](https://www.terabee.com/shop/lidar-tof-range-finders/teraranger-evo-600hz/) (0.75 - 8 m) +- [TeraRanger Evo 60m](https://tribotix.com/product/teraranger-evo-60m/) (0.5 – 60 m) +- [TeraRanger Evo 600Hz](https://tribotix.com/product/teraranger-evo-600hz/) (0.75 - 8 m) ::: info PX4 also supports _TeraRanger One_ (I2C adapter required). diff --git a/docs/en/sensor/thunderfly_tachometer.md b/docs/en/sensor/thunderfly_tachometer.md index 30f37a61b0..96f7763ac6 100644 --- a/docs/en/sensor/thunderfly_tachometer.md +++ b/docs/en/sensor/thunderfly_tachometer.md @@ -31,7 +31,7 @@ The LED lights up when the pulse input is grounded or exposed to logical 0, so y Hall-Effect sensors (magnetically operated) are ideal for harsh environments, where dirt, dust, and water can contact the sensed rotor. Many different hall effect sensors are commercially available. -For example, a [55100 Miniature Flange Mounting Proximity Sensor](https://m.littelfuse.com/assetdocs/littelfuse-hall-effect-sensors-55100-datasheet?assetguid=6d69d457-770e-46ba-9998-012c5e0aedd7) is a good choice. +For example, a [55100 Miniature Flange Mounting Proximity Sensor](https://www.littelfuse.com/assetdocs/littelfuse-hall-effect-sensors-55100-datasheet?assetguid=6d69d457-770e-46ba-9998-012c5e0aedd7) is a good choice. ![Example of Hall effect probe](../../assets/hardware/sensors/tfrpm/hall_probe.jpg) diff --git a/docs/en/sensor/vectornav.md b/docs/en/sensor/vectornav.md index bd1c12c1f8..a26d69ebe2 100644 --- a/docs/en/sensor/vectornav.md +++ b/docs/en/sensor/vectornav.md @@ -76,7 +76,7 @@ IMU data should be published at 800Hz (400Hz if using VN-300). ## VectorNav Configuration -Definitions for all commands and registers referenced in this section can be found in the respective [VectorNav ICD](https://www.vectornav.com/resources/interface-control-documents). +Definitions for all commands and registers referenced in this section can be found in the respective [VectorNav ICD](https://www.vectornav.com/resources/technical-documentation/interface-control-documents). Upon initialization, PX4 configures the VectorNav unit as follows: diff --git a/docs/en/smart_batteries/rotoye_batmon.md b/docs/en/smart_batteries/rotoye_batmon.md index 2b8963a818..fe453bb014 100644 --- a/docs/en/smart_batteries/rotoye_batmon.md +++ b/docs/en/smart_batteries/rotoye_batmon.md @@ -50,7 +50,3 @@ In _QGroundControl_: batt_smbus start -X -b 1 -a 11 # External bus 1, address 0x0b batt_smbus start -X -b 1 -a 12 # External bus 1, address 0x0c ``` - -## Further Information - -[Quick Start Guide](https://rotoye.com/batmon-tutorial/) (Rotoye)