Commit Graph

15699 Commits

Author SHA1 Message Date
Andrew Tridgell 1513246040 AP_FlashStorage: fixed two bugs found by night-ghost
this fixes two issues found by night-ghost. The first occurs if a 16
bit flash write is not atomic and only the first byte is written. Then
we could end up declaring the data invalid on reboot and erasing.

The second is a race in switching sectors. If power off occurs at the
wrong time we would trigger en erase on reboot.
2018-02-02 14:19:12 +09:00
mirkix 8da1252959 AP_BattMonitor: add default pins and values for BeagleBone Blue 2018-02-02 10:01:34 +09:00
Peter Barker adde7bc588 AP_Terrain: fix snprintf buffer length warning
Also includes fix from Tridge to use MIN() instead of MAX()
2018-02-02 09:59:06 +09:00
murata 8070c13963 AP_Soaring: delete \n from the log using gcs().send_text 2018-02-02 09:41:23 +09:00
murata cdfca9d9ea AP_HAL_PX4: delete \n from the log using gcs().send_text 2018-02-02 09:40:55 +09:00
murata 5b3a402d36 AP_Camera: delete \n from the log using gcs().send_text 2018-02-02 09:40:05 +09:00
murata 3ec733d4f8 AP_BattMonitor: Aggregate the commands defined in the SMBUS specification.
AP_BattMonitor: Aggregate the commands defined in the SMBUS specification.
2018-02-02 09:17:30 +09:00
Peter Barker 8e8b0dcc06 DataFlash: add ? and - to multiplier table
This allows a consumer to expect referential integrity for the
multipliers
2018-02-02 09:15:59 +09:00
Tatsuya Yamaguchi aef9fa4a63 AP_NavEKF3: delete \n from the log using gcs().send_text 2018-02-02 09:13:54 +09:00
Lucas De Marchi 184b017b33 AP_HAL: fix warning from having undefined HAL_WITH_IO_MCU
In file included from ../../libraries/AP_IOMCU/AP_IOMCU.cpp:8:0:
../../libraries/AP_IOMCU/AP_IOMCU.h:10:5: warning: "HAL_WITH_IO_MCU" is not defined [-Wundef]
 #if HAL_WITH_IO_MCU
     ^
../../libraries/AP_IOMCU/AP_IOMCU.cpp:10:5: warning: "HAL_WITH_IO_MCU" is not defined [-Wundef]
 #if HAL_WITH_IO_MCU
     ^
