Commit Graph

16499 Commits

Author SHA1 Message Date
Peter Barker 544ac03ca6 AP_ServoRelayEvents: add singleton 2018-04-18 20:31:55 +09:00
ChristopherOlson 9aa685a6d8 AP_Motors:TradHeli - single rotor only - add support for H3-140 swashplates.
Also changes the old definition to H3 for swashplates with fixed control radius and adjustable servo position.
2018-04-18 14:24:59 +09:00
ChristopherOlson f073c58f68 AP_Motors:TradHeli - add support for reverse collective swashplates 2018-04-18 14:24:59 +09:00
Peter Barker 64a8de42da DataFlash: use singleton for getting hold of gps object 2018-04-18 13:50:55 +09:00
Peter Barker 901ba0034c AP_NavEKF3: do not pass GPS into Log_Write_GPS; it uses singleton 2018-04-18 13:50:55 +09:00
Peter Barker 578facc9ad AP_NavEKF2: do not pass GPS into Log_Write_GPS; it uses singleton 2018-04-18 13:50:55 +09:00
Peter Barker 643e7e039a AP_GPS: log received data
Also log a set of flag values if a driver is deleted
2018-04-18 13:50:55 +09:00
Tom Pittenger 63e42e194f GCS_MAVLink: send correct mission_ack result type
has no effect since the two typedef enums equated to same value
2018-04-18 12:02:43 +09:00
Pierre Kancir fdfa08c586 AP_AHRS: fix include order due to cyclic include 2018-04-17 17:21:35 +09:00
Pierre Kancir 6fe0597399 AC_PrecLand: replace AP_InertialNav by AHRS 2018-04-17 17:21:35 +09:00
Peter Barker 63792edc5f DataFlash: increase debug in SITL 2018-04-17 17:16:52 +09:00
Andrew Tridgell bb0cbd15a4 HAL_ChibiOS: implement fmuv4 safety state
and added safety_mask and safety_pwm support for both fmuv3 and fmuv4
2018-04-17 10:14:01 +10:00
Andrew Tridgell 60f79921ac AP_BoardConfig: added get_safety_mask() 2018-04-17 10:14:01 +10:00
Andrew Tridgell 7be1125084 AP_IOMCU: implement safety mask and safety pwm 2018-04-17 10:14:01 +10:00
Patrick José Pereira a255c47c33 AP_GPS: Do not restart driver if type is defined as MAV
Fix bluerobotics/ardusub#104

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-04-16 17:08:39 -07:00
Andrew Tridgell 214fb096eb AP_IOMCU: added healthy API for use in arming checks 2018-04-17 08:44:44 +10:00
Andrew Tridgell 77c922e6b8 HAL_ChibiOS: make embed.py work with python3 2018-04-17 08:44:44 +10:00
Andrew Tridgell 09e3a3cb78 AP_IOMCU: added IO firmware upload 2018-04-17 08:44:44 +10:00
Andrew Tridgell a6e05cbf5a AP_Math: added crc32 for IOMCU bootloader protocol 2018-04-17 08:44:44 +10:00
Andrew Tridgell 3749480dd8 HAL_ChibiOS: create ap_romfs_embedded.h
use ROMFS keywork for romfs files
2018-04-17 08:44:44 +10:00
Andrew Tridgell deae66e645 AP_ROMFS: library for embedding files
this will be used for bootloaders and IO firmware
2018-04-17 08:44:44 +10:00
Alexey Kozin f87cc4e172 f4by chibios new style dma table build fix 2018-04-16 07:50:34 +10:00
Andrew Tridgell 4871bbf403 HAL_ChibiOS: make soft serial for RC serial more efficient
using system ticks halves the IRQ time
2018-04-16 07:40:55 +10:00
Andrew Tridgell 57c307a74e AP_BoardConfig: fixed default pwm count
for boards without the parameter we should use 16, meaning all channels
available

