Commit Graph

17660 Commits

Author SHA1 Message Date
Francisco Ferreira 1d7f3e48a4
AP_HAL_Linux: remove CAN thread management
Also fix comment
2018-08-12 13:35:01 +01:00
Francisco Ferreira 7278af05e0
AP_HAL_ChibiOS: remove CAN thread management 2018-08-12 13:35:01 +01:00
Francisco Ferreira 0645a5b11a
AP_HAL: introduce a CANProtocol interface and remove HAL CAN thread management 2018-08-12 13:35:01 +01:00
Francisco Ferreira e1bf89f32d
AP_HAL_ChibiOS: fix CAN manager initialization 2018-08-12 13:35:01 +01:00
Peter Barker 5ad1dee284 AP_Notify: make LED blink at constant rate in Rover 2018-08-09 11:57:05 +10:00
Michael du Breuil 83d01c8b7d GCS_MAVLink: Use ARRAY_SIZE to avoid a magic value 2018-08-09 11:53:05 +10:00
Michael du Breuil 6469a985d7 DataFlash: Fix allocating extra values for RC logging 2018-08-09 11:53:05 +10:00
Michael du Breuil e7ebea55d2 RC_Channel: Fix possible user induced out of bounds write
CID 308348
2018-08-09 10:27:10 +10:00
Andrew Tridgell 385f735799 HAL_ChibiOS: avoid 64 bit maths in AP_HAL::micros()
this saves a few cycles
2018-08-08 21:24:49 +10:00
fnoop bfceb5dd32 AC_PrecLand: Improve logging
Add unit/multiplier of new fields to log structure
Fix new log structure
2018-08-08 10:23:26 +09:00
Michael du Breuil f2b4e06a1a AP_Airspeed: Add 5"H2O DLVR differential sensor driver 2018-08-08 09:07:17 +10:00
Michael du Breuil d568767164 AP_Math: Add conversion between inches of water to pascals 2018-08-08 09:07:17 +10:00
Andrew Tridgell c9a830bf3f AP_Notify: support both NCP5623 addresses 2018-08-08 07:11:50 +10:00
Andrew Tridgell 935165a8f8 AP_Notify: tidy up NCP5623 driver 2018-08-08 07:11:50 +10:00
caijie a98d892dec AP_Notify: Add RGB LED driver for NCP5623 2018-08-08 07:11:50 +10:00
Andrew Tridgell 301884f7a6 AP_RCProtocol: fixed coverity error in SUMD
CID308356
2018-08-07 13:22:08 +10:00
Andrew Tridgell d1334fab73 AP_ROMFS: fixed error handling in tinflate
coverity CID308327
2018-08-07 13:22:08 +10:00
Michael du Breuil 4aff747b28 AP_RCProtocol: Fix out of bounds write, CID 308323 and 308333 2018-08-07 12:11:49 +10:00
Andrew Tridgell 3ed7c060df AP_Compass: address review comments 2018-08-07 10:00:10 +10:00
Jonathan Challinger cefd998177 AP_Compass: add expected DEV_ID parameters 2018-08-07 10:00:10 +10:00
Jonathan Challinger 878e84a015 AP_Compass: correct edge case where checks pass when saved dev_id != detected dev_id 2018-08-07 10:00:10 +10:00
Michael du Breuil ee9cc28fda AP_NavEKF2: Utilize the GPS drivers estimate for lag 2018-08-07 09:55:26 +10:00
Michael du Breuil 1a406dacfc AP_GPS: Ensure a lag value is always provided
The value may not be the optimal value for the driver, but we should
always try to provide a value for the caller
2018-08-07 09:55:26 +10:00
Michael du Breuil 21dfe02c6e GCS_MAVLink: always send an idea of battery voltage as part of
BATTERY_STATUS
2018-08-07 09:52:45 +10:00
Peter Barker e4ff937c96 RC_Channel: remove min-max-configured pre-arm checks
These are really, really expensive to run while your RC isn't
configured.

