Commit Graph

35261 Commits

Author SHA1 Message Date
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
Peter Barker 58d4871177 AP_DAL: remove tmp_location from global namespace
removes this from the global namespace and means it isn't included when DAL isn't

update the location where we update the fields.
2023-12-12 11:53:00 +11:00
Peter Barker 283a1edb9f AP_VisualOdom: correct compilation when HAL_GCS_ENABLED is false 2023-12-12 11:41:47 +11:00
Peter Barker 93907f4a6d AP_Avoidance: correct compilation when HAL_GCS_ENABLED is false 2023-12-12 11:41:47 +11:00
Peter Barker c15a73c798 AR_Motors: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 673fad04de AP_WindVane: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 1bf85a0a15 AP_SmartRTL: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker dd6d1f04c2 AP_OSD: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 6efc6d0f2d AP_Motors: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 6df3f18440 AP_Landing: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 87c0543d9f AP_Arming: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker dcebd072be AC_AttitudeControl: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker b0b94f50ed AP_Vehicle: add and use AP_RSSI_ENABLED 2023-12-12 11:37:57 +11:00
Peter Barker b7710a78d8 AP_RSSI: add and use AP_RSSI_ENABLED 2023-12-12 11:37:57 +11:00
Peter Barker b2a12f406f AP_OSD: add and use AP_RSSI_ENABLED 2023-12-12 11:37:57 +11:00
Peter Barker 03218b11ac AP_MSP: add and use AP_RSSI_ENABLED 2023-12-12 11:37:57 +11:00
Peter Barker e95b1e5dd3 AC_AutoTune: add and use header guards 2023-12-12 11:36:15 +11:00
Iampete1 782605e7ea AP_Scripting: CANSensor: Add filtering of incoming frames
Co-authored-by: Andras Schaffer <eosbandi@gmail.com>
2023-12-12 11:32:04 +11:00
Iampete1 6d546eed8f AP_Motors: Example: allow setting of COL2YAW and autorotation flag 2023-12-12 11:23:15 +11:00
Iampete1 5dcdd238a9 AP_Motors: Example: allow testing of heli tail type 2023-12-12 11:23:15 +11:00
Iampete1 1c8ab3853c AP_Motors: Heli: Single: tail type tidyup 2023-12-12 11:23:15 +11:00
tomas.vrsansky e6feebb2fb AP_HAL_ChibiOS: add hwdef files for Airvolute DCS2 onboard FMU
added ethernet config to hwdef
updated readme.md
hwdef: MAC parameters redefined according to ChibiOS
hwdef: add default params for Airvolute DCS2 on board FMU
update according to new changes in ChibiOS MAC driver
added defines to support ethernet communication
bootloaders: Airvolute-DCS2
2023-12-12 11:09:09 +11:00
Peter Barker ff86e2dda8 AP_WindVane: add and use AP_WINDVANE_*_ENABLED defines 2023-12-12 09:28:58 +11:00
Andrew Tridgell 75217ec1e6 AP_Scripting: added readstring for uarts
this is much more efficient than reading a byte at a time
2023-12-12 07:42:15 +11:00
Andy Piper 375a940b51 AP_IOMCU: make adc interrupt driven 2023-12-11 20:46:28 +11:00
Andrew Tridgell ffb7328ede AP_Scripting: review fixes
thanks Pete!
2023-12-11 18:00:38 +11:00
Andrew Tridgell 867e9c6799 AP_RTC: fixed build on arm 2023-12-11 18:00:38 +11:00
Andrew Tridgell ded1cdaa2a AP_Scripting: fixed webserver warnings 2023-12-11 18:00:38 +11:00
Andrew Tridgell 583c24d833 AP_Scripting: updated docs 2023-12-11 18:00:38 +11:00
Andrew Tridgell 18044a9644 AP_Scripting: added a home page and ajax support 2023-12-11 18:00:38 +11:00
Andrew Tridgell 168bc4e32f AP_Scripting: added If-Modified-Since for webserver 2023-12-11 18:00:38 +11:00
Andrew Tridgell 90c12d4db3 AP_Scripting: added stat() binding for filesystem 2023-12-11 18:00:38 +11:00
Andrew Tridgell 2822f507c1 AP_RTC: added time and date APIs for lua
and fixed a bug with the ms time return
2023-12-11 18:00:38 +11:00
Andrew Tridgell 9beea49c3c AP_Filesystem: implement stat() call for lua 2023-12-11 18:00:38 +11:00
Andrew Tridgell 9f08e5d317 AP_Scripting: use sendfile() in web server 2023-12-11 18:00:38 +11:00
Andrew Tridgell 1e1255c8f0 AP_Scripting: added sendfile() API on sockets 2023-12-11 18:00:38 +11:00
Andrew Tridgell 241323eade AP_Networking: added sendfile()
this allows for scripting to offload a file send to the AP_Networking
library, reducing CPU costs of large file downloads
2023-12-11 18:00:38 +11:00
Andrew Tridgell 9358bfce34 AP_HAL: added duplicate() in SocketAPM 2023-12-11 18:00:38 +11:00
Andrew Tridgell c9c38300bd AP_Filesystem: expose APFS_FILE structure
allows scripting to set the fd for sendfile()
2023-12-11 18:00:38 +11:00
Andrew Tridgell 26d814880e AP_Scripting: webserver improvements 2023-12-11 18:00:38 +11:00
Andrew Tridgell a4fb05de95 HAL_ChibiOS: increase LWIP windows
now getting 6.8MByte/s with NET_TESTS=4
2023-12-11 18:00:38 +11:00
Andrew Tridgell 28885dca4c HAL_ChibiOS: adjust buffer sizes
this fixes issues with TCP accepts being lost in web server
2023-12-11 18:00:38 +11:00
Andrew Tridgell 39891d3161 AP_Scripting: improve web server debug 2023-12-11 18:00:38 +11:00
Andrew Tridgell f603f045b5 HAL_ChibiOS: make lwip debugging easier
use ap_networking_printf wrapper
2023-12-11 18:00:38 +11:00
Andrew Tridgell fec0ec79c5 AP_Networking: make lwip debugging easier 2023-12-11 18:00:38 +11:00
Andrew Tridgell f924497194 AP_Scripting: added poll bindings 2023-12-11 18:00:38 +11:00
Andrew Tridgell 1419042fc0 AP_Scripting: added web server appliction 2023-12-11 18:00:38 +11:00
Andrew Tridgell 3446ff78d7 AP_Scripting: added isdirectory() 2023-12-11 18:00:38 +11:00
Andrew Tridgell 9065baa329 AP_Scripting: added bindings for SocketAPM 2023-12-11 18:00:38 +11:00
Andrew Tridgell 436c60c7de HAL_ChibiOS: defaults to 50 socket limit
makes for more useful web server
2023-12-11 18:00:38 +11:00
Andrew Tridgell 11ea2cf5c1 AP_Filesystem: added option @SYS/flash.bin
useful for speed tests
2023-12-11 18:00:38 +11:00
Andrew Tridgell 0f0aed66b7 AP_Filesystem: fixed fseek and open of directories 2023-12-11 18:00:38 +11:00
Andrew Tridgell a77331e725 AP_HAL: mark socket as not connected on EOF
this allows lua scripts to properly detect a closed TCP connection
2023-12-11 18:00:38 +11:00
Andrew Tridgell 64d649fbcc AP_HAL: fixed SO_REUSEADDR on bind
and use MSG_NOSIGNAL to prevent pipe errors in SITL
2023-12-11 18:00:38 +11:00
Andrew Tridgell 98e8b9785c AP_HAL: added close() to SocketAPM 2023-12-11 18:00:38 +11:00
Andrew Tridgell b49152bbe6 AP_HAL: mark new accept() socket as connected 2023-12-11 18:00:38 +11:00
Peter Barker 4cb0a922b2 AP_Airspeed: correct spelling of configured 2023-12-11 15:18:43 +11:00
Andrew Tridgell e4a27943f5 AP_RTC: fixed ms value from AP_RTC::get_date_and_time_utc
this impacts the ViewPro mount driver
2023-12-09 11:12:56 +11:00
Peter Barker d1ad9ccfbb AR_WPNav: correct missing include 2023-12-08 22:53:41 +11:00
Peter Barker cc18c82622 AP_Follow: correct defaulting of AP_FOLLOW_ENABLED
and clarify a closing endif
2023-12-08 22:52:18 +11:00
bugobliterator 00a65632eb AP_HAL_ChibiOS: add support for swapping ICM42688 with ICM45686 2023-12-06 13:34:52 +11:00
bugobliterator e34e9c61aa AP_HAL_ChibiOS: disable core m4 use to silence the chibios asserts
checking allocation of peripherals
2023-12-06 13:31:26 +11:00
Ka Ru d728eef685 AP_Notify: add can-zero board 2023-12-05 07:41:06 -06:00
Ka Ru 329c6ba668 AP_HAL: add can-zero board 2023-12-05 07:41:06 -06:00
Ka Ru ce177a3637 AP_HAL_Linux: add can-zero board 2023-12-05 07:41:06 -06:00
Peter Barker 455610a7ad AP_Scripting: correct mavlink_test.lua 2023-12-05 20:15:21 +11:00
Paul Riseborough 7601a02e98 AP_AHRS: added AHRS_OPTIONS parameter
the first option is to disable DCM fallback on fixed wing. This is
suitable in environments with a high likelyhood of GPS interference
2023-12-05 19:28:50 +11:00
Andrew Tridgell 5fce4f5f6d SITL: added simple simulated jammer 2023-12-05 19:28:50 +11:00
Andrew Tridgell c316de75d0 SITL: fixed whitespace in SIM_GPS.cpp
this one has been really bad for a while
2023-12-05 19:28:50 +11:00
Andy Piper cca8f8219a hwdef: new variant of KakuteH7 using ICM42688 2023-12-05 11:41:08 +11:00
Andy Piper 0cc5cf7d2d AP_HAL_ChibiOS: allow betaflight converter to run on output from "dump hardware" 2023-12-05 11:38:53 +11:00
Martin Luessi 6e417f1d0c RADIX2HD: Set HAL_I2C_INTERNAL_MASK 2023-12-05 11:37:57 +11:00
Iampete1 b8114da102 AP_Motors: Heli: dual and quad: remove un-needed override methods 2023-12-05 09:12:37 +09:00
Ryan Friedman fadedbbb47 AP_HAL: Add MicroStrain7 support
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Ryan Friedman 5bcdaa360e AP_HAL_SITL: Add MicroStrain7 support to SITL
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Ryan Friedman 1ae13cd66d SITL: Switch to using GPS Timestamp for 5 series driver
* The old descriptor is deprecated

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Ryan Friedman 7c183f4ab3 AP_ExternalAHRS: Add MicroStrain7 support
* Implement filter state without relying on GPS
* Implement health and initialization check based on filter state
* Fix pre-arm checks missing version
* Add version specifics to microstrain 5 log msgs
* Add utilities to microstrain packet to remove magic number array
  access

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Iampete1 433f98fee1 AP_Vehicle: call scripting update from 1Hz loop 2023-12-05 11:03:58 +11:00
Iampete1 2a3a5b2804 AP_Scripting: add checksum of running and loaded scripts with arming check 2023-12-05 11:03:58 +11:00
Iampete1 423a218643 GCS_MAVLink: use new filesystem crc32 method 2023-12-05 11:03:58 +11:00
Iampete1 2c7e06dc5e AP_Filesystem: add crc 32 method 2023-12-05 11:03:58 +11:00
Bob Long 24bf288e28 AP_InertialNav: freeze horiz_vel when !velned_ok
This addresses concerns about brief failures of get_velocity_NED causing
abrupt changes to the horizonatl velocity estimate.
2023-12-05 10:44:37 +11:00
Bob Long 467e62b967 GCS_Common: allow fallback vert rate in VFR_HUD 2023-12-05 10:44:37 +11:00
Bob Long 6eed40dec1 AP_InertialNav: add fallback vertical velocity 2023-12-05 10:44:37 +11:00
Iampete1 d26fdfc3b2 AP_CustomControl: use base class AC_AttitudeControl object 2023-12-05 08:08:09 +09:00
Andrew Tridgell c61ee15c1f AP_Vehicle: init networking after serial manager
init before serial manager led to not seeing any error messages if net
init failed
2023-12-04 10:12:41 +11:00
Andrew Tridgell 55b5e1cff1 AP_Networking: fixed off by one error in cache size calculation
this caused some of the memory to be cacheable which led to TCP
checksum errors
2023-12-04 10:12:41 +11:00
Peter Barker 0d9c658a1e SITL: add missing includes 2023-12-04 07:04:12 +11:00
Andrew Tridgell 63f9046265 AP_Networking: fixed docs for network port types
and document broadcast and multicast
2023-12-03 11:37:21 +11:00
Tom Pittenger 7f94ae6fe7 AP_Networking: only show NET_IP,DHCP,GW,MASK,MAC if it's actually used 2023-12-02 08:17:52 +11:00
Andrew Tridgell 89506846a3 AP_Networking: improve startup wait
this ensures we wait till DHCP has completed
2023-12-01 18:33:29 +11:00
Andrew Tridgell 2ef560db0b AP_ExternalAHRS: reserve some ExternalAHRS type values 2023-12-01 14:59:57 +11:00
Andrew Tridgell aba5ec6854 AP_InertialSensor: added support for writing raw IMU data to a UART
this is for supporting external visual odomotry systems which need the
IMU data to correctly process image data

