# GPS&罗盘

PX4 supports global navigation satellite systems (GNSS) (including GPS, GLONASS, Galileo, BeiDou, QZSS and SBAS) using receivers that communicate via the UBlox, MTK Ashtech or Emlid protocols, or via UAVCAN. It also supports Real Time Kinematic (RTK) GPS Receivers, which extend GPS systems to centimetre-level precision.

PX4可用于以下指南针部件（磁强计）：博世BMM 150 MEMS（通过I2C总线）、HMC5883/HMC5983（I2C或SPI）、IST8310（I2C）和 LIS3MDL（I2C或SPI）。

## GPS (Only) Options

• Emlid Reach M+ (emlid.com) > Note At time of writing PX4 does not support RTK GPS with this module (only "ordinary" GPS). Support is expected in the near future.

## Combined GPS/Compass Options

GPS与罗盘的连接说明通常由厂家（至少支持更通用的 自驾仪）提供

Pixhawk系列 控制器通常有一个标记明确的端口用于连接GPS，指南针连接I2C或SPI总线（取决于设备）。 Zubax GNSS 2 也可以通过 UAVCAN 连接。

## Configuration

### Primary GPS

GPS configuration on Pixhawk is handled transparently for the user - simply connect the GPS module to the port labeled GPS and everything should work.

The default Serial Port Configuration works for most devices. If you are using the Trimble MB-Two you will need to modify the configuration to explicitly set the rate to 115200 baud.

### Secondary GPS (Dual GPS System)

To use a secondary GPS, attach it to any free port, and then perform a Serial Port Configuration to assign GPS_2_CONFIG to the selected port.

The following steps show how to configure a secondary GPS on the TELEM 2 port in QGroundControl:

1. Find and set the parameter GPS_2_CONFIG to TELEM 2.
• Open QGroundControl and navigate to the Vehicle Setup > Parameters section.
• Select the GPS tab (1), then open the GPS_2_CONFIG parameter (2) and select TELEM 2 from the dropdown list (3).
2. Reboot the vehicle in order to make the other parameters visible.
3. Select the Serial tab, and open the SER_TEL2_BAUD parameter (TELEM 2 port baud rate): set it to Auto.

After setting up the second GPS port:

1. Configure the ECL/EKF2 estimator to blend data from both GPS systems. For detailed instructions see: Using the ECL EKF > Dual Receivers.

### Compass

Compass calibration is covered in: Compass Configuration. The process is straightforward and will calibrate all connected magnetometers.

Additional configuration can be performed using the CALMAGx parameters (where x=0-3). Generally you will not need to modify these as compasses are autodetected, prioritised and are all calibrated at the same time (a possible exception is CAL_MAGx_EN which might be used to disable an internal compass). You may however wish to read them, as they will let you know which magnetometers are internal or external (CAL_MAGx_EN) and which is being uses as the main heading source (CAL_MAG_PRIME).