We now have a split between inputs (RC) and servos (SRV), so these
aren't as critical as they were.  We also have range checks to ensure
they're roughly good enough to fly with.
2018-08-07 09:45:09 +10:00
Peter Barker eaefdcfac2 AP_Arming: remove min-max-configured pre-arm checks 2018-08-07 09:45:09 +10:00
Peter Barker 87e7cc7ef0 RC_Channels: zero all channels before populating
Fix for CID 308365
2018-08-07 09:12:43 +10:00
vierfuffzig bc52d430f9 Chibios add bootloader for mini-pix 2018-08-07 07:09:39 +10:00
Andrew Tridgell f0fba01138 AP_Stats: use set_and_save_ifchanged()
if the board has no GPS then the values usually don't change
2018-08-06 21:46:06 +10:00
Randy Mackay 1c18d06aa3 AR_AttitudeControl: move unnecessary else 2018-08-06 11:30:22 +09:00
Randy Mackay 9b60e0844b AR_AttitudeControl: add get_desired_pitch accessor 2018-08-06 11:30:22 +09:00
Andrew Tridgell 846418e5e9 HAL_ChibiOS: raise timer thread priority
needs to be above main for guaranteed DShot and oneshot output periods
2018-08-06 11:41:42 +10:00
Randy Mackay c88926f227 Compass: remove accumulate from example sketch 2018-08-06 11:05:34 +10:00
Randy Mackay 99b54935db Compass: remove accumulate
this method is a noop on all backends
2018-08-06 11:05:34 +10:00
Peter Barker f2b1387c1c RC_Channel: add AUTOTUNE to init_aux_function routine
Also, cark it in SITL if we fail to initialise an aux function
2018-08-05 07:52:28 +10:00
Andrew Tridgell 53fbdc3750 AP_BLHeli: pass motor mask to serial_setup_output() 2018-08-04 19:29:13 +10:00
Andrew Tridgell 3df2a1c228 HAL_ChibiOS: fixed dshot bad frames
adding a pre-bit on the DMAR, and ensuring that all groups are setup
for DMA together fixes the remaining bad frames reports in BLHeli32
2018-08-04 19:29:13 +10:00
Andrew Tridgell 1fe6c7b497 AP_HAL: added chanmask to serial_setup_output() 2018-08-04 19:29:13 +10:00
Andrew Tridgell 946b4db0e6 HAL_ChibiOS: set min dshot separation to 100usec
this fixes a problem with BLHeli32 not recognising dshot
2018-08-04 19:29:13 +10:00
Andrew Tridgell 476a40c906 AP_BLHeli: improved reliability of pass-thru support
this uses a connection cache to prevent re-connecting to an ESC when
not needed, and allows for pass-thru comms on any port, using
SERVO_BLH_PORT parameter
2018-08-04 19:29:13 +10:00
Andrew Tridgell 22ba9a0aea HAL_ChibiOS: fixed timeout of serial read bytes
this allows for fast timeout of serial read bytes in BLHeli pass-thru
2018-08-04 19:29:13 +10:00
Andrew Tridgell df643d8499 GCS_MAVLink: allow uninstall of alt protocol handler 2018-08-04 19:29:13 +10:00
Andrew Tridgell 769c99d4d7 AP_Baro: added register checking on BMP280
this follows a log which seems to show an in-flight register
corruption on a MatekF405
2018-08-04 16:44:08 +10:00
Lucas De Marchi 88df4d127e AP_Common: remove ARRAY_SIZE_SIMPLE
Now this is basically ARRAY_SIZE, so remove it.
2018-08-04 15:31:55 +10:00
Lucas De Marchi 668c941717 Global: use new version of ARRAY_SIZE 2018-08-04 15:31:55 +10:00
Lucas De Marchi 57ee0e29f6 AP_Common: simplify ARRAY_SIZE
This rolls back to the simpler version of ARRAY_SIZE. The more complex
one helps catching bugs when we use pointers when we are expecting an
array, but can't stand arrays with 0 elements.  I'm not aware of bugs it
actually caught on ArduPilot, although it did for me in other projects.