And so on.
2018-02-02 09:11:46 +09:00
Randy Mackay 3badcdcfba AC_PosControl: default gains for sub 2018-01-31 08:48:21 +09:00
Randy Mackay 61933c6f1c AC_PosControl: shorten PSC_ACCELZ param to PSC_ACCZ 2018-01-31 08:48:21 +09:00
murata 6a87840c7a AP_NavEKF3: Change the if statement to a switch statement. 2018-01-28 22:20:08 +00:00
Leonard Hall 692e6518cc AC_AttitudeControl: update param desc values for large copters 2018-01-27 11:54:04 +09:00
Leonard Hall 691abab95e AC_AttitudeControl: Update parameter ranges 2018-01-27 11:38:09 +09:00
David Ingraham 2547ca399a AP_Airspeed: Fix ARSPD2_TYPE docs 2018-01-26 13:19:53 -08:00
Randy Mackay ebf405e53d AC_Avoid: reduce min and default DIST_MAX values 2018-01-25 11:16:01 +09:00
Andrew Tridgell 6558da2c4c HAL_SITL: fixed valgrind error in ubx driver
this was causing a valgrind error on all runs with a virtual ublox GPS
2018-01-24 18:00:42 -07:00
night-ghost 3165d72647 AP_Motors: reduce unnecessary multiple call of get_compensation_gain() 2018-01-24 19:26:15 +09:00
Andrew Tridgell c6c5603382 AP_Param: added back key dumping code
this is essential for working out conversion tables.
2018-01-24 18:23:59 +11:00
mirkix c5eb52bf8d AP_HAL_Linux: fix comment 2018-01-23 13:32:12 -08:00
bnsgeyer 7a9e424977 AP_Motors: added comments to indicate parameter indices previously used by RSC_PWM_MIN, RSC_PWM_MAX, and RSC_PWM_REV 2018-01-23 14:12:27 +09:00
Randy Mackay 04822152da AC_PID: fixes after peer review of AC_PID_2D 2018-01-23 12:00:43 +09:00
Randy Mackay efbd8eb386 AC_WPNav: remove unused definition
This has been moved to AC_PosControl library
2018-01-23 12:00:43 +09:00
Randy Mackay 368245017a AC_WPNav: access pos-controller's horizontal p object 2018-01-23 12:00:43 +09:00
Randy Mackay 9c00eb3d5f AC_PosControl_Sub: move pids to be local 2018-01-23 12:00:43 +09:00
Randy Mackay c70d3e0ab8 AC_PosControl: move pids to be local 2018-01-23 12:00:43 +09:00
Randy Mackay 00037fd50e AC_PosControl_Sub: replace velocity pi with local pid 2018-01-23 12:00:43 +09:00
Randy Mackay 3a73ff1e2e AC_PosControl: replace velocity control with local 2-axis PID 2018-01-23 12:00:43 +09:00
Randy Mackay 398a0d89bf AC_P: add const accessor 2018-01-23 12:00:43 +09:00
Randy Mackay c1708db208 AC_PID: add const and use is_positive in AC_PI_2D 2018-01-23 12:00:43 +09:00
Leonard Hall fd964a21d6 AC_PID: add AC_PID_2D 2018-01-23 12:00:43 +09:00
Randy Mackay 9ea16bec15 AP_InertialSensor: resolve compiler warning in example 2018-01-23 08:32:48 +09:00
Steven Josefs e8debde4b7 AC_Fence: hide ALT_MAX parameter from Rover 2018-01-22 20:42:31 +09:00
Randy Mackay a1bf9d66f0 AC_Avoid: default behaviour to stop for Rovers 2018-01-22 17:18:41 +09:00
Randy Mackay ae4ded86a8 AC_Avoid: get_max_speed supports linear acceleration
Also get_stopping_distance supports linear deceleration
2018-01-22 17:18:41 +09:00
Randy Mackay dfaabb543c AC_Avoid: add adjust_speed
this method accepts a heading and speed instead of a velocity vector
2018-01-22 17:18:41 +09:00
Randy Mackay 9d74d82ff6 AC_Avoid: add stopping behaviour 2018-01-22 17:18:41 +09:00
Randy Mackay c28cfcdc27 AP_Math: add Vector2f::circle_segment_intersection 2018-01-22 17:18:41 +09:00
Randy Mackay a655c36159 AP_Math: add Vector2f::segment_intersection 2018-01-22 17:18:41 +09:00
Andrew Tridgell 2c73b374f5 AP_Motors: protect against writes to NULL servo_aux
if user changes parameter while setting up it could crash
2018-01-21 21:12:13 +11:00
Andrew Tridgell bdb9f062ae AP_Motors: removed unused pwm parameters for heli 2018-01-21 21:12:13 +11:00
bnsgeyer ac2e933358 AP_Motors: Tradheli - Fixed Directdrive Variable Pitch Feature 2018-01-21 21:12:13 +11:00
Andrew Tridgell 7b251c9739 HAL_ChibiOS: lower FRAM CS speed to 2MHz
this matches old firmware
2018-01-20 17:40:07 +11:00
Andrew Tridgell 30fd2da108 HAL_ChibiOS: enable RTSCTS and SBUS_OUT 2018-01-20 17:40:07 +11:00
Andrew Tridgell 93a993c575 AP_HAL: setup RTSCTS and SBUS_OUT 2018-01-20 17:40:07 +11:00
Andrew Tridgell f8a3b0e753 AP_BoardConfig: improved board config
use hwdef.dat to enable RTSCTS and SBUS_OUT
2018-01-20 17:40:07 +11:00
Andrew Tridgell 63671b06a8 HAL_ChibiOS: added HAL_I2C_MAX_CLOCK define 2018-01-20 17:40:07 +11:00
Andrew Tridgell 88f11f5a50 HAL_ChibiOS: added HAL_I2C_BUS_BASE
this allows fmuv4 to start at bus 1
2018-01-20 17:40:07 +11:00
bugobliterator c60c0b8ab1 HAL_ChibiOS: fix undef line processing 2018-01-20 17:40:07 +11:00
Andrew Tridgell 8286486890 HAL_ChibiOS: drop default SPI priority to 179 2018-01-20 17:40:07 +11:00
Andrew Tridgell ab748034a2 HAL_ChibiOS: removed RC inversion logic
not needed any more
2018-01-20 17:40:07 +11:00
Andrew Tridgell d6b9ab7756 AP_RCProtocol: tidy up frontend/backend split 2018-01-20 17:40:07 +11:00
Andrew Tridgell ff5e00da32 AP_RCProtocol: fixed DSM decoding 2018-01-20 17:40:07 +11:00
bugobliterator 7db19cfae0 HAL_ChibiOS: use separate parameter for detect timeout 2018-01-20 17:40:07 +11:00
Andrew Tridgell 613d7a47ba HAL_ChibiOS: support RCIN on mindpx-v2 2018-01-20 17:40:07 +11:00
bugobliterator 02c7513f83 HAL_ChibiOS: add invert method and fix width measurement 2018-01-20 17:40:07 +11:00
bugobliterator f7ac5aa079 HAL_ChibiOS: put rcin on a separate thread 2018-01-20 17:40:07 +11:00
Andrew Tridgell f50f427a59 HAL_ChibiOS: added comment on beta fmuv4 board 2018-01-20 17:40:07 +11:00
Andrew Tridgell 743806116d HAL_ChibiOS: removed unusued ppm driver
now uses AP_RCProtocol
2018-01-20 17:40:07 +11:00
Andrew Tridgell ccb85c2707 HAL_ChibiOS: fixed fmuv3 build with no ICU 2018-01-20 17:40:07 +11:00
Andrew Tridgell f87668c15c AP_RCProtocol: lock onto a single protocol to reduce CPU cost 2018-01-20 17:40:07 +11:00
Andrew Tridgell 33c7cba9af HAL_ChibiOS: use more efficient push mechanism in IRQ
and don't use push_force() as it is not safe to do reads from within
the producer
2018-01-20 17:40:07 +11:00
Andrew Tridgell d030f2888b AP_HAL: added multi-object push to RingBuffer
this is much more efficient than pushing them one at a time
2018-01-20 17:40:07 +11:00
Andrew Tridgell 7a4f429b85 HAL_ChibiOS: don't adjust buffer size for protocol
its all about IRQ latency, not IRQ rate
2018-01-20 17:40:07 +11:00
Andrew Tridgell e2c8fe27ef HAL_ChibiOS: fixed memory handling in SoftSigReader 2018-01-20 17:40:07 +11:00
Andrew Tridgell 8be59c73c7 AP_RCProtocol: fixed return value when no input 2018-01-20 17:40:07 +11:00
bugobliterator bad9f2b4c9 AP_RCProtocol: add library to process RC signals 2018-01-20 17:40:07 +11:00
bugobliterator eeea2c9961 HAL_ChibiOS: use software signal reader for RCInput if available 2018-01-20 17:40:07 +11:00
bugobliterator 6be4c710c3 HAL_ChibiOS: add Software Signal reader using timer and DMA 2018-01-20 17:40:07 +11:00
bugobliterator 1db1ff799e HAL_ChibiOS: modify hwdef scripts to setup for generic RCIN 2018-01-20 17:40:07 +11:00
bugobliterator 1970d8a2c8 HAL_ChibiOS: use common RCIN pin for fmuv4 2018-01-20 17:40:07 +11:00
bugobliterator 445ba6ed39 HAL_ChibiOS: update ppm to use Extended ICU driver 2018-01-20 17:40:07 +11:00
Andrew Tridgell 7c23e33775 HAL_Chibios: set min output rate for oneshot to 100Hz
this will keep ESCs happy during gyro cal
2018-01-20 17:40:07 +11:00
Andrew Tridgell b07c599bf2 Hal_Chibios: allow for faster INS sample times
we need higher priority on SPI and faster device loops
2018-01-20 17:40:07 +11:00
Andrew Tridgell 25f13ed518 HAL_Chibios: adjust MPU9250 clock speed down
this helps with fast sampling enabled
2018-01-20 17:40:07 +11:00
Andrew Tridgell 7e44b06440 HAL_ChibiOS: adjust SPI clock rates on FMUv4
this prevents some timing errors on the IMUs
2018-01-20 17:40:07 +11:00
Andrew Tridgell dd59a5ff57 HAL_ChibiOS: adjust external bus clock for mpu9250
this fixes an issue with fast sampling on the PH2.1 cube
2018-01-20 17:40:07 +11:00
Andrew Tridgell 93fa74518a AP_IOMCU: limit rate to IOMCU to 500Hz
when running with very high loop rates we can saturate the IO link
2018-01-20 17:40:07 +11:00
Andrew Tridgell 880a84294e HAL_ChibiOS: support oneshot mode
supports oneshot 125 and oneshot
2018-01-20 17:40:07 +11:00
Andrew Tridgell 38a36a070f DataFlash: removed some special cases for ChibiOS 2018-01-20 17:40:07 +11:00
Andrew Tridgell 30903f2acb AP_IOMCU: support oneshot mode 2018-01-20 17:40:07 +11:00
Andrew Tridgell ba3cdf74b5 HAL_Chibios: optional ADC debugging
this debugging capability is very useful on board bringup. It outputs
the first 6 analog channels as an AP_ADC MAVLink message
2018-01-20 17:40:07 +11:00
Andrew Tridgell c863681849 HAL_ChibiOS: fixed PWM output assignment 2018-01-20 17:40:07 +11:00
Andrew Tridgell 82c6d2751f HAL_ChibiOS: fixed F412 ram and flash setup 2018-01-20 17:40:07 +11:00
Peter Barker 87be7fea0c AP_HAL: added support for Sparky2 STM23F405 board 2018-01-20 17:40:07 +11:00
Peter Barker 67bed1d6c2 HAL_ChibiOS: added support for Sparky2 STM23F405 board 2018-01-20 17:40:07 +11:00
Siddharth Purohit a6be19d8cf HAL_SITL: fix sitl build for mac osx 2018-01-20 17:35:08 +11:00
Andrew Tridgell 8b0e9bcff4 AP_Scheduler: use pre-computed loop constants
this prevents changing the loop rate without a reboot. Too many
subsystems rely on a consistent loop rate to allow it to be changed
2018-01-20 15:35:58 +11:00
Peter Barker f2242e07db AP_Scheduler: remove memoisation in loop_period_s() 2018-01-20 15:35:58 +11:00
Peter Barker a6ac37d0ba AP_Scheduler: eliminate MAIN_LOOP_SECONDS macro 2018-01-20 15:35:58 +11:00
Leonard Hall e249e06714 AC_PosControl: minor enhancement to lean_angles_to_accel 2018-01-20 09:49:58 +09:00
Andrew Tridgell 44dd079cb9 AP_Scheduler: allow for loop rates above 400Hz
with ChibiOS we can run copter at 1KHz with no scheduling misses. This
small PR allows that to be configured.
2018-01-20 10:40:37 +11:00
Andrew Tridgell 100363ba03 AP_InertialSensor: if no sensors found allow parameter change 2018-01-20 10:36:22 +11:00
Andrew Tridgell 24c424ae5d AP_InertialSensor: support over 1kHz IMUs
this allows for invensense IMUs to run above 1kHz by adjusting the
downsampling rate
2018-01-20 10:36:22 +11:00
Andrew Tridgell c0c5f23aa5 AP_InertialSensor: added INS_ENABLE_MASK
this allows for only a specified subset of IMUs to be probed, so you
can disable IMUs that aren't needed.