# Conflicts:
#	libraries/AP_InertialSensor/AP_InertialSensor.cpp
2023-11-30 07:05:02 +11:00
Andrew Tridgell 604559a844 AP_OSD: added new serial manager protocol 2023-11-30 07:05:02 +11:00
Andrew Tridgell e58e8b861d AP_Serialmanager: added IMOUT uart type
# Conflicts:
#	libraries/AP_SerialManager/AP_SerialManager.cpp
#	libraries/AP_SerialManager/AP_SerialManager.h
2023-11-30 07:05:02 +11:00
Randy Mackay 46298052b6 AP_Scripting: simplify Rover quick tune
Only tunes FF.  P and I are set as ratio to FF
2023-11-29 08:18:07 -08:00
Peter Barker 4ede307be2 AP_RCProtocol: rename crc_sum8 to crc_sum8_with_carry
the name "sum8" is usually used for "sum all bytes into a uint8_t discarding carry"
2023-11-29 18:50:26 +11:00
Peter Barker d34e6049c9 AP_Math: rename crc_sum8 to crc_sum8_with_carry
the name "sum8" is usually used for "sum all bytes into a uint8_t discarding carry"
2023-11-29 18:50:26 +11:00
Peter Barker 9394a7b26b AP_RangeFinder: use boolean uartdriver read method 2023-11-29 18:29:11 +11:00
Peter Barker 97417a1038 SITL: rename SITL::GPS_GSOF to SITL::GPS_Trimble 2023-11-29 18:04:56 +11:00
Peter Barker a143d2e453 SITL: remove trailing whitespace in SITL GPS drivers
we've just lost the history for these lines anyway
2023-11-29 18:04:56 +11:00
Peter Barker d992ead5b1 SITL: rename GSOF to Trimble
... as now it's not just GSOF but also DCOL
2023-11-29 18:04:56 +11:00
Peter Barker 568d633dcc SITL: break up GPS backends into separate files 2023-11-29 18:04:56 +11:00
Tom Pittenger f72dd8cc89 AP_Network: mavlink packetise requires mavlink 2023-11-29 12:29:19 +11:00
Andrew Tridgell 0d932e8a54 Filter: fixed uint8_t bug in total filters and expand_filter_count bug
this gets the right number of notches on quadplanes, but is still very
bad in fwd flight
2023-11-28 18:05:37 +11:00
Andrew Tridgell 002f1076d7 Filter: added optional notch debug logging
this has helped find multiple bugs
2023-11-28 18:05:37 +11:00
Andy Piper a61fc423f0 Filter: allow zero centre frequency to passthrough and disable notch 2023-11-28 18:05:37 +11:00
Iampete1 eb4e3fc36a AP_InertialSensor: init all notch center frequencies 2023-11-28 18:05:37 +11:00
jfbblue0922 c16e1a28df AP_HAL_ChibiOS/hwdef: changed defaults parm in JFB110 board definition
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-11-28 15:58:53 +09:00
Peter Barker 2e41cf810c Revert "AP_GPS: GSOF robust config parsing"
This reverts commit bf9881579c.
2023-11-28 16:09:46 +11:00
Peter Barker 8b7652d1db Revert "AP_GPS: Move init logic from constructor to class"
This reverts commit 5f84cd8f2b.
2023-11-28 16:09:46 +11:00
Ryan Friedman 35b52a4604 SITL: Implement DCOL parser and bidirectional comms
* Implement DCOL command support for GSOF simulator
* Only send GSOF when enabled
* Publish only at the configured rate
* Only build GSOF packets when needed
  * This saves CPU
