Merge first part of Pixhawk board support

First PR for getting Pixhawk to play nice with PPRZ.

The Pixhawk can be flashed without external tools (i.e. no JTAG interface is needed). Instead, the PX4 bootloader is kept in place and used by pprz to flash both the AP (stm32f4) and FBW (stm32f1) devices. One important remark is that for the FBW device, currently the computer needs to be connected to the Telem2 port using a FTDI cable. This is because pprz does not support serial communication over USB, or so I've heard.

In any case, the Iris+ drone factory equipped with a Pixhawk flies both on INDI and PID in ATT mode. However, PPRZ currently uses the MPU6000 IMU, which was broken in my Iris+ (and there are indications that maybe in others Iris' and X8's as well). I had to replace it with a fresh Pixhawk.

Also tested with a Pixhawk clone: seems to work just as well.

closes #1551
This commit is contained in:
Felix Ruess
2016-03-11 18:04:16 +01:00
53 changed files with 3120 additions and 208 deletions
+31
View File
@@ -0,0 +1,31 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="px4io_flash">
<doc>
<description>Flashes the px4io f1 through the px4 bootloader.</description>
</doc>
<header>
<file name="px4io_flash.h"/>
</header>
<init fun="px4ioflash_init()"/>
<event fun="px4ioflash_event()"/>
<makefile target="ap">
<raw>
</raw>
<file name="px4io_flash.c"/>
<configure name="PX4IO_UART" default="uart6" case="upper|lower"/>
<configure name="PX4IO_BAUD" default="B1500000"/>
<define name="USE_$(PX4IO_UART_UPPER)"/>
<define name="PX4IO_UART" value="$(PX4IO_UART_LOWER)"/>
<define name="$(PX4IO_UART_UPPER)_BAUD" value="$(PX4IO_BAUD)"/>
<configure name="TELEM2_UART" default="uart3" case="upper|lower"/>
<configure name="TELEM2_BAUD" default="B115200"/>
<define name="USE_$(TELEM2_UART_UPPER)"/>
<define name="TELEM2_UART" value="$(TELEM2_UART_LOWER)"/>
<define name="$(TELEM2_UART_UPPER)_BAUD" value="$(TELEM2_BAUD)"/>
</makefile>
</module>
+25
View File
@@ -0,0 +1,25 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="spektrum_soft_bind" dir="spektrum_soft_bind">
<doc>
<description>Puts Spektrum in binding mode through software</description>
</doc>
<settings target="ap">
<dl_settings>
<dl_settings name="Spektrum soft bind">
<dl_setting MAX="1" MIN="0" STEP="1" VAR="bind_soft_value" values="FALSE|TRUE" shortname="Bind Spektrum" module="spektrum_soft_bind/spektrum_soft_bind" handler="click"/>
</dl_settings>
</dl_settings>
</settings>
<header >
<file name="spektrum_soft_bind.h"/>
</header>
<init fun="spektrum_soft_bind_init()"/>
<makefile target="ap">
<file name="spektrum_soft_bind_ap.c"/>
</makefile>
<makefile target="fbw">
<file name="spektrum_soft_bind_fbw.c"/>
</makefile>
</module>