thanks to sh83 for noticing
2018-04-16 07:40:55 +10:00
mirkix a9449ccd29 AP_HAL_ChibiOS: add f767-min board support 2018-04-15 07:40:46 +10:00
Michael du Breuil 8374c5a4f3 AP_HAL_ChibiOS: Remove unused priority level 2018-04-15 07:28:20 +10:00
Michael du Breuil c8fdb90ab5 RC_Channel: Rework set_pwm_no_deadzone() to a recompute function 2018-04-14 14:05:20 +10:00
kozinalexey 2316fee279 HAL_ChibiOS: f4by conf2 fixed ram size, ext compass, pwm count 2018-04-14 11:09:34 +10:00
kozinalexey 444c0bb54c AP_Compass: added ChibiOS external compass config 2018-04-14 11:09:34 +10:00
kozinalexey db6c6b1677 AP_BoardConfig: allow PWM count setting on all chibios boards 2018-04-14 11:09:34 +10:00
Alexander Malishev ca33ff04d9 ChibiOS: add support for omnibusf4pro board 2018-04-14 09:25:15 +10:00
Alexander Malishev 79b5719419 ChibiOS: add support for complementry output timer channels 2018-04-14 09:25:15 +10:00
Alexander Malishev 1b7eecdf2f ChibiOS: fixed tables for F405 mcu 2018-04-14 09:25:15 +10:00
Michael du Breuil 0e8a9c2ec4 AP_IOMCU: Encapsulate debug prints in a #ifdef, fix whitespace 2018-04-14 08:23:24 +10:00
Andrew Tridgell f22964a350 AP_IOMCU: implement BRD_SAFETYOPTION 2018-04-14 06:22:07 +10:00
Andrew Tridgell 7ecdabe52c HAL_PX4: fixup 2018-04-14 06:22:07 +10:00
Andrew Tridgell fae0e7befa HAL_PX4: implement BRD_SAFETYOPTION 2018-04-14 06:22:07 +10:00
Andrew Tridgell d8abf647e8 AP_BoardConfig: added BRD_SAFETYOPTION parameter
allow control of safety button behaviour
2018-04-14 06:22:07 +10:00
Andrew Tridgell cf4ca29dbb DataFlash: added logging of safety state in POWR message 2018-04-14 06:22:07 +10:00
night-ghost ecf2c51a8b HAL_F4Light: fixed board's defines to be suitable for new compass/baro autodetection 2018-04-13 20:47:50 +10:00
night-ghost 6e0742630d HAL_F4Light: fixed bug on write in USB MassStorage mode 2018-04-13 20:46:18 +10:00
night-ghost d1f2646394 HAL_F4Light: fixed bug with DataFlash chips more than 128MBit 2018-04-13 20:46:18 +10:00
night-ghost 740e322438 AP_Baro: fix BMP280 scale 2018-04-13 20:45:48 +10:00
Daniel Widmann 27234f78c6 AR_AttitudeControl: Allow using steer rate control for skid steer rovers without GPS 2018-04-13 09:12:03 +09:00
Peter Barker a5dc87e2af AP_Baro: do dataflash logging as part of update 2018-04-12 19:12:12 +01:00
Peter Barker 7c14a9dd7b AC_Sprayer: use ahrs singleton
Also remove some unneeded initialisations
2018-04-12 14:23:33 +09:00
Jacob Walser 2212532028 AP_Arming: Clarify/bring commonality to RC Channels check description 2018-04-12 14:20:49 +09:00
Jacob Walser 409ff66231 AP_Arming: correct parameter description 2018-04-12 14:20:49 +09:00
mirkix 8074361bb8 AP_HAL_ChibiOS: add hardware def for STM32F767xx 2018-04-12 14:19:40 +10:00
Andrew Tridgell c6d7691667 HAL_ChibiOS: fixed F745 database for new DMA system 2018-04-12 11:50:44 +10:00
Andrew Tridgell eccc4f375b AP_Compass: fixed build warning 2018-04-12 11:50:44 +10:00
Andrew Tridgell 7286ffab77 HAL_ChibiOS: define FLASH_LOAD_ADDRESS in hwdef.h
used for bootloader support
2018-04-12 11:50:44 +10:00
Andrew Tridgell e4ce2f532b HAL_ChibiOS: make smaller builds possible
this allows for much smaller builds when you disable a lot of
options. This is part of an effort to create a bootloader of less than
16k using ChibiOS
2018-04-12 11:50:44 +10:00
Andrew Tridgell ea2dc9b831 AP_InertialSensor: added OMNIBUSF7V2 INS sensors
a dual-IMU board
2018-04-12 11:50:44 +10:00
Andrew Tridgell 943e433be6 AP_HAL: added device name for bmp280 for ChibiOS 2018-04-12 11:50:44 +10:00
Andrew Tridgell ef9d9d9c26 HAL_ChibiOS: first boot of OMNIBUSF7V2
only the 20608 works, and it has lots of errors.
The bmp280 is detected, but does not give good data
no UARTs yet
2018-04-12 11:50:44 +10:00
Andrew Tridgell 02f20b4114 HAL_ChibiOS: first version of OMNIBUSF7V2 board support
first F7 based board
2018-04-12 11:50:44 +10:00
Andrew Tridgell a9edbb6b2d HAL_ChibiOS: allow for a defaults.parm file in hwdef directory
this keeps defaults with the board, where that is appropriate
2018-04-12 11:50:44 +10:00
Andrew Tridgell 6e5cbc7c3d HAL_ChibiOS: initial support for F745 boards 2018-04-12 11:50:44 +10:00
Andrew Tridgell 551dca63e1 HAL_ChibiOS: added build information for each MCU
this abstracts the build information for each MCU, so that hwdef.dat
can control the build process of ChibiOS
2018-04-12 11:50:44 +10:00
Andrew Tridgell d1e4185817 HAL_ChibiOS: don't build flash.c if not needed 2018-04-12 11:50:44 +10:00
Andrew Tridgell cdbbceb6b6 HAL_ChibiOS: cope with SDMMC peripheral for microSD 2018-04-12 11:50:44 +10:00
Michael du Breuil ca28a01bbf PID: Remove examples/keywords
This was needed to accomplish the RC_Channels changeover, and the PID
library is on it's way out of the system so removal of examples rather
then maintainance made more sense.
2018-04-11 21:47:07 +01:00
Michael du Breuil 6e9e9dcdfa GCS_MAVlink: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil ae193f28ae DataFlash: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil 523882bffc AP_Tuning: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil b757354c88 AP_Soaring: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil 70b1eb9836 AP_RSSI: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil ddd32d3339 AP_ICEngine: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil 5d84850f32 AC_PID: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil a6afc69c13 RC_Channel: Support most hal.rcin functions in RC_Channels 2018-04-11 21:47:07 +01:00
Andrew Tridgell 751024f483 HAL_ChibiOS: mark two skyviper builds as needing abin files 2018-04-11 15:09:49 +10:00
night-ghost 677f2bebc3 AP_Compass: added autodetect of all known compasses on external bus 2018-04-11 15:00:36 +10:00
night-ghost 33bdc9196c AP_Baro: added autodetection of popular baro types on external bus 2018-04-11 15:00:36 +10:00
night-ghost f26bb0cfbe AP_Compass: added range filter to backend, added its use in some sensors (thanks khancyr for style correction) 2018-04-11 14:46:42 +10:00
night-ghost cb8a34f784 AP_Baro: added range filter to backend, use it in most sensors (thanks khancyr for style correction) 2018-04-11 14:46:42 +10:00
Michael du Breuil ac9d5f8a5c AP_NavEKF: Make the status unions use bool, add static asserts 2018-04-11 09:47:43 +09:00
Michael du Breuil 37df0c20eb AP_Rally: Remove stale comment, and unneded define check 2018-04-11 09:45:45 +09:00
Randy Mackay d9fe7b7105 AC_Sprayer: formatting fixes
non-functional change
2018-04-11 09:41:33 +09:00
Pierre Kancir c2e546285c AC_Sprayer: replace AP_InertialNav with AHRS 2018-04-11 09:41:33 +09:00
Andrew Tridgell 2b49a3ab7b DataFlash: fix up logging on ChibiOS after change for F4Light 2018-04-11 10:13:08 +10:00
night-ghost 1ad6de1e80 HAL_F4Light: updated OSD submodule 2018-04-11 10:13:08 +10:00
night-ghost 677fc1875b HAL_F4Light: some modes disabled by default 2018-04-11 10:13:08 +10:00
night-ghost aaea0e121b HAL_F4light: fixed parameters for AirbotF4 board 2018-04-11 10:13:08 +10:00
night-ghost 2a0f624d5a DataFlash: fixed F4Light DataFlash logging 2018-04-11 10:13:08 +10:00
Pierre Kancir 79cd137625 AP_Common: remove AP_AHRS_NavEKF include from location class 2018-04-11 08:59:50 +09:00
Michael du Breuil a1845783b5 AP_RSSI: Make the RSSI library an enable param tree 2018-04-10 17:29:32 +01:00
Michael du Breuil 362fb470c4 AP_GPS: Allow HIL_GPS to flag vertical velocity
Closes #7997
2018-04-10 17:01:21 +01:00
Mark Whitehorn 7ad0318d4f AP_HAL_Linux: fix latent bug in ToneAlarm 2018-04-10 21:48:16 +10:00
Mark Whitehorn 960e217e79 AP_HAL_Chibios: fix latent bug in ToneAlarm 2018-04-10 21:48:16 +10:00
Peter Barker 0c14a309f7 AP_Proximity: correct debugginf for RPLidarA2 2018-04-10 16:25:54 +09:00
Andrew Tridgell f2df171fdd HAL_ChibiOS: fixed DSM input on fmuv4 2018-04-10 17:22:21 +10:00
Andrew Tridgell bccea9c8b9 AP_RCProtocol: support DSM bind 2018-04-10 17:22:21 +10:00
Andrew Tridgell f788cde5c7 AP_InertialSensor: use multiply for fifo scale factors
this fixes issue from #8118 too
2018-04-10 14:17:16 +10:00
Peter Barker 8027883734 DataFlash: remove vestiges of CLI functions 2018-04-10 10:27:08 +09:00
Andrew Tridgell d777da970b AP_Baro: fixed multi-baro logging 2018-04-09 11:39:20 -07:00
Andrew Tridgell a2351bf99f AP_BLHeli: log bad telem CRCs 2018-04-09 15:32:04 +10:00
Andrew Tridgell 96cc657bd0 HAL_ChibiOS: fixed GPIO interrupt port mapping 2018-04-09 15:32:04 +10:00
Andrew Tridgell 0f2a7108d3 AP_BLHeli: added SERVO_BLH_OTYPE
this allows use of BLHeli telemetry on rover, sub and on quadplane fwd
motors
2018-04-09 15:32:04 +10:00
Andrew Tridgell 3b4d1d5d46 DataFlash: enabled POWR log msg on ChibiOS 2018-04-09 15:32:04 +10:00
Andrew Tridgell b4aeffbaed HAL_ChibiOS: added power status flags reporting 2018-04-09 15:32:04 +10:00
Andrew Tridgell 7c85d06600 HAL_ChibiOS: setup pwm counts, and cleanup mindpx-v2 PWM lines 2018-04-09 15:32:04 +10:00
Andrew Tridgell 1b9cebc3f2 HAL_ChibiOS: check pwm count in rcout init 2018-04-09 15:32:04 +10:00
Andrew Tridgell 13cf72ac32 AP_BoardConfig: allow override of PWM count in hwdef.dat 2018-04-09 15:32:04 +10:00
Andrew Tridgell a7711ab9f7 AP_HAL: don't require GPIO defines for RCOU serial on ChibiOS 2018-04-09 15:32:04 +10:00
Andrew Tridgell 68293c9c11 HAL_ChibiOS: don't require GPIO() markers on PWM outputs
this fixes blheli pass-thru on MindPX-v2
2018-04-09 15:32:04 +10:00
Peter Barker face8151b7 AP_Compass: include required header 2018-04-09 11:34:35 +10:00
Peter Barker a0d874baa2 AP_NavEKF3: const accessors 2018-04-07 09:56:18 +09:00
Peter Barker 6791808ac6 AP_NavEKF3: remove unneeded initialisations
AP_NavEKF3 should never be allocated in uninitialised memory
2018-04-07 09:54:21 +09:00
Peter Barker d38ff1dd2c AP_NavEKF3: initialise EKF3 constants in declaration not constructor 2018-04-07 09:54:21 +09:00
Andrew Tridgell eb6c852ee3 HAL_ChibiOS: use simpler pullup on serial input
this maps to the right bits for each MCU type
2018-04-07 09:10:29 +10:00
Andrew Tridgell 71cd58cc7e HAL_ChibiOS: run rc serial thread at top priority
this maximises reliability for serial IO to ESCs, increasing flashing
reliability
2018-04-07 09:10:29 +10:00
Andrew Tridgell 4a7a66cc16 AP_IOMCU: use a higher thread priority
this ensures PWM output gets out as fast as possible
2018-04-07 09:10:29 +10:00
Andrew Tridgell 84d76cf915 AP_BLHeli: removed special handling of oneshot125 2018-04-07 09:10:29 +10:00
Andrew Tridgell 3cd4f2a002 AP_ChibiOS: handle oneshot125 separately
this sets up oneshot125 with the full 1000 steps of throttle
resolution, using a 8MHz clock. This matches the behaviour of modern
ESCs that measure PWM values with high accuracy
2018-04-07 09:10:29 +10:00
Andrew Tridgell 819de4acd5 AP_Motors: don't scale oneshot125 in AP_Motors
handle it in the HAL backends, to allow for correct resolution
2018-04-07 09:10:29 +10:00
Andrew Tridgell a1ba582a5d HAL_VRBrain: handle oneshot125 separately 2018-04-07 09:10:29 +10:00
Andrew Tridgell c3f0418333 HAL_PX4: handle oneshot125 separately 2018-04-07 09:10:29 +10:00
Andrew Tridgell 0bb2c4564d AP_HAL: make hal aware of oneshot125
this separates oneshot and oneshot125 at the HAL layer, allowing the
HAL to properly handle the high timing resolution of oneshot125
(needed to use 125ns time steps, to get the full 1000 throttle steps)
2018-04-07 09:10:29 +10:00
Andrew Tridgell 67993d6e5c HAL_ChibiOS: re-instate priority boost system
this adds back in the priority boost system for the main thread when
waiting for a IMU sample. This significantly improves scheduling
performance on very busy boards like a PH2.1
2018-04-07 09:10:29 +10:00
Andrew Tridgell fff143d83e AP_BLHeli: default protocol timeout to 0
this gives best compatibility with BLHeliSuite
2018-04-07 09:10:29 +10:00
Andrew Tridgell 2c6e6e3b13 HAL_ChibiOS: removed obsolete DShot example code 2018-04-07 09:10:29 +10:00
Andrew Tridgell b77ba8fbd1 AP_BLHeli: improved debug output
allow debug on any MAVLink port
also fixed handling of passthru for oneshot125
2018-04-07 09:10:29 +10:00
Andrew Tridgell 9b22e0b7cc HAL_ChibiOS: fixed SPI rates on fmuv3
this fixes a SPI bandwidth issue on PH2.1 with 3 IMUs active
2018-04-07 09:10:29 +10:00
Andrew Tridgell 61d513e91b AP_BLHeli: use get_esc_scaling() for motor range
this fixes an issue with blhelisuite init when min is not 1000
2018-04-07 09:10:29 +10:00
Andrew Tridgell 503bd9ce65 HAL_PX4: implement get_esc_scaling() 2018-04-07 09:10:29 +10:00
Andrew Tridgell 8e59f6aad6 HAL_ChibiOS: implement get_esc_scaling() 2018-04-07 09:10:29 +10:00
Andrew Tridgell dacbef2120 AP_HAL: added get_esc_scaling() API for rcout 2018-04-07 09:10:29 +10:00
Andrew Tridgell a2eec97325 HAL_ChibiOS: raised default SPI priority
this was causing transfer errors on the primary IMU of a PH2.1 when
fast sampling was enabled
2018-04-07 09:10:29 +10:00
Andrew Tridgell c17338473d AP_BLHeli: unlock uart on InterfaceExit 2018-04-07 09:10:29 +10:00
Andrew Tridgell 6f704b3818 AP_BLHeli: fixed use of SERVO_BLH_AUTO 2018-04-07 09:10:29 +10:00
Andrew Tridgell 5bfc97f9c0 HAL_ChibiOS: fixed dshot trigger while serial active 2018-04-07 09:10:29 +10:00
Andrew Tridgell 7c678bd707 AP_BLHeli: use UART locking
this gains exclusive access to the UART while MSP protocol is active to
prevent protocol corruption due to other drivers writing to hal.console
2018-04-07 09:10:29 +10:00
Andrew Tridgell e448b5d069 HAL_ChibiOS: implement UART port locking 2018-04-07 09:10:29 +10:00
Andrew Tridgell 85ae6f60a8 AP_HAL: added UART locking interface
used to gain exclusive access to a UART. This is needed for the BLHeli
MSP protocol to prevent protocol corruption due to console writes
2018-04-07 09:10:29 +10:00
Andrew Tridgell b7bcee69a3 AP_BLHeli: added telemetry logging support
allow telemetry feedback from BLHeli_32 ESCs
2018-04-07 09:10:29 +10:00
Andrew Tridgell 061277040b DataFlash: updated ESC logging format
support higher voltages and higher RPMs
added total current logging
2018-04-07 09:10:29 +10:00
Andrew Tridgell 71eb9bac03 AP_SerialManager: added ESC telemetry protocol support 2018-04-07 09:10:29 +10:00
Andrew Tridgell 6fd0af11ef HAL_ChibiOS: implement telem request API 2018-04-07 09:10:29 +10:00
Andrew Tridgell 69c623270c AP_HAL: added telem request to RCOutput 2018-04-07 09:10:29 +10:00
Andrew Tridgell d54d3351de SRV_Channel: check for rcout serial for blheli support 2018-04-07 09:10:29 +10:00
Andrew Tridgell fde092a246 AP_BLHeli: check for rcout serial support
don't build AP_BLHeli on HALs that can't support serial output to ESCs
2018-04-07 09:10:29 +10:00
Andrew Tridgell 74bf83c39f AP_HAL: added check for RCOUT serial support 2018-04-07 09:10:29 +10:00
Andrew Tridgell 751c3a554a HAL_ChibiOS: added fmuv4-beta hardware definition
for an old pixracer quad I have (and I believe Peter has one too)
2018-04-07 09:10:29 +10:00
Andrew Tridgell 1fc0047fd9 AP_BLHeli: raise timout to 60s 2018-04-07 09:10:29 +10:00
Andrew Tridgell 6bdb523630 HAL_ChibiOS: guarantee 1kHz output for DShot 2018-04-07 09:10:29 +10:00
Andrew Tridgell 3daf27db64 AP_BLHeli: expanded test code 2018-04-07 09:10:29 +10:00
Andrew Tridgell ee94d73e77 AP_BLHeli: added SERVO_BLH_TMOUT parameter 2018-04-07 09:10:29 +10:00
Andrew Tridgell 692f22c17f HAL_ChibiOS: added GPIO assignments for revo-mini 2018-04-07 09:10:29 +10:00
Andrew Tridgell 0018e1f944 SRV_Channel: added set_disabled_channel_mask()
used by AP_BLHeli
2018-04-07 09:10:29 +10:00