* Make physics and read loop run at full rate
  * The logic to rate-limit writes is now pushed to the backend
* Indent errors were fixed too

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:50:02 +11:00
Ryan Friedman d7b5cd3203 AP_GPS: Fix missing GSOF param for SITL
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:50:02 +11:00
Ryan Friedman 5f84cd8f2b AP_GPS: Move init logic from constructor to class
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:44:37 +11:00
Ryan Friedman bf9881579c AP_GPS: GSOF robust config parsing
* Refactor checksum to unique function
* Clear uart before reading data
* Add ack/nack check
* Implement output disable before requesting GSOF data
* Improve debug message to have line number
* Use debug in more code
* Stop delaying in configuration

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:44:37 +11:00
Randy Mackay 03c50db07e AR_WPNav: pos control updated during pivots 2023-11-28 12:46:46 +09:00
Randy Mackay 62dfe0f04b AR_PosControl: no min speed when stopping 2023-11-28 12:46:46 +09:00
Ryan Friedman 3965c7e4bf AP_Math: Replace deprecated benchmark function
* Been deprecated since 1.2.0

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 12:21:10 +11:00
Andrew Tridgell 2ee48dea29 AP_HAL: support bi-directional UDP broadcast sockets 2023-11-28 12:18:55 +11:00
Andrew Tridgell 7d1f048ca7 AP_Networking: support UDP server, TCP client and TCP server
and implement mavlink packetisation and flow control return
2023-11-28 12:18:55 +11:00
Andrew Tridgell f345d94e91 GCS_MAVLink: increase max mavlink connections when networking enabled 2023-11-28 12:18:55 +11:00
Andrew Tridgell f471732aad HAL_ChibiOS: enable SO_REUSEADDR 2023-11-28 12:18:55 +11:00
Andrew Tridgell 0659ab8ef4 HAL_ChibiOS: increase max TCP resources 2023-11-28 12:18:55 +11:00
Andrew Tridgell a05acfc090 AP_HAL: added last_recv_address() with supplied buffer
this prevents a race condition with a static string
2023-11-28 12:18:55 +11:00
Ryan Friedman be668ddc1b AP_ExternalAHRS: Clarify public interface design intent
* Discussions with Tridge on design intent for these accessors

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 11:48:22 +11:00
Henry Wurzburg d9d5e91110 hwdef: update SDH7V1 readme 2023-11-28 11:47:32 +11:00
Andrew Tridgell ad59f6db01 AP_DroneCAN: support an aux 11 bit protocol with DroneCAN 2023-11-28 11:38:16 +11:00
Andrew Tridgell d17a1ca7bc AP_CANManager: support CAN_Dn_PROTOCOL2 for an aux 11 bit protocol 2023-11-28 11:38:16 +11:00
Iampete1 d626928e0c SITL: SIM IntelligentEnergy24: add error string to V2 protocol 2023-11-28 11:27:14 +11:00
Iampete1 a00b6b6f86 AP_Gernerator: FuelCell: rework error check to give error cleared msg 2023-11-28 11:27:14 +11:00
Iampete1 3b3c94ea07 AP_Generator: IE_2400: update low and critial error ranges for V2 protocol 2023-11-28 11:27:14 +11:00
Gone4Dirt ab5d28073d SITL: Add V2 telemetry protocol to IE24 fuel cell 2023-11-28 11:27:14 +11:00
Iampete1 36dd720e78 AP_Generator: IE 2400: fix V2 low and critical errors and add warnings 2023-11-28 11:27:14 +11:00
Iampete1 c91407d662 AP_Generator: IE 2400: only return custom msg if error is critial or low severity 2023-11-28 11:27:14 +11:00
Iampete1 c861e15853 AP_Gernerator: IE_2400: lengthen message buffer and print error num 2023-11-28 11:27:14 +11:00
Iampete1 90f7ed3410 AP_Generator: Add support for IE V2 protocol 2023-11-28 11:27:14 +11:00
Iampete1 daf8aeeadc AP_Param: check dynamic param tables are avalable before adding a param 2023-11-28 11:22:43 +11:00
Michael du Breuil 772dbfb04f AP_GPS: SBF supports yaw from dual antennas
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-11-28 11:17:51 +11:00
daniel.li e6b7daa323 AP_HAL_ChibiOS: Add Aocoda-RC-H743Dual target 2023-11-28 10:29:23 +11:00
Randy Mackay 46f4e6e33a RC_Channel: Rover circle mode aux function param desc 2023-11-28 07:54:45 +09:00
Randy Mackay 2d89f835e5 AR_PosControl: fix PSC_VEL_I param range 2023-11-28 07:54:45 +09:00
Thomas Watson 87fef1ae5d AP_HAL_ChibiOS: use get_HAL_mutable() to install new CAN interfaces
Avoids dubious extern redefinition.
2023-11-28 08:24:25 +11:00
Thomas Watson 008c0baf5f AP_DroneCAN_sniffer: use get_HAL_mutable() to install new CAN interface
Avoids dubious const_casting.
2023-11-28 08:24:25 +11:00
Thomas Watson de26095c58 AP_CANManager: use get_HAL_mutable() to install new CAN interfaces
Avoids dubious const_casting.
2023-11-28 08:24:25 +11:00
Thomas Watson 3c82ac6043 AP_HAL_SITL: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Thomas Watson 8fe95dca81 AP_HAL_Linux: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Thomas Watson db12f428c5 AP_HAL_Empty: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Thomas Watson 2dbf5aefb3 AP_HAL_ESP32: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Thomas Watson a9ddadee3b AP_HAL_ChibiOS: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Thomas Watson dc76e03890 AP_HAL: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Andrew Tridgell c48feefe23 AP_BattMonitor: fixed battery percentage with aux info
when we have aux battery information we had assumed the CAN device
would provide the battery remaining percentage. We should obey the "do
not use CAN SoC" with or without an AUX message

