Commit Graph

46405 Commits

Author SHA1 Message Date
Andrew Tridgell
5e0f175223 HAL_ChibiOS: adjust UART buffer sizes for new UART code
this gains about 20k of RAM, and has almost no impact on log download
speed at 921600 on a F427. The improved threading means we can afford
to have smaller buffers
2021-02-20 14:37:11 +11:00
Andy Piper
4e61ba2dc8 AP_HAL_ChibiOS: reduce stack sizes for rcout, uart_rx and storage. 2021-02-20 14:37:11 +11:00
Andy Piper
94de238751 AP_HAL_ChibiOS: disable RCOUT thread on iomcu and rebuild iomcu. 2021-02-20 14:37:11 +11:00
Andy Piper
f9c5f9be00 AP_HAL_ChibiOS: make dshot DMA unlock event driven in order to allow unlocking from rcout thread
refactor rcout into separate thread and process all dshot requests there
move uart DMA completion to event model
process dshot locks in strick reverse order when unlocking
convert Shared_DMA to use mutexes
move UART transmit to a thread-per-uart
do blocking UART DMA transactions
do blocking dshot DMA transactions
trim stack sizes
cancel dma transactions on dshot when timeout occurs
support contention stats on blocking locking
move thread supression into chibios_hwdef.py
invalidate DMA bounce buffer correctly
separate UART initialisation into two halves
cleanup UART transaction timeouts
add @SYS/uarts.txt
move half-duplex handling to TX thread
correct thread statistics after use of ExpandingString
set unbuffered TX thread priority owner + 1
correctly unlock serial_led_send()
don't share IMU RX on KakuteF7Mini
observe dshot pulse time more accurately.
set TRBUFF bit for UART DMA transfers
deal with UART DMA timeouts correctly
don't deadlock on reverse ordered DMA locks
change PORT_INT_REQUIRED_STACK to 128
2021-02-20 14:37:11 +11:00
Andy Piper
c388fd9214 AP_Filesystem: add @SYS/uarts.txt 2021-02-20 14:37:11 +11:00
Andy Piper
a07b238c7d AP_HAL: add PRIORITY_RCOUT
don't allow UART copies
add @SYS/uarts.txt
2021-02-20 14:37:11 +11:00
Peter Barker
d4aef2dba8 autotest: stop using MAVProxy to change mode 2021-02-20 00:03:24 +11:00
Peter Barker
05c9b79a5e autotest: make and declare quadplane.py flake8-clean 2021-02-20 00:02:33 +11:00
Peter Barker
c13d229877 autotest: use self.set_current_waypoint rather than "wp set" to set current wp 2021-02-19 12:25:40 +11:00
Peter Barker
148e2e751f autotest: add set_current_waypoint 2021-02-19 12:25:40 +11:00
Iampete1
bf7920f2d7 AP_Scripting: use helper for not supported error saving 1K of flash 2021-02-18 15:12:58 -07:00
Peter Barker
b7044d3708 autotest: remove use of global expect_list 2021-02-18 18:18:30 +11:00
Peter Barker
2d17f019b6 autotest: remove pointless manipulation of expect list
start_sitl and start_mavproxy already do this stuff
2021-02-18 18:18:30 +11:00
Peter Barker
dcc04ccd09 autotest: stop using MAVProxy to change modes 2021-02-18 17:38:52 +11:00
Peter Barker
2c1df16442 autotest: increase button message timeout to allow for Valgrind speed 2021-02-18 17:04:16 +11:00
Peter Barker
ad06a616b8 autotest: adjust for low log transfer rate under valgrind 2021-02-18 17:04:16 +11:00
Peter Barker
bcc1cb9dbb autotest: use get_parameter in place of mav's param object
This is the only place in the code that does this
2021-02-18 15:06:26 +11:00
Peter Barker
b1ccf3b3f8 autotest: add test for rangefinder-based proximity avoidance enablement 2021-02-18 15:05:51 +11:00
Leonard Hall
f0f87be06d AC_PID: AC_PI_2D format changes 2021-02-18 12:59:39 +09:00
mateksys
7eb4e9b370 AP_Periph: set PORT defaults for F405-MatekGPS 2021-02-18 11:51:50 +11:00
mateksys
97c2b7228e AP_Periph: Matek F303 and F405 AP_Periph use DSP310 baro 2021-02-18 11:51:50 +11:00
Peter Barker
3cf1b9444f autotest: get_sim_time_cached in NMEA output test to stop losing msgs 2021-02-18 11:26:22 +11:00
Peter Barker
ce61f44505 autotest: reset SITL commandline after fetching unhidden parameters
this makes a difference under Valgrind, which has to reboot slightly differently to normal SITL
2021-02-18 11:26:22 +11:00
Peter Barker
e221e6ce45 autotest: flake8 compliance for ardusub.py 2021-02-18 10:43:05 +11:00
Peter Barker
628a3843b2 autotest: flake8 compliance for arduplane.py 2021-02-18 10:43:05 +11:00
Peter Barker
78aa729b90 autotest: flake8 compliance for common.py 2021-02-18 10:43:05 +11:00
Peter Barker
d183d4c91b .flake8: ignore E221 multiple spaces before operator 2021-02-18 10:43:05 +11:00
Peter Barker
4d33e7dc80 .flake8: ignore E203 whitespace before ':' 2021-02-18 10:43:05 +11:00
Peter Barker
a45d4e93be .flake8: ignore 'W504 line break after binary operator' 2021-02-18 10:43:05 +11:00
Peter Barker
4c56ac7eb3 autotest: flake8 compliance for antennatracker.py 2021-02-18 10:43:05 +11:00
Peter Barker
726f54e37f autotest: flake8 compliance for rover.py 2021-02-18 10:43:05 +11:00
Peter Barker
0a235cc0d1 .github: run Python cleanliness checks 2021-02-18 10:43:05 +11:00
Peter Barker
360e2f49b3 Tools: git-tools: add a script suitable for use as a pre-commit hook 2021-02-18 10:43:05 +11:00
Peter Barker
e3887c8d93 autotest: make and mark autotest.py flake8-clean 2021-02-18 10:43:05 +11:00
Peter Barker
3c83d52e52 Tools: add script to check Python files for flake8-cleanliness 2021-02-18 10:43:05 +11:00
Tom Pittenger
8019cc160a AP_ICEngine: make it obvious that update_idle_gov does nothing if disabled 2021-02-18 09:45:30 +11:00
Peter Barker
f124cf0991 AP_Hott_Telem: use GPS single-char representation of fix type 2021-02-18 08:59:23 +11:00
Peter Barker
9da9d8c94b AP_GPS: provide method for getting single char representing fix type
Should allow us to be consistent across places in the code base that
need a compact representation for a user display.
2021-02-18 08:59:23 +11:00
Leonard Hall
e788d63686 AC_AttitudeControl: clear up comment for inertial_frame_reset 2021-02-17 21:19:18 +09:00
Andy Piper
4c2cbdab8d AP_HAL_ChibiOS: only setup half-duplex for receive when transmit is fully over 2021-02-17 20:09:48 +11:00
Andy Piper
5c32007cdf AP_HAL_ChibiOS: ensure stop bits can be set before UART begin 2021-02-17 20:09:48 +11:00
Iampete1
bd8619a616 gitignore: add scripting repl 2021-02-17 19:13:32 +11:00
Peter Hall
43763091bd AP_Scripting: add send_named_float to simple loop example 2021-02-17 18:49:20 +11:00
Peter Hall
fc95664580 AP_Scripting: add GCS send_named_float binding 2021-02-17 18:49:20 +11:00
Andy Piper
3371c272fb AP_Notify: make LED_NTF_LEN changes require a reboot
don't dynamically update LED length
2021-02-17 18:36:36 +11:00
Andy Piper
3a9107245c AP_HAL_ChibiOS: allocate DMA and LED buffers correctly when the length changes
calculate DMAR pulse times correctly
ensure 50us pulse separation for LED
make sure the LEDs are signalled for output
only allow LED length to be set once
2021-02-17 18:36:36 +11:00
Andy Piper
a98f85502a AP_RCTelemetry: add support for SmartAudio protocol.
treat VTX frequency as a first class citizen, match band/channel to frequency
update CRSF to use new VTX configuration
use a 6-position switch to control VTX power
add support for VTX GCS announcement
announce VTX updates on CRSF
support pitmode-until-arm and pitmode-on-disarm

Co-authored-by: luis.martinez.exts <luis.martinez@juntadeandalucia.es>
2021-02-17 18:23:33 +11:00
Andy Piper
ea3af39773 RC_Channel: add support for 6-position switch and use it for VTX power 2021-02-17 18:23:33 +11:00
Andy Piper
6f91e053d5 AP_VideoTX: new library to support the SmartAudio protocol
set the VTX parameters to what was actually configured by the VTX
use change band/change frequency when appropriate
set power levels appropriately for protocol version.

Co-authored-by: luis.martinez.exts <luis.martinez@juntadeandalucia.es>
2021-02-17 18:23:33 +11:00
Andy Piper
7aa1e2d63b waf: add AP_VideoTX module 2021-02-17 18:23:33 +11:00