Commit Graph

21930 Commits

Author SHA1 Message Date
Tatsuya Yamaguchi
2c9e56c4b2 AP_Scripting: allow scripts to get modes 2020-01-14 11:16:29 +11:00
Tatsuya Yamaguchi
1309101a4b AP_Vehicle: allow scripts to get modes 2020-01-14 11:16:29 +11:00
Peter Barker
a9f62f196e GCS_MAVLink: consolidate places we snprintf statustexts 2020-01-14 10:38:43 +11:00
Peter Barker
9410d40b2f AP_OSD: reduce scope of WITH_SEMAPHORE
The backend write() calls don't look nasty ATM - but we should get in,
get out data and get out again ASAP.
2020-01-14 10:36:44 +11:00
Andy Piper
d167dacfae AP_Logger: fix locking issues, uninitialized read and status message length
account for erased partial sectors when looking at wrapped logs
2020-01-14 10:25:42 +11:00
Bill Geyer
bc7e15ab8b AC_InputManager: tradheli-Fix parameter metadata errors 2020-01-13 12:41:30 -05:00
Rishabh
fd2c6baf5d AP_RangeFinder: added RNGFNDx_TYPE parameter description for the Lanbao lidar 2020-01-13 20:34:48 +11:00
murata
b041a8206b AP_OpticalFlow: Deleted parameter descriptions without variables 2020-01-11 11:33:13 +09:00
Andrew Tridgell
8ae5dffd31 GCS_MAVLink: fixed valgrind error in mission upload
affects DO_JUMP
2020-01-11 08:29:34 +11:00
yaapu
e9e02542f1 AP_Frsky_Telem: fix for missing WFQ scheduler initialization
this fixes a missing WFQ scheduler initialization and sets a rate limiter on
status text messages to prevent text corruption
2020-01-11 07:52:09 +11:00
Andrew Tridgell
3556f33051 AP_Frsky_Telem: fixed a race condition with statustext handling
this fixes an issue that can cause a hardfault. See this bug report:

https://discuss.ardupilot.org/t/hexa-crash-after-watchdog-reset/50917