This fixes CAN battery monitors with a cell monitor
2023-11-27 13:02:46 +11:00
Stephen Dade 73eb3b0590 AR_Motors: Add prearm check for no outputs 2023-11-27 08:31:31 +09:00
Peter Barker f40250c073 AP_AHRS: compile EKF2 out by default on all boards 2023-11-27 09:05:08 +11:00
Tom Pittenger 6dcaf94c3d AP_BattMon: add AP_BATTERY_WATT_MAX_ENABLED 2023-11-26 11:57:14 +11:00
Tom Pittenger 1f7b4d0938 AP_HAL_ChibiOS: set AP_BATTERY_WATT_MAX_ENABLED 0 for minimize 2023-11-26 11:57:14 +11:00
Tom Pittenger cd6a656acf AP_HAL_ChibiOS: set AP_BATTERY_WATT_MAX_ENABLED 0 for periph 2023-11-26 11:57:14 +11:00
Tom Pittenger 8ab3ad2777 AP_Networking: add support for AP_Periph 2023-11-26 11:28:57 +11:00
Tom Pittenger e8c852f0d4 AP_HAL: Allow APMSockets to autodetect Broadcast IPs 2023-11-25 16:28:07 -08:00
olliw42 8f9df5a62e AP_Arming: Reduce response time when checks go from true to false 2023-11-25 14:59:04 -08:00
Peter Barker 27f836b66e hwdef: correct ARK_CANNODE compilation
this was turning SPI on when there aren't any devices...
2023-11-25 13:47:13 -08:00
alexklimaj ddba794420 hwdef: ark_rtk_gps fix safety led 2023-11-25 13:45:56 -08:00
Andrew Tridgell ee592476ce AP_HAL: implement multicast for UDP sockets 2023-11-25 12:19:43 -08:00
Andrew Tridgell 68e2bb1f15 AP_Networking: enable receive of multicast packets 2023-11-25 12:19:43 -08:00
Andrew Tridgell 58cf4f65a9 HAL_SITL: use SocketAPM for CAN multicast and SITL_Periph state 2023-11-25 12:19:43 -08:00
Ryan Friedman 14aeb831fb AP_DDS: Add instructions for running HW test
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-22 21:44:35 -08:00
bugobliterator 4b61b3d64e AP_Stats: initialise parameter defaults 2023-11-22 21:43:00 -08:00
Tom Pittenger b5e2f9aa0a AP_Scripting: change some _INFO msgs to _CRITICAL/ERROR 2023-11-22 00:07:05 -08:00
Pierre Kancir d98a400d9e AP_Logger: Prepare the maximum number of log files in the config parameter 2023-11-22 18:35:21 +11:00
Peter Barker e9fc99b1bf AP_HAL_ChibiOS: base HAL_USE_SPI on devices not buses
fixes compilation problem with gcc 10.3

../../libraries/AP_HAL_ChibiOS/SPIDevice.cpp: In static member function 'static void ChibiOS::SPIDeviceManager::__static_initialization_and_destruction_0(int, int)':
../../libraries/AP_HAL_ChibiOS/SPIDevice.cpp:76:18: error: statement has no effect [-Werror=unused-value]
   76 | ChibiOS::SPIDesc SPIDeviceManager::device_table[] = { HAL_SPI_DEVICE_LIST };
      |                  ^~~~~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
cc1plus: some warnings being treated as errors
2023-11-22 18:14:00 +11:00
Andrew Tridgell f30ac4052c HAL_SITL: added SERIAL4 as UDP output for SITL periph 2023-11-22 17:19:12 +11:00
Andrew Tridgell a725d8b90c AP_DroneCAN: support CAN serial ports
this allows any serial protocol to be mapped to a remote DroneCAN node
2023-11-22 17:19:12 +11:00
Andrew Tridgell e06d65bd75 AP_Networking: simplify port registration 2023-11-22 17:19:12 +11:00
Andrew Tridgell 65ffe713b4 AP_SerialManager: enable port registration for dronecan 2023-11-22 17:19:12 +11:00
Andrew Tridgell e63a2250ca AP_SerialManager: ensure registered ports are in sorted order
this avoids ordering issues if using both CAN and network serial ports
2023-11-22 17:19:12 +11:00
Andrew Tridgell 0ae5c9116c AP_SerialManager: added AP_SerialManager_config.h 2023-11-22 17:19:12 +11:00
Andrew Tridgell a54503ae12 AP_SerialManager: define port ranges for CAN serial ports 2023-11-22 17:19:12 +11:00
Peter Mullen adc0ebf9de AP_RangeFinder: Add signal_quality_pct to range finder state 2023-11-21 22:24:12 +11:00
Peter Barker 8eb5baa4ae Filter: correct AP_Filter defines
- checking the build type is very rarely used and definitely not required here
 - fix boilerplate to conform to normal pattern of including the config header and #if'ing based on the _ENABLED directly after that
2023-11-21 21:13:42 +11:00
Peter Barker e806adb009 AP_Vehicle: correct AP_Filter defines
- checking the build type is very rarely used and definitely not required here
 - fix boilerplate to conform to normal pattern of including the config header and #if'ing based on the _ENABLED directly after that
2023-11-21 21:13:42 +11:00
Peter Barker 15e0f689c2 AP_HAL_ChibiOS: correct AP_Filter defines
- checking the build type is very rarely used and definitely not required here
 - fix boilerplate to conform to normal pattern of including the config header and #if'ing based on the _ENABLED directly after that
2023-11-21 21:13:42 +11:00
Ryan Friedman da0efa3323 SITL: Bump up read rate on SITL
* This is needed to do active configuration quickly
* Read/Write split and exposed to ensure physics/write rate is still
  coupled to avoid impacting the jamming and delayed data
