Commit Graph

21517 Commits

Author SHA1 Message Date
Andrew Tridgell
b219ee453c HAL_ChibiOS: allow more than 32 WS2812 LEDs on a pin 2020-04-21 08:03:01 +09:00
Andrew Tridgell
cdee5f8b0e AP_HAL: adjust LED API to allow more than 32 LEDs on a pin 2020-04-21 08:03:01 +09:00
Andrew Tridgell
e26860bd09 HAL_ChibiOS: added luminousbee4 flight controller 2020-04-21 08:03:01 +09:00
Peter Hall
eb85d98b4d AP_Scripting: regenerate bindings 2020-04-07 09:05:35 +10:00
Peter Hall
389f28d937 AP_Scripting: correct generator bug 2020-04-07 09:05:35 +10:00
Peter Barker
b9804be01c AP_HAL_ChibiOS: make a static-const hal a reference to the external symbol 2020-03-03 20:35:57 +09:00
Andrew Tridgell
43c8efd820 HAL_ChibiOS: switched to new USB VID for dual-CDC boards 2020-02-20 13:03:57 +11:00
Andrew Tridgell
2ed21b3be1 HAL_ChibiOS: fixed default fast sampling on CubeOrange and Durandal 2020-02-20 13:03:09 +11:00
Andrew Tridgell
6d8482bc2e HAL_ChibiOS: produce more accurate clocks for DShot and PWM 2020-02-20 13:02:09 +11:00
Andrew Tridgell
ca1053a28c HAL_ChibiOS: raised timer clocks to 200MHz
this gives more flexibility in setting up timers for DShot
2020-02-20 13:01:00 +11:00
Andrew Tridgell
d3ee8c8795 GCS_MAVLink: don't send statustext from other than main thread
This fixes high stack usage in the RCIN thread when it notifies the
GCS of a new RCIN protocol. The problem is severe when signing is
enabled, as signing adds over 500 bytes to stack cost of sending a
mavlink msg

fixes issue #13615
2020-02-20 12:59:01 +11:00
Randy Mackay
10ef74172c AP_ServoRelayEvents: do-set-servo affects sprayer and gripper 2020-02-20 09:52:20 +09:00
bnsgeyer
a8b1f93a83 AP_Motors: tradheli - fix quad heli collective structure 2020-02-20 09:52:19 +09:00
Andrew Tridgell
7eb106ea07 HAL_ChibiOS: fixed output string for non-DMA capable chan
this fixes a problem where the user requests DShot (which rquired DMA)
on an output channel which cannot allocate a DMA channel. We end up
sending normal PWM, so the string representation of the output modes
should reflect that
2020-02-20 09:39:27 +09:00
Randy Mackay
4b684085cc GCS_MAVLink: send rc output mode banner to GCS 2020-02-20 09:36:53 +09:00
Randy Mackay
95ec629923 AP_HAL: add RCOutput::get_output_mode_banner 2020-02-20 09:36:48 +09:00
Randy Mackay
dfbccf3811 AC_AttitudeControl_Heli: fix VFF and ILMI param descriptions 2020-02-14 12:51:04 +09:00
Randy Mackay
8f32a1089d AC_PosControl: add missing ACCZ param descriptions 2020-02-14 12:51:01 +09:00
Andrew Tridgell
1201292c09 GCS_MAVLink: raise ftp stack size to 3072 from 1024
this prevents memory corruption on directory listing
2020-02-11 12:43:29 +11:00
Andrew Tridgell
77865e9f78 HAL_ChibiOS: fixed spektrum RC input on Pixracer
RCININT is inverted compared to RCIN, so need to enable SBUS_INV pin
2020-02-05 11:13:30 +09:00
Andrew Tridgell
8e0124f383 AP_RangeFinder: fixed failover between rangefinders
this fixes the case where we have one rangefinder that can handle
short range and another that is good for long range but no good for
short range (quite common, eg radar and lidar)

