Commit Graph

18295 Commits

Author SHA1 Message Date
Andrew Tridgell
87cf160875 AP_RCProtocol: switched SBUS to SoftSerial decoder 2018-11-07 07:35:45 +11:00
Andrew Tridgell
b7c4ae8ae9 AP_RCProtocol: added separate soft serial decoder
this will replace the version in each protocol
2018-11-07 07:35:45 +11:00
Andrew Tridgell
a69f66eadd HAL_ChibiOS: ensure RCIN sigbuf has even number of words
ObjectBuffer rounds up by 1, leaving an odd number of words, which
caused DSM RC input corruption
2018-11-07 07:35:45 +11:00
Andrew Tridgell
6c128fcaf2 HAL_ChibiOS: signal2 does not need to be DMA safe 2018-11-07 07:35:45 +11:00
Andrew Tridgell
7e8b6709ae AP_RCProtocol: improved reliability of DSM vs SRXL detection
base detection on framing, not including failsafe
2018-11-07 07:35:45 +11:00
Andrew Tridgell
3d90ddc453 AP_IOMCU: fixed stop bits in sbus output 2018-11-07 07:35:45 +11:00
Andrew Tridgell
e3a01c661f HAL_ChibiOS: switched to USB for console on pixracer 2018-11-07 07:35:45 +11:00
Andrew Tridgell
366361f0bb SITL: fixed running of example programs 2018-11-07 07:35:45 +11:00
Andrew Tridgell
5480479e73 HAL_SITL: fixed SITL example progs 2018-11-07 07:35:45 +11:00
Andrew Tridgell
a7c5ac8902 AP_IOMCU: run main loop at max rate
removed delay in main loop to reduce latency of RC input. This works
as we only have one thread
2018-11-07 07:35:45 +11:00
Andrew Tridgell
53b6f38027 AP_RCProtocol: allow switching between all protocols on IOMCU
this allows searching for uart protocols after losing a pulse based
protocol
2018-11-07 07:35:45 +11:00
Andrew Tridgell
56203204cc HAL_ChibiOS: fixed build of bootloaders 2018-11-07 07:35:45 +11:00
Andrew Tridgell
b950b83eea HAL_ChibiOS: fixed build with EICU RC input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
2159198c3e AP_IOMCU: allow DSM input as pulses in iomcu
useful for receivers where DSM uses a normal servo plug
2018-11-07 07:35:45 +11:00
Andrew Tridgell
eca4fec2aa AP_RCProtocol: use pulses as clock for frame timeout
for SRXL and DSM we should judge a frame timeout from the pulses,
otherwise lag in the DMA capture can cause a false frame drop
2018-11-07 07:35:45 +11:00
Andrew Tridgell
faf8f73437 AP_RCProtocol: added process_pulse_list()
this provides more efficient processing of RC pulses
2018-11-07 07:35:45 +11:00
Andrew Tridgell
5dd0086698 HAL_ChibiOS: make SoftSigReader considerably more efficient
this reduces interrupt latency on the F100, which allows us to use all
RC input protocols on the pulse based decoder, allowing for more
flexibility in RC input protocols
2018-11-07 07:35:45 +11:00
Andrew Tridgell
9ea03e085d AP_HAL: added readptr() and advance() to ObjectBuffer
this gives a more efficient way of accessing an ObjectBuffer, which
reduces interrupt latency in SoftSigReader
2018-11-07 07:35:45 +11:00
Andrew Tridgell
e1385573b1 AP_RCProtocol: return protocol name string 2018-11-07 07:35:45 +11:00
Andrew Tridgell
dbc05f787b HAL_ChibiOS: display decoded RC protocol 2018-11-07 07:35:45 +11:00
Andrew Tridgell
d87bef16a2 AP_RCProtocol: require 3 good frames for weak CRC protocols 2018-11-07 07:35:45 +11:00
Andrew Tridgell
e6cadfa2d9 AP_IOMCU: disable DSM and SBUS for pulse input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
68c9f52b3e AP_RCProtocol: allow selection of protocols for pulse input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
9354aca07d AP_RCProtocol: removed some unnecessary millis calls 2018-11-07 07:35:45 +11:00
Andrew Tridgell
49d07ed234 AP_IOMCU: catch parity errors on SBUS input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
c148813c17 AP_IOMCU: enable uart for SBUS input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
d18277487e HAL_ChibiOS: use RCIN pin for only PPM only on iomcu
use uarts for SBUS and other serial protocols
2018-11-07 07:35:45 +11:00
Andrew Tridgell
baf0be6a56 AP_RCProtocol: added check on baudrate in process_byte()
and support process_byte() in SBUS input
2018-11-07 07:35:45 +11:00
Andrew Tridgell
7c1ba15031 HAL_ChibiOS: fixed syntax error on RCIN pin for iomcu 2018-11-07 07:35:45 +11:00
Andrew Tridgell
fab181345c AP_IOMCU: fixed override on RC loss
use mid-stick positions
2018-11-07 07:35:45 +11:00
Andrew Tridgell
86ab3d7669 HAL_ChibiOS: turn off green ring LED on cube 2018-11-07 07:35:45 +11:00
Andrew Tridgell
29fb674f3f AP_IOMCU: use macros for LED outputs in iofirmware 2018-11-07 07:35:45 +11:00
Andrew Tridgell
a8d91a24b6 AP_IOMCU: fixed compat with nuttx firmwares
this allows older firmwares to change the IO firmware back to a nuttx
based firmware
2018-11-07 07:35:45 +11:00
Andrew Tridgell
c767828f11 AP_RCProtocol: prevent mixing of byte and pulse input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
fcc259ae31 HAL_ChibiOS: separate out F1 CR1 calculations
and modify pin speeds for iomcu uarts
2018-11-07 07:35:45 +11:00
Andrew Tridgell
107ccb3eef AP_IOMCU: enable DSM input in iofirmware 2018-11-07 07:35:45 +11:00
Andrew Tridgell
7e66bb69b9 HAL_ChibiOS: enable amber LED on iomcu 2018-11-07 07:35:45 +11:00
Andrew Tridgell
ae0ccbcea9 AP_RCProtocol: support byte input for DSM 2018-11-07 07:35:45 +11:00
Andrew Tridgell
56d0d6b9be AP_RCProtocol: make singleton
used by iomcu
2018-11-07 07:35:45 +11:00
Andrew Tridgell
b9e4916c17 AP_IOMCU: fixed delay in DSM bind 2018-11-07 07:35:45 +11:00
Andrew Tridgell
2488d25284 AP_IOMCU: fixed rate of failsafe handling 2018-11-07 07:35:45 +11:00
Andrew Tridgell
f8dc17f8ff AP_IOMCU: implement DSM bind 2018-11-07 07:35:45 +11:00
Andrew Tridgell
184c05bc70 AP_IOMCU: fixed DSM bind 2018-11-07 07:35:45 +11:00
Andrew Tridgell
3ab1cd4808 HAL_ChibiOS: fixed build 2018-11-07 07:35:45 +11:00
Andrew Tridgell
c57fe83217 AP_IOMCU: rename sbus_out.cpp to rc.cpp
will also handle DSM input on USART1
2018-11-07 07:35:45 +11:00
Eugene Shamaev
4d64b86f87 AP_IOMCU: Add binding procedure for DSMx 2018-11-07 07:35:45 +11:00
Eugene Shamaev
032c5ab707 AP_HAL_ChibiOS: Binding update for DSM 2018-11-07 07:35:45 +11:00
Andrew Tridgell
843772a2bc AP_IOMCU: added some debug code
and lower PKT_MAX_REGS to reduce max DMA size. This fixes an
occasional fault
2018-11-07 07:35:45 +11:00
Andrew Tridgell
f69360844f HAL_ChibiOS: enable USART1 for iomcu for spektrum input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
065dba973b HAL_ChibiOS: fixed build warning on iomcu 2018-11-07 07:35:45 +11:00
Andrew Tridgell
8ece4e3f64 AP_IOMCU: implement BRD_SAFETY_MASK in iofirmware 2018-11-07 07:35:45 +11:00
Andrew Tridgell
81fe8b7138 HAL_ChibiOS: allow set of safety mask from IOMCU 2018-11-07 07:35:45 +11:00
Andrew Tridgell
beff16abe6 AP_IOMCU: implement manual_rc_mask 2018-11-07 07:35:45 +11:00
Andrew Tridgell
27f06ce810 AP_IOMCU: trigger override at 1750
thanks Michael
2018-11-07 07:35:45 +11:00
Andrew Tridgell
46fcfe0582 AP_IOMCU: removed rc_channel range check
feedback from @WickedShell
2018-11-07 07:35:45 +11:00
Andrew Tridgell
e70a98fa9a AP_IOMCU: support elevon and vtail mixing in failsafe 2018-11-07 07:35:45 +11:00
Andrew Tridgell
285508d568 AP_IOMCU: added initial mixing support
supports aileron, elevator, throttle and rudder
2018-11-07 07:35:45 +11:00
Andrew Tridgell
ec73a7072b AP_IOMCU: use more bandwidth efficient IO read 2018-11-07 07:35:45 +11:00
Andrew Tridgell
191f72d2e6 AP_IOMCU: added mixing structure to protocol 2018-11-07 07:35:45 +11:00
Andrew Tridgell
8d5b9521ad AP_Arming: added IOMCU health check 2018-11-07 07:35:45 +11:00
Michael du Breuil
b5caea19da AP_WheelEncoder: Fix AP_WheelRateControl::get_pid() always returning the
first pid