* Created a utility to allocate the SITL instance

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-21 15:29:46 +11:00
Andrew Tridgell 69bfe9b837 APM_Control: added D_FF support for fixed wing 2023-11-21 13:26:23 +11:00
Andy Piper 5d53485be0 AP_Logger: add PIDInfo.DFF logging 2023-11-21 13:26:23 +11:00
Andy Piper 6ecb18e027 AP_Vehicle: link in AP_Filter support
allow filters to be compiled out
add filter updates at 1Hz
2023-11-21 13:26:23 +11:00
Andy Piper e729c8ccfa Filter: add AP_Filter support
enable filters with AP_FILTER_ENABLED
allow filters to be compiled out
add dynamic updates, remove load/save and enable
2023-11-21 13:26:23 +11:00
Andy Piper 5b0f30ad44 AP_WheelEncoder: update for new AC_PID settings
enable filters with AP_FILTER_ENABLED
2023-11-21 13:26:23 +11:00
Andy Piper cfebae5857 APM_Control: update for new AC_PID settings
enable filters with AP_FILTER_ENABLED
2023-11-21 13:26:23 +11:00
Andy Piper fc76312fc3 AC_PID: use AP_Filter for notch configuration
enable filters with AP_FILTER_ENABLED
dynamically allocate notches
remove load/save for notches, update docs
move feedfoward update to update_all()
restrict load_gains() and save_gains() to just what autotune needs
add D_FF logging
2023-11-21 13:26:23 +11:00
Andy Piper 560030c9ba AC_CustomControl: update for new AC_PID settings
enable filters with AP_FILTER_ENABLED
2023-11-21 13:26:23 +11:00
Andy Piper b7a969d462 AC_AttitudeControl: update for new AC_PID settings
enable filters with AP_FILTER_ENABLED
2023-11-21 13:26:23 +11:00
Andy Piper 13ff23f39d AP_HAL: enable filters with AP_FILTER_ENABLED on sitl 2023-11-21 13:26:23 +11:00
Andy Piper d6287e90f1 AC_AttitudeControl: update PID notch centres
add documentation for PID notches and D feed-foward
add notches and D feedforward to heli PIDs
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Andy Piper 6a40843a9e Filter: provide accessors for center and sample frequencies on NotchFilter 2023-11-21 13:26:23 +11:00
Andy Piper 370ee7d4d3 AP_WheelEncoder: add documentation for PID notches and D feed-foward
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Andy Piper 952baf860c AC_CustomControl: add documentation for PID notches and D feed-foward
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Andy Piper 9211dba484 APM_Control: update docs for new AC_PID parameters
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Andy Piper b17b78e329 AC_PID: add notch filters to target and error terms
calculate D feed-forward and notch applications correctly
only update notches when enabled
add notches and D feedforward to heli PIDs
add advanced flag an selectively compile advanced options
2023-11-21 13:26:23 +11:00
Peter Barker bc03918ea4 GCS_MAVLink: create and use AP_MAVLINK_MSG_UAVIONIX_ADSB_OUT_STATUS_ENABLED
narrower define we can use when not compiling in the backends which use this
2023-11-21 13:21:13 +11:00
Peter Barker 232edac8d7 AP_ADSB: create and use AP_MAVLINK_MSG_UAVIONIX_ADSB_OUT_STATUS_ENABLED
narrower define we can use when not compiling in the backends which use this
2023-11-21 13:21:13 +11:00
Thomas Watson b8d50b112a AP_Compass: fix C++ One Definition Rule violations
Two structs with the same name must have exactly the same definition, no
matter where they occur in the program, otherwise the program is undefined.

Move each sample register struct definition into the associated class
definition so they are in a different namespace and no longer
identically named, thus fixing this issue.
2023-11-21 13:21:03 +11:00
Rhys Mainwaring 0d735ffb01 AP_DDS: increase the timeout when creating participants and entities
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-11-21 13:20:23 +11:00
Peter Barker 6d172a1b22 GCS_MAVLink: exclude deadlock-creation based on FAILURE_CREATION_ENABLED 2023-11-21 09:35:50 +09:00
Henry Wurzburg f9c9a09327 AP_MSP: update option metadata for clarity 2023-11-21 10:05:56 +11:00
Henry Wurzburg 36a66424e1 AP_BattMonitor:remove unused param from analog fuel level 2023-11-21 10:01:38 +11:00
Peter Barker 170d96e8cc GCS_Common: remove mappings for non-supported messages 2023-11-20 19:25:25 +11:00
Peter Barker 70160c58e8 GCS_MAVLink: tidy sending of ADSB messages 2023-11-20 19:25:25 +11:00
Peter Barker 6f5ff2f952 GCS_MAVLink: tidy sending of HIGH_LATENCY2 messages 2023-11-20 19:25:25 +11:00
Peter Barker 031e5b1dab GCS_MAVLink: tidy sending of WATER_DEPTH messages 2023-11-20 19:25:25 +11:00
Peter Barker a8906ac491 GCS_MAVLink: tidy sending of winch messages 2023-11-20 19:25:25 +11:00
Peter Barker 564e6ec77a GCS_MAVLink: tidy sending of efi messages 2023-11-20 19:25:25 +11:00
Peter Barker 892bafe951 GCS_MAVLink: tidy sending of esc telem generator messages 2023-11-20 19:25:25 +11:00
Peter Barker a95b2b2497 GCS_MAVLink: tidy sending of queued generator messages 2023-11-20 19:25:25 +11:00
Peter Barker d894281f2b GCS_MAVLink: tidy sending of queued SIM messages 2023-11-20 19:25:25 +11:00
Peter Barker ec69867102 GCS_MAVLink: tidy sending of queued mcu status messages 2023-11-20 19:25:25 +11:00
Peter Barker 0983bd2d06 GCS_MAVLink: tidy sending of queued opticalflow messages 2023-11-20 19:25:25 +11:00
Peter Barker c017c8acf4 GCS_MAVLink: tidy sending of queued mount messages 2023-11-20 19:25:25 +11:00
Andy Piper 229916a48c AP_HAL_ChibiOS: enable serial LEDs on ARK_CANNODE 2023-11-20 19:23:06 +11:00
Andy Piper 04fa8ed593 AP_HAL_SITL: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Andy Piper b5ef11797b AP_Scripting: add success status to serialLED:send and serialLED:set_RGB 2023-11-20 19:22:20 +11:00
Andy Piper 00ceca0fff AP_SerialLED: return success status from send and set_RGB 2023-11-20 19:22:20 +11:00
Andy Piper d30e52ed3f AP_HAL: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Andy Piper 73610c8932 AP_HAL_ChibiOS: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Andy Piper b7fd04318a AP_HAL_ChibiOS: fix race condition in sending serial LED data 2023-11-20 19:22:20 +11:00
Ryan Friedman 2d465a5b20 AP_DDS: Fix typos and out of date info
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-20 08:40:06 +09:00
Ryan Friedman 213cba86af AP_SerialManager: Add missing option for XRCE DDS
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-20 08:40:06 +09:00
Andrew Tridgell 8e50584bd8 AP_Networking: fixed buffer size handling
make begin() able to change buffer sizes
2023-11-18 16:54:54 -08:00
Henry Wurzburg 176a4aa51a AP_BoardConfig: add arm/disarm controlled GPIO for module power control 2023-11-18 14:27:05 +11:00
Henry Wurzburg fffe3afb28 AP_Arming: add arm/disarm controlled GPIO for module power control 2023-11-18 14:27:05 +11:00
Peter Barker afa263c691 SITL: set sitl point for GPS backends in constructor
_sitl is guaranteed non-nullptr by the SITL::GPS::update()
2023-11-18 13:59:28 +11:00
Tom Pittenger 3b35915774 AP_Networking: return bug fix
Co-authored-by: Ryan <ryanfriedman5410+github@gmail.com>
2023-11-17 18:24:39 -08:00
Tom Pittenger fcf602cbe2 AP_Networking: init socket null check 2023-11-17 18:24:39 -08:00
Tom Pittenger 30bccf6266 AP_Networking: adjustable PORT buf size 2023-11-17 18:24:39 -08:00
muramura f28ef5e5a7 AP_Baro: Returns directly calculated values 2023-11-18 12:18:36 +11:00
Andrew Tridgell 2ba4bf1478 HAL_ChibiOS: allow for --disable-networking 2023-11-17 10:54:24 -08:00
Andrew Tridgell 31fd43ba25 AP_SerialManager: fixed passthru with network ports 2023-11-17 10:54:24 -08:00
Andrew Tridgell 84dd7eaaf1 AP_Networking: added support for mapping network ports
only UDP_CLIENT so far
2023-11-17 10:54:24 -08:00
Andrew Tridgell ba0598930e AP_Vehicle: added AP_Networking::Port NET_Pn_ parameters 2023-11-17 10:54:24 -08:00
Andrew Tridgell f9f07912e6 AP_SerialManager: added register_port() API
allows another library to register a UART driver for exposing via
AP_SerialManager APIs
2023-11-17 10:54:24 -08:00
Andrew Tridgell 713745ed28 AP_DroneCAN: don't update hobbywing ESC table while armed
some hobbywing ESCs have a bug where requesting the ID table can cause
the ESC to stutter
2023-11-17 16:21:58 +11:00
Pradeep CK 71141080a1 AP_EFI : Hirth Driver Addition
Implementation for Hirth.
 - Base class - AP_EFI
 - polynomial functional throttle linearization
 - AP_EFI_State parameter addition and changes for hirth logging
 - to fix autotest errors
 - updated comments
 - Hirth CI/CD autotest fail fixes
 - logging
 - fix CI issues