The back corresponds to bits in the order the IMUs are normally probed
on the board
2018-01-20 10:36:22 +11:00
Andrew Tridgell 9416165fe3 AP_InertialSensor: improved invensense debugging on ChibiOS 2018-01-20 10:36:22 +11:00
Leonard Hall d5976442f8 AC_PosControl: minor comment change
non-functional change
2018-01-19 15:40:32 +09:00
Leonard Hall 3ada0f32b0 AC_AttitudeControl: minor comment update
Non-functional change
2018-01-19 15:40:24 +09:00
mirkix 700171a0fc AP_HAL_Linux: add second RCIN port for Blue 2018-01-17 15:25:51 -08:00
Michael du Breuil 8712fbd55d AP_BattMonitor: Move per battery params into a containing class 2018-01-17 22:21:55 +00:00
Michael du Breuil bb0d43d03c AP_BattMonitor: Remove unneeded memebers
is_powering_off was only used for solo, and was just an intermediate
copy before updating notify
2018-01-17 22:21:55 +00:00
Michael du Breuil a1a5665213 AP_Param: Support marking a param group as ignoring the enable flag 2018-01-17 22:21:55 +00:00
Nikita Tomilov 1549b1a52a AP_BoardConfig: CAN: Merge PX4 and Linux CAN setup
Here we merge PX4 and Linux CAN bus setup since the interface is almost
the same for both of them.
2018-01-17 07:24:17 -08:00
Tom Pittenger d713d57904 AP_HAL_Linux: update software license referencing UAVCAN submodule 2018-01-17 07:24:17 -08:00
Nikita Tomilov 3ac2e4e8c5 AP_HAL_Linux: CAN: _pollRead no more than 100 iterations
This adds a counter here to only loop to a maximum number of iterations.
Now we avoid situations in which we would be stuck processing packets here.
This also adds some other meaningful defines
2018-01-17 07:24:17 -08:00
Nikita Tomilov 43bfcbc8e2 AP_HAL_Linux: CAN: Rename CANDriver -> CANManager 2018-01-17 07:24:17 -08:00
Nikita Tomilov d0fc481202 AP_HAL_Linux: CAN: Rename Linux::LinuxCAN -> Linux::CAN 2018-01-17 07:24:17 -08:00
Alexey Bulatov e0acbd3e53 AP_HAL_LINUX: Add CAN to timer_task 2018-01-17 07:24:17 -08:00
Alexey Bulatov 606eb05c95 AP_BoardConfig: Linux CAN initialisation 2018-01-17 07:24:17 -08:00
Nikita Tomilov a50e6c6dd7 AP_HAL: board: linux: Add default CAN interface name 2018-01-17 07:24:17 -08:00
Nikita Tomilov b6665f7e58 AP_HAL_Linux: CAN: get rid of RaiiCloser 2018-01-17 07:24:17 -08:00
Alexey Bulatov 976500960f AP_HAL_LINUX: Add CAN driver 2018-01-17 07:24:17 -08:00
Alexey Bulatov 09de8e852d AP_HAL: Make methods get_UAVCAN and set_UAVCAN pure 2018-01-17 07:24:17 -08:00
Dylan Herman 85e1f9f9f6 AP_SmartRTL: attempts to set home in update
update will continuously attempt to set SmartRTL home as long as
position is ok and home has not be set. Updated examples to use set_home.
2018-01-17 11:03:33 +09:00
Andrew Tridgell 8fea99e1da HAL_Linux: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00
Andrew Tridgell 3f5534eed5 AP_HAL: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00
Andrew Tridgell f6138e3c91 HAL_ChibiOS: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00
Andrew Tridgell 20d75f52c2 AP_Compass: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00
Andrew Tridgell c9deabc283 DataFlash: use calloc in MAVLink backend 2018-01-17 11:22:05 +11:00
Andrew Tridgell 8dae3fe59b HAL_ChibiOS: use calloc for malloc type
this is not strictly necessary on ChibiOS as we already override
malloc, but will keep static analysis happy
2018-01-17 11:22:05 +11:00
Andrew Tridgell a99b690d49 HAL_PX4: use calloc for malloc_type()
this ensures that EKF memory is zero on start
2018-01-17 11:22:05 +11:00
Andrew Tridgell 4322ef7ca4 AP_HAL: prevent valgrind errors in EKF
ensure that EKF memory is zero on start
2018-01-17 11:22:05 +11:00
Randy Mackay 094620bc8a AC_WPNav: pass dt to avoidance 2018-01-16 12:13:48 +09:00
Leonard Hall f48b14b810 AC_Avoidance: accept dt and pass to sqrt controller 2018-01-16 12:13:48 +09:00
Leonard Hall b9ed8b292a AC_PosControl: pass dt to att control sqrt_controller 2018-01-16 12:13:48 +09:00
Leonard Hall 62cc25022c AC_AttitudeControl: protect against overshoot in sqrt controller 2018-01-16 12:13:48 +09:00
Leonard Hall 75de0cb4ef AC_AttitudeControl: sqrt_controller accepts dt 2018-01-16 12:13:48 +09:00
Leonard Hall 0a10deb3f7 AP_Motors: Fix gain scaling on Throttle Average Max and reduce additional gain on low throttle for Single and Coax. 2018-01-16 11:50:30 +09:00
Andrew Tridgell 7ca3b56886 HAL_ChibiOS: fixed STM32F405 typos 2018-01-16 09:46:30 +11:00
Andrew Tridgell b6f3db44d8 DataFlash: log health and primary for airspeed 2018-01-16 07:14:20 +11:00
Andrew Tridgell 5846558b0e AP_Baro: moved constants to AP_Math/definitions.h 2018-01-16 07:14:20 +11:00
Andrew Tridgell ee1fea55ce AP_Math: moved constants from AP_Baro 2018-01-16 07:14:20 +11:00
Andrew Tridgell 8bb0ad7f3a AP_Arming: check all airspeed sensors are healthy 2018-01-16 07:14:20 +11:00
Andrew Tridgell bbcda11afe DataFlash: log both airspeed sensors 2018-01-16 07:14:20 +11:00
Andrew Tridgell 58b0ac07ec AP_Airspeed: support dual airspeed sensors
allow for a primary and secondary airspeed sensor
2018-01-16 07:14:20 +11:00
rde-mato 87e3777f67 AP_Airspeed: added SDP3X airspeed sensor driver 2018-01-16 07:14:20 +11:00
rde-mato 787420931e AP_Baro: make AP_Baro a singleton
for AP_Airspeed
2018-01-16 07:14:20 +11:00
Andrew Tridgell e120e912f1 HAL_ChibiOS: moved board defines to hwdef.dat 2018-01-15 11:46:02 +11:00
Andrew Tridgell d2c04aa649 AP_HAL: moved board defines to hwdef.dat 2018-01-15 11:46:02 +11:00
Andrew Tridgell f8542c86b6 AP_Terrain: added support for AP_Terrain for ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell 2773b17fad AP_HAL: added support for AP_Terrain for ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell e2a65c8c60 HAL_ChibiOS: added support for AP_Terrain for ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell cde930f5c8 HAL_ChibiOS: added skyviper-v2450 hwdef config 2018-01-15 11:46:02 +11:00
Andrew Tridgell c8beddf1e4 HAL_ChibiOS: allow for includes in hwdef.dat files
this allows creation of derived boards
2018-01-15 11:46:02 +11:00
Andrew Tridgell 2929b3dbb1 HAL_ChibiOS: allow builds on systems with no SDIO 2018-01-15 11:46:02 +11:00
Andrew Tridgell 7b0eccc309 HAL_ChibiOS: updated skyviper-f412 hwdef.dat 2018-01-15 11:46:02 +11:00
Andrew Tridgell 60a773d045 HAL_ChibiOS: removed duplicate defines 2018-01-15 11:46:02 +11:00
Andrew Tridgell ff87d27143 AP_BoardConfig: fixed return of get_pwm_count()
thanks to Michael for noticing
2018-01-15 11:46:02 +11:00
Andrew Tridgell ef1a14cc6c HAL_ChibiOS: fixed 5V analog scale on fmuv4 and mindpx-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell 867e7ebf71 HAL_ChibiOS: auto-generate GPIO table from hwdef.dat 2018-01-15 11:46:02 +11:00
Andrew Tridgell fbe8166c71 HAL_ChibiOS: auto-generate AnalogIn pin table 2018-01-15 11:46:02 +11:00
Andrew Tridgell f14a847b97 HAL_ChibiOS: rename classes to remove 'Chibi'
it is redundent as all classes are in ChibiOS namespace, and makes the
code harder to read
2018-01-15 11:46:02 +11:00
Andrew Tridgell 25b68dc150 HAL_ChibiOS: switch base freq when needed
timers can't do below 123 Hz with a clock of 8MHz, so we need to
change clock frequency based on the target period
2018-01-15 11:46:02 +11:00
Andrew Tridgell ff3b0ec1bd AP_IOMCU: added set_default_rate method 2018-01-15 11:46:02 +11:00
Andrew Tridgell 738d70ef02 HAL_ChibOS: fixed handling of disabled channels 2018-01-15 11:46:02 +11:00
Andrew Tridgell 320ada2002 AP_IOMCU: fixed crash with BRD_IO_ENABLE=0 2018-01-15 11:46:02 +11:00
Andrew Tridgell 2978649cd4 waf: moved to generated loader script 2018-01-15 11:46:02 +11:00
Andrew Tridgell 6e4ef32628 HAL_ChibiOS: moved to generated loader script 2018-01-15 11:46:02 +11:00
Andrew Tridgell 9482ab1840 waf: use common makefile for ChibiOS if no custom present 2018-01-15 11:46:02 +11:00
Andrew Tridgell bae9469af7 HAL_ChibiOS: use a common makefile and board.c
allow for custom files per board if supplied, but don't require them
for every board
2018-01-15 11:46:02 +11:00
Andrew Tridgell d17e9f321a HAL_ChibOS: fixed mixture of brushed and normal PWM
allow non-brushed PWM servos with brushed main motors
2018-01-15 11:46:02 +11:00
Andrew Tridgell c639708e22 HAL_ChibOS: auto-generate full PWM config
use PWM markers in hwdef.dat to mark each PWM channel
2018-01-15 11:46:02 +11:00
Andrew Tridgell b741c6c29e AP_Compass: fixed build error on ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell daa9eec836 HAL_ChibiOS: auto-configure timer channels
allow for one marked PPMIN for input
2018-01-15 11:46:02 +11:00
Andrew Tridgell d65ec2ada7 HAL_ChibiOS: moved more headers to common
allow customisation, but don't require every port to copy the defaults
2018-01-15 11:46:02 +11:00
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