CID: 318644
2018-11-06 12:19:15 +09:00
Michael du Breuil
b38200a960 AP_WheelEncoder: Fix integer division limiting wheel encoder accuracy
CID: 318646
2018-11-06 12:19:15 +09:00
Michael du Breuil
c712e926d7 AP_Baro: Avoid returning 0.0f for EAS2TAS 2018-11-06 13:44:18 +11:00
Peter Barker
3749cfd764 GCS_MAVLink: allow vehicles to override VFR_HUD.alt 2018-11-06 11:26:38 +09:00
Randy Mackay
7fdd0bd996 AP_RangeFinder: Benewake driver discards distances over 327m 2018-11-06 11:58:32 +11:00
Peter Barker
3803684c4e DataFlash: add sanity checks around EraseAll 2018-11-06 10:15:03 +11:00
Andrew Tridgell
cab5199da8 AP_IOMCU: fixed a race in event trigger on startup
this fixes the issue with initial safety option state, and with
initial safety mask
2018-11-05 19:24:44 +11:00
Peter Barker
0afc9bf724 AP_Mount: SoloGimbal: avoid calling safe_sqrtf 2018-11-05 16:24:29 +11:00
Peter Barker
126065e95c AP_Mount: trim out dead getDebug method 2018-11-05 16:24:29 +11:00
Peter Barker
d9d9a298bb AP_SmartRTL: stop constructing/copying Bitmask 2018-11-05 12:17:55 +09:00
Peter Barker
6b7e04da06 AP_Common: Bitmask: remove copy operator and constructor 2018-11-05 12:17:55 +09:00
Peter Barker
8641dcbc31 AP_Mount: SoloGimbal: stop taking reference to AHRS 2018-11-05 11:41:31 +09:00
fat_dell
d1f557e96b HAL_ChibiOS: added Omnibusf4v6 board, based on omnibusnanov6. 2018-11-04 22:00:15 +11:00
murata
6db54bd65e AC_AttitudeControl: Change from sqrt to safe_sqrt 2018-11-03 15:23:15 +09:00
murata
998dd7207f AP_Mount: Change from sqrt to safe_sqrt 2018-11-03 15:23:08 +09:00
Andrew Tridgell
49ce9d02b1 HAL_ChibiOS: ensure RC in channels are bounded 2018-11-02 22:52:25 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
6b2ad734b6 AP_BLHeli: correct SERVO_BLH_POLES parameter value range metadata 2018-11-02 20:44:15 +09:00
Randy Mackay
0aaa6bf054 AP_WindVane: rename variables and parameters
also update comments and parameter descriptions
remove redundant wrap_PI
2018-11-01 18:04:19 +09:00
Randy Mackay
ecd1f8e658 AP_WindVane: add send_wind 2018-11-01 18:04:19 +09:00
IamPete1
bc1cf6a87a AP_WindVane: add wind speed 2018-11-01 18:04:19 +09:00
Randy Mackay
ff4ef4968e AP_WindVane: switch x and y in read_SITL_direction_ef 2018-11-01 18:04:19 +09:00
Randy Mackay
836237cc49 AP_WindVane: update parameter descriptions 2018-11-01 18:04:19 +09:00
IamPete1
e42c3c6fab RC_Channel: add Sailboat Tack to aux switch 2018-11-01 18:04:19 +09:00
vierfuffzig
e04ebb1326 HAL_ChibiOS: set BATT_MON default on boards with onboard volt/curr sens 2018-10-31 21:29:33 +11:00
Andrew Tridgell
6c6dabc33c AP_HAL: set default batt monitoring for bebop and disco 2018-10-31 20:30:35 +11:00
Andrew Tridgell
1a5d60609d AP_BattMonitor: added BATT_MONITOR_DEFAULT option
this is for boards with builtin current and voltage monitoring
2018-10-31 20:30:35 +11:00
Andrew Tridgell
78a32df2e7 HAL_ChibiOS: make all boards base GPIOs for servos at 50
this makes the docs for GPIO pins consistent across boards
2018-10-31 20:10:52 +11:00
Peter Barker
156ac83123 DataFlash: allow replay to work again 2018-10-31 16:05:33 +11:00
fnoop
deeaf6ec09 AP_HAL_ChibiOS: Add UARTS to F405-Wing bootloader
AP_HAL_ChibiOS: Add pins to support new UART_ORDER uarts