2023-11-17 13:09:02 +11:00
Andrew Tridgell 6bf3debe73 HAL_ChibiOS: default disable ICE in periph 2023-11-17 13:09:02 +11:00
Andrew Tridgell 3e0e32a409 AP_Scripting: support 2nd cylinder in EFI 2023-11-17 13:09:02 +11:00
Peter Barker c5eab29f5e AP_Math: add F_TO_KELVIN and C_TO_F 2023-11-17 13:09:02 +11:00
Peter Barker a018bed042 SITL: improve MegaSquirt simulator fidelity 2023-11-17 13:09:02 +11:00
Peter Barker ca16e924db SITL: add simulator Hirth EFI 2023-11-17 13:09:02 +11:00
Peter Barker f134a1df34 AP_HAL_SITL: add simulator Hirth EFI 2023-11-17 13:09:02 +11:00
Peter Barker 76d07f21f5 AP_HAL: add simulator Hirth EFI 2023-11-17 13:09:02 +11:00
Peter Barker 2f710a4689 SITL: correct MegaSquirt simulation 2023-11-17 13:09:02 +11:00
Peter Barker 3f730a8a94 AP_Math: add crc_sum_of_bytes
sums the values of the bytes in a buffer and returns that sum modulus 256
2023-11-17 13:09:02 +11:00
Pradeep CK 07d76a87fd AP_ICEngine: support relay for ignition and I2C for starter 2023-11-17 13:09:02 +11:00
Andrew Tridgell afd18cf13a AP_Relay: make set() method public
this neatens up some calling code
2023-11-17 13:09:02 +11:00
Peter Barker 4f4e6d646c AP_Mount: validate modes before setting them 2023-11-17 11:45:38 +11:00
Peter Barker bd05fad850 SITL: add code to add, remove or corrupt bytes in SITL::SerialDevice xfrs 2023-11-17 10:56:25 +11:00
Andrew Tridgell 4dcc64d82d AP_Scripting: added more params to revert script 2023-11-17 07:23:28 +11:00
muramura 8c27d81c6a AP_RangeFinder: Move to a process that uses maximum value acquisition 2023-11-16 11:02:21 -08:00
Tom Pittenger ac16f10ecd AP_HAL_ChibiOS: hwdef kha_eth to show SerialManager params 2023-11-16 10:58:50 -08:00
Andrew Tridgell 4cb2562ee5 AP_DroneCAN: cope with null stats (for SLCAN interface)
this caused a crash on CubeOrange on boot if SLCAN is enabled
2023-11-15 23:52:49 -08:00
Andrew Tridgell 8ff2fa4fd9 AP_Mount: added gimbal rates for SIYI
this helps diagnose issues with gyro bias versus control when camera
is spinning
2023-11-16 16:57:49 +11:00
Andrew Tridgell 7472f76336 AP_Mount: set clock on SIYI
this means photos on microSD have correct date
2023-11-16 16:57:35 +11:00
Peter Barker 24f00ddaf7 GCS_MAVLink: add and use AP_MAVLINK_COMMAND_LONG_ENABLED 2023-11-16 10:50:21 +11:00
Peter Barker 9ff9f8d216 GCS_MAVLink: remove no-longer-required location_from_command_t(command_long) 2023-11-16 10:50:21 +11:00
Peter Barker 485fa80f1c GCS_MAVLink: collapse un-needed method 2023-11-16 10:50:21 +11:00
Peter Barker e0eacdc197 ArduPlane: handle DO_SET_MISSION_CURRENT as both long and int 2023-11-16 10:50:21 +11:00
Peter Barker d7160aea2d GCS_MAVLink: handle DO_SET_MISSION_CURRENT as both long and int 2023-11-16 10:50:21 +11:00
Peter Barker b572fe80ec GCS_MAVLink: handle request autopilot capabilities as both long and int 2023-11-16 10:50:21 +11:00
Tom Pittenger d189730b9f AP_DDS: fix defines to make astyle happy 2023-11-15 12:43:41 -08:00
Andrew Tridgell 8151ee36c7 AP_Networking: fixed build with gcc 11.x 2023-11-15 12:43:41 -08:00
Andrew Tridgell 4a773eabb2 AP_Networking: added SITL backend
this allows the net tests to run on SITL, and for DDS testing using
the SocketAPM API
2023-11-15 12:43:41 -08:00
Andrew Tridgell c54e6ce44b AP_Networking: added NET_TEST_IP for test server IP address
and default to same as default for DDS server
2023-11-15 12:43:41 -08:00
Andrew Tridgell fbe2651840 AP_Networking: removed unuused send_udp in ChibiOS backend 2023-11-15 12:43:41 -08:00
Tom Pittenger 6cd24bb87b AP_DDS: Add user-selectable UDP IP 2023-11-15 12:43:41 -08:00
Tom Pittenger 74f9b74fe7 AP_Networking: add get_str() accessor to IP address parms 2023-11-15 12:43:41 -08:00
Andrew Tridgell 4afd0f746b AP_Networking: added networking test suite 2023-11-15 12:43:41 -08:00
Tom Pittenger df600e5582 AP_HAL: Enable SocketAPM to use LwIP/ChibiOS 2023-11-15 12:43:41 -08:00
Tom Pittenger 4c70670445 AP_DDS: use AP_NETWORKING_BACKEND_ANY 2023-11-15 12:43:41 -08:00
Randy Mackay da6f31d5c7 AP_RangeFinder: JRE rename data_buff_ofs 2023-11-15 19:10:05 +09:00
Peter Barker 6bd7024274 AP_RangeFinder: change JRE parsing to reduce RAM overhead 2023-11-15 19:10:05 +09:00
jfbblue0922 fef47303d2 AP_RangeFinder: add serial driver for JRE 2023-11-15 19:10:05 +09:00
Randy Mackay 265f19b396 SRV_Channel: fix scaled passthrough of ranges 2023-11-15 18:20:45 +11:00
Andrew Tridgell 901280902a AP_Mount: allow for larger SIYI packets
needed for attitude packet
2023-11-15 13:17:54 +11:00
Andrew Tridgell 691b23db7d AP_Mount: added sending of attitude and velocity for SIYI
will be used by SIYI for improved gimbal control
2023-11-15 13:17:54 +11:00
Jonathan Loong 0db1719c8f AP_Compass: Add in QMC5883P Driver 2023-11-15 10:53:38 +11:00
Jonathan Loong 16c55a3bc1 AP_HAL_ChibiOS: Add in CarbonixF405 QMC5883P compass enable 2023-11-15 10:53:38 +11:00
Jonathan Loong 8d64d5215e AP_Periph: CarbonixL496 crystal hwdef changes 2023-11-15 10:53:38 +11:00
Jonathan Loong 3f99891404 AP_BattMonitor: Merge in polynomial fit structure to FuelLevel_Analog
Update parameters and make current false
2023-11-15 10:52:10 +11:00
Peter Barker 044760cfb9 AP_Notify: document IS31FL3195 LED type for LED_TYPES parameter 2023-11-15 10:51:08 +11:00
Peter Barker aac949e227 AP_Notify: add IS31FL3195 to default LED types 2023-11-15 10:51:08 +11:00
Peter Barker 2a2a103195 SITL: add JAE JRE simulator 2023-11-15 10:50:49 +11:00
Peter Barker 2af98a949b AP_HAL_SITL: add JAE JRE simulator 2023-11-15 10:50:49 +11:00
jfbblue0922 c17907cadc AP_Math: add CRC crc16_ccitt_r function 2023-11-15 10:50:49 +11:00
Andy Piper 7639761d28 AP_HAL_ChibiOS: correct neopixel bitwidth
Use 64-bit timestamps for dshot send checks
2023-11-14 11:06:25 +11:00
Andy Piper ef5eccdf62 AP_HAL: correct neopixel bitwidth 2023-11-14 11:06:25 +11:00
Ryan Friedman ef6105c5e0 AP_ExternalAHRS: Specify brand on all log messages
* The VN driver was likely written before there were multiple types
* The log messages make it seem like core AHRS problems rather than
  issues directly with VN

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-14 11:02:26 +11:00
Randy Mackay 0f0bc78de9 AP_OpticalFlow: increase scaler param desc ranges 2023-11-14 10:57:30 +11:00
Henry Wurzburg 4681e5fba6 hwdef:correct JFB110 defaults 2023-11-14 10:55:33 +11:00
olliw42 61aec54ea7 AP_RCTelemetry: throttle CRSF request RX device info messages 2023-11-14 10:36:56 +11:00
Ryan Friedman 201c66e417 AP_GPS: Fix GSOF autobaud detection msg
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-14 10:26:01 +11:00
Iampete1 55242445b2 AP_Motors: example: support setting and testing DUAL_MODE 2023-11-14 10:25:11 +11:00
Iampete1 aa8c477a26 AP_Motors: Heli_Dual: refactor swashplate mixing 2023-11-14 10:25:11 +11:00
Gone4Dirt 2fe100d7bc AP_Motors_Heli: white space 2023-11-14 10:24:03 +11:00
Gone4Dirt 927418b87c AP_Motors_Heli: Fix DDFP thrust linearisation by using min max pwm in servo library
AP_Motors_Heli: Add H_YAW_TRIM param conversion for DDFP tails
2023-11-14 10:24:03 +11:00
Gone4Dirt 5bd67d8e04 AP_Motors: Set default heli thrust linearisation to linear. 2023-11-14 10:24:03 +11:00
Nick Exton 59c5092810 GCS_MAVLink: Handle param2 (reset) in DO_SET_MISSION_CURRENT cmd 2023-11-14 10:22:45 +11:00
Nick Exton a29cd0321b AP_Mission: Add is_valid_index() function 2023-11-14 10:22:45 +11:00
Nick Exton 0567d8576e GCS_MAVLink: Add explicit handling of DO_JUMP_TAG 2023-11-14 10:22:45 +11:00
Nick Exton 12642b5793 AP_Mission: Remove unused rewind param from set_current_cmd() (NFC) 2023-11-14 10:22:45 +11:00
Tom Pittenger c9a3cb13c1 AP_Networking: rename _backend.h to _Backend.h 2023-11-14 08:47:31 +11:00
Tom Pittenger bd97dc4de5 AP_Networking: cleanup backend defines 2023-11-14 08:47:31 +11:00
Andrew Tridgell 2f9bfb648f HAL_ChibiOS: default RTS pins to PULLDOWN
this avoids issues with SiK and RFD900x radios getting stuck in
bootloader mode due to a high RTS pin on power on.

