Commit Graph

16967 Commits

Author SHA1 Message Date
Andrew Tridgell
2df0a71a4b HAL_ChibiOS: fixed flash load address in hwdef.h 2018-06-08 09:56:41 +10:00
Andrew Tridgell
3a7c1b4d42 HAL_ChibiOS: switch BMI055 to mode0 on fmuv5 2018-06-08 09:56:41 +10:00
Andrew Tridgell
89b8124560 AP_InertialSensor: added BMI055 IMU driver 2018-06-08 09:56:41 +10:00
mirkix
b32b57ad75 AP_HAL_Linux: change SPI Bus for PocketPilot final design 2018-06-07 12:28:21 -07:00
Andrew Tridgell
520e33261a AP_AHRS: fixed EKF type 10 for SITL
this fixes the use of EKF type 10 in SITL, preventing it from using
the DCM attitude estimate.

This is especially important for RealFlight and XPlane
2018-06-07 11:22:57 +10:00
Andrew Tridgell
3be9077ba9 HAL_ChibiOS: added FMUv5 FMU capture pins 2018-06-06 15:01:38 +10:00
Andrew Tridgell
c05086430d HAL_ChibiOS: fixed hwdef.h generation for PWM on tim12 2018-06-06 15:01:38 +10:00
Andrew Tridgell
63087b6425 HAL_ChibiOS: enable fmu out 7 and 8 for fmuv5
these are exposed on the Pixhawk4
2018-06-06 15:01:38 +10:00
Andrew Tridgell
2d9df83ed5 AP_Compass: probe for ist8310 on bus 2 as well as 0 for fmuv5 2018-06-06 15:01:38 +10:00
Peter Barker
4c8c85f75b AC_WPNav: remove pointless initialisations
new clears this memory
2018-06-06 08:33:56 +09:00
Peter Barker
fa0b315374 AC_WPNav: use rangefinder for terrain offset even if terrain not available 2018-06-06 08:33:56 +09:00
Alexander Malishev
eac5d13f1c HAL_ChibiOS: use 2 channels in SoftSigReaderInt.cpp 2018-06-06 08:23:51 +10:00
Alexander Malishev
fd45b3a69b HAL_ChibiOS: slightly increase EICU interrupt priority 2018-06-06 08:23:51 +10:00
Alexander Malishev
73d33356ad HAL_ChibiOS: detect overcapture in SoftSigReaderInt.cpp 2018-06-06 08:23:51 +10:00
Alexander Malishev
9e4ec33277 AP_RCProtocol: add error check for ppm input 2018-06-06 08:23:51 +10:00
Andrew Tridgell
7a1f87eb52 HAL_ChibiOS: added cube-orange hwdef 2018-06-06 08:13:38 +10:00
Michael du Breuil
1123023a6f AP_HAL_ChibiOS: Wrap process registration with a semaphore 2018-06-06 07:16:58 +10:00
Michael du Breuil
a832bdfd04 AP_HAL_ChibiOS: fix race condition on analog reading 2018-06-06 07:16:58 +10:00
Michael du Breuil
80d1a1de9a AP_HAL_Linux: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
0f2482f05b AP_HAL_SITL: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
a2dfca2fee AP_HAL_VRBrain: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
a833e93708 AP_HAL_PX4: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
4a9fe1745f AP_ChibiOS: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
b1f2fb96a0 AP_HAL_F4Light: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
dbd852bbb6 AP_HAL_Empty: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
1183ed61fb AP_HAL: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
c4a66349ef DataFlash: Remove suspend timer calls, restirct flush() to replay 2018-06-06 07:16:58 +10:00
Andrew Tridgell
1ed6a9d34b HAL_ChibiOS: added MCU tables for STM32F777 2018-06-06 07:15:41 +10:00
Andrew Tridgell
d1caa86e12 HAL_ChibiOS: adjust DMA priorities for fmuv3 2018-06-06 07:15:41 +10:00
Andrew Tridgell
c0e8114f9a AP_BLHeli: removed extra UDID_START define 2018-06-06 07:15:41 +10:00
Andrew Tridgell
c273b23940 HAL_ChibiOS: moved MCU config to python database
this moves the key MCU config variables related to memory to the
python MCU database, allowing the hwdef.dat to be considerably simpler
2018-06-06 07:15:41 +10:00
Andrew Tridgell
f390e35c99 HAL_ChibiOS: use port_disable in reboot
this provides a more reliable way to stop all interrupts
2018-06-06 07:15:41 +10:00
Andrew Tridgell
a1c97d0585 HAL_ChibiOS: disable paranoid checks for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
a945c97ec6 HAL_ChibiOS: fixed 3-way DMA sharing bug
when we have 3 way contention across two DMA streams we could get the
dma_deallocate function called in an object from two places at
once. This adds a mutex that prevents that scenario
2018-06-06 07:15:41 +10:00
Andrew Tridgell
0e09dc75c0 HAL_ChibiOS: flush all memory on chSysHalt()
this makes debugging a lot easier, as gdb can see the values in dcache
2018-06-06 07:15:41 +10:00
Andrew Tridgell
dc2a776985 AP_GPS: fixed fake ublox 3D lock PVT speed accuracy
allows EKF to startup fully with fake GPS lock
2018-06-06 07:15:41 +10:00
Andrew Tridgell
2493cdbcb6 HAL_ChibiOS: switch to new bouncebuffer system
this removes the dma_flush and dma_invalidate methods and uses a
common bouncebuffer system for all CPU types. This enables microSD
support on STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
0b1e26a470 HAL_ChibiOS: added bouncebuffer system
this makes our bouncebuffers available for ChibiOS system
drivers. This is needed for SDMMCv1 on STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
56ce3f057d HAL_ChibiOS: added DRDY and SDMMC pins for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
018c9ad40b HAL_ChibiOS: fixed build warnings 2018-06-06 07:15:41 +10:00
Andrew Tridgell
f25b95f287 HAL_ChibiOS: fixed array length in ADC debug code 2018-06-06 07:15:41 +10:00
Andrew Tridgell
fef1b0ffc6 HAL_ChibiOS: fixed I2C flush/invalidate calls 2018-06-06 07:15:41 +10:00
Andrew Tridgell
0fade4eb9e HAL_ChibiOS: make sure the UART bounce buffers are DMA safe 2018-06-06 07:15:41 +10:00
Andrew Tridgell
eec4a12cc2 HAL_ChibiOS: switched to using DTCM memory for DMA
this uses SRAM1 and SRAM2 for main memory, which enables the use of the
data cache for faster operation, and using DTCM for all DMA operations.
2018-06-06 07:15:41 +10:00
Andrew Tridgell
8b1db792ee HAL_ChibiOS: ensure ADC memory is aligned for DMA access 2018-06-06 07:15:41 +10:00
Andrew Tridgell
bb2e7a189f HAL_ChibiOS: added a debug function for showing stack free
this can be enabled when needed to investigate stack space remaining
2018-06-06 07:15:41 +10:00
Andrew Tridgell
010cd71ab6 HAL_ChibiOS: enable CAN on FMUv5
and fixed voltage scaling defaults
2018-06-06 07:15:41 +10:00
Andrew Tridgell
2087354939 HAL_ChibiOS: align buffers to STM32F7 cache lines
this allows for DMA flush and invalidate operations to work on all
dynamically allocated memory
2018-06-06 07:15:41 +10:00
Andrew Tridgell
762e4f9915 HAL_ChibiOS: fixed dma priorities for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
77d95f6744 HAL_ChibiOS: fmuv5 tweaks 2018-06-06 07:15:41 +10:00
Andrew Tridgell
a220220758 HAL_ChibiOS: added comment on IS_DMA_SAFE() 2018-06-06 07:15:41 +10:00
Andrew Tridgell
4d4ea894e8 HAL_ChibiOS: disable i2c device debug code 2018-06-06 07:15:41 +10:00
Andrew Tridgell
edb831653f HAL_ChibiOS: added dma_flush and dma_invalidate operations
these are needed to manage the data cache on the STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
7449e15313 HAL_ChibiOS: disable flash storage option on FMUv5
F7 flash driver not working yet
2018-06-06 07:15:41 +10:00
Andrew Tridgell
b961e12456 HAL_ChibiOS: support having no flash storage option 2018-06-06 07:15:41 +10:00
Andrew Tridgell
2d8748ddce HAL_ChibiOS: enable ADCs and buzzer for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
6aab9232ef HAL_ChibiOS: enable aux pwm channels on FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
3242b5eeb9 AP_IOMCU: fail to boot if IO firmware CRC and update fails
we don't want to fly with a bad IO firmware
2018-06-06 07:15:41 +10:00
Andrew Tridgell
677b5f94b2 AP_BoardConfig: allow for non-bool BRD_IO_ENABLE
this will be used to avoid CRC checks for IO fw development testing
2018-06-06 07:15:41 +10:00
Andrew Tridgell
db9bf19e46 HAL_ChibiOS: enable i2c for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
99540a184c AP_Compass: enable FMUv5 compass 2018-06-06 07:15:41 +10:00
Andrew Tridgell
77bb69fa2e HAL_ChibiOS: enabled UARTs for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
ac44189ab2 HAL_ChibiOS: setup two IMUs for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
ccdfc75dd9 AP_Compass: placeholder for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
bfa66c9397 AP_InertialSensor: detect two IMUs on FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
0047807fbf AP_IOMCU: fixed build error on F7 2018-06-06 07:15:41 +10:00
Andrew Tridgell
721f3cd5d1 HAL_ChibiOS: fixed flash layout for F7
thanks to @alielectric
2018-06-06 07:15:41 +10:00
Andrew Tridgell
ae1a58ecb8 AP_Baro: added FMUv5 support 2018-06-06 07:15:41 +10:00
Andrew Tridgell
751f290be6 AP_BoardConfig: setup FMUv5 for board detection 2018-06-06 07:15:41 +10:00
Andrew Tridgell
01f5d1a17c HAL_ChibiOS: first IMU working 2018-06-06 07:15:41 +10:00
Andrew Tridgell
eca634ec62 HAL_ChibiOS: support 6 SPI buses 2018-06-06 07:15:41 +10:00
Andrew Tridgell
4ad757b4d1 HAL_ChibiOS: fixed pincount for F7 2018-06-06 07:15:41 +10:00
Andrew Tridgell
876899c48d HAL_ChibiOS: baro and FRAM working for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
8d2f57898b HAL_ChibiOS: adjust pin counts for STM32F7 2018-06-06 07:15:41 +10:00
Andrew Tridgell
1f6ffc48e5 HAL_ChibiOS: allow STM32F7 to build with flash driver 2018-06-06 07:15:41 +10:00
Andrew Tridgell
0774a267c8 AP_HAL: added define for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
7c09a1781b HAL_ChibiOS: started on fmuv5 2018-06-06 07:15:41 +10:00
Michael du Breuil
b331ddd49b GCS_MAVLink: Remove some common wrappers, fix excessive FALLTHROUGH 2018-06-05 03:25:42 +01:00
Michael du Breuil
0fcf07fde7 RC_Channel: Remove input() method from individual channels 2018-06-05 09:51:09 +10:00
Michael du Breuil
1f1ba54990 AP_HAL_VRBrain: Remove RC overrides 2018-06-05 09:51:09 +10:00
Michael du Breuil
9c288df8d7 AP_HAL_SITL: Remove RC overrides 2018-06-05 09:51:09 +10:00
Michael du Breuil
dc4f1786f6 AP_HAL_F4Light: Remove RC overrides 2018-06-05 09:51:09 +10:00
Michael du Breuil
45a13c868b AP_HAL_Empty: Remove RC overrides 2018-06-05 09:51:09 +10:00
Michael du Breuil
593da25a7a AP_HAL_ChibiOS: Remove RC overrides 2018-06-05 09:51:09 +10:00
Michael du Breuil
4d83644bd6 AP_HAL_PX4: Remove RC overrides 2018-06-05 09:51:09 +10:00
Michael du Breuil
737c4ac36f AP_HAL_Linux: Remove RC overrides 2018-06-05 09:51:09 +10:00
Michael du Breuil
627c7536f4 AP_HAL: Remove overrides interface 2018-06-05 09:51:09 +10:00
Michael du Breuil
4253c7f74d RC_Channel: Move overrides out of the HAL 2018-06-05 09:51:09 +10:00
Peter Barker
e50a817150 GCS_MAVLink: make VFR_HUD always return height above MSL 2018-06-05 09:38:20 +10:00
murata
f0a6cd5846 AP_NavEKF3: Clarify the message 2018-06-04 11:32:15 +09:00
murata
1e011c0c15 AP_NavEKF2: Clarify the message 2018-06-04 11:32:15 +09:00
Peter Barker
dc202c1ff9 AP_Common: Location: use AP_AHRS singleton 2018-06-01 16:18:33 +01:00
Peter Barker
9a345160c1 AP_Common: fail attempts to use frame-above-home if home is not set 2018-06-01 16:18:33 +01:00
Peter Barker
69db7b040a GCS_MAVLink: move try_send_message handling of EKF_STATUS_REPORT up 2018-06-01 16:12:45 +01:00
Peter Barker
4d944da530 AP_AHRS: add a singleton-getter cast into AP_AHRS_NavEKF
This will allow libraries which absolutely require the EKF to easily get
a cast copy of the singleton.
2018-06-01 16:12:45 +01:00
Michael du Breuil
fb99ea0446 AP_Rangefinder: Update WASP defaults 2018-06-01 15:08:35 +09:00
Randy Mackay
67475a9eaa AR_AttitudeControl: reset turn-rate I term if not run for 0.2sec 2018-06-01 15:06:13 +09:00
Randy Mackay
99cf279dff AP_RangeFinder: remove unused definitions from MaxSonarI2C 2018-06-01 15:06:13 +09:00
Randy Mackay
98e87db274 AP_RangeFinder: MaxsonarI2C reports no data after 300ms 2018-06-01 15:04:40 +09:00
Peter Barker
0baee6f82b GCS_MAVLINK: avoid pushing partial RC_CHANNEL message into uart
In the case we do not send RC_CHANNELS_RAW, we will not check to see if
RC_CHANNELS will fit.  RC_CHANNELS is larger than RC_CHANNELS_RAW, so the
check in the caller is insufficient.
2018-05-30 17:05:13 +01:00
Pierre Kancir
b615677223 HAL_SITL: implement reboot support 2018-05-30 18:48:53 +10:00
Pierre Kancir
7732b41186 AP_HAL_SITL: fix static member access through instance 2018-05-30 18:48:53 +10:00
Pierre Kancir
f986f1366f AP_HAL_SITL: set close-on-exec flag on uart socket 2018-05-30 18:48:53 +10:00
Randy Mackay
e520d4fe42 AP_RangeFinder: Benewake TF02 and TFmini lidar driver 2018-05-30 11:16:35 +09:00
disgruntled-patzer
2c41db9e4d AP_RollController.cpp: Updated description of ArduPlane Roll Controller for accuracy
AP_RollController's get_servo_out function does not return an elevator deflection as was previously described in the function comments.
Instead, it should return an aileron deflection. Thus, the function description should be updated to reflect this more accurately
2018-05-30 09:46:08 +09:00
Randy Mackay
e691b680ca AR_AttitudeControl: add speed-control-active method
allows caller check if speed controller if active
also consolidated other methods to use this check to reduce a little bit of duplicate code
2018-05-29 16:37:31 +09:00
Randy Mackay
3b71d0360a AR_AttitudeControl: const get_decel_max and get_stopping_distance 2018-05-29 16:37:31 +09:00
Peter Barker
19fd133ef8 SITL: correct compilation for transitive include fail 2018-05-29 14:42:02 +10:00
Peter Barker
1aaf7e96af GCS_MAVLink: remove intermediate functions
GCS_MAVLink: remove comm_receive_ch