AP_HAL_ChibiOS: Add UARTs to F405-Wing hwdef-bl.dat to support firmware upload on UARTS
2018-10-31 16:01:39 +11:00
Michael du Breuil
922d593f3d AP_Mount: Fix strncpy warning 2018-10-30 16:17:03 -07:00
Michael du Breuil
3d7d23531a AP_OpticalFlow: No need to clear already zerod objects 2018-10-30 16:17:03 -07:00
Michael du Breuil
d6944510da AP_GPS: Suppress clearing non-trival type warning 2018-10-30 16:17:03 -07:00
Michael du Breuil
25ef5fed82 AP_NavEKF3: Suppress clearing non-trival type warning 2018-10-30 16:17:03 -07:00
Michael du Breuil
29db069c75 AP_NavEKF2: Suppress clearing non-trival type warning 2018-10-30 16:17:03 -07:00
Michael du Breuil
dda7c615a8 AP_Mount: Suppress clearing non-trival type warning 2018-10-30 16:17:03 -07:00
Michael du Breuil
4852562ec7 AP_AHRS: Suppress clearing non-trival type warning 2018-10-30 16:17:03 -07:00
Michael du Breuil
a2a8ac15b3 AP_Scripting: Add access to SRV_Channels::set_output_pwm
This also provides a more intresting function, with range checking. We
could choose to ignore this range checking and leave the script author
responsible for managing this, but it's probably better to protect the
author from themselves as much as possible, even if it makes the API
binding harder to automate
2018-10-30 16:17:03 -07:00
Michael du Breuil
ac63e55c8d SRV_Channel: Add scripting outputs 2018-10-30 16:17:03 -07:00
Michael du Breuil
2c3fe0cbcf AP_Scripting: Load a sandbox enviorment 2018-10-30 16:17:03 -07:00
Michael du Breuil
0acb1103b0 AP_ROMFS: make all decompressions null terminated 2018-10-30 16:17:03 -07:00
Michael du Breuil
beaa069082 AP_Scripting: Disable lua coroutines 2018-10-30 16:17:03 -07:00
Peter Barker
f0ca4de313 AC_WPNav: add reached_wp_destination_xy 2018-10-30 17:50:46 +09:00
Peter Barker
1eac03a257 GCS_MAVLink: scale parameter send rate according to link bandwidth 2018-10-30 19:31:37 +11:00
Peter Barker
aed3527fb7 AP_HAL_PX4: return uart link bandwidth 2018-10-30 19:31:37 +11:00
Peter Barker
d2cf065fdf AP_HAL_ChibiOS: return uart link bandwidth 2018-10-30 19:31:37 +11:00
Peter Barker
f8b1203399 AP_HAL: provide method returning approximate link bandwidth 2018-10-30 19:31:37 +11:00
Peter Barker
178d26f8e3 AP_Mount: add general function for handling mavlink messages
AP_Mount: const parameters, add overrides, remove bad virtual declarations