ObjectArray is not thread safe
2020-01-10 19:43:36 +11:00
Andrew Tridgell
74ca9033e2 AP_RCProtocol: fixed support for 22ms multi-frame DSM 2020-01-09 17:38:52 +11:00
Andrew Tridgell
39b738e407 AP_RCProtocol: expand test suite for multi-frame protocols 2020-01-09 17:38:52 +11:00
Andrew Tridgell
6218537ff7 SITL: fixed segv in SITL RCProtocolTest 2020-01-09 17:38:52 +11:00
Randy Mackay
f1047adca5 SRV_Channel: add NeoPixelx to function param description 2020-01-09 11:38:37 +09:00
Peter Barker
3074855ea3 AP_HAL_SITL: correct port numbers in diagnostic output 2020-01-09 09:43:56 +11:00
Andrew Tridgell
5588229f68 AP_RCProtocol: fixed scaling on FPort RSSI
make it match OpenTX
2020-01-09 07:08:11 +11:00
Peter Barker
2f60f783d4 SITL: add simulated Frsky devices 2020-01-08 23:53:48 +11:00
Peter Barker
0c8e6f212d AP_HAL_SITL: add simulated frsky support 2020-01-08 23:53:48 +11:00
Andrew Tridgell
da2f60ae95 AP_SerialManager: ensure users can't break SERIAL0_PROTOCOL
this prevents users from setting SERIAL0_PROTOCOL to something that
prevents them accessing the board. This can happen when users are
trying to setup SLCAN
2020-01-08 20:55:25 +11:00
Peter Barker
ac25b90dda RC_Channel: factor out a do_aux_function_armdisarm method 2020-01-08 18:36:02 +11:00
Peter Barker
10976344b8 RC_Channel: let RC_Channel indicate AUX_FUNC::ARMDISARM needs no initialisation
All users set this.
2020-01-08 18:36:02 +11:00
Peter Barker
4c5c5fff72 AP_Scripting: add some pointers on how to work with bindings 2020-01-07 19:29:12 -07:00
Peter Barker
2c5e07cb09 AP_Logger: log battery and cell information using instance numbers 2020-01-08 13:00:17 +11:00
Rajat Singhal
552191925b SITL: Add OA BendyRuler params for Airsim Lidar, rename file 2020-01-08 09:10:54 +09:00
Rajat Singhal
dccb95efce AP_Proximity: Fix Airsim Proximity sector update
Distance equals least distance in that sector rather than last point sampled
2020-01-08 09:10:54 +09:00
CUAVcaijie
7e89591e90 HAL_ChibiOS: Modify the default orientation of the compass 2020-01-08 07:33:51 +11:00
Andrew Tridgell
fced7d78fc HAL_ChibiOS: fixed clock src for I2C4 on H7 2020-01-08 05:56:23 +11:00
Andrew Tridgell
db777c56b9 AP_GPS: provide yaw feedback in GPS_RAW_INT and GPS2_RAW
allow GPS to display status of GPS yaw for moving baseline and NMEA
2020-01-07 12:37:35 +11:00
Andrew Tridgell
e40c570615 AP_GPS: faster config of moving baseline
thanks to MdB for suggestion
2020-01-07 12:37:35 +11:00
Andrew Tridgell
ebceab9aa0 AP_Compass: don't probe for ICM20948 on AP_Periph 2020-01-07 12:37:35 +11:00
Andrew Tridgell
e660532f67 AP_GPS: fixes from PR review 2020-01-07 12:37:35 +11:00
Andrew Tridgell
41289fe945 AP_GPS: adjust lag for MB RTK ublox
rover will lag by about 40ms
2020-01-07 12:37:35 +11:00
Andrew Tridgell
b86c43aa66 AP_GPS: prefer RTK MB rover when it has yaw available
this ensures that yaw data is time aligned with position and velocity
data
2020-01-07 12:37:35 +11:00
Andrew Tridgell
261465ef96 AP_GPS: split out update_primary() from update()
this makes the selection of primary GPS a lot clearer, with less
nesting of if statements
2020-01-07 12:37:35 +11:00
Andrew Tridgell
93aaf98672 AP_GPS: added automatic u-blox moving baseline configuration
this uses GPS_TYPE and GPS_TYPE2 to setup two u-blox F9 receivers in a
RTK moving baseline configuration
2020-01-07 12:37:35 +11:00
Andrew Tridgell
71a0f3a1dc AP_GPS: added RTCMv3 parser
will be used for moving baseline support
2020-01-07 12:37:35 +11:00
Matt Lawrence
189fee556f AC_WPNav: Circle mode pilot control of rate & radius 2020-01-07 09:30:33 +09:00
Peter Barker
7a5b8136ad AP_AHRS_NavEKF: inform all running EKFs that takeoff or touchdown is expected
Several other methods in here poke both EKFs like this.
2020-01-07 11:06:36 +11:00
Peter Hall
af08379d1b AP_Motors: MatrixTS remove output_to_motors 2020-01-07 10:40:22 +11:00
Peter Hall
615695c1bc AP_Motors: MatrixTS: defualt to normal Matrix setup 2020-01-07 10:40:22 +11:00
Peter Hall
4aa0dfa2aa AP_Motors: output_motor_mask update 2020-01-07 10:40:22 +11:00
Michael du Breuil
5da062b850 AP_Scripting: Forward declare lua_new_uint32_t 2020-01-06 16:02:50 -07:00
Andy Piper
a469a31528 AP_HAL_SITL: prevent dump_stack_trace() blowing up on macOS 2020-01-06 14:57:46 +11:00
Jaaaky
1817280e01 AP_Logger: fix 'last_file' may be used uninitialized with debug build 2020-01-06 14:53:03 +11:00
Randy Mackay
188fdfb1b8 GCS_MAVLink: send optflow message even if no height estimate 2020-01-06 11:36:43 +09:00
Andrew Tridgell
43172bdd57 HAL_ChibiOS: switch non-composite USB ID
use newly allocated 0x1209/0x5740
2020-01-06 11:43:15 +11:00
Andrew Tridgell
793b867706 HAL_ChibiOS: switched to new USB VID for dual-CDC boards 2020-01-06 09:55:26 +11:00
Andrew Tridgell
a2d40d040a AP_UAVCAN: added logging of CAN ESC status 2020-01-05 15:25:56 +11:00
Andrew Tridgell
58fcd4601a AP_Logger: added CESC message for logging CAN ESC status 2020-01-05 15:25:56 +11:00
Andrew Tridgell
b4966f21d8 AP_UAVCAN: added logging of UAVCAN actuator::Status messages
this allows for logging of CAN servo status
2020-01-05 15:25:56 +11:00
Andrew Tridgell
2666853100 AP_Logger: added CSRV logging for CAN servo status 2020-01-05 15:25:56 +11:00
Andrew Tridgell
22f8221427 AP_SerialManager: implement new UART option bits 2020-01-03 17:32:23 +11:00
Andrew Tridgell
bb5c1d07e1 HAL_ChibiOS: implement new UART option bits 2020-01-03 17:32:23 +11:00
Andrew Tridgell
4eccea2607 AP_HAL: define more UART option bits 2020-01-03 17:32:23 +11:00
Andrew Tridgell
ab0f1a8887 HAL_ChibiOS: added max uarts check 2020-01-03 17:32:23 +11:00
Andrew Tridgell
0d31e614ed HAL_ChibiOS: added ALT(1) configs for more boards
this allows more boards to use the FPort protocol
2020-01-03 17:32:23 +11:00
Andy Piper
54b6e7b264 AP_Logger: mavlink backend needs to be the last backend
be really careful to catch aborted erases
take care to protect shared structures in io thread
if flash corruption is detected try and recover whole files
overwrite format in erase to make sure erase happens
output useful messages at critical times
a block is 64k a sector is 4k, rename internal variables appropriately
cope with log wrapping when sending log listings over mavlink
2020-01-02 18:18:04 +11:00
Andrew Tridgell
61f8e6f0d1 HAL_ChibiOS: added alt config for USART6 on MatekF765-Wing 2020-01-02 12:13:55 +11:00
Andrew Tridgell
296a4cb086 HAL_ChibiOS: re-format and fix chibios_hwdef.py for flake8 2020-01-02 09:52:57 +11:00
Andrew Tridgell
9c2b5a05bd HAL_ChibiOS: fixed python3 error 2020-01-02 09:52:57 +11:00
Andrew Tridgell
1b528137f7 GCS_MAVLINK: cope with AP_Frsky_Telem being created after init
may be created by the FPort backend
2020-01-02 09:52:57 +11:00
Andrew Tridgell
f8847bf569 AP_RCProtocol: auto-create Frsky_Telem object when needed for FPort 2020-01-02 09:52:57 +11:00
Andrew Tridgell
9579e64a03 AP_Frsky_Telem: make get_telem_data() static
auto-create the object when it is needed for FPort
2020-01-02 09:52:57 +11:00
Andrew Tridgell
c5df48faa7 HAL_ChibiOS: break out make_line() for PAL_LINE defines 2020-01-02 09:52:57 +11:00
Andrew Tridgell
33182a9f11 AP_RCProtocol: use RC_OPTIONS fport pad option 2020-01-02 09:52:57 +11:00
Andrew Tridgell
7769cf5316 RC_Channel: added FPort pad option 2020-01-02 09:52:57 +11:00
Andrew Tridgell
60a13f4eeb AP_BoardConfig: added BRD_ALT_CONFIG parameter
allow for alternative hw configs to be selected
2020-01-02 09:52:57 +11:00
Andrew Tridgell
66dd5925cf HAL_ChibiOS: added support for alternative pin configs 2020-01-02 09:52:57 +11:00
Andrew Tridgell
06a9baeb9b HAL_ChibiOS: adjust fmuv3 SPI priority
fixes an issue with SPI4 assignment
2020-01-02 09:52:57 +11:00
Andrew Tridgell
a30e637484 HAL_ChibiOS: fixed bug in UART pin assignment
this fixes an issue with the setting of pullup/pulldown on UARTs. It
also adds enforcement of DMA assignment for DMA required peripherals
2020-01-02 09:52:57 +11:00
Andrew Tridgell
8ffd1050eb HAL_ChibiOS: fixed build on STM32F3 2020-01-02 09:52:57 +11:00
Andrew Tridgell
b1ca7380be HAL_ChibiOS: re-implement half-duplex using HDSEL switching
this makes half-duplex more reliable on UARTs with pullups or level
shifters
2020-01-02 09:52:57 +11:00
Andrew Tridgell
faf34970e1 HAL_ChibiOS: automatically control pullup/pulldown on inverted UARTs
this makes setup of sport telemetry much easier
2020-01-02 09:52:57 +11:00
Andrew Tridgell
8792adb6f0 AP_FlashStorage: implement erase() method 2020-01-02 09:52:57 +11:00
Andrew Tridgell
58e915155d HAL_ChibiOS: fixed panic to output error every 500ms 2020-01-02 09:52:57 +11:00
Andrew Tridgell
a733690f80 StorageManager: use hal.storage->erase() 2020-01-02 09:52:57 +11:00
Andrew Tridgell
8fdbb88827 HAL_ChibiOS: implement erase() method on Storage in HAL_ChibiOS 2020-01-02 09:52:57 +11:00
Andrew Tridgell
12b6f73d83 AP_HAL: added erase() method to Storage class 2020-01-02 09:52:57 +11:00
Andrew Tridgell
fd5ff97b59 AP_RCProtocol: support FPort telemetry data
get SPort data from AP_FrSky_Telem
2020-01-02 09:52:57 +11:00
Andrew Tridgell
49f81fbd18 AP_FrSky_Telem: allow for external library to send SPort data
this provides the API needed for AP_RCProtocol_FPort to send
passthrough data over FPORT
2020-01-02 09:52:57 +11:00
Andrew Tridgell
e9dded98ce HAL_ChibiOS: enable UART6 for use as RC input on MatekF765-Wing 2020-01-02 09:52:57 +11:00
Andrew Tridgell
a72eaabc96 AP_RCProtocol: support FPort RSSI 2020-01-02 09:52:57 +11:00
Andrew Tridgell
6447cc2519 HAL_ChibiOS: support receiver RSSI 2020-01-02 09:52:57 +11:00
Andrew Tridgell
63c199a600 AP_IOMCU: support RSSI from receiver 2020-01-02 09:52:57 +11:00
Andrew Tridgell
6599fd49a2 AP_IOMCU: don't use pulse input for FPORT 2020-01-02 09:52:57 +11:00
Andrew Tridgell
9332c08c46 AP_RCProtocol: added FPort protocol support 2020-01-02 09:52:57 +11:00
Peter Barker
4cc7df8e15 SITL: emit hit-ground via mavlink
This lets autotest look for it
2020-01-01 22:10:43 +11:00
Andrew Tridgell
270844745f AP_Compass: limit rotations we try to ROTATION_MAX_AUTO_ROTATION 2020-01-01 16:59:27 +11:00
Andrew Tridgell
f908e56154 AP_Math: define ROTATION_MAX_AUTO_ROTATION
we don't want to use ROTATION_PITCH_7 in our auto rotation mix, as it
is too close to level
2020-01-01 16:59:27 +11:00
Randy Mackay
2e02ee1df8 AP_OADatabase: send_adsb uses vehicle's current altitude 2020-01-01 13:38:41 +09:00
Randy Mackay
985a15709a AP_OADatabase: available regardless of hal-minimize-features
In Copter with minimize feature set the entire AP_PathPlanning feature including the database are unavailable
Rover has enough space for the database even with minimise features set
2020-01-01 13:38:41 +09:00
Randy Mackay
50b4dd2599 AP_OAPathPlanner: slow updates to 1hz, timeout to 3sec 2020-01-01 13:38:41 +09:00
Randy Mackay
28e707466b AP_OABendyRuler: integrate oadb ekf-offset change 2020-01-01 13:38:41 +09:00
Randy Mackay
f87ae7d445 AP_Math: add vector2f::offset_bearing 2020-01-01 13:38:41 +09:00
Randy Mackay
dac84f4a9d AP_Proximity: integrate oadb ekf-offset change 2020-01-01 13:38:41 +09:00
Randy Mackay
fe5ba3ccdb AP_OADatabase: replace Location with offset from origin 2020-01-01 13:38:41 +09:00
Randy Mackay
449b8d124b AP_Proximity: remove unused get_horizontal_distance 2020-01-01 13:38:41 +09:00
Randy Mackay
10108819b1 AP_Proximity: sf40c combines seven readings for oadb 2020-01-01 13:38:41 +09:00
Randy Mackay
1d6519af72 AP_Proximity: always use 8 sectors and fix ignore areas 2020-01-01 13:38:41 +09:00
Randy Mackay
37f2fc3ffe AP_OABendyRuler: integrate static object radius 2020-01-01 13:38:41 +09:00
Randy Mackay
674d631fb1 AP_OADatabase: calculate object radius based on distance and beam width
also all object database items are normal importance
2020-01-01 13:38:41 +09:00
Randy Mackay
1d79ff11b8 AP_Proximity: integrate oadb::queue_push argument swap 2020-01-01 13:38:41 +09:00
Randy Mackay
f60ec91993 AP_Proximity: remove unnecessary const from database_push
also shorten current_vehicle_bearing argument to just current_heading
2020-01-01 13:38:41 +09:00
Randy Mackay
1ba5f4626d AP_OADatabase: remove unnecessary const on arguments
also swap order of angle and distance arguments to be consistent with proximity library
2020-01-01 13:38:41 +09:00
Peter Hall
df3ffb215e RC_Channel: add Flap input 2020-01-01 08:11:01 +11:00
Andrew Tridgell
b98d5834b4 AP_UAVCAN: fixed build on Linux 2019-12-31 11:38:30 +11:00
Andrew Tridgell
6bd7364f24 AP_KDECAN: fixed build error on Linux 2019-12-31 11:38:30 +11:00
Andrew Tridgell
e1f89c2c0d AP_PiccoloCAN: fixed build error on Linux
_thread_name too short
2019-12-31 11:38:30 +11:00
Andy Piper
52f59fb573 AP_InertialSensor: more accurately compute INS noise taking throttle into account and adding frequency noise noisily
make SITL fast-sampling correct
2019-12-31 10:34:02 +11:00
Andy Piper
8b0fc1207d AP_HAL_SITL: record throttle value instead of motors on/off 2019-12-31 10:34:02 +11:00
Andy Piper
a6a020b3c7 SITL: record throttle value instead of motors on/off 2019-12-31 10:34:02 +11:00
murata
91e09338ea GCS_MAVLInk: Judgment of non-existence value by PARAM_SET 2019-12-31 10:12:01 +11:00
Andrew Tridgell
ece777098c AP_BattMonitor: added SUI SMBUS battery backend
originally by Kelly Schrock
2019-12-30 09:50:04 -07:00
Andrew Tridgell
f68b9bafd8 HAL_ChibiOS: fixed H7 I2C timing
we were running the clock at too low speed. This affected the SSD1306 display
2019-12-30 16:10:44 +11:00
Andrew Tridgell
f1dfb2e401 AP_Camera: fixed build on navio 2019-12-30 13:02:04 +11:00
Andrew Tridgell
f10adebb10 AP_Camera: made runcam CAM_RC_TYPE an enable parameter 2019-12-30 13:02:04 +11:00
Andrew Tridgell
2afac6ea13 AP_SerialManager: added runcam to available serial protocols 2019-12-30 13:02:04 +11:00
Andrew Tridgell
9d8821f3d7 AP_Vehicle: make init_vehicle() public
and protect against double call.

