Commit Graph

34924 Commits

Author SHA1 Message Date
Andrew Tridgell bfcb8f361e AP_HAL_ESP32: added PRIORITY_NET 2024-01-03 12:14:47 +11:00
Andrew Tridgell 936bbeda88 AP_HAL_ChibiOS: added PRIORITY_NET 2024-01-03 12:14:47 +11:00
Andrew Tridgell 9456b585fa HAL_ChibiOS: don't link lwip bindings from ChibiOS 2024-01-03 12:14:47 +11:00
Andrew Tridgell d289ba0181 AP_Networking: removed SLIP
PPP is the better choice
2024-01-03 12:14:47 +11:00
Andrew Tridgell 22938e99ea AP_Networking: added ArduPilot HAL port of lwip 2024-01-03 12:14:47 +11:00
Andrew Tridgell b28912c351 HAL_SITL: cope with no _sitl state 2024-01-03 12:14:47 +11:00
Andrew Tridgell 5748adbf44 HAL_ChibiOS: allow for networking without ethernet 2024-01-03 12:14:47 +11:00
Andrew Tridgell 1d9d599bb0 AP_Networking: allow for PPP on ChibiOS 2024-01-03 12:14:47 +11:00
Andrew Tridgell 94ea22d16f AP_Networking: separate thread for sendfile 2024-01-03 12:14:47 +11:00
Andrew Tridgell 8e132e44cf AP_HAL: improved sockaddr_in compatibility 2024-01-03 12:14:47 +11:00
Andrew Tridgell 1bceee1863 AP_Scripting: added WEB_SENDFILE_MIN parameter
allows for sendfile tuning and disable
2024-01-03 12:14:47 +11:00
Andrew Tridgell b72b4b5bc0 SITL: added required headers with new SITL header structure 2024-01-03 12:14:47 +11:00
Andrew Tridgell da7c556f77 AP_InertialSensor: avoid fcntl.h
allows mixing of lwip and sockets
2024-01-03 12:14:47 +11:00
Andrew Tridgell 671bcdad18 HAL_SITL: avoid socket headers in .h files
this makes mixing SITL and lwip sockets possible
2024-01-03 12:14:47 +11:00
Andrew Tridgell e53729f331 AP_HAL: make Socket.cpp safe for lwip and SITL usage 2024-01-03 12:14:47 +11:00
Andrew Tridgell 896b95654c AP_Networking: added PPP support 2024-01-03 12:14:47 +11:00
Andrew Tridgell e2dac53fca AP_Networking: added SLIP support 2024-01-03 12:14:47 +11:00
Andrew Tridgell 1627f7f61a AP_OSD: added PPP 2024-01-03 12:14:47 +11:00
Andrew Tridgell 2cb177ef72 AP_SerialManager: added PPP serial type 2024-01-03 12:14:47 +11:00
Peter Barker 7e51811a24 AP_HAL_Linux: cope with HAL_WITH_DSP being false 2024-01-03 11:45:31 +11:00
Peter Barker 75ebef32cf AP_HAL_ESP32: cope with HAL_WITH_DSP being false 2024-01-03 11:45:31 +11:00
Peter Barker d5ddbad27f HAL_ChibiOS_Class: adjust for dsp disappearing from HAL constructor 2024-01-03 11:45:31 +11:00
Peter Barker 9e5edefc4a AP_HAL: guard against DSP being compiled out of code 2024-01-03 11:45:31 +11:00
Peter Barker f83b561566 AP_HAL_SITL: guard against DSP being compiled out of code 2024-01-03 11:45:31 +11:00
Andrew Tridgell 635c764c6f AP_HAL: added BinarySemaphore test 2024-01-03 07:37:05 +11:00
Andrew Tridgell 9c1e145c8f AP_PiccoloCAN: reimplement with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell f0aa2a65e4 HAL_SITL: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 7059f980b8 HAL_SITL: implement BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 036ae93cbb AP_DroneCAN: reimplement with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell e22e07fbbd AP_CANManager: reimplement with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 5d1eb145cd HAL_ESP32: implement BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 8f8048e4cd HAL_Linux: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell bdb8a08724 HAL_Linux: implement BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell c0d0aeee86 HAL_ChibiOS: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 8a027eddb0 HAL_ChibiOS: implement BinarySemaphore
and removed event handles
2024-01-03 07:37:05 +11:00
Andrew Tridgell c2011570f7 HAL_ChibiOS: use chSysLock for CAN critical section
this avoids an assert in some code paths that combine with hrt
functions
2024-01-03 07:37:05 +11:00
Andrew Tridgell a52c71f380 AP_HAL: implement BinarySemaphore
and removed event handles
2024-01-03 07:37:05 +11:00
Andrew Tridgell d1fcb76c9f AP_HAL: ensure all UARTDriver implementations have receive_time_constraint_us
this fixes NMEA over network ports
2024-01-02 20:59:50 +11:00
Andrew Tridgell 85537c2e97 AP_NMEA_Output: fixed NMEA output altitude
the key fix is to multiply hdop by 0.01. It was being passed as a
uint16_t which led to it being swallowed by the %f in the format
string
2024-01-02 20:59:50 +11:00
Peter Barker 4dae077787 GCS_MAVLink: return MAV_RESULT_COMMAND_INT_ONLY if command-long support not compiled in 2024-01-02 18:58:07 +11:00
Aleksey Ploskov 81ab6a9461 AP_NMEA_Output: fix time format 2024-01-02 16:29:50 +11:00
Oleksiy Protas e855c9f46a AP_HAL_SITL: ensure stdint include 2024-01-02 13:42:58 +11:00
Peter Barker 467daeb4a6 hwdef: tidy checking of is-bootloader-build 2024-01-02 13:00:15 +11:00
Brad Bosch 0a5407a1a7 AP_VideoTX: Restore use of the VTX_MAX_POWER parameter
This functionality was lost when a significant rewrite of this code was done in commit 0658f06030
2024-01-02 12:00:22 +11:00
alexklimaj c53d3ae09b hwdef: ARK_CANNODE add rangefinder 2024-01-02 11:58:35 +11:00
Henry Wurzburg c9b8be7213 AP_Parachute:upate metadata in line with new relay functions 2024-01-02 11:46:46 +11:00
Peter Mullen a83ed6b730 AP_Scripting: Add LUA interface to access Range Finder state 2024-01-02 11:31:02 +11:00
Peter Mullen 2cc63f52a1 AP_RangeFinder: Add LUA interface to access Range Finder state 2024-01-02 11:31:02 +11:00
Mirko Denecke 9cd85f2a2f AR_Motors: fix support for omni vehicles 2024-01-02 11:27:53 +11:00
Henry Wurzburg f02973b454 AC_Fence:expand FENCE_AUTOENABLE description 2024-01-02 10:52:45 +11:00
Andrew Tridgell cfa28c5246 HAL_SITL: fixed unbuffered UART writes in SITL
this was causing PPP to slow down by about 1000x due to duplicate
writes
2024-01-02 08:12:37 +11:00
Andrew Tridgell 0a8faa83d9 HAL_ChibiOS: allow for up to 12.5MBps on H7 UARTs
use 8x oversampling instead of 16x oversampling
2024-01-02 08:12:37 +11:00
Andrew Tridgell c1016ae52e HAL_SITL: cope with no _sitl state 2024-01-02 08:12:37 +11:00
Andrew Tridgell ac49480f6a HAL_SITL: disable FG view by default 2024-01-02 08:12:37 +11:00
Andrew Tridgell 15d3ec3113 AP_ESC_Telem: allow IOMCU to work in example fw
example firmwares don't instantate AP_ESC_Telem
2024-01-02 08:12:37 +11:00
Andrew Tridgell ce9c7dfdd1 AP_ADSB: fixed a crash in ADSB when baro not healthy
zero pressure leads to a floating point exception
2024-01-02 08:12:37 +11:00
Andrew Tridgell 9428e41301 SITL: fixed running example firmwares
don't call model update with no sitl instance
2024-01-02 08:12:37 +11:00
Andrew Tridgell 7b5b1ba59f AP_HAL: fixed build without MSG_NOSIGNAL
for older MacOSX
2024-01-02 08:12:37 +11:00
Henry Wurzburg 319202a233 AP_ExternalAHRS: add InertialLabs to type parameter 2024-01-01 13:18:08 +11:00
alexklimaj e9f51a96cb hwdef: ARKV6X add USART6 to serial list 2024-01-01 13:17:06 +11:00
njwhite 03ae94706e AP_AHRS: Don't Switch to DCM to get Better GPS if DCM Isn't Using GPS
Look at the parameter to see if DCM uses GPS; if not don't prefer DCM for using GPS.
2024-01-01 13:16:04 +11:00
Iampete1 81d4804d53 AP_Scripting: examples: update examples for fixed io.open behaviour 2024-01-01 13:15:37 +11:00
Andrew Tridgell 687c5887af HAL_ESP32: allow for building of examples and tool firmware on ESP32
use waf build target to find the right library name
2023-12-31 09:55:16 +11:00
Andrew Tridgell 4b908077c2 HAL_ESP32: push S3 to 500Hz 2023-12-31 09:55:02 +11:00
Andrew Tridgell e79f0201bd AP_HAL: added esp32s3empty 2023-12-31 09:55:02 +11:00
Andrew Tridgell e2f82ed9bc HAL_ESP32: added esp32s3empty target 2023-12-31 09:55:02 +11:00
Andrew Tridgell 6fb99d6b1e AP_Scripting: fixed use after free bug
found with valgrind
2023-12-29 11:33:58 +11:00
Andrew Tridgell 1d0fc4e87c AP_ExternalAHRS: fixed InertialLabs gyro/accel data
this fixes a flapping CI test
2023-12-29 06:29:52 +11:00
Randy Mackay 6c24f80669 AC_Avoidance: Dijsktras comment and const fix 2023-12-28 08:45:23 +09:00
Randy Mackay 58b6429893 AC_Avoidance: oapathplanner gets fast-waypoint option 2023-12-28 08:45:23 +09:00
Randy Mackay 607fa40431 AR_WPNav: send next destination to OA 2023-12-28 08:45:23 +09:00
Randy Mackay a1e03cbbe1 AC_Avoidance: bendy ruler comment update 2023-12-28 08:45:23 +09:00
Randy Mackay cb1853b9bb AC_Avoidance: Dijkstra's returns control when clear of obstacles 2023-12-28 08:45:23 +09:00
Randy Mackay 5aeabc5779 AC_Avoidance: path planner accepts next destination 2023-12-28 08:45:23 +09:00
Randy Mackay 82984577d2 AC_Avoidance: path planner avoids timeout when first activated 2023-12-28 08:45:23 +09:00
Randy Mackay 6fed0dbc7a AC_WPNav: OA supports fast waypoints with dijkstras 2023-12-28 08:45:23 +09:00
Randy Mackay 0c8f427d42 AC_WPNav: OA handles failure to set wp on deactivation
This may never happen in practice but just in case
2023-12-28 08:45:23 +09:00
Randy Mackay 8546dfaf4d AC_WPNav: add force_stop_at_next_wp 2023-12-28 08:45:23 +09:00
Randy Mackay bf2b0f890f AC_WPNav: record next destination
This allows AC_WPNav_OA to completely restore the path on deactivation
2023-12-28 08:45:23 +09:00
Randy Mackay d01a330588 AC_Avoidance: constify get_shortest_path_point 2023-12-28 08:45:23 +09:00
Andrew Tridgell 1e626a70cb hwdef: added MatekL431-Serial 2023-12-27 05:13:14 -07:00
Andrew Tridgell 6c2a7b8cfd AP_SerialManager: expose HAVE_SERIAL_xxx in config 2023-12-27 05:13:14 -07:00
Andrew Tridgell 46171a7c79 hwdef: give a more useful error message on no bootloader 2023-12-27 21:45:13 +11:00
Henry Wurzburg ea3dc78a96 AP_Relay:correct function param metadata
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2023-12-26 22:28:37 -07:00
Tom Pittenger 47fdf2295c AP_Scripting: add bindings for ahrs.wind_alignment and ahrs.head_wind 2023-12-26 10:20:23 +11:00
Tom Pittenger 39e7209e33 AP_AHRS: move wind helper functions from AP_Landing 2023-12-26 10:20:23 +11:00
Tom Pittenger 7a9c6eea9c AP_Landing: move wind helper functions to AP_AHRS 2023-12-26 10:20:23 +11:00
Tom Pittenger 813c732a83 AP_Baro: slow down Baro offset slew 2023-12-26 10:17:56 +11:00
Andrew Tridgell 74c2855be3 HAL_SITL: implement begin(0) on UARTs
the begin(0) is used to claim a uart for the current thread in
ChibiOS, we need to ignore it on SITL and not change baudrate
2023-12-26 06:21:42 +11:00
Andrew Tridgell 2842166b06 AP_ExternalAHRS: avoid uart owner issue
ensure we own uart before read
2023-12-26 06:21:42 +11:00
Andy Piper 57ac86edd9 AP_IOMCU: fix occasional startup internal errors with mixing
allow DIRECT_PWM pages to be smaller than max channels
correct some over-eager register clearing in the global interrupt handler (NFC)
only sent TX events when using shared DMA (NFC)
zero out rx packet code and size to prevent errors with spurious callbacks
add a comment and check for offsets that are codes
2023-12-24 14:39:05 +11:00
Andrew Tridgell d2d2067f1c HAL_ChibiOS: fixed micros and millis on boards without 1MHz clock 2023-12-24 10:10:14 +11:00
Henry Wurzburg 5c1ed968b1 AP_Motors:expand heli tail param metadata 2023-12-20 17:50:38 -05:00
Andrew Tridgell f3303c9272 HAL_SITL: use uint64_div1000()
match ChibiOS
2023-12-21 09:09:11 +11:00
Andrew Tridgell 4a59097b5e HAL_ChibiOS: use C implemention of div1000 2023-12-21 09:09:11 +11:00
Andrew Tridgell 49c3536ca7 AP_Math: added uint64_div1000()
and test suite
2023-12-21 09:09:11 +11:00
bugobliterator cf481a8952 AP_HAL_ChibiOS: allow option to enable scripting on CubeRedSecondary 2023-12-21 07:30:25 +11:00
Andrew Tridgell 65cae116a2 hwdef: fixed build of CarbonixL496 2023-12-20 20:07:35 +11:00
Andrew Tridgell a94484d770 HAL_ChibiOS: fixed SPI build on F1xx
F1 does not have palReadLineMode()
2023-12-20 19:33:12 +11:00
Iampete1 46dd402a1a AP_Relay: add ICE_STARTER function 2023-12-20 19:29:50 +11:00
Iampete1 86a199c1bf AP_ICEngine: add support for starter relay 2023-12-20 19:29:50 +11:00
Ryan Friedman faa8ac0085 AP_Vehicle: Set position target depends on ext control
* Used to depend on scripting but now it's used in AP_ExternalControl

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Ryan Friedman 76861eaa9b AP_Common: Define units for locatoin data members
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Ryan Friedman c22a3439d4 AP_ExternalControl: add REP-147 Global Position Control
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Ryan Friedman da976300d1 AP_DDS: add REP-147 Global Position Control
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Andrew Tridgell 6dbc3b6a70 HAL_ChibiOS: speed up millis(), micros64() etc
these use faster primitives and an assembly division by 1000 to get
between 2x and 3x speedup on these critical calls
2023-12-19 11:47:24 +11:00
Iampete1 1bcf69e0c7 AP_Motors: Heli: add helper to convert from AP_Motors::SpoolState to AP_MotorsHeli_RSC::RotorControlState 2023-12-19 10:38:49 +11:00
Iampete1 287e9726d7 AP_Motors: Heli: RotorControlState to enum class 2023-12-19 10:38:49 +11:00
Iampete1 a77faaf125 AP_Relay: move from using AP_RELAY_NUM_RELAYS to ARRAY_SIZE(_params) 2023-12-19 10:01:01 +11:00
Iampete1 c917480cde AP_Relay: capitalize function enum 2023-12-19 10:01:01 +11:00
Iampete1 f907694c6e AP_Relay: add rover motor reverse functions 2023-12-19 10:01:01 +11:00
Iampete1 a0eb3396f8 AR_Motors: Move to new relay functions 2023-12-19 10:01:01 +11:00
Iampete1 abcbc66c5c AP_Relay: param conversion from ICE, chute and camera 2023-12-19 10:01:01 +11:00
Iampete1 5a5ee0c44c AP_Parachute: move to new relay functions 2023-12-19 10:01:01 +11:00
Iampete1 8ab6f01942 AP_Relay: add enabled method by function 2023-12-19 10:01:01 +11:00
Iampete1 8ce490d985 AP_ICEngine: move to new relay functions 2023-12-19 10:01:01 +11:00
Iampete1 8292c6ea9f AP_Camera: move to new relay functions 2023-12-19 10:01:01 +11:00
Iampete1 f26ff3ee5a AP_LandingGear: remove unneeded relay include 2023-12-19 10:01:01 +11:00
Michael du Breuil 368ec28ab6 AP_Relay: Refactor to support RELAYx_FUNCTION 2023-12-19 10:01:01 +11:00
Ryan Friedman 1d805555f5 AP_ExternalAHRS: Fix typos in configuration for microstrain7
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-19 09:32:55 +11:00
Thomas Watson e460a19b17 AP_HAL_Linux: deprecate and warn on legacy --uartX option use 2023-12-19 06:53:15 +11:00
Thomas Watson 14180b5b93 AP_HAL_SITL: deprecate and warn on legacy --uartX option use 2023-12-19 06:53:15 +11:00
Thomas Watson cc5b095d59 AP_SerialManager: clarify comment regarding legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson ae7170501d AP_FETtecOneWire: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson f0a92889fa AP_DDS: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson 8ee9dd13be AP_Scripting: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson 94888822be GCS_MAVLink: correct comment about stream array 2023-12-19 06:53:15 +11:00
Thomas Watson f6ea8201b2 SITL: remove references to legacy UART order incl. sim arguments 2023-12-19 06:53:15 +11:00
Thomas Watson 9044632315 AP_HAL_SITL: eliminate internal legacy UART ordering/references
Legacy command line arguments are kept to avoid breaking users.