AP_Mount: use AHRS singleton

AP_Mount: make status_msg pure-virtual and add override keyword

AP_Mount: handle deprecated mavlink control and configure msgs

AP_Mount: handle MAV_CMD_DO_MOUNT_CONFIGURE

AP_Mount: rename status_msg method to send_mount_status
2018-10-30 17:19:14 +11:00
Peter Barker
890a62fc51 GCS_MAVLink: move handling of gimbal messages up
GCS_MAVLink: move handling of mav_cmd_do_mount_control up

GCS_MAVLink: move handling of deprecated mount messages up

GCS_MAVLink: move handling of command_do_set_roi up

GCS_MAVLink: move handling of command_do_set_roi up

GCS_MAVLink: handle MAV_CMD_DO_MOUNT_CONFIGURE

GCS_MAVLink: call renamed AP_Mount send_mount_status msg

GCS_MAVLink: add support for MAV_CMD_DO_SET_ROI_LOCATION
2018-10-30 17:19:14 +11:00
Peter Barker
4ae6aeed7e AP_Mount: add singleton 2018-10-30 17:19:14 +11:00
Peter Barker
1e39c17908 AP_Mission: return true if cmd-do was handled, false otherwise 2018-10-30 15:37:18 +11:00
Peter Barker
b1b5a7868d AP_Mission: handle common camera commands 2018-10-30 15:37:18 +11:00
Peter Barker
51d4b2da34 AP_Mission: move servorelayevents handling into AP_Mission 2018-10-30 15:37:18 +11:00
Peter Barker
182d3634aa AP_Mission: handle gripper mission items 2018-10-30 15:37:18 +11:00
Peter Barker
8ebec6a237 AP_Mission: create start_command and verify_command wrappers 2018-10-30 15:37:18 +11:00
Andrew Tridgell
3505314e64 AP_BoardConfig: updated BRD_PWM_COUNT docs
This reflects the use of this parameter under ChibiOS
2018-10-30 13:36:39 +09:00
chobits
ed12c6719d GCS_MAVLink: log vision data pitch/roll/yaw in degree 2018-10-30 11:39:47 +09:00
Andrew Tridgell
7e777d8b28 HAL_ChibiOS: disable loop() delay for iofirmware 2018-10-30 13:00:48 +11:00
Andrew Tridgell
1711b93602 AP_IOMCU: fixed read packet count 2018-10-30 13:00:48 +11:00
Andrew Tridgell
6c761fa864 HAL_ChibiOS: shutdown IOMCU on reboot 2018-10-30 13:00:48 +11:00
Andrew Tridgell
ed48c24600 AP_IOMCU: added shutdown method
this cleans up the reboot process
2018-10-30 13:00:48 +11:00
Andrew Tridgell
f600ebd758 AP_IOMCU: added SBUS output support 2018-10-30 13:00:48 +11:00
Andrew Tridgell
e46a640b2c AP_SbusOut: expose SBUS formatting function 2018-10-30 13:00:48 +11:00
Andrew Tridgell
b3946fc458 HAL_ChibiOS: added uart for sbus out in IOMCU 2018-10-30 13:00:48 +11:00
Andrew Tridgell
af4340d1d1 HAL_ChibiOS: enable analog input on IOMCU 2018-10-30 13:00:48 +11:00
Andrew Tridgell
b45b8ff703 AP_IOMCU: added analog input to iofirmware 2018-10-30 13:00:48 +11:00
Andrew Tridgell
a6b35d6496 HAL_ChibiOS: restore old ODR behaviour for F4 boards
This fixes an issue with ESP8366 on Pixracer
2018-10-30 12:49:16 +11:00
Randy Mackay
2c29f0d45a RC_Channel: handle AC_Avoid enable and disable
Also change Copter's option from Object Avoidance to Proximity Avoidance
due to impending AP_Avoidance stuff