I think this is better than having a separate "_SIMPLE" version of the
macro and spread its usage... the trend is just to use the simpler
version anyway.
2018-08-04 15:31:55 +10:00
Peter Barker 049f61c943 AP_Camera: populate camera singleton 2018-08-04 11:34:41 +10:00
utkinpol 2912e732b4 HAL_ChibiOS: updated for KakuteF7 2018-08-04 08:24:49 +10:00
Andrew Tridgell 64c8ca514c HAL_ChibiOS: fixed attach_interrupt check
we can't have two handlers on the same pad
2018-08-03 13:44:59 +10:00
Andrew Tridgell 4e6ac85057 HAL_ChibiOS: use 32 bit time intervals
this makes for smaller and faster code. We really don't need 64 bit
intervals as long sleeps are done with a loop.
2018-08-03 13:44:59 +10:00
Andrew Tridgell 1bd0ea079b HAL_ChibiOS: fixed build on older compilers
allow build with gcc 4.9.x
2018-08-03 13:44:59 +10:00
Andrew Tridgell 7aba99e229 HAL_ChibiOS: fixes for ChibiOS version update 2018-08-03 13:44:59 +10:00
Andrew Tridgell f8e2edbc7f HAL_ChibiOS: fixed cache flush for updated ChibiOS version 2018-08-03 13:44:59 +10:00
Siddharth Purohit 2604b00b43 HAL_ChibiOS: use ch.h header for oslib api 2018-08-03 13:44:59 +10:00
Siddharth Purohit ea709b9316 AP_Radio: move to using updated time conv API 2018-08-03 13:44:59 +10:00
Siddharth Purohit 9f5dbb74e7 AP_IOMCU: move to using updated time conv API 2018-08-03 13:44:59 +10:00
Siddharth Purohit ff65487ab3 HAL_ChibiOS: follow updated gpio pin setup procedure 2018-08-03 13:44:59 +10:00
Siddharth Purohit 5f88163e17 HAL_ChibiOS: update configuration and rtlib headers for ChibiOS 18.x.x 2018-08-03 13:44:59 +10:00
Siddharth Purohit 395c48933c HAL_ChibiOS: move tto using updated time conversion API 2018-08-03 13:44:59 +10:00
Siddharth Purohit 4e8d072d6d HAL_ChibiOS: move to using recent pal driver api for GPIO IRQ events 2018-08-03 13:44:59 +10:00
Mark Whitehorn 86b7adf68f AP_HAL_Chibios: fix fmuv3/hwdef.dat printf/STDOUT description and clean up 2018-08-03 13:08:37 +10:00
Peter Barker aa4cf5b40e SRV_Channel: use method to get rc channels 2018-08-03 13:07:50 +10:00
Peter Barker ff36eb3aca RC_Channel: remove old members objects 2018-08-03 13:07:50 +10:00
Matt 15823d9e97 AP_LANDING_GEAR: Remove deploy lock
Since the RC switches only respond to changes, there is no longer a need
for this lock state. The gear can be retracted or deployed by RC switch,
flight mode, or mavlink command freely without convoluted unlocking
methods.  Also removed use of this in the associated Copter code.
2018-08-03 10:59:15 +09:00
Lucas De Marchi 73f8dd98f2 AP_BoardConfig: kill AP_FEATURE_SAFETY_BUTTON
This is redundant and can be just HAL_HAVE_SAFETY_SWITCH.
2018-08-02 13:15:02 -07:00
Lucas De Marchi 259195a7c7 AP_BoardConfig: fix handling of AP_FEATURE_SAFETY_BUTTON
Not all PX4-based board have a safety button. Rely on
HAL_HAVE_SAFETY_SWITCH instead of ifdef'ing each of them.