If possible we want to use the first rangefinder that is in range for
the right orientation. If none are in range then use the first for the
orientation
2020-02-05 11:13:30 +09:00
Henry Wurzburg
f7cbdb4520 HWDEF: Speedybeef4 change I2C internal mask to 0 to allow probing ext baros 2020-02-05 11:13:30 +09:00
Andrew Tridgell
72b9a69911 AP_NavEKF3: don't use WMM tables unless we have a compass scale factor set 2020-02-05 11:13:30 +09:00
Andrew Tridgell
d47126fc6b AP_NavEKF2: don't use WMM tables unless we have a compass scale factor set 2020-02-05 11:13:30 +09:00
Andy Piper
a1f2c7530e AP_Logger: fix locking issues, uninitialized read and status message length
account for erased partial sectors when looking at wrapped logs
2020-02-04 12:11:07 +09:00
Jaaaky
11062cf7d2 AP_Logger: fix 'last_file' may be used uninitialized with debug build 2020-02-04 12:10:43 +09:00
Andy Piper
7e6fda6650 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-02-04 12:10:17 +09:00
Randy Mackay
06f9c6a210 AP_RangeFinder: fix offset param for PWM driver 2020-02-03 19:38:59 +09:00
Andrew Tridgell
6489623499 HAL_ChibiOS: fixed skyviper-v2450 build 2020-02-02 08:14:20 +11:00
Leonard Hall
50534b6e29 AC_AutoTune: fix restoring of original gains
current_gain_type was not being set when load_gains was called meaning subsequent calls to load_gains would fail if gain_type was GAIN_ORIGINAL
2020-02-01 16:57:18 +09:00
Andrew Tridgell
2612fe50f7 HAL_SITL: fixed bitmask error on storage erase 2020-01-31 19:55:09 +09:00
Andrew Tridgell
f033e7dcb9 HAL_Linux: fixed bitmask error on storage erase 2020-01-31 19:55:06 +09:00
Andrew Tridgell
aff77c86d6 HAL_ChibiOS: fixed bitmask error on storage erase 2020-01-31 19:55:01 +09:00
Rob Ratcliff
a6fbee9820 RC_Channel: fix handling of rc_override_time of -1 2020-01-31 19:52:47 +09:00
Randy Mackay
fc0f6297a7 AP_RangeFinder: update OFFSET param description to clarify only for analog and pwm 2020-01-31 19:50:19 +09:00
Randy Mackay
a2fdc5b428 AP_RangeFinder: PWM driver adds offset param value 2020-01-31 19:50:16 +09:00
Randy Mackay
f3ccec329d AC_AutoTune: fix backup of yaw acceleration 2020-01-31 19:48:00 +09:00
Bill Geyer
f434bab7db AC_AttitudeControl: tradheli-Remove Param descriptions
This remove the old filter param description from AC 3.6 and adds the new filter param descriptions.
2020-01-31 19:47:07 +09:00
Matt Lawrence
8c8d90898e AP_Notify: Remove pixhawk from Oreo LED comments
Removes specific reference to pixhawk from comments since not all flight controllers are pixhawks.
2020-01-31 19:46:22 +09:00
Matt Lawrence
3d14e33e10 AP_Notify: Add GCS failsafe notify tones and lights 2020-01-31 19:46:11 +09:00
Andrew Tridgell
b5435d6a24 HAL_ChibiOS: use recursive mutex for RCInput 2020-01-31 19:35:53 +09:00
Andrew Tridgell
50a6d63101 HAL_ChibiOS: implement pulse_input_enable()
and cleanup use of mutexes in RC input
2020-01-31 19:35:53 +09:00
Andrew Tridgell
89d0562e9d HAL_ChibiOS: added disable() API for pulse input 2020-01-31 19:35:53 +09:00
Andrew Tridgell
289a0d8694 AP_IOMCU: use more efficient read API for rcin 2020-01-31 19:35:53 +09:00
Andrew Tridgell
07ee3b4c5e AP_RCProtocol: added multi-channel read() API
and use pulse_input_enable() to disable pulse input when not needed
2020-01-31 19:35:53 +09:00
Andrew Tridgell
3ca8b7b40f AP_HAL: added pulse_input_enable() API
this allows disabling pulse input at runtime to lower CPU load on
IOMCU when decoding via a UART
2020-01-31 19:35:53 +09:00
Andrew Tridgell
c38c78d718 AP_OpticalFlow: probe all I2C buses for px4flow on Hex Cubes 2020-01-28 14:42:57 +09:00
Michael du Breuil
2c0eee390d AP_Rangefinder: Fix bad subgroup pointer for drivers 2020-01-19 10:44:01 +09:00
Randy Mackay
dce1710901 AP_Logger: remove non-error init messages 2020-01-19 10:41:16 +09:00
Michael du Breuil
55c00b9957 AP_Param: Fix failing to invalidate the cached parameter count
This would cause a GCS to download fewer then the requested number of
parameters
2020-01-18 20:31:45 +11:00
Andrew Tridgell
6d4a4604f2 AP_FileSystem: chunk IOs to max 4k
this prevents larger IOs from attempting to allocate too much memory
in DMA bouncebuffers
2020-01-18 16:04:46 +11:00
Andrew Tridgell
ac26aea18b AP_IOMCU: added a health check based on status read errors
if we have more than 1 in 128 read status requests failing then mark
IOMCU unhealthy
2020-01-18 16:04:46 +11:00
Andrew Tridgell
c8f24b2c71 AP_IOMCU: reduce uart buffer sizes 2020-01-18 16:04:46 +11:00
Andrew Tridgell
925ce44a6c HAL_ChibiOS: use 4k bouncebuffer for sdcard
match AP_Logger IO size
2020-01-18 16:04:46 +11:00
Andrew Tridgell
15d45397c6 HAL_ChibiOS: adjust dma reserve allocation
use larger target and allow for smaller allocation
2020-01-18 16:04:46 +11:00
Andrew Tridgell
26ced02cd1 HAL_ChibiOS: don't extend alloc of iomcu uart 2020-01-18 16:04:46 +11:00
Andrew Tridgell
6477180e87 HAL_ChibiOS: added checking on bouncebuffer allocation
fail operations if DMA bouncebuffer alloc fails
2020-01-18 16:04:46 +11:00
Andrew Tridgell
43c99664b0 AP_Logger: add a semaphore to protect creation of new log formats 2020-01-18 16:04:46 +11:00
Andrew Tridgell
184b3e1d63 AP_Filesystem: fixed set_mtime semaphore 2020-01-18 16:04:46 +11:00
Andrew Tridgell
552a06dab7 AP_UAVCAN: protect UAVCAN DNA server with semaphore 2020-01-18 16:04:46 +11:00
Bill Geyer
a05f00d180 AC_InputManager: tradheli-Fix parameter metadata errors 2020-01-14 08:25:28 +09:00
Andrew Tridgell
77b9663ce8 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 17:58:51 +11:00
Andrew Tridgell
1ba5585652 AP_RCProtocol: fixed support for 22ms multi-frame DSM 2020-01-09 15:18:53 +11:00
Andrew Tridgell
48e116afca GCS_MAVLink: support MAV_CMD_FIXED_MAG_CAL_YAW 2020-01-09 15:18:53 +11:00
Andrew Tridgell
facedb5156 AP_Compass: added mag_cal_fixed_yaw()
this is a fast compass calibration that uses a yaw value provided by
the user.
2020-01-09 15:18:53 +11:00
Randy Mackay
f7a8bcf87f SRV_Channel: add NeoPixelx to function param description 2020-01-09 11:43:18 +09:00
Andrew Tridgell
33be48868b AP_UAVCAN: fixed build on Linux 2020-01-08 20:59:43 +11:00
Andrew Tridgell
9343cf04f6 AP_KDECAN: fixed build error on Linux 2020-01-08 20:58:37 +11:00
Andrew Tridgell
e3710bfa47 AP_Declination: re-generate mag tables
max interpolate error between -60 and 60 latitude is 13.86 mGauss
2020-01-08 20:57:21 +11:00
Andrew Tridgell
21a1b17571 AP_Declination: update generate script
added ability to display max error
2020-01-08 20:57:18 +11:00
Andrew Tridgell
7f49f81818 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:57 +11:00
Andrew Tridgell
e03e0bccae AP_Airspeed: switched to recursive semaphore
this is needed by the SDP3X driver. It is the simplest fix for the
issue
2020-01-08 08:41:10 +11:00
Andrew Tridgell
a1ad8fbd80 AP_Logger: added CESC message for logging CAN ESC status 2020-01-08 08:36:46 +11:00
Andrew Tridgell
6b95d8d22b AP_Logger: added CSRV logging for CAN servo status 2020-01-08 08:36:42 +11:00
Andrew Tridgell
c5c921d321 AP_UAVCAN: added logging of CAN ESC status 2020-01-08 08:36:03 +11:00
Andrew Tridgell
27937d50ff AP_UAVCAN: added logging of UAVCAN actuator::Status messages
this allows for logging of CAN servo status
2020-01-08 08:35:57 +11:00
Andrew Tridgell
30e51c9f64 HAL_ChibiOS: scale uart rx buffer size with baudrate
this ensures we have enough buffer space for a RTK GPS, as well as for
high speed comms with a companion computer
2020-01-08 08:34:35 +11:00
Andrew Tridgell
c1f18bc90d HAL_ChibiOS: fixed clock src for I2C4 on H7 2020-01-08 06:05:10 +11:00
Randy Mackay
a727ba6cf7 GCS_MAVLink: send optflow message even if no height estimate 2020-01-07 15:48:06 +09:00
Andrew Tridgell
385d649e69 AP_Compass: limit rotations we try to ROTATION_MAX_AUTO_ROTATION 2020-01-07 15:47:30 +09:00
Andrew Tridgell
d198b723b2 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-07 15:47:27 +09:00
Matt Lawrence
0d2b42e4f4 AC_WPNav: Circle mode pilot control of rate & radius 2020-01-07 11:56:59 +09:00
Siddharth Purohit
9d8684203c AP_UAVCAN: remove unnecessary scary message UC Node Down 2019-12-30 21:28:00 +11:00
Andrew Tridgell
a1b1ef4947 HAL_ChibiOS: fixed H7 I2C timing
we were running the clock at too low speed. This affected the SSD1306 display