We did this for Pixhawk6C in this PR:
https://github.com/ArduPilot/ardupilot/pull/24169

this now applies it to all boards
2023-11-12 07:26:50 +11:00
Henry Wurzburg 3811de3e25 AP_OSD:correct xy limits for panels 2023-11-12 07:08:28 +11:00
muramura e25d4dcad5 AP_Parachute: Change to Boolean value 2023-11-11 09:06:42 +09:00
muramura 87f4509472 AP_AHRS: Change to Boolean value 2023-11-11 09:06:42 +09:00
muramura 45fc140e1d AP_ExternalAHRS: Change to Boolean value 2023-11-11 09:06:42 +09:00
Peter Barker 01eb0fd26d RC_Channel: unfriend SRV_Channels 2023-11-11 08:42:04 +09:00
Cedric0489 95dbb7a3f5 AP_HAL_ChibiOS: added PixPilot-C3 2023-11-10 17:14:18 +11:00
Rhys Mainwaring 125c8fa1fa AP_DDS: support automatic reconnect to micro-ROS agent
- Add ping test and attempt reconnect if connection dropped.
- Retry ping test max_attempts before exiting.
- Move `uxr_init_session` from transport init to session init for reconnect
- Tidy handling of transport.comm
- Fix codestyle

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>

AP_DDS: use PONG_IN_SESSION_STATUS in status check

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>