This allows to build for aerofc-v1 without safety button.
2018-08-02 13:15:02 -07:00
Lucas De Marchi 000ae3cb85 AP_BoardConfig: add default for BOARD_SAFETY_ENABLE
If HAL supports safety button but the board didn't declare a default,
define one to match what is done with BOARD_SAFETY_OPTION_DEFAULT.
2018-08-02 13:15:02 -07:00
Lucas De Marchi 099eefee87 AP_HAL: Chibios: HAL_GPIO_PIN_SAFETY_IN implies HAL_HAVE_SAFETY_SWITCH 2018-08-02 13:15:02 -07:00
Lucas De Marchi 20778f73f1 AP_HAL_ChibiOS: define HAL_HAVE_SAFETY_SWITCH accordingly 2018-08-02 13:15:02 -07:00
Lucas De Marchi 8e3777a163 AP_HAL_PX4: RCOutput: honour HAL_HAVE_SAFETY_SWITCH 2018-08-02 13:15:02 -07:00
Lucas De Marchi 7f984f2700 AP_HAL: linux: disable safety switch
Linux boards don't really handle the safety switch.
2018-08-02 13:15:02 -07:00
Lucas De Marchi 2336d2214b AP_HAL: sitl: disable safety switch
sitl doesn't really handle the safety switch and it's actually disabled
by AP_FEATURE_SAFETY_BUTTON.
2018-08-02 13:15:02 -07:00
Andrew Tridgell 13f96bcb00 HAL_ChibiOS: fixed an i2c dma callback bug
many thanks to Kelly-Foster for chasing me on this one!
2018-08-02 12:29:02 +10:00
Andrew Tridgell b0badf8caf HAL_ChibiOS: fixes for F745 builds 2018-08-02 11:56:33 +10:00
Lucas De Marchi 0606b00f15 AP_BoardConfig: don't try to set pwm mode for aerofc-v1
We don't have that in aerofc, so don't try to initialize it and fail
with following error messages:

    RCOutput: unable to setup AUX PWM with BRD_PWM_COUNT 0
2018-08-01 16:49:08 -07:00
Randy Mackay 9799567416 AP_Follow: fixup offset initialisation 2018-08-01 20:18:23 +09:00
hoangthien94 f4255712c1 AP_Follow: Initialize offsets based on offset type 2018-08-01 20:18:23 +09:00
Peter Barker 5df70cf93a RC_Channel: update examples for new rc() method 2018-08-01 12:11:30 +09:00
Peter Barker e2b31a535c AC_PID: update example for new rc() method 2018-08-01 12:11:30 +09:00
Peter Barker 0f084ed5bf RC_Channel: add compatability static functions
Just to avoid churn in Sub, Plane and Tracker
2018-08-01 12:11:30 +09:00
Peter Barker c1a1f4f970 SRV_Channel: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Peter Barker dbccd6a399 GCS_MAVLink: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Peter Barker f4c93dc697 DataFlash: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Peter Barker c209152d13 AP_Tuning: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Peter Barker 497746c3d0 AP_RSSI: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Peter Barker 2489234fcf AP_Mount: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Peter Barker 80a4083fc7 AP_ICEngine: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Peter Barker 1eacd685e3 AP_Arming: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Peter Barker 747fc3814d RC_Channel: rename in_rc_failsafe to has_valid_input 2018-08-01 12:11:30 +09:00
Peter Barker 61c34ea98c RC_Channel: move handling of auxillary switches into RC_Channel
RC_Channel: move handling of Rover's functions into RC_Channel

RC_Channel: move auxsw handling for camera to base RC_Channel

RC_Channel: add responsibility for servorelay events

