Paparazzi UAS  v5.18.0_stable-1-g6993852-dirty
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
board_matek_f765_wing module

Autoload several onboard sensors and subsystems

for the Matek F765 Wing board with proper configuration. IMU ICM20602 (auto-detected from MPU6000 driver) Baro (BMP280) OSD Normal back of the board is on the battery/ESC wires Normal up of the board is on MCU side.

Example for airframe file

Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!

1 <module name="board_matek_f765_wing">
2  <configure name="BOARD_MATEK_ROTATED" value="FALSE|TRUE" />
3 </module>

Module configuration options

Configure Options

  • name: BOARD_MATEK_ROTATED value: FALSE|TRUE
    Description: if TRUE, the board is not using is default orientation and axis can be redefined by hand

Auto-loaded modules

The following modules are automatically loaded (just as if you had added them in the airframe file)

  • module__imumpu6000

Files

Raw board_matek_f765_wing.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="board_matek_f765_wing" dir="boards">
<doc>
<description>
Autoload several onboard sensors and subsystems
for the Matek F765 Wing board with proper configuration.
IMU ICM20602 (auto-detected from MPU6000 driver)
Baro (BMP280)
OSD
Normal back of the board is on the battery/ESC wires
Normal up of the board is on MCU side.
</description>
<configure name="BOARD_MATEK_ROTATED" value="FALSE|TRUE" description="if TRUE, the board is not using is default orientation and axis can be redefined by hand"/>
</doc>
<dep>
<depends>spi_master,osd_max7456,baro_bmp280_i2c,current_sensor</depends>
</dep>
<autoload name="imu" type="mpu6000"/>
<makefile target="!sim|nps|fbw">
<!-- IMU CONFIGURATION -->
<configure name="IMU_MPU_SPI_DEV" value="spi3" case="upper|lower"/>
<configure name="IMU_MPU_SPI_SLAVE_IDX" value="SPI_SLAVE4"/>
<define name="IMU_MPU_GYRO_RANGE" value="MPU60X0_GYRO_RANGE_1000"/>
<define name="IMU_MPU_ACCEL_RANGE" value="MPU60X0_ACCEL_RANGE_8G"/>
<define name="IMU_MPU_CHAN_X" value="1" cond="ifeq (,$(findstring $(BOARD_MATEK_ROTATED),1 TRUE))"/>
<define name="IMU_MPU_CHAN_Y" value="0" cond="ifeq (,$(findstring $(BOARD_MATEK_ROTATED),1 TRUE))"/>
<define name="IMU_MPU_X_SIGN" value="-1" cond="ifeq (,$(findstring $(BOARD_MATEK_ROTATED),1 TRUE))"/>
<!-- BAROMETER BMP280 CONFIGURATION -->
<configure name="BMP280_I2C_DEV" value="i2c2"/>
<!-- OSD CONFIGURATION -->
<configure name="MAX7456_SPI_DEV" value="spi2"/>
<configure name="MAX7456_SLAVE_IDX" value="SPI_SLAVE5"/>
<define name="USE_MATEK_TYPE_OSD_CHIP" value="true" />
<define name="USE_PAL_FOR_OSD_VIDEO" value="true" />
<define name="BARO_ALTITUDE_VAR" value="baro_alt" /> <!-- if non defined the default var is ''baro_alt'' -->
<!-- CURRENT SENSOR -->
<configure name="ADC_CURRENT_SENSOR" value="ADC_4"/>
</makefile>
</module>