The vestigial `_tcp_client_addr` variable is removed.

Serial port status messages are updated to a slightly different format
to clarify the numbering scheme being used and prompt any external
consumers to update.
2023-12-19 06:53:15 +11:00
Thomas Watson f34034584f AP_HAL_Linux: eliminate internal legacy UART ordering/references
Leave the legacy command line arguments to avoid breaking users.
2023-12-19 06:53:15 +11:00
Thomas Watson 6b79349947 AP_HAL_ESP32: eliminate legacy UART ordering/references 2023-12-19 06:53:15 +11:00
Thomas Watson 20ee5b2d37 AP_HAL_Empty: eliminate legacy UART ordering/references
Fourth serial port (SERIAL2) added purely for consistency.
2023-12-19 06:53:15 +11:00
Thomas Watson 2aa4ee8ba7 AP_HAL_ChibiOS: remove references to legacy UART order from hwdefs 2023-12-19 06:53:15 +11:00
Thomas Watson dc4438d0e3 AP_HAL_ChibiOS: eliminate legacy UART ordering/references
SERIAL_ORDER has been around for a few years now and UART_ORDER is
rejected by the hwdef script, so support for UART_ORDER and associated
processing in the hwdef script is removed, along with the order
conversion script.
2023-12-19 06:53:15 +11:00
Thomas Watson c56599e210 AP_HAL_SITL: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 764b469e47 AP_HAL_Linux: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 574c8016c3 AP_HAL_ESP32: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 90c14141a0 AP_HAL_Empty: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 507ab623b2 AP_HAL_ChibiOS: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson bcfad0d712 AP_HAL: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson ebbcf42236 AP_HAL: constructor now accepts UARTs in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 6a6c3ce7a1 AP_HAL: inline serial accessor function
Saves a bit more flash.
2023-12-19 06:53:15 +11:00
Thomas Watson 8747ae539f AP_HAL: move serial re-mapping to driver array initialization
Saves a bit of flash and execution time.
2023-12-19 06:53:15 +11:00
Thomas Watson de45437704 AP_HAL: use array of UART drivers instead of consecutive variables
Avoids UB-inducing assumption that UART drivers are consecutive in the
serial() function.
2023-12-19 06:53:15 +11:00
Andy Piper ea76c0bd01 AP_HAL_ChibiOS: ensure dshot commands are send to all FMU channels when IOMCU is present 2023-12-18 19:02:52 +11:00
Andy Piper 1fb6205439 AP_IOMCU: always run iofirmware loop at 1Khz to avoid uart races
don't look for multiple pages on single-page packets
2023-12-18 19:02:52 +11:00
Andy Piper 5d9f9db2fe AP_IOMCU: treat register_write() as a successful interaction 2023-12-18 19:02:52 +11:00
Andy Piper d2a48148dd AP_HAL_ChibiOS: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper 92ef809e3b AP_IOMCU: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper 6dec0c2da5 AP_BLHeli: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper a8772ef5a2 AP_HAL: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper 2415c2998b AP_HAL_ChibiOS: allow dshot to be used even if bdshot was specified.
correct zero handling in bdshot decoding
2023-12-18 19:02:52 +11:00
Andy Piper 43b6fc0dba AP_IOMCU: constrain PWM channels to 8, telem channels to 4 and RC channels to 16
make ADC readings interrupt driven
turn off iomcu updates when debugging
allow for correct number of telemetry channels
cycle between vservo and vrssi when reading adc
build adc with O2
2023-12-18 19:02:52 +11:00
Andy Piper 8c03c9e4bf AP_HAL_ChibiOS: cache values of io_dshot() and io_enabled()
enabled shared_up_dma to be fully compiled out
address some minor review comments
2023-12-18 19:02:52 +11:00
Andy Piper 153c5181cb AP_IOMCU: reset erpm to zero on timeout
remove unneeded packed attribute
reset the PWM status after channels have been enabled or disabled
2023-12-18 19:02:52 +11:00
Andy Piper a5b6c3b5ef AP_HAL_ChibiOS: utility to print out bdshot encoded data 2023-12-18 19:02:52 +11:00
Andy Piper 9f30d01561 AP_HAL_ChibiOS: bdshot for f103 iofirmware
add support to tell if shared DMA channel is actually shared
avoid starting and stopping the timer peripheral with bdshot
ensure that rcout DMA allocation and deallocation happens entirely within the lock
increase rcout thread working area for bdshot
fix mode mask that is sent to the iomcu
ensure iomcu rcout thread gets timeouts for callbacks
control bdshot input and output line levels on f103
use input capture channel pairs to read rising and falling edges of telemetry on f103
reset channel pairs together on iomcu
generalize the bdshot input path to support suitable buffer sizes for iomcu
generalize DMAR reading of CCR registers to read two at a time on iomcu
enable bi-directional dshot channels on PWM1-4 on iomcu
add methods to directly access erpm values from rcout
update erpm mask and esc telemetry correctly for firmware supporting dshot
add support for propagating bdmask to iomcu
dshot commands to all channels need to be aware of iomcu
ensure esc type is propagated to iomcu
cope with iomcu channel numbering when using EDT
ensure pwm driver is reset properly for dshot commands on iomcu
correctly reset pwm for dshot commands
correctly mask off bdshot bits going to iomcu
don't reset GPIO modes on disabled lines
don't reset pwm_started when sharing DMA channels
set thread name on iomcu rcout and reduce stack size on iomcu
ensure that bdshot pulses with no response are handled correctly
correctly setup DMA for input capture on f103
deal with out of order captured bytes when decoding bdshot telemetry
ensure DMA sharing on f103 does not pull lines low
only disable the timer peripheral when switching DMA channels on iomcu
add support for waiting for _UP to finish before proceeding with dshot
re-order iomcu dshot channels to let TIM4_UP go first
ensure that a cascading event will always come when expected on rcout
allow timeouts when using cascading dshot
always rotate telemetry channel after trying to capture input
cater for both in order and out-of-order bdshot telemetry packets
cope with reversed packets when decoding bdshot telemetry
ensure UP DMA channel is fully free on iomcu before starting next dshot cycle
refactor rcout for iofirmware into separate file
2023-12-18 19:02:52 +11:00
Andy Piper e024f9fc8c AP_Notify: ensure dshot LEDs work with EDT ESCs 2023-12-18 19:02:52 +11:00
Andy Piper 2a9c2fdf14 AP_HAL: add methods to directly access erpm array from rcout 2023-12-18 19:02:52 +11:00
Andy Piper 9db7120c06 AP_BLHeli: add accessor for motor poles and telemetry rate 2023-12-18 19:02:52 +11:00
Andy Piper 6deff406e0 AP_ESC_Telem: don't set up parameters on iofirmware
add direct accessor for telemetry data to be used by iomcu
don't update telemetry data if no data
2023-12-18 19:02:52 +11:00
Andy Piper 98aeade904 AP_IOMCU: bdshot for iomcu
prevent repeated rcout mode sets
add ESC telemetry if compiled in
add infrastructure to support propagating erpm and telemetry from iomcu
add support to propagate bdmask to iomcu
add support for EDT
scale voltage and current correctly when reading EDT data
ensure that telemetry data is reset
reset ESC telemetry data to zero if stale
ESC type and bdmask must be setup before the output mode
2023-12-18 19:02:52 +11:00
Ryan Friedman dee0ca2f34 AP_ExternalARHS: Don't offer IMU by default
* Since MicroStrain won't support >400Hz yet

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-18 16:03:35 +11:00
Andrew Tridgell 8732f582c3 AP_Scripting: update SkyPower driver to support new model
support SP-275 dual-cylinder ECU
2023-12-17 14:14:20 +11:00
Andrew Tridgell 8976767321 RC_Channel: use EKFType enum class 2023-12-17 09:47:30 +11:00
Andrew Tridgell 6f79c1cee2 AP_AHRS: use EKFType enum class in set_ekf_type() 2023-12-17 09:47:30 +11:00
Andrew Tridgell 757607e4f8 AP_ExternalAHRS: added InertialLabs backend 2023-12-17 09:47:30 +11:00
Andrew Tridgell 38960a3db2 HAL_SITL: added InertialLabs simulator 2023-12-17 09:47:30 +11:00
Andrew Tridgell 48ab76d06e AP_HAL: added InertialLabs simulator 2023-12-17 09:47:30 +11:00
Andrew Tridgell a17438d52c SITL: added InertialLabs simulator 2023-12-17 09:47:30 +11:00
Andrew Tridgell 54ffdc57f2 AP_Airspeed: support external AHRS airspeed sensor 2023-12-17 09:47:30 +11:00
Andrew Tridgell 7102205be3 AP_Math: added crc_sum_of_bytes_16() 2023-12-17 09:47:30 +11:00
patrick.wiltshire956@gmail.com bdab1054d6 AP_AHRS: added set_ekf_type() and DCM logging 2023-12-17 09:47:30 +11:00
Andrew Tridgell 771dfdf826 AP_ExternalAHRS: added location extrapolation
this copes better with slow backends
2023-12-17 09:47:30 +11:00
Andrew Tridgell 3954425f77 AP_ExternalAHRS: allow backends to set default sensor set 2023-12-17 09:47:30 +11:00
Andrew Tridgell cbc14d1fa5 AP_ExternalAHRS: align origin with AHRS origin
automatically set origin to AHRS origin. This means if on boot
external AHRS is not the primary then it will use the origin from the
active backend, preventing a jump on change of backends
2023-12-17 09:47:30 +11:00
Andrew Tridgell 376426a088 RC_Channel: added AUX function 112 for AHRS EKF type changes 2023-12-17 09:47:30 +11:00
Andrew Tridgell 80730d6c02 AP_Compass: use tesla conversion from AP_Math/definitions.h 2023-12-17 09:47:30 +11:00
Andrew Tridgell ee1975d47a AP_Math: added tesla conversions 2023-12-17 09:47:30 +11:00
Andrew Tridgell ddccc92e7d AP_Math: added rfu_to_frd() method for Vector3 2023-12-17 09:47:30 +11:00
Andrew Tridgell 61b3ad326d AP_Scripting: added SCR_THD_PRIORITY parameter
this makes it possible to run lua scripts at higher priorities, which
makes real time lua scripts (such as IMU drivers) possible
2023-12-15 10:38:07 +11:00
Peter Barker 6515df72f0 GCS_MAVLink: correct compilation when AP_Vehicle disabled 2023-12-13 18:34:40 +11:00
Peter Barker 8e1fc60550 AP_Vehicle: correct compilation when AP_Vehicle not available 2023-12-13 18:34:40 +11:00
Peter Barker 0f4262de3d AP_Scheduler: correct compilation when AP_Vehicle not available 2023-12-13 18:34:40 +11:00
Peter Barker 105acc605f AP_DAL: correct compilation when AP_Vehicle not available 2023-12-13 18:34:40 +11:00
Peter Barker 8ef98c0f41 AP_Arming: correct compilation when AP_Vehicle not available 2023-12-13 18:34:40 +11:00
Peter Barker 70cc84dd89 GCS_Common: correct compilation when AP_RSSI_ENABLED is false 2023-12-13 18:30:32 +11:00
Peter Barker 66da78abaf AP_Logger: correct compilation with AP_RSSI disabled 2023-12-13 18:30:32 +11:00
Peter Barker 3ba2f3117f AP_Arming: correct compilation when logging not available 2023-12-13 18:27:08 +11:00
Randy Mackay 56a2474e1c AP_Scripting: djirs2 reply timeout reduced to 0.1 sec 2023-12-13 18:16:11 +11:00
Thomas Watson 95033b2ef5 AP_Scripting: mount-djirs2 yaw angle reporting fix 2023-12-13 18:16:11 +11:00
Randy Mackay b507075701 AP_Scripting: mount-djir2 handles both legacy and latest ver 2023-12-13 18:16:11 +11:00
Thomas Watson c6c41cb609 AP_Scripting: mount-djirs2: fix parsing for latest firmware
DJI R SDK version 2.2.0.5 released on October 30, 2020 added CmdSet and
CmdID bytes to reply frames before the data segment which need to be
skipped when parsing replies.

Tested with gimbal firmware 01.04.00.20 and 01.05.00.20 (latest version).
2023-12-13 18:16:11 +11:00
Iampete1 452f9989b9 AP_Scripting: fix some more of the easy luacheck warnings 2023-12-13 18:10:26 +11:00
Peter Barker 71a64d5046 GCS_MAVLink: correct compilation when compass not enabled 2023-12-13 14:34:13 +11:00
Luca Scheuer 4226f9e97c AP_SerialManager: reserving serial protocol for Vertiq IQUART 2023-12-13 08:12:18 +09:00
Peter Barker f6bff8c19e AP_Mission: correct compilation when RC_Channel not enabled 2023-12-12 14:52:36 +11:00
Peter Barker 22c1019767 AP_Scripting: correct compilation when AP_RTC is compiled out 2023-12-12 14:35:25 +11:00
Peter Barker 1aa6ad5bc3 AP_OSD: correct compilation when RC_Channels library not available 2023-12-12 14:35:12 +11:00
Peter Barker 2768c63971 AP_Arming: correct compilation when RC_Channels library not available 2023-12-12 14:35:12 +11:00