Peter Barker
15308af230
AP_HAL_SITL: avoid lockstep scheduling issue with semaphores
...
If there is another thread holding a lock that the main thread wants to
take while pretending to be the IO thread, we will wait forever as we do
not move SITL time forward while pretending to be the IO thread.
This patch simply allows time to move forward if we've failed to take a
semaphore immediately and need to wait.
2019-09-10 21:01:37 +10:00
Andy Piper
dde6dec145
AP_InertialSensor: correct reboot documentation for batch logger and filters
2019-09-10 20:29:56 +10:00
Randy Mackay
0e1a2efb7c
EKF3: RNG_USE_HGT param only used when ALT_SOURCE = rangefinder
2019-09-10 18:44:52 +10:00
Randy Mackay
94a52b3525
EKF2: RNG_USE_HGT param only used when ALT_SOURCE = rangefinder
2019-09-10 18:44:52 +10:00
Andrew Tridgell
b33afde884
HAL_ChibiOS: allow safety button on CUAV_GPS to be used for "stay in bootloader"
...
allows for recovery of bad CAN firmware
2019-09-10 16:22:33 +10:00
Andrew Tridgell
c6a9f067e2
HAL_ChibiOS: enable LEDs on CUAV_GPS
2019-09-10 16:22:33 +10:00
Andrew Tridgell
3dfe15443d
HAL_ChibiOS: fixed orientation of CUAV_GPS compass
2019-09-10 16:22:33 +10:00
Andrew Tridgell
21cce1385a
AP_UAVCAN: support safety buttons on UAVCAN
...
the button works in parallel with any button attached by IOMCU or by a
pin, and obeys all the same BRD_SAFETY* options
2019-09-10 16:22:33 +10:00
Andrew Tridgell
03c1a8bfd9
HAL_ChibiOS: use safety button logic from AP_BoardConfig
2019-09-10 16:22:33 +10:00
Andrew Tridgell
5a96e374ba
AP_BoardConfig: moved logic for safety button press to AP_BoardConfig
...
this allows for common code between CAN and pin safety switches, as
well as making the code neater as most of the logic is related to
AP_BoardConfig options
2019-09-10 16:22:33 +10:00
Andrew Tridgell
82a98ef95d
AP_Notify: added NTZ_BUZZ_VOLUME parameter
...
it is fairly non-linear, but does work
2019-09-10 16:22:33 +10:00
Andrew Tridgell
39f4f7c208
AP_UAVCAN: added safety LED and button messages
2019-09-10 16:22:33 +10:00
Andrew Tridgell
0ea67943b9
HAL_ChibiOS: enable safety button on CUAV_GPS
2019-09-10 16:22:33 +10:00
Andrew Tridgell
c6c1c4bc31
AP_UAVCAN: support safety LEDs on UAVCAN
2019-09-10 16:22:33 +10:00
Andrew Tridgell
186eedf838
HAL_ChibiOS: enable safety LED
2019-09-10 16:22:33 +10:00
Andrew Tridgell
75696997cc
HAL_ChibiOS: added buzzer support to CUAV_GPS
2019-09-10 16:22:33 +10:00
Andrew Tridgell
7c57546eb1
AP_Notify: support UAVCAN buzzers
2019-09-10 16:22:33 +10:00
Andrew Tridgell
d55f76c88e
AP_UAVCAN: added buzzer support
2019-09-10 16:22:33 +10:00
Peter Barker
8fc55b9678
GCS_MAVLink: remove comm_get_available
...
available returns an unsigned integer, so this was just weird
2019-09-10 15:45:27 +10:00
Andrew Tridgell
cbe0af2463
HAL_ChibiOS: setup for LEDs on KakuteF4
...
this makes Kopis1 display LEDs properly
2019-09-10 13:03:28 +10:00
Andrew Tridgell
a4924e1c0b
AP_Notify: allow setting of LED count in hwdef.dat
2019-09-10 13:03:28 +10:00
Andrew Tridgell
28b5f2b021
AP_Notify: simplify NeoPixel driver
...
use new API to avoid complexities
2019-09-10 13:03:28 +10:00
Andrew Tridgell
f441223b55
HAL_ChibiOS: implement updated NeoPixel API
...
allow for N leds per chain, and setting separate colours per led in
each chain
2019-09-10 13:03:28 +10:00
Andrew Tridgell
1cb608a9f4
AP_HAL: allow neopixel LEDs to be set more flexibly
...
allow for N leds per chain, with RGB control of each
2019-09-10 13:03:28 +10:00
Tom Pittenger
aa602b5e1b
AP_Notify: add NeoPixel driver
2019-09-10 13:03:28 +10:00
Tom Pittenger
e3416b66dc
AP_HAL_ChibiOS: add Neopixel output type, similar to dshot
2019-09-10 13:03:28 +10:00
Tom Pittenger
52be3903c0
SRV_Channel: add neopixel as an output type
2019-09-10 13:03:28 +10:00
Randy Mackay
aba4a1fdc8
AC_Avoidance: remove OADatabase check that can never be true
2019-09-10 09:15:56 +10:00
Randy Mackay
0dd8525c99
AP_HAL_SITL: resolve compiler warning in sitl_airspeed by using fabsf
2019-09-10 09:15:56 +10:00
Randy Mackay
2d128e0079
AP_Proximity: remove unused var from AriSimSITL
2019-09-10 09:15:56 +10:00
Randy Mackay
d4b047fc1f
SITL: Gripper_EPM compiler warning resolved by using float and fabsf
2019-09-10 09:15:56 +10:00
Randy Mackay
1fd7618238
SITL: remove unused time_diff member
2019-09-10 09:15:56 +10:00
Michael du Breuil
9a7d64e8fc
AP_NavEKF3: Allow the GPS to be responsible for logging
2019-09-10 09:09:17 +10:00
Michael du Breuil
a4d10b2e86
AP_NavEKF2: Allow the GPS to be responsible for logging
2019-09-10 09:09:17 +10:00
Michael du Breuil
f857eb4640
AP_GPS: Take responsibility for logging the GPS if the EKF wants logging
2019-09-10 09:09:17 +10:00
Willian Galvani
b92473111c
AP_LeakDetector: Mark Leak pins RebootRequired
2019-09-09 09:53:28 -07:00
Andy Piper
6f3334b460
AP_Filesystem: build fixes for SITL on macOS
2019-09-09 20:18:00 +10:00
Andrew Tridgell
91e8752c17
HAL_ChibiOS: wrap more libc functions
...
this saves a few k of flash as it avoids linking libc versions of some
functions
2019-09-09 13:31:30 +10:00
Andrew Tridgell
3166f84954
HAL_ChibiOS: added vsnprintf wrapper
...
this allows us to use a common snprintf implementation
2019-09-09 13:31:30 +10:00
Michael du Breuil
ba3cfbfb54
AP_RTC: Don't allow RTC times before 2019
2019-09-09 04:43:29 +10:00
Andrew Tridgell
aa20be4270
AP_RCProtocol: fixed SUMD with 16 channels
...
with 16 channels it is more than 3ms per frame
2019-09-07 10:02:26 +10:00
Andrew Tridgell
df387dc396
AP_Compass: allow rotation of BMM150 compass
2019-09-07 09:53:21 +10:00
Andrew Tridgell
1cb775e2c2
AP_Compass: probe more addresses for IST8310
...
IST8310 can be on 4 possible i2c addresses
2019-09-07 07:35:54 +10:00
Andrew Tridgell
5e5c30efe8
HAL_SITL: allow SITL to use SERIALn_PROTOCOL=23
...
this allows for testing of RC input protocol parsing in SITL
2019-09-06 08:51:45 +10:00
Andrew Tridgell
c8de2ec9c7
AP_RCProtocol: added update() method for use by SITL
2019-09-06 08:51:45 +10:00
Andrew Tridgell
4b48e80c26
AP_SerialManager: fixed AP_Periph build
2019-09-06 08:51:45 +10:00
Andrew Tridgell
83872c23e5
HAL_ChibiOS: fixed AP_Periph build
2019-09-06 08:51:45 +10:00
Andrew Tridgell
fd80220d3e
HAL_ChibiOS: setup PH4-mini RCIN port by default
2019-09-06 08:51:45 +10:00
Andrew Tridgell
54649a0e4f
HAL_ChibiOS: fixed KakuteF4 define for SERIAL2
2019-09-06 08:51:45 +10:00
Andrew Tridgell
06b272705e
HAL_ChibiOS: run RCIN thread at 1kHz
...
this gives fast enough response for SBUS parsing on a UART
2019-09-06 08:51:45 +10:00
Andrew Tridgell
6983186210
AP_HAL: added get_options() method on UARTs
2019-09-06 08:51:45 +10:00
Andrew Tridgell
c841b39ea2
HAL_ChibiOS: switch to AP::RC() for AP_RCProtocol
2019-09-06 08:51:45 +10:00
Andrew Tridgell
bf2cf7834d
HAL_ChibiOS: fixed a bug in parity/stop-bit setting on STM32F7 and H7
...
and add get_options() method
2019-09-06 08:51:45 +10:00
Andrew Tridgell
312018898f
HAL_Linux: use AP::RC()
2019-09-06 08:51:45 +10:00
Andrew Tridgell
672d09c965
AP_IOMCU: use AP::RC() for AP_RCProtocol
2019-09-06 08:51:45 +10:00
Andrew Tridgell
cbdb23afb5
AP_SerialManager: support SERIALn_PROTOCOL=23 for RC input
...
sets up an extra RC input port
2019-09-06 08:51:45 +10:00
Andrew Tridgell
2b856abdd1
AP_RCProtocol: support an additional uart on RC input
...
this will allow for any UART to be configured as an additional RC
input source
2019-09-06 08:51:45 +10:00
Andrew Tridgell
ad2890dc5a
HAL_ChibiOS: added connector pinouts for PH4-mini
2019-09-06 08:51:45 +10:00
Andrew Tridgell
b72dcf6478
AP_Filesystem: use a recursive semaphore
...
this is needed to cope with the mkdir("/APM") in sdcard_retry()
2019-09-06 08:51:04 +10:00
Andrew Tridgell
7afd51d03e
AP_Frsky_Telem: move FrSky handling to it's own thread
...
we are getting timing issues sharing with the other users of the IO
thread. The FrSky protocols are quite timing sensitive, so this should
help
2019-09-05 10:50:17 +10:00
Randy Mackay
fb38db6640
AP_AHRS: resolve compile warning in AP_AHRS_DCM::use_compass
2019-09-05 08:39:10 +10:00
Andrew Tridgell
b344946300
HAL_ChibiOS: prevent duplicate sensors in hwdef.dat
...
throw an error on configure if there is a duplicate
2019-09-05 06:37:35 +10:00
Andrew Tridgell
2c5c8106a5
HAL_ChibiOS: removed duplicate barometer from fmuv5
2019-09-04 21:24:01 +10:00
Peter Barker
df5921a87c
GCS_MAVLink: gate AP_DEVO_Telem behind !HAL_MINIMIZE_FEATURES
2019-09-04 17:47:33 +10:00
Andrew Tridgell
708ee47c03
HAL_ChibiOS: fixed f103 rm3100
2019-09-04 16:27:47 +10:00
Andrew Tridgell
c2c8702329
HAL_ChibiOS: convert remaining boards to use COMPASS specifier
2019-09-04 16:27:47 +10:00
Andrew Tridgell
3aa01448ff
HAL_ChibiOS: use COMPASS specifier for f103-periph
2019-09-04 16:27:47 +10:00
Andrew Tridgell
f18a18c0ee
AP_Baro: use GET_I2C_DEVICE() for i2c probes
...
for consistency with compass and INS
2019-09-04 16:27:47 +10:00
Andrew Tridgell
2bc7db4cca
AP_HAL: removed old HAL_COMPASS_ defines (no longer used)
2019-09-04 16:27:47 +10:00
Andrew Tridgell
bd0760f9d4
AP_Compass: removed unusued compass probes
...
now only use probe lists
2019-09-04 16:27:47 +10:00
Andrew Tridgell
43e011c7a8
AP_HAL: convert Linux compass specification to new probe list
...
this avoids the special handling in AP_Compass library
2019-09-04 16:27:47 +10:00
Andrew Tridgell
3bc8522b54
AP_Compass: added ROTATION_NONE to probes
...
we no longer use defaults in the headers
2019-09-04 16:27:47 +10:00
Andrew Tridgell
f877def909
AP_Compass: removed default rotations for compass probe
...
this prevents bugs where the force_external and rotation are mixed up
in hwdef.dat causing incorrect rotations
2019-09-04 16:27:47 +10:00
Andrew Tridgell
2a48241ebb
AP_Compass: fixed naming of QMC5883L driver
...
needed for probe using COMPASS macro in hwdef.dat
2019-09-04 16:27:47 +10:00
Andrew Tridgell
316e7cf7e6
HAL_ChibiOS: fixed mini-pix compass and baro probing
...
removed dup baro and fixed compass probe
2019-09-04 16:27:47 +10:00
Andrew Tridgell
2509b50852
AP_Baro: define GET_I2C_DEVICE()
2019-09-04 16:27:47 +10:00
Andrew Tridgell
15e15e0b9d
AP_InertialSensor: define GET_I2C_DEVICE()
2019-09-04 16:27:47 +10:00
Andrew Tridgell
beca17c638
HAL_ChibiOS: use GET_I2C_DEVICE() for i2c probing
...
this allows for the driver probing to use a macro to prevent loading
of duplicate i2c devices (AP_Compass does this)
2019-09-04 16:27:47 +10:00
Michael du Breuil
e19f0ef238
AP_HAL_ChibiOS: Remove set_stop_pin from AnalogSource
2019-09-04 09:54:50 +10:00
Michael du Breuil
75b241622f
AP_HAL_Empty: Remove set_stop_pin from AnalogSource
2019-09-04 09:54:50 +10:00
Michael du Breuil
979a431e4a
AP_HAL_Linux: Remove set_stop_pin from AnalogSource
2019-09-04 09:54:50 +10:00
Michael du Breuil
69d3e97533
AP_HAL_SITL: Remove set_stop_pin from AnalogSource
2019-09-04 09:54:50 +10:00
Michael du Breuil
c12652b325
AP_Rangefinder: Remove stop pin usage
2019-09-04 09:54:50 +10:00
Michael du Breuil
927a0521e3
AP_HAL: Remove the empty force_safety_no_wait
2019-09-04 07:14:50 +10:00
Michael du Breuil
e5eeb6181d
GCS_MAVLink: Remove the usage of force_safety_no_wait
2019-09-04 07:14:50 +10:00
Michael du Breuil
5711c2cbac
AP_UAVCAN: Remove the usage of force_safety_no_wait
2019-09-04 07:14:50 +10:00
Michael du Breuil
53860b53ac
AP_BoardConfig: Remove the usage of force_safety_no_wait
2019-09-04 07:14:50 +10:00
Michael du Breuil
a74f00d045
GCS_MAVLink: Remove single use method
2019-09-03 14:35:17 +10:00
Michael du Breuil
8adc6ba3ad
AP_Notify: Add an alternate LED scheme
2019-09-03 11:50:52 +10:00
E Thomas
c09d6908ed
Enabled active buzzer output on OmnibusNanoV6
2019-09-03 09:59:53 +10:00
Peter Barker
7ea449076f
AP_NavEKF3: use timing logging from AP_NavEKF
2019-09-03 09:28:37 +10:00
Peter Barker
c8fac758ee
AP_NavEKF2: use timing logging from AP_NavEKF
2019-09-03 09:28:37 +10:00
Peter Barker
6d71ef5cf8
AP_Logger: move EKF timing logging out to EKF
2019-09-03 09:28:37 +10:00
Peter Barker
9e0f525f69
AP_NavEKF: move logging in from AP_Logger
2019-09-03 09:28:37 +10:00
Peter Barker
9da0efaaef
GCS_MAVLink: fill SYS_STATUS bits from AC_Fence
2019-09-03 09:12:24 +10:00
Andrew Tridgell
9c900c7176
AP_RangeFinder: added driver for Lanbao CM8JL65
2019-09-03 09:10:48 +10:00
Peter Hall
2f3c0447eb
RC_Channel: add fence and value for rover
2019-09-02 11:03:27 +09:00
Andrew Tridgell
172c802ffa
AP_RangeFinder: support native I2C protocol on LightWare Lidars
...
this supports both the native and the legacy I2C protocol for
LightWare Lidars. The native protocol is a string based protocol that
is enabled by default on new Lidars. By supporting both protocols we
avoid the need for users to re-configure their new lidar using a
serial cable before using it on I2C.
This driver was originally written by Mitch Koch and Jonathan
Challinger, and ported to master by me (it required only minor
changes)
2019-09-02 07:20:22 +10:00
Peter Hall
fdb6da0793
RC_Channel: define sailboat mainsail and motor input channels
...
The unusual use of 207 is in preparation for Peter Barker's RCMAP replacement PR which uses 200 to 206
2019-09-01 09:11:25 +09:00
Peter Hall
3dd0ebaf0d
AP_WindVane: add wind_speed_enabled method
2019-09-01 09:11:25 +09:00