This is a lot of sanity checking in a static function which has been
called from a place where things are guaranteed

GCS_MAVLink: remove unused comm_is_idle

GCS_MAVLink: remove unused comm_send_ch

GCS_MAVLink: remove unused hal reference

GCS_MAVLink: remove unused #includes
2018-05-29 14:42:02 +10:00
Peter Barker
28b4794816 AP_Common: remove unused HomeState 2018-05-29 14:38:45 +10:00
Peter Barker
3cbb88ae20 AP_AHRS: split home-set and home-locked state 2018-05-29 14:38:45 +10:00
Peter Barker
d8871078ff GCS_MAVLink: create persist_streamrates() callback to indicate persistence
Removes the catching of the message in each vehicle separately.
2018-05-29 13:08:29 +10:00
Peter Barker
879f250fac GCS_Common: return airspeed sensor value in vfr_hud_airspeed 2018-05-29 13:00:40 +10:00
Peter Barker
d1174bcf70 GCS_MAVLINK: move try_send_message handling of vfr_hud up 2018-05-29 13:00:40 +10:00
Peter Barker
1331e6ca14 AP_Soaring: const some accessors 2018-05-29 13:00:40 +10:00
Michael du Breuil
abd5bffda5 AP_Airspeed: Clean up some comments, prevent a potential out of range access 2018-05-29 00:10:40 +01:00
Michael du Breuil
84b1a6a58b APM_Control: Supress some compilier warnings about strncpy 2018-05-29 00:10:40 +01:00
Michael du Breuil
b2d8f6e788 AP_Rangefinder: Fix bad fallthrough from NMEA driver 2018-05-29 00:10:40 +01:00
Andrew Tridgell
08228efc72 AP_Rangefinder: fixed param docs for Wasp backend 2018-05-28 11:44:29 +01:00
Andrew Tridgell
3b8d5ea4cf AP_Rangefinder: fixed param handling for Wasp backends 2018-05-28 11:44:29 +01:00
Michael du Breuil
b678302aed AP_Rangefinder: Add WASP 200 LRF backend 2018-05-28 11:44:29 +01:00
Andrew Tridgell
a011561a6a HAL_ChibiOS: support sdcard on MatekF405 2018-05-27 19:10:24 +10:00
Andrew Tridgell
ea37cede28 HAL_ChibiOS: stop sdcard interface on reboot 2018-05-27 19:10:24 +10:00
Andrew Tridgell
86ded2c40c HAL_ChibiOS: cleanup sdcard API usage 2018-05-27 19:10:24 +10:00
Andrew Tridgell
d28283e302 AP_HAL: added clock_pulse() method to SPIDevice
this is used by SPI SDCard interface for HAL_ChibiOS
2018-05-27 19:10:24 +10:00
Andrew Tridgell
52c8d3ed9f HAL_ChibiOS: fixed SPI select error
changes by sdcard PR
2018-05-27 19:10:24 +10:00
Andrew Tridgell
2c55589488 HAL_ChibiOS: added hwdef for MatekF405 2018-05-27 19:10:24 +10:00
Alexander Malishev
83e65b3c6e HAL_ChibiOS: turn on sdcard on f4by 2018-05-27 19:10:24 +10:00
Alexander Malishev
66de6d770a HAL_ChibiOS: Enable reentrancy on FatFS sybsystem 2018-05-27 19:10:24 +10:00
Alexander Malishev
6b15b2f44f HAL_ChibiOS: Enable sdcard on spi bus 2018-05-27 19:10:24 +10:00
Andrew Tridgell
7b720aae46 HAL_ChibiOS: allow printf() to work on systems without debug console
map to hal.console once initialised
2018-05-26 19:06:25 +10:00
Andrew Tridgell
dbe0f3c575 HAL_ChibiOS: fixed assert in reboot
with asserts enabled we can't sleep with interrupts off
2018-05-26 17:23:46 +10:00
Andrew Tridgell
79ca1e76c0 HAL_ChibiOS: improve reliability of reboot 2018-05-26 15:53:25 +10:00
Andrew Tridgell
99ca0ea913 AP_BoardConfig: moved BRD_PWM_COUNT to common code
this allows all boards to configure some PWM outputs as GPIOs
2018-05-26 12:08:54 +10:00
Andrew Tridgell
7e897c16c0 HAL_ChibiOS: maintain rcout state beyond BRD_PWM_COUNT
allow channels beyond BRD_PWM_COUNT to be sent over SBUS or DShot
distribution
2018-05-26 12:08:54 +10:00
Pierre Kancir
0fd8d94924 SITL: Fix printf format warning 2018-05-26 09:13:29 +09:00
Pierre Kancir
053f124492 GCS_MAVLink: fix FALLTHROUGH warning 2018-05-26 09:13:29 +09:00
Michael du Breuil
d73c16698a AP_BattMonitor: Update param docs to be more UX friendly 2018-05-26 08:49:02 +09:00
Pierre Kancir
9ada804489 AP_ADSB: fix snprintf warning 2018-05-25 12:54:25 -07:00
Randy Mackay
938dc2e47d GCS_MAVLink: resolve compiler warnings correct_offboard_timestamp
applies only to SITL
2018-05-25 14:00:00 +09:00
Andrew Tridgell
fbd80ef897 AP_UAVCAN: fixed build on revo 2018-05-25 13:53:17 +10:00
Andrew Tridgell
91d2b19e23 AP_UAVCAN: use take_blocking() method 2018-05-25 13:53:17 +10:00
Andrew Tridgell
e2ea654b77 AP_HAL: added take_blocking() method
this avoids the need to check return result
2018-05-25 13:53:17 +10:00
Andrew Tridgell
49dfccbcee AP_UAVCAN: fixed build of example on px4 2018-05-25 13:53:17 +10:00
Andrew Tridgell
92cda24659 AP_UAVCAN: efficiency improvements
this allows us to support 800Hz main loop rate with UAVCAN ESCs on
copter
2018-05-25 13:53:17 +10:00
Andrew Tridgell
438a7dd79a AP_UAVCAN: increase message timeout to 2ms
this reduces the number of msg timeouts
2018-05-25 13:53:17 +10:00
Andrew Tridgell
b8ae43c30b AP_UAVCAN: added a servo rate limit parameter
this allows for servos at 50Hz while keeping ESCs at higher rates
2018-05-25 13:53:17 +10:00
Andrew Tridgell
afb36ec168 HAL_ChibiOS: run can loop much more often
this allows for much higher ESC and servo rates, as it gives more
changes for frames to get out
2018-05-25 13:53:17 +10:00
Andrew Tridgell
0dc77421e8 AP_UAVCAN: a simple UAVCAN sniffer based on AP_HAL 2018-05-25 13:53:17 +10:00
Andrew Tridgell
5f8bff8f3e AP_UAVCAN: set timeout for periodic msgs to 1
this stops us keeping messages for resend for too long, which fixes a
major memory leak
2018-05-25 13:53:17 +10:00