Initial omnibusf4sd target support

Flight tested: ekf2 w/ mag and compass by @nathantsoi: https://logs.px4.io/plot_app?log=79b81031-cf1e-41f0-890b-d6cd7d559766

NOTE: external I2C devices need a pullup. I have tested with a 3.3v 2.2k pullup.

Working:
 - mpu6000, bench tested and verified via nsh
 - fmu
 - all 6 ch output bench tested w/ pwm and oneshot via nsh
 - ppm input bench tested
 - dsm input bench tested
 - bmp280, bench tested and verified via nsh
 - hmc5883, bench tested and verified via nsh, but requires an external i2c pullup
 - gps on uart6
 - startuplog, nsh, mavlink on uart4, but params are not sent for some reason. RSSI pin is TX, MOTOR 5 is RX (normal mode, 57600 baud)
 - rgbled over i2c, bench tested and workingp
 - sbus via the shared sbus/ppm pin (which includes an inverter to the mcu SBUS in pin), remove the solder bridge or jumper to the ppm pin before use

Not yet implemented:
  - ADC
  - OSD: passthrough video is untested, use at your own risk until a basic driver is implemented.
This commit is contained in:
nathan
2018-05-20 11:54:17 +02:00
committed by Lorenz Meier
parent eb6086cc39
commit f754d092f8
20 changed files with 3850 additions and 11 deletions
+1 -1
View File
@@ -120,7 +120,7 @@ then
fi
fi
if ver hwcmp MINDPX_V2 CRAZYFLIE AEROFC_V1 PX4FMU_V4 NXPHLITE_V3
if ver hwcmp MINDPX_V2 CRAZYFLIE AEROFC_V1 PX4FMU_V4 NXPHLITE_V3 OMNIBUS_F4SD
then
set MIXER_AUX none
fi
+11 -1
View File
@@ -3,7 +3,7 @@
# Standard startup script for sensor drivers.
#
if ver hwcmp AEROFC_V1
if ver hwcmp AEROFC_V1 OMNIBUS_F4SD
then
# Aero FC uses separate driver
else
@@ -267,6 +267,16 @@ then
ll40ls start i2c
fi
if ver hwcmp OMNIBUS_F4SD
then
mpu6000 -R 12 -s start
# Possible external compasses
hmc5883 -X start
bmp280 start
fi
if ver hwcmp PX4FMU_V4PRO
then
# Internal SPI bus ICM-20608-G
+16 -6
View File
@@ -13,6 +13,12 @@ set +e
#
# NOTE: COMMENT LINES ARE REMOVED BEFORE STORED IN ROMFS.
#
# UART mapping on OMNIBUSF4SD:
#
# USART1 /dev/ttyS0 SerialRX
# USART4 /dev/ttyS1 TELEM1
# USART6 /dev/ttyS2 GPS
#
# UART mapping on FMUv2/3/4:
#
# UART1 /dev/ttyS0 IO debug (except v4, there ttyS0 is the wifi)
@@ -229,6 +235,11 @@ then
set MAVLINK_COMPANION_DEVICE /dev/ttyS4
fi
if ver hwcmp OMNIBUS_F4SD
then
set MAVLINK_COMPANION_DEVICE /dev/ttyS1
fi
#
# Set USE_IO flag
#
@@ -281,8 +292,8 @@ then
#
if [ $AUTOCNF == yes ]
then
# Disable safety switch by default on Pixracer
if ver hwcmp PX4FMU_V4
# Disable safety switch by default on Pixracer and OmnibusF4SD
if ver hwcmp PX4FMU_V4 OMNIBUS_F4SD
then
param set CBRK_IO_SAFETY 22027
fi
@@ -412,7 +423,6 @@ then
sh /etc/init.d/rc.sensors
commander start
fi
send_event start
load_mon start
@@ -573,12 +583,12 @@ then
fi
fi
if ver hwcmp CRAZYFLIE
if ver hwcmp CRAZYFLIE OMNIBUS_F4SD
then
# Avoid using either of the two available serials
set MAVLINK_F none
fi
fi
fi
if [ "x$MAVLINK_F" == xnone ]
then
@@ -707,7 +717,7 @@ then
fi
fi
if ver hwcmp PX4FMU_V2 PX4FMU_V4 PX4FMU_V4PRO MINDPX_V2 PX4FMU_V5
if ver hwcmp PX4FMU_V2 PX4FMU_V4 PX4FMU_V4PRO MINDPX_V2 PX4FMU_V5 OMNIBUS_F4SD
then
# Check for flow sensor - as it is a background task, launch it last
px4flow start &