AP_DDS: add local variables to clarify arguments to uxr_ping_agent_session

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-11-10 17:13:36 +11:00
xianglunkai 4f00dfa69a correct the filling order of the struct, otherwise it may cause compilation errors 2023-11-10 17:12:17 +11:00
Ryan Friedman 08d88ce7c6 AP_GPS: Use GPS_COM_PORT param in GSOF driver
* Instead of hard coding to COM2, allow users to set it
* The enum is confusing, so this needs a wiki entry
* Use the same port in requestBAUD
* If the user configures an invalid param, send an error
* Add values for the GSOF COM ports
* Fix bug in RS232 being port 3 instead of port 0
* Use set_default for the typical user value when the GSOF driver is run

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-10 13:38:48 +11:00
Nick Exton 3ba63d33d5 GCS_MAVLink: Add handler for CAMERA_CAPTURE_STATUS request 2023-11-09 13:00:57 +09:00
Nick Exton 2f9b9e2452 AP_Camera: Add Camera_Mount handler for CAMERA_CAPTURE_STATUS request 2023-11-09 13:00:57 +09:00
Nick Exton ac313b6d7a AP_Mount: Add handler for CAMERA_CAPTURE_STATUS request 2023-11-09 13:00:57 +09:00
Nick Exton 477534b446 AP_Camera: Add handler for CAMERA_CAPTURE_STATUS request 2023-11-09 13:00:57 +09:00
Henry Wurzburg ba76d4e2f9 hwdef:save flash on FlywooF405S-AIO 2023-11-09 12:49:13 +11:00
Peter Barker 1f47856fbb AP_EFI: remove unused definitions 2023-11-09 09:37:13 +11:00
Andrew Tridgell 7b6ad15f90 hwdef: make f103-QiotekPeriph a single compass
dual compass periph is not supported
2023-11-08 18:34:41 +11:00
Andrew Tridgell 598e2b0762 AP_Compass: remove more exposed params for periph
these parameters are not useful on peripherals which use raw mag field
2023-11-08 18:34:41 +11:00
Jonathan Loong 5e61e4cdc5 AP_BattMonitor: Addition of AD7091R5 ADC I2C Read Driver
This is an ADC extender based on I2C which is used to read the current and voltage. Enable AD7091R5 in config.h which was reserved previously
2023-11-08 18:24:41 +11:00
Peter Barker abf32906d2 GCS_MAVLink: support gripper commands as both long and int 2023-11-08 18:15:25 +11:00
Peter Barker 09ab14c69f GCS_MAVLink: handle battery reset as both long and int 2023-11-08 18:14:27 +11:00
Peter Barker d2a3fed4a1 hwdef: AP_BATTERY_ESC_ENABLED needs HAL_WITH_ESC_TELEM 2023-11-08 18:05:55 +11:00
Peter Barker 2d9346e85a AP_GPS: correct uBlox M10 configuration on minimised boards 2023-11-08 09:05:13 +11:00
Henry Wurzburg 57df565176 RC_Channel: expand explanations in FWD THR docs 2023-11-07 10:57:04 +11:00
Peter Barker 1d08900cb0 GCS_MAVLink: handle MAV_CMD_DO_SPRAYER as both long and int 2023-11-07 10:55:46 +11:00
Ryan Friedman 9445cb2672 AP_GPS: Expose COM port and Output Rate in header
* This removes magic numbers of hard coding the hardware port and output
  rate
* This also fixes configuring the incorrect hardware port
* Now, COM2 (TTL) is configured for GSOF output
* The data rate remains the same as before

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-07 10:42:14 +11:00
Peter Barker 9285188d85 GCS_MAVLink: handle DO_ADSB_OUT_IDENT as both long and int 2023-11-07 10:32:39 +11:00
yjuav f7dd6dec96 hwdef: add YJUAV_A6SE_H743 board support 2023-11-07 10:31:20 +11:00
Peter Barker 6368ec4bd5 AP_ADSB: adjust MAVLink backend to use Loc _my_loc 2023-11-07 10:30:04 +11:00
Peter Barker b3ff88c519 AP_ADSB: avoid using GPS and RTC libraries in backend
instead, add fields to canonical AP_ADSB location "_my_loc" to hold all of the information backends might want.  This will allow consistent presentation of data regardless of backend type, and for the sources of the information to change more easily.
2023-11-07 10:30:04 +11:00
Peter Barker e47a5c1ea9 AP_GPS: make AP_GPS_FixType enum class
Don't want "NONE" in the global namespace
2023-11-07 10:30:04 +11:00
Iampete1 ae2ab08b1f AP_Scripting: add bindings for fence 2023-11-07 07:52:14 +11:00
Randy Mackay ff3925a0fd AP_Scripting: mount-poi displays startup message
Also remove out-of-date-comments
2023-11-07 07:47:53 +11:00
Randy Mackay 3bface980d AP_Scripting: mount-poi supports locking mount to Location 2023-11-07 07:47:53 +11:00
Peter Barker 3411b85b71 AP_TempCalibration: add and use AP_TEMPCALIBRATION_ENABLED 2023-11-07 07:46:24 +11:00
olliw42 4ffdb65288 AP_Mount: gimbal_manager_set_pitchyaw is not a command 2023-11-06 08:32:04 +09:00
Andrew Tridgell c1831bae32 AP_Scripting: added HobbyWing DataLink lua driver 2023-11-06 07:12:35 +11:00
Andrew Tridgell 96f5a1cb2b AP_Scripting: added bindings for telemetry data for ESCs
allows more complete ESC protocol implementation in scripting
2023-11-06 07:12:35 +11:00
Iampete1 66b8fd95ad AP_Scripting: add binding for GCS last seen time 2023-11-04 19:10:36 +11:00
Andrew Tridgell 369f369f1d AP_Mount: fixed SIYI parser bug
this caused lots of lost packets
2023-11-03 22:44:03 +09:00
Ryan Friedman 6273fee892 AP_GPS: Rename GSOF packing functions
* Added docs for why they exist

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-03 13:25:39 +11:00
Andrew Tridgell 1bf7c9ee77 AP_ESC_Telem: added stale() method for ESC telem
prevents use of stale data when close to zero time
2023-11-03 08:08:31 +11:00
Andrew Tridgell b79e96ab57 Filter: protect against extremely low notch filter frequencies
an incorrectly configured ESC telemetry source can lead to a notch
running at very low frequencies. A simple example is a lua script like
this:

function update()
   esc_telem:update_rpm(12, 0, 0)
   return update, 10
end
return update()

where motor 12 is unused.

with that script in place we get a 1.0078 Hz filter which leads to
massive phase lag and a crashed aircraft

this is a safety protection. We should also try to find out why the
INS_HNTCH_FREQ lower limit is not working
2023-11-03 08:08:31 +11:00
Randy Mackay 73589a276e AP_Camera: camera_fov_status includes field-of-view 2023-11-02 21:23:12 +09:00
jfbblue0922 7d4d2f98bf AP_HAL_ChibiOS: corrected analog input pin number 2023-11-02 19:08:09 +11:00
bugobliterator fb26bbfc4c AP_DroneCAN: add support for detecting downed link 2023-11-02 15:55:21 +11:00
Asif Khan 8a791d6082 GCS_MAVLink: add SEND_FOV_STATUS support 2023-11-02 15:54:37 +11:00
Asif Khan 2235a8e063 AP_Camera: add send_camera_fov_status support 2023-11-02 15:54:37 +11:00
Asif Khan eb5ead462b AP_Mount: add get_poi
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-11-02 15:54:37 +11:00
Asif Khan 11e541f123 AP_Terrain: add get_grid_spacing accessor 2023-11-02 15:54:37 +11:00
Peter Barker 0e2261832e autotest: more test for emitted digicam command-long messages 2023-11-02 15:54:13 +11:00
Peter Barker 187ae07225 GCS_MAVLink: handle camera messages as COMMAND_INT as well as COMMAND_LONG 2023-11-02 15:54:13 +11:00
Peter Barker 685bdd3d3d AP_Camera: handle camera messages as COMMAND_INT as well as COMMAND_LONG 2023-11-02 15:54:13 +11:00
Peter Barker fbe690d44b SITL: track simulated ADSB vehicles relative to simulation origin
removes dependence on ArduPilot AHRS library

Also removes vehicles based off vehicle simulated position rather than distance-from-origin, so you always have company
2023-11-02 15:52:42 +11:00
Peter Barker c953b4e512 AP_HAL_SITL: track simulated ADSB vehicles relative to simulation origin
removes dependence on ArduPilot AHRS library

Also removes vehicles based off vehicle simulated position rather than distance-from-origin, so you always have company
2023-11-02 15:52:42 +11:00
Peter Barker 9087bb6b89 AP_HAL: track simulated ADSB vehicles relative to simulation origin
removes dependence on ArduPilot AHRS library

Also removes vehicles based off vehicle simulated position rather than distance-from-origin, so you always have company
2023-11-02 15:52:42 +11:00