This is needed for the call from AP_BoardConfig
2019-12-30 13:02:04 +11:00
Andrew Tridgell
296090bb11 AP_BoardConfig: call init_vehicle()
this allows a single location for init_vehicle
2019-12-30 13:02:04 +11:00
Andy Piper
d8a58ebda4 AP_Camera: allow features override. Report OSD support. 2019-12-30 13:02:04 +11:00
Andy Piper
318a23537d AP_Camera: allow roll right to also enter menu 2019-12-30 13:02:04 +11:00
Andy Piper
afcbc5ffdb AP_Camera: fixup OSD menu switching and button timings 2019-12-30 13:02:04 +11:00
Andy Piper
86d9cf7249 AP_Camera: better OSD control logic 2019-12-30 13:02:04 +11:00
Andy Piper
fcc7b58b5f RC_Channel: add runcam osd control option 2019-12-30 13:02:04 +11:00
Andy Piper
7ad9ce0a01 AP_Camera: add RunCam TYPE and CONTROL options for menu/OSD control 2019-12-30 13:02:04 +11:00
Andy Piper
6f979d5f7f AP_HAL_ChibiOS: define OSD_ENABLED as 1 rather than ENABLED 2019-12-30 13:02:04 +11:00
Andy Piper
afa232cc7e AP_RCProtocol: fix example compile on macos 2019-12-30 13:02:04 +11:00
Andy Piper
3ea05fa78b AP_Vehicle: add common parameter and scheduling management. Add runcam. 2019-12-30 13:02:04 +11:00
Andy Piper
debc13965a AP_Scheduler: add common tasks from AP_Vehicle and manage them 2019-12-30 13:02:04 +11:00
Andy Piper
c16c60a761 AP_Arming: add camera arming checks 2019-12-30 13:02:04 +11:00
Andy Piper
e166e90c1d AP_RCMapper: add singleton 2019-12-30 13:02:04 +11:00
Andy Piper
a09c18386e AP_OSD: allow osd to be disabled 2019-12-30 13:02:04 +11:00
Andy Piper
3cba76123b RC_Channel: add support for RunCam camera control
make read_3pos_switch and enum public
2019-12-30 13:02:04 +11:00
Andy Piper
0eddc8b589 AP_Camera: implementation of the RunCam device protocol for RC camera control
Allows control of 2-key and 5-key OSD menus and recording start/stop
OSD is disabled while in the RunCam menu but reinstated on exit
add arming checks to prevent arming while the OSD menu is enabled
2019-12-30 13:02:04 +11:00
Andy Piper
c9b96a5e79 AP_SerialManager: add support RunCam serial protocol 2019-12-30 13:02:04 +11:00
Siddharth Purohit
3278ac2e63 AP_UAVCAN: remove unnecessary scary message UC Node Down 2019-12-27 17:42:57 +11:00
CUAVcaijie
ccd54409f3 HAL_ChibiOS: Adding SPI devices for CUAV_GPS 2019-12-26 15:51:44 +11:00
CUAVcaijie
2df2e5c275 HAL_ChibiOS: Fix DMA of SPI1 TX on STM32F412 2019-12-26 15:50:18 +11:00
CUAVcaijie
8daa8f34c9 AP_Baro: added averaging of CAN baro output 2019-12-26 12:21:41 +11:00
Andrew Tridgell
4b4642dd4d HAL_ChibiOS: allow handling of much higher receiver baudrates with DMA
this uses two DMA RX bouncebuffers to minimise the time with DMA
disabled so that we can handle much higher baudrates
2019-12-26 10:42:48 +11:00
Andrew Tridgell
58292821b3 HAL_ChibiOS: fix DMA on UARTs for F303 2019-12-26 10:42:48 +11:00
Andrew Tridgell
652d137594 HAL_ChibiOS: fixed DMA channels for f3 USART2 2019-12-26 10:42:48 +11:00
Andrew Tridgell
c6322c7c98 GCS_MAVLink: send abs throttle in VFR_HUD 2019-12-24 15:14:03 +11:00
Peter Barker
01710c035e GCS_MAVLink: handle proximity and rangefinder messages 2019-12-24 12:08:54 +11:00
Peter Barker
708a6f99a6 SRV_Channel: remove default case in get_limit_pwm
All cases are currently handled, and this is something people should
probably think about if they're introducing another case!
2019-12-24 11:50:03 +11:00
Michael du Breuil
8bd4f2b097 AP_RangeFinder: Allow the VL53L1X to be put into short range mode 2019-12-24 11:40:47 +11:00
Michael du Breuil
224ea744e3 AP_Rangefinder: Reset the VL53L1X before setup
A number of the config steps make the assumption they are running from
the sensors default power on state. If you do a soft reset of the
vehicle without killing power to the sensor this means the second time
you configure the sensor you will start from a state which didn't match
the base assumptions and can lead to the sensor preforming signficantly
differently then it was intended to. This issues a soft reset, and waits
for it to reboot before proceeding with configuration. If it's a
watchdog reset we don't want to spend long enough to have ensured the
sensor reset, so we say the sensor setup completely failed and don't use
it, as not using it will be less erroneous then using a misconfigured
sensor.
2019-12-24 11:40:47 +11:00
Andrew Tridgell
7b4b88d568 AP_Declination: re-generate mag tables
max interpolate error between -60 and 60 latitude is 13.86 mGauss
2019-12-24 11:33:10 +11:00
Andrew Tridgell
79bbd3ce9f AP_Declination: update generate script
added ability to display max error
2019-12-24 11:33:10 +11:00