Commit Graph

17649 Commits

Author SHA1 Message Date
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
liang.tang
8664ed006a AC_Circle: use stopping point to get closest point on circle 2018-07-26 12:12:07 +09:00
Raouf
e55369b1c8 AC_Fence: add always land option 2018-07-26 10:08:45 +09:00
Aaron Wang Shi
1304d37699 AP_HAL_Linux: fix bhat GPS SPI conflict 2018-07-24 11:28:22 -07:00
Andrew Tridgell
b130036798 HAL_SITL: use SIM_RC_CHANCOUNT 2018-07-24 19:44:03 +10:00
Andrew Tridgell
128ea42286 SITL: added SIM_RC_CHANCOUNT parameter 2018-07-24 19:44:03 +10:00
Andrew Tridgell
787493277e AP_Arming: only check trim on valid channel count 2018-07-24 19:44:03 +10:00
Peter Barker
937d8dac97 AP_Motors: remove unneeded initialisations 2018-07-23 16:30:40 +09:00
Peter Barker
610bcb3387 AP_Parachute: remove un-needed initialisations 2018-07-23 13:53:33 +09:00
Peter Barker
ec6e2b9da8 AP_RPM: remove unneeded initialisations
These should always be static
2018-07-23 13:53:09 +09:00
Peter Barker
d3877bf2d0 AP_WheelEncoder: remove un-needed initialisations
Should only be created statically
2018-07-23 13:52:34 +09:00
Peter Barker
57bc4d8736 AP_Mount: remove un-needed initialisations
These objects should always be created with new() or statically.
2018-07-23 13:18:37 +09:00