# Conflicts:
#	libraries/AP_HAL_ChibiOS/I2CDevice.cpp
2019-12-30 14:29:37 +11:00
Peter Barker
88de00b251 AP_HAL: stop emitting extra CR before a LF as part of our printf 2019-12-30 12:13:49 +11:00
Pierre Kancir
2d0ae6112e AP_Compass: add register to checked ones and remove single-use goto
Also fix comment on TMRC register setting
2019-12-23 18:02:59 +09:00
Pierre Kancir
453e8b9f32 AP_Compass: probe for RM3100 2019-12-23 18:02:59 +09:00
Andrew Tridgell
1e2ef205de AP_InertialSensor: default fast sampling on
if we have a first IMU capable of fast sampling then we want it
enabled by default
2019-12-23 18:02:59 +09:00
Andrew Tridgell
e4eda95fea HAL_ChibiOS: change CUAVv5Nano volt scale to 18.000 2019-12-23 18:02:59 +09:00
Andrew Tridgell
67cc9b1677 HAL_ChibiOS: removed per-board AP_FEATURE_RTSCTS and AP_FEATURE_SBUS_OUT
not needed any more
2019-12-23 18:02:59 +09:00
Andrew Tridgell
fa69ac6458 HAL_ChibiOS: automatically set AP_FEATURE_SBUS_OUT 2019-12-23 18:02:59 +09:00
Andrew Tridgell
d3b6572808 AP_BoardConfig: removed duplicate define for RTSCTS 2019-12-23 18:02:59 +09:00
Andrew Tridgell
ee9aadf091 HAL_ChibiOS: automatically set AP_FEATURE_RTSCTS 2019-12-23 18:02:59 +09:00
Andrew Tridgell
20ea63e480 HAL_ChibiOS: removed PB1 and PB0 TIM1 complementary channels for F76x
these do not work, possibly a datasheet bug
2019-12-23 19:58:34 +11:00
Andrew Tridgell
093d411ec7 HAL_ChibiOS: switch MatekF765 to timer 12
fixes PWM 5 and 6
2019-12-23 19:58:32 +11:00
Andrew Tridgell
9c6cd15980 HAL_ChibiOS: ensure bootloader flash is multiple of 32 bytes 2019-12-23 17:31:15 +11:00
Andrew Tridgell
cac1cc0d9b HAL_ChibiOS: account for empty uarts in uart count
this fixes uart count on MatekF405-Wing
2019-12-21 16:53:56 +11:00
Andrew Tridgell
aad4598644 AP_SerialManager: fixed GPS in AP_Periph
we need to have at least 4 SERIALn_* parameters to support GPS on
AP_Periph due to the odd ordering of hal.uartB as SERIAL3
2019-12-20 17:58:36 +11:00
Matt Lawrence
886153abf5 Frame_Params: Fix Solo params for copter 4 2019-12-18 14:08:32 +11:00
Randy Mackay
4407b1ada0 AP_NMEA_Output: 10hz rate limiting uses uint32_t 2019-12-17 11:01:05 +09:00