RC_Channel: move mode switch handling to base class
2018-08-01 12:11:30 +09:00
Peter Barker 007434cdac AC_Sprayer: move Copter CHn_OPT to RC_Channel RCn_OPTION 2018-08-01 12:11:30 +09:00
Peter Barker fb786b8d56 AP_Camera: add singleton 2018-08-01 12:11:30 +09:00
Andrew Tridgell 44fd85ff29 HAL_ChibiOS: reduce memory used by serial buffers
this does not appear to affect log download speed. It saves about 27k
of memory
2018-08-01 13:11:16 +10:00
Peter Barker ce62b2303a DataFlash: add ability to log-disarmed 2018-08-01 11:28:52 +09:00
Michael du Breuil 1e699a53f6 AP_Landing: Fix misspelling in deepstall docs 2018-08-01 09:24:26 +10:00
Michael du Breuil 8357b31e57 AP_Relay: Remove APM doc references 2018-08-01 09:24:26 +10:00
Michael du Breuil f0a4059d73 AP_Rangefinder: Remove APM doc references 2018-08-01 09:24:26 +10:00
Michael du Breuil 2134373646 AP_RSSI: Remove APM doc references 2018-08-01 09:24:26 +10:00
Michael du Breuil e82663baf2 AP_BattMonitor: Remove APM doc references 2018-08-01 09:24:26 +10:00
Michael du Breuil 6225f51815 AP_Airspeed: Remove APM doc references 2018-08-01 09:24:26 +10:00
Michael du Breuil fd9f9cdfe0 AP_BattMonitor: Removed the need to set the battery_voltage flag 2018-08-01 09:22:09 +10:00
Michael du Breuil a5e974c227 AP_Notify: Reduce flash consumption, fix some drivers, always allow
buzzer
2018-08-01 09:22:09 +10:00
Michael du Breuil cca6b54921 AP_GPS: Remove unneeded field limitations
Saves ~1100 bytes of flash
2018-08-01 09:19:20 +10:00
Michael du Breuil 80313abf31 SRV_Channel: Remove useless read from manual passthrough 2018-08-01 09:19:20 +10:00
Michael du Breuil 60f19bbf02 RC_Channel: Allow an input to be ignored 2018-08-01 09:19:20 +10:00
Pierre Kancir 37f7cc4bcf SITL: rearrange Grippers and Sprayers in SITL 2018-07-31 23:34:43 +10:00
Pierre Kancir 96c54550e5 AP_HAL_SITL: rearrange Grippers and Sprayers in SITL
Adds parameters to configure and disable
2018-07-31 23:34:43 +10:00
Andrew Tridgell 8b4b38bcb2 DataFlash: removed "no io thread heartbeat" msg 2018-07-31 19:37:17 +10:00
Hwurzburg 19f44f80ad HAL_ChibiOS: Added Omnibus F4 NanoV6 (only V6)
bench tested all ports
2018-07-30 19:32:29 +10:00
Andrew Tridgell 4026b9f49d HAL_ChibiOS: probe all external compasses on mini-pix 2018-07-30 17:26:19 +10:00
Andrew Tridgell 2ded88e611 AP_Compass: allow override of QMC5883L orientation 2018-07-30 17:26:19 +10:00
Andrew Tridgell 397ba488db AP_Notify: use NTF_BUZZ_ENABLE to disable tonealarm 2018-07-30 15:42:58 +10:00
Randy Mackay cb3731e08e Compass: fix compile warning in calibrator output 2018-07-30 14:57:01 +10:00
Andrew Tridgell 1eb010fbf1 AP_Notify: reduced tone buffer size
100 is plenty
2018-07-30 14:02:12 +10:00
Andrew Tridgell bdca329012 HAL_PX4: fixes for new tone_alarm system
we need to start the driver
2018-07-30 14:02:12 +10:00
Andrew Tridgell b11bd33b0e AP_Notify: removed extra call to play_string 2018-07-30 14:02:12 +10:00
Andrew Tridgell d28c8f0214 AP_Notify: added duration to toneAlarm_set_buzzer_tone 2018-07-30 14:02:12 +10:00
Andrew Tridgell 22d588146e HAL_PX4: added duration to toneAlarm_set_buzzer_tone 2018-07-30 14:02:12 +10:00
Andrew Tridgell 03b7c08be6 HAL_Linux: added duration to toneAlarm_set_buzzer_tone
required for disco
2018-07-30 14:02:12 +10:00
Andrew Tridgell c83567dcba HAL_ChibiOS: added duration to toneAlarm_set_buzzer_tone 2018-07-30 14:02:12 +10:00
Andrew Tridgell 949324ff2b AP_HAL: added duration to toneAlarm_set_buzzer_tone 2018-07-30 14:02:12 +10:00
Jonathan Challinger ddf0333a24 AP_HAL_Linux: reflect changes to tonealarm interface 2018-07-30 14:02:12 +10:00
Jonathan Challinger 0dd151c0f3 AP_Notify: changes needed for PX4 tonealarm 2018-07-30 14:02:12 +10:00
Jonathan Challinger 4e48923c64 AP_HAL_PX4: implement new tonealarm interface 2018-07-30 14:02:12 +10:00
Jonathan Challinger f4fc9249f7 AP_Notify: support extended PLAY_TUNE message 2018-07-30 14:02:12 +10:00
Jonathan Challinger cba85eee7b AP_Notify: MMLPlayer constrain note frequency 2018-07-30 14:02:12 +10:00
Jonathan Challinger 98d962ffa2 AP_Notify: MMLPlayer note_tab static const 2018-07-30 14:02:12 +10:00
Jonathan Challinger 720676b28c AP_Notify: run astyle on ToneAlarm and MMLPlayer 2018-07-30 14:02:12 +10:00
Jonathan Challinger b31ddedfef AP_Notify: merge ToneAlarm files, use new AP_HAL tonealarm interface 2018-07-30 14:02:12 +10:00
Jonathan Challinger f5f6220283 AP_HAL_ChibiOS: reflect changes to AP_HAL tonealarm interface 2018-07-30 14:02:12 +10:00
Jonathan Challinger f936b1dbc2 AP_HAL: change tonealarm interface 2018-07-30 14:02:12 +10:00
murata 396517fe58 DataFlash: Delete unused arguments. 2018-07-30 12:14:49 +09:00
Andrew Tridgell b1d9f4cc39 AP_SpdHgtControl: update API for TECS change 2018-07-30 13:09:15 +10:00
Andrew Tridgell f3336fdb60 AP_TECS: removed dependency on soaring controller 2018-07-30 13:09:15 +10:00
Andrew Tridgell e39d070b78 AP_Compass: clear DEV_ID for undetected compasses
this prevents user confusion with the number of compasses detected
2018-07-30 13:07:55 +10:00
Randy Mackay 5cf119cd2f AP_RSSI: const get_gpio and fix includes 2018-07-30 10:14:04 +09:00
Randy Mackay eb026eef98 AP_RSSI: support pwm input on gpio pin 2018-07-30 10:14:04 +09:00
Randy Mackay 4f6c50b79e AP_RSSI: minor format fix 2018-07-30 10:14:04 +09:00
Randy Mackay 06d26aaaa7 AP_RSSI: clarify PIN_LOW/HIGH parameter description 2018-07-30 10:14:04 +09:00
Andrew Tridgell 72ee20c590 HAL_ChibiOS: added RC input for OMNIBUSF7V2 2018-07-30 10:45:55 +10:00
Timothy Knab d4c19ebc3c HAL_ChibiOS: Updated OMNIBUSF7V2
Compasses on the I2C bus are now detected properly and GPS on UART3 works.
2018-07-30 10:45:55 +10:00
Andrew Tridgell 95aaa01014 HAL_ChibiOS: override COMPASS_AUTO_ROT on several boards 2018-07-28 18:05:12 +10:00
Andrew Tridgell b181340fd9 AP_Compass: allow override of COMPASS_AUTO_ROT 2018-07-28 18:05:12 +10:00
Andrew Tridgell 8c9f2bc79e AP_IOMCU: fixed setting of rate masks
this affects layouts which set a subset of channels on a timer
2018-07-28 15:25:57 +10:00
Andrew Tridgell 1eef29e525 HAL_ChibiOS: only set freq on valid IO channels 2018-07-28 15:25:57 +10:00
Andrew Tridgell 2174c53eb6 HAL_ChibiOS: added Pixhawk1 build target
this is more obvious to users than fmuv3
2018-07-27 10:02:31 +10:00
Andrew Tridgell a8647f834e AP_RangeFinder: fixed VL53L0X semaphore usage 2018-07-27 09:15:32 +10:00
Randy Mackay 8bf6e8e0cf AP_OSD: fix compiler warnings 2018-07-26 10:25:56 -07:00
Alexander Malishev 1377943eb3 HAL_ChibiOS: fix DTCM size in stm32f745 mcu 2018-07-26 17:52:37 +10:00
Michael du Breuil 46355e3de9 AP_Math: Add a warning to rotations to indicate that it is expected to
match the MAVLink definitions
2018-07-26 12:58:14 +09:00