RC_Channel: update aux switch param docs to add object avoidance
2018-10-30 12:10:42 +11:00
Randy Mackay
e6b8607baf RC_Channel: formatting and comment fix 2018-10-30 12:10:42 +11:00
Peter Barker
9c0bb9c47d AC_Fence: do not enable altitude fence on Rover by default 2018-10-30 12:10:42 +11:00
Peter Barker
413ef5a3b4 AC_Avoid: add singleton 2018-10-30 12:10:42 +11:00
Phillip Kocmoud
27a2b8a350 AP_Compass: Increase default MAX compass offset
After discussing the @tridge and @rmackay9 it was suggested that raising the maximum allowable compass offset value would allow users of the LIS3MDL and possibly others with larger compass offsets to fly with the default setting. 

This has been deemed a fairly safe change that still allows for sufficient overhead to prevent saturation.
2018-10-30 09:25:51 +09:00
murata
c8f93a3ddc RangeFinder: Added statement FALLTHROUGH 2018-10-30 09:13:29 +09:00
ChrisBird
d8281f3171 AP_Camera: Adding ability to control the Black Magic Micro Cinema Camera
via SBUS from the flight controller directly.  Handles the flipping of
certain channels.  Relies on change to SRV_Channel to add additional functions.
2018-10-30 11:12:01 +11:00
ChrisBird
a2c7d124cb SRV_Channel: Updated to include additional camera functions 2018-10-30 11:12:01 +11:00
Peter Barker
c73beffe1b AP_Mount: factor out a rate_input_rad, const various functions 2018-10-30 11:07:53 +11:00
Peter Barker
dcd930497a AC_AttitudeControl: AC_PosControl: avoid calling norm()
The result of this won't be used as often as this loop is called
2018-10-30 09:00:23 +09:00
Andrew Tridgell
6dd44a6d35 HAL_ChibiOS: fixed LED mapping for fmuv4 2018-10-29 14:04:32 +11:00
Nghia Nguyen
513eb1f5db AP_Rangefinder: Add support for Garmin LidarLite-V3HP 2018-10-27 11:22:57 +01:00
Randy Mackay
06aa29eb2a AC_Fence: get_polygon_points does not include return point 2018-10-26 14:38:04 +09:00
Randy Mackay
7aae970ae7 AC_Avoid: constify a few local variables 2018-10-26 14:38:04 +09:00
Randy Mackay
b7f3140441 AC_Avoid: stop includes margin for intersection calc
the simpler stop feature (as opposed to slide) was not including the margin when looking for intersections with the boundary meaning it could slow too late
2018-10-26 14:38:04 +09:00
Randy Mackay
7fa592e673 AP_Proximity: increase MAV driver timeout to 500ms
this comes after testing with ROS/mavros and discovering the update rate is only 4hz
2018-10-26 14:38:04 +09:00
Randy Mackay
82a28dc0fc AP_RangeFinder: check I2C dev during detect 2018-10-26 13:33:27 +09:00
Lucas De Marchi
9d95579b2d AP_Compass: update TYPEMASK documentation
Add missing drivers IST8308 and MAG3110.
2018-10-25 20:19:30 -07:00
Lucas De Marchi
34fb98b1e0 AP_Compass: probe for IST8308 on external buses 2018-10-25 20:19:30 -07:00
Lucas De Marchi
c3d87f91fc AP_Compass: add support to IST8308 2018-10-25 20:19:30 -07:00
Michael du Breuil
5846a54c17 AC_AttitudeControl: Fix copy paste param doc error 2018-10-25 09:50:00 +11:00
ebethon
f67a9af339 AP_GPS: fix SBAS mode in the SBP2 driver 2018-10-24 13:12:34 -07:00
chobitsfan
1e56ad4837 AP_NavEKF2: add external nav system to POSNE_M_NSE description 2018-10-24 19:14:54 +09:00
chobits
08b9bf4a89 AP_NavEKF2: fix extNav position noise 2018-10-24 19:14:54 +09:00