Commit Graph

15483 Commits

Author SHA1 Message Date
Andrew Tridgell
960bc40ff3 HAL_ChibiOS: moved to a common mcuconf.h 2018-01-15 11:46:02 +11:00
Andrew Tridgell
48d2704cf4 HAL_ChibiOS: CS pins don't need to be a single SPI BUS
its possible to use a CS pin on different buses, so they should not
have a particular bus tag
2018-01-15 11:46:02 +11:00
Andrew Tridgell
a554215576 HAL_ChibiOS: start to cope with not having I2C, SPI and UARTs 2018-01-15 11:46:02 +11:00
Andrew Tridgell
f5c8754d75 HAL_ChibiOS: use ARRAY_SIZE_SIMPLE
this allows for boards without a device type (eg. no SPI bus)
2018-01-15 11:46:02 +11:00
Andrew Tridgell
7aeab8f5a8 AP_Common: added ARRAY_SIZE_SIMPLE()
this works with zero length arrays
2018-01-15 11:46:02 +11:00
Andrew Tridgell
468cadca45 HAL_ChibiOS: auto-generate UART driver declarations 2018-01-15 11:46:02 +11:00
Andrew Tridgell
8e87c30a33 AP_Compass: fixed MindPX-v2 compass orientations 2018-01-15 11:46:02 +11:00
Andrew Tridgell
8ab35e8aca AP_InertialSensor: fixed MindPX-v2 orientation of IMU2 2018-01-15 11:46:02 +11:00
Andrew Tridgell
58796ff435 HAL_Chibios: moved SPI device tables to hwdef.dat 2018-01-15 11:46:02 +11:00
Andrew Tridgell
d1f93cd66c HAL_Chibios: auto-generate I2C, SPI and UART device lists
this is less error prone and make a port faster as more information is
in hwdef.dat
2018-01-15 11:46:02 +11:00
Andrew Tridgell
c80149123f AP_HAL: use hwdef.h for config options in chibios 2018-01-15 11:46:02 +11:00
Andrew Tridgell
dcab40459d AP_InertialSensor: support MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell
8699b6233a AP_HAL: support MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell
36a141f9f1 AP_Compass: support MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell
5458377e67 AP_BoardConfig: support MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell
51f9f087ab AP_Baro: support MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell
280140bf25 HAL_ChibiOS: added support for MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell
febe414766 AP_InertialSensor: disable fast sampling on 2nd IMU on Pixracer
it also hosts a mag, and gets lots of FIFO resets if we try to run it
at 8kHz
2018-01-15 11:46:02 +11:00
Andrew Tridgell
9f5e01d20a HAL_Chibios: fixed FMUv4 compasses 2018-01-15 11:46:02 +11:00
Andrew Tridgell
2646b9ef33 HAL_Chibios: matched debug port speed to NuttX 2018-01-15 11:46:02 +11:00
Andrew Tridgell
41be81af34 HAL_Chibios: added hardware flow control for UARTs
implement RTS in software and CTS in hardware
2018-01-15 11:46:02 +11:00
Andrew Tridgell
9916a93919 HAL_ChibiOS: fixed I2C device list 2018-01-15 11:46:02 +11:00
Andrew Tridgell
f135e73e04 HAL_ChibiOS: F412 doesn't have CCM ram 2018-01-15 11:46:02 +11:00
Andrew Tridgell
85f4958e4e AP_OpticalFlow: use AP_FEATURE_BOARD_DETECT 2018-01-15 11:46:02 +11:00
Andrew Tridgell
3fc095589c AP_InertialSensor: support ChibiOS FMUv4 2018-01-15 11:46:02 +11:00
Andrew Tridgell
0b6659b36a AP_Baro: support ChibiOS FMUv4 2018-01-15 11:46:02 +11:00
Andrew Tridgell
02c3bea5a5 AP_BoardConfig: support ChibiOS FMUv4 2018-01-15 11:46:02 +11:00
Andrew Tridgell
743714de4c AP_Compass: support ChibiOS FMUv4 2018-01-15 11:46:02 +11:00
Andrew Tridgell
c7fd455f6a AP_HAL: added FMUv4 port for ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
c3435e45c5 HAL_ChibiOS: initial port to FMUv4 2018-01-15 11:46:02 +11:00
bugobliterator
5feef04f5f HAL_ChibiOS: add support for CCM memory
this uses DMA bounce buffers for bus transfers, and falls back to CCM
ram in allocations if the type is unspecified
2018-01-15 11:46:02 +11:00
bugobliterator
ea2a880d8a AP_NavEKF3: allocate from MEM_FAST region 2018-01-15 11:46:02 +11:00
bugobliterator
b1213a522d AP_NavEKF2: allocate NavEKF core from MEM_FAST region 2018-01-15 11:46:02 +11:00
bugobliterator
1c6beaa7c4 AP_InertialSensor: use new API for DMA safe allocation 2018-01-15 11:46:02 +11:00
bugobliterator
e591265329 HAL_PX4: change dma_allocate api to malloc_type 2018-01-15 11:46:02 +11:00
bugobliterator
9d6ab78376 AP_HAL: add support for memory allocation by region type 2018-01-15 11:46:02 +11:00
Andrew Tridgell
08346deed5 AP_BattMonitor: run SMBus batteries at 100kHz
use longer timeouts and SMBUS mode. This fixes the SMBus battery
support for Solo on ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
f2102bba05 HAL_VRBrain: fixed I2C get_device() interface
just stubs for now
2018-01-15 11:46:02 +11:00
Andrew Tridgell
ded22a6766 HAL_PX4: fixed I2C get_device() interface
just stubs for now
2018-01-15 11:46:02 +11:00
Andrew Tridgell
43c1bd0ae9 HAL_Linux: fixed I2C get_device() interface
just stubs for now
2018-01-15 11:46:02 +11:00
Andrew Tridgell
5e19183e90 HAL_Empty: fixed I2C get_device() interface 2018-01-15 11:46:02 +11:00
Andrew Tridgell
36227aa126 HAL_ChibiOS: implement bus speed and smbus for I2C
use the slowest speed of all devices on the bus
2018-01-15 11:46:02 +11:00
Andrew Tridgell
8260b3f65f AP_HAL: allow bus speed and SMBUS enable on I2C
this allows a driver to request a bus speed for a device, and whether
the device should be in SMBUS mode. It also allows a min timeout to be
specified, to allow for slow devices
2018-01-15 11:46:02 +11:00
Andrew Tridgell
4b5e617673 HAL_ChibiOS: added missing DMA table for STM32F405 2018-01-15 11:46:02 +11:00
Peter Barker
f3d46506b0 AP_HAL_Chibios: warning fixes 2018-01-15 11:46:02 +11:00
Andrew Tridgell
791edee0ff HAL_Chibios: added more SPI devices for FMUv3 2018-01-15 11:46:02 +11:00
Andrew Tridgell
ddf8523c2b AP_OpticalFlow: prevent crash on bad device name 2018-01-15 11:46:02 +11:00
Andrew Tridgell
755eca31c2 HAL_Chibios: don't unregister shared DMA
the shared DMA handle is a property of the bus, not the device, so
should not be unregistered when the device is removed
2018-01-15 11:46:02 +11:00
Andrew Tridgell
9812fc9574 HAL_Chibios: prevent creation of i2c devices on invalid bus 2018-01-15 11:46:02 +11:00
Andrew Tridgell
82b5b94e24 AP_IOMCU: fixed race condition on thread startup
thread_ctx may not be set for first trigger_event()
2018-01-15 11:46:02 +11:00
Andrew Tridgell
b62773bbad HAL_ChibiOS: improved auto-config of ADC pins
ADC config now based on pin_scaling array
2018-01-15 11:46:02 +11:00
Andrew Tridgell
1cc4b92b76 HAL_ChibiOS: added additional FMUv3 analog pins 2018-01-15 11:46:02 +11:00
Andrew Tridgell
aa2175ec0c HAL_ChibiOS: show ADC1 channels in hwdef.h 2018-01-15 11:46:02 +11:00
Andrew Tridgell
5a7e2f75d1 HAL_ChibiOS: added ADC1_Map to STM32 tables 2018-01-15 11:46:02 +11:00
Andrew Tridgell
3a004adbd4 HAL_Chibios: use macro for NUM_GROUPS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
b57f8f01c6 HAL_Chibios: fixed return for read on invalid gpio pin 2018-01-15 11:46:02 +11:00
Andrew Tridgell
82cc36d6d0 AP_BoardConfig: called board_setup() even without autodetect
we need to init hal.rcou and hal.gpio
2018-01-15 11:46:02 +11:00
Andrew Tridgell
b1ebbd1a1c AP_BoardConfig: enable auto-detect only on FMUv3
F412 should not do board detection
2018-01-15 11:46:02 +11:00
Andrew Tridgell
7971f03bde Hal_Chibios: fixed F412 SPI config 2018-01-15 11:46:02 +11:00
Andrew Tridgell
51512ed7c0 AP_Param: don't panic on bad embedded parameters
this makes life much easier for vendors
2018-01-15 11:46:02 +11:00
Andrew Tridgell
21f40da510 HAL_Chibios: align GPIO pins with px4 build 2018-01-15 11:46:02 +11:00
Andrew Tridgell
60b1eab06d AP_BoardConfig: added get_pwm_count() 2018-01-15 11:46:02 +11:00
Andrew Tridgell
26d6947bf6 HAL_ChibiOS: fixed PWM output 2018-01-15 11:46:02 +11:00
Andrew Tridgell
e88fe93688 AP_BoardConfig: init chibios IO after boardconfig
this allows for the init to use parameters such as BRD_IO_ENABLE from
AP_BoardConfig
2018-01-15 11:46:02 +11:00
Andrew Tridgell
c742543565 HAL_Chibios: align SPI device IDs with px4 IDs
this makes for easier update to ChibiOS without redoing accelcal
2018-01-15 11:46:02 +11:00
Andrew Tridgell
7cb1c0420a AP_BoardConfig: include BRD_IO_ENABLE on ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
4ce696a520 AP_Math: fixed example build on ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
347c774665 AP_HAL: fixed example build on ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
2941afa62b AP_Beacon: fixed example build on ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
f5b24a3838 AP_Math: fixed build of Sub with ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
6dbab450a5 Hal_Chibios: use AP_BoardConfig::io_enabled() 2018-01-15 11:46:02 +11:00
Andrew Tridgell
13f4780815 AP_BoardConfig: make a singleton
allows for io_enabled() static function
2018-01-15 11:46:02 +11:00
Andrew Tridgell
340d85642e AP_Gripper: build fix for ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
c0c4021605 SRV_Channels: fix for replay 2018-01-15 11:46:02 +11:00
Andrew Tridgell
d0d6040b3e AP_Param: use wider range of sentinal values
this copes better with power off while writing parameters
2018-01-15 11:46:02 +11:00
bugobliterator
be4e9f27f7 AP_Module: restrict module related headers to systems that can use it 2018-01-15 11:46:02 +11:00
Andrew Tridgell
3d2c4ffa79 AP_Math: allow write to indexed vector2 2018-01-15 11:46:02 +11:00
Andrew Tridgell
f088c3de23 AP_Math: added long templates 2018-01-15 11:46:02 +11:00
Andrew Tridgell
c62dbcdb62 HAL_PX4: allow for printf from multiple threads
this is useful for hal.console
2018-01-15 11:46:02 +11:00
Andrew Tridgell
979ee67c19 HAL_PX4: cope with failed flash writes
we need to recover from possible bad flash
2018-01-15 11:46:02 +11:00
Andrew Tridgell
86fbdcd060 HAL_ChibiOS: ensure malloc returns zeroed memory 2018-01-15 11:46:02 +11:00
Andrew Tridgell
e255f07022 GCS_MAVLink: rename ch variable
avoid conflict with ch variable from ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
43a6ed4099 DataFlash: support ChibiOS FATFS implementation 2018-01-15 11:46:02 +11:00
Andrew Tridgell
3cd5386a7e AP_OpticalFlow: support ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
3b5f66fd9f AP_FlashStorage: fixed size of flash storage 2018-01-15 11:46:02 +11:00
Andrew Tridgell
0bfbc4bf72 AP_FlashStorage: added re_initialise() API 2018-01-15 11:46:02 +11:00
Andrew Tridgell
d1fd843539 AP_IOMCU: support IMU heater 2018-01-15 11:46:02 +11:00
Andrew Tridgell
1568f578d7 AP_IOMCU: added retries on event failure 2018-01-15 11:46:02 +11:00
Andrew Tridgell
9b9b4a169e AP_IOMCU: fixed build on systems without IO MCU 2018-01-15 11:46:02 +11:00
Andrew Tridgell
71a47303b4 AP_IOMCU: support servo voltage and rssi 2018-01-15 11:46:02 +11:00
Andrew Tridgell
bb3ed9d6a3 AP_IOMCU: added APIs for RC input 2018-01-15 11:46:02 +11:00
Andrew Tridgell
ceeade5822 AP_IOMCU: added periodic reading of RC input 2018-01-15 11:46:02 +11:00
Andrew Tridgell
06322da4e2 AP_IOMCU: added setting of output rates 2018-01-15 11:46:02 +11:00
Andrew Tridgell
39f60adcd7 AP_IOMCU: initial implementation of PWM and safety 2018-01-15 11:46:02 +11:00
Andrew Tridgell
0c01ae1223 AP_IOMCU: started on MCU IO library 2018-01-15 11:46:02 +11:00
Andrew Tridgell
f37d1e3363 AP_RAMTRON: added RAMTRON fram device driver
for parameter storage on most stm32 boards
2018-01-15 11:46:02 +11:00
Andrew Tridgell
39362a81ae AP_InertialSensor: support ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
391affc02d AP_HAL: support ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
5d9fa7f85b AP_Compass: support ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
c8c563f90d AP_Baro: support ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
f8bea3af14 AP_BattMonitor: support ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
accac344f2 AP_BoardConfig: support ChibiOS as well as NuttX
allow for board detection with ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
8b6bab7b17 HAL_Chibios: added ChibiOS HAL
this is based on initial work by Sid, reset here for easier merging
2018-01-15 11:46:02 +11:00
Michael du Breuil
8ef7e61066 AP_HAL_SITL: Spam u-blox NAV-SVINFO at 0.1Hz
This resolves EKF3 being hung on launch
2018-01-13 10:13:00 +09:00
Leonard Hall
eb6ab53f6c AP_Motors: fix optimum thrust calcs 2018-01-13 10:06:11 +09:00
Randy Mackay
4d0c24f4eb AC_WPNav: RFND_USE param desription update 2018-01-12 16:50:00 +09:00
Leonard Hall
cddd815a75 AC_AttitudeControl: comment thrust_heading_rotation_angles
non-functional change
2018-01-12 15:20:47 +09:00
Randy Mackay
86cbc445bd AP_Compass: ICM20948 default rotation to Pitch180Yaw90 2018-01-12 08:16:41 +09:00
Randy Mackay
5e90cdbf59 AR_AttitudeControl: parameter desc range increase
new steering controller can use higher FF and zero P
2018-01-12 08:15:34 +09:00
Leonard Hall
3e0c24adf9 AC_PosControl: remove out-of-date comments 2018-01-11 21:18:34 +09:00
Peter Barker
18d7d3f038 DataFlash: add missing FALLTHROUGH declarations 2018-01-11 13:23:06 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
596119bca3 GCS_MAVLink: do not use hardcoded array sizes 2018-01-11 09:52:13 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas
24ad9e9dff GCS_MAVLink: Adapt to upstream mavlink changes in autopilot_version message 2018-01-11 09:52:13 +11:00
Tom Pittenger
36f06d3576 AP_InertialSensor: remove AP_InertialSensor_UserInteract
leftover dead code from when CLI was removed
2018-01-11 08:11:07 +11:00
Peter Barker
8d7c710e9b GCS_MAVLink: panic in SITL if unknown message sent 2018-01-10 19:11:15 +00:00
Michael du Breuil
5fedc65efb AP_Airspeed: Allow specifying the MS5525 address 2018-01-10 17:49:35 +00:00
Andrew Tridgell
e5813effff RC_Channel: improved efficiency of min_max_configured
this is quite a costly function due to scan in AP_Param. It takes
about 4 to 5 milliseconds when done as part of AP_Arming
2018-01-10 16:42:51 +09:00
Peter Barker
404e395880 DataFlash: avoid declarations of SITL-only functions 2018-01-09 23:21:58 +00:00
Peter Barker
fd0aa3c659 DataFlash: add validation for Log_Write parameters 2018-01-09 23:21:58 +00:00
Peter Barker
5070628230 DataFlash: factor out validate_structure 2018-01-09 23:21:58 +00:00
mirkix
8d7000db2c AP_HAL_Linux: fix typo 2018-01-09 12:54:03 -08:00
Michael du Breuil
9e37e9ee82 AP_GPS: Remove unused blending function.
Thanks to ender-chen for noticing, closes #7510
2018-01-09 12:52:32 -08:00
Peter Barker
c8e0ae6890 AC_Fence: adjust fence sys_status failed based on position and parameters 2018-01-09 17:15:19 +00:00
Peter Barker
e30a6bbce3 AC_Fence: rename sys_status methods from geofence_ to sys_status_ 2018-01-09 17:15:19 +00:00
Peter Barker
a5aafab7ff AC_Fence: use pre-arm checks for sanity checks
Magically resetting people's parameters not a great look.
2018-01-09 17:15:19 +00:00
Peter Barker
155407956c AC_Fence: add a pre-arm check for polygon fence validity
Also change SYS_STATUS bit to be unhealthy if boundary invalid
2018-01-09 17:15:19 +00:00
Peter Barker
aba525e4c5 GCS_Console: remove GCS_Console 2018-01-09 13:46:22 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas
f6ab044161 GCS_MAVLink: add microseconds since boot to the home and origin Mavlink messages 2018-01-09 13:01:05 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas
479d4be3fd AP_GPS: Add horizontal, vertical and speed accuracy to the GPS_RAW_INT message 2018-01-09 13:01:05 +11:00
Hiroshi Takey (hiro2233)
aa6f66f29b AP_Motors: Updated Motor example. 2018-01-09 08:12:01 +09:00
Randy Mackay
1bb18bc941 AR_AttitudeControl: get_throttle_out_speed uses timeout definition 2018-01-05 13:33:21 +09:00
Randy Mackay
4ac5ef3a13 AR_AttitudeControl: allow filter to be zero
Also increase default filter to 50hz
2018-01-05 13:33:21 +09:00
Randy Mackay
16d3e5c00d AR_AttitudeControl: add feed foward for speed and steering rate control 2018-01-05 13:33:21 +09:00
Randy Mackay
40bb2b0ad9 AR_AttitudeControl: set throttle speed pid dt 2018-01-05 13:33:21 +09:00
Randy Mackay
9930550cfc AR_AttitudeControl: lengthen timeout to 200ms
This is required because occasionally the turn rate controller can be disabled for just over 100ms as new navigation commands are loaded
2018-01-05 13:33:21 +09:00
Randy Mackay
a2b1807ca0 AR_AttitudeControl: fix turn-rate controller timeout 2018-01-05 13:33:21 +09:00
Randy Mackay
4e8155f4e5 AC_PID: allow non-zero ff gain default 2018-01-05 13:33:21 +09:00
Randy Mackay
1531801c83 AP_WheelEncoder: minor comment fix 2018-01-04 14:08:17 +09:00
Matt
b5bdaa18ac AP_AVOIDANCE: Minimum altitude for avoidance action 2017-12-30 13:50:42 -08:00
dheideman
521bece9e7 AP_JSButton: Add servo toggle button function 2017-12-28 14:14:47 -05:00
dheideman
307638e8af AP_JSButton: Add momentary servo button function 2017-12-28 14:14:47 -05:00
dheideman
dd239183c1 AP_JSButton: Add momentary relay button function 2017-12-28 14:14:47 -05:00
Peter Barker
588b0c17c8 AC_Fence: remove AC_FENCE_TYPE_NONE define
0 is the appropriate value for a bitmask which is empty
2017-12-28 15:38:37 +00:00
Peter Barker
aa482bae40 AC_Fence: remove argument to check()
Also, rename check_fence() to check()
2017-12-28 15:38:37 +00:00
Andrew Tridgell
55f73f4163 AP_Airspeed: fixed timing errors in MS5525 driver
this fixes issue #7188, where we could read from the MS5525 sensor too
soon after requesting data and the result coming back would be garbage
2017-12-27 11:05:54 -08:00
mirkix
4b1ec08eaf AP_BattMonitor: add new board PocketPilot 2017-12-27 16:01:55 +00:00
mirkix
0926802013 AP_Notify: add new board PocketPilot 2017-12-27 16:01:55 +00:00
mirkix
9b6a826b49 AP_HAL_linux: add new board PocketPilot 2017-12-27 16:01:55 +00:00
mirkix
0e7ade6f0c AP_HAL: add new board PocketPilot 2017-12-27 16:01:55 +00:00
Pierre Kancir
8c8767e964 AP_InertialSensor: reduce QURT include scope 2017-12-27 15:13:30 +00:00