Commit Graph

33657 Commits

Author SHA1 Message Date
Andy Piper 52dbac1de7 AP_HAL_ChibiOS: run STM32F103 core clock at 72Mhz on 24Mhz oscillators 2023-08-15 06:53:48 +10:00
Andy Piper 33c40eaba3 AP_HAL_ChibiOS: add iomcu dshot for Pixhawk1, Pixhawk5X and fmuv5 2023-08-15 06:53:48 +10:00
Andy Piper 876f4f7a8f AP_HAL_ChibiOS: dshot iofirmware for Durandal, Pixhawk6C, CubePurple and CubeYellow 2023-08-15 06:53:48 +10:00
Andy Piper af256f4b1b AP_IOMCU: output mcuid on f103 if able to 2023-08-15 06:53:48 +10:00
Andy Piper 9ac683a350 GCS_Common: report ARM CPUID on startup 2023-08-15 06:53:48 +10:00
Andy Piper 9db5d0bf9b AP_IOMCU: reduce latency for oneshot
correctly update outmode modes when requested
get ARM CPUID and display in startup banner
ensure correct rc input timing on 1Khz iofirmware
2023-08-15 06:53:48 +10:00
Andy Piper cf9a3ada28 GCS_MAVLink: print out IOMCU mcuid on startup 2023-08-15 06:53:48 +10:00
Andy Piper 1c646d2986 AP_HAL_ChibiOS: use f103 iofirmware for Pixhawk6X 2023-08-15 06:53:48 +10:00
Andy Piper c057cc5485 AP_HAL_ChibiOS: add get_output_mode() and use it to print correct banner for iomcu
add support for undef of STM32 lines and DMA_NOMAP
add support for F103 running at 24Mhz
add f103 variants of iofirmware
reduce memory usage in iomcu for new model
correct pwm output reporting
split iofirmware into config + mcu to allow f103 definition
don't enable non-existant timers on F103
2023-08-15 06:53:48 +10:00
Andy Piper 7b96f66413 AP_IOMCU: add support for getting output mode and mcuid
give an appropriate MCUID on F103
2023-08-15 06:53:48 +10:00
Andy Piper 2dd4f3f581 AP_BoardConfig: control dshot availability with HAL_WITH_IO_MCU_DSHOT
correct parameter id for BRD_IO_DSHOT
2023-08-15 06:53:48 +10:00
Andy Piper c631b79dde AP_HAL: add get_output_mode() and HAL_WITH_IO_MCU_DSHOT 2023-08-15 06:53:48 +10:00
Andy Piper 83fddd0d61 AP_HAL_ChibiOS: enable iomcu-dshot on CubeBlack 2023-08-15 06:53:48 +10:00
Andy Piper bb730e8e24 AP_IOMCU: inverted locking model 2 2023-08-15 06:53:48 +10:00
Andy Piper ec1edea1da AP_IOMCU: add support for shared DMA to iomcu-dshot
new event-based update() loop for iomcu to allow for DMA channel sharing
spin event loop at 2Khz to give dshot thread ample access to DMA channels
correct transmission complete callbacks
ensure peripheral is re-enabled on DMA resumption
ensure DMA transactions do not get clobbered by locking
restructure callbacks for shared and non-shared DMA cases
ensure RC updates happen at 1Khz
increase expected delay at startup
2023-08-15 06:53:48 +10:00
Andy Piper 10a612566a AP_HAL_ChibiOS: ensure shared DMA works in IOMCU
enable TIM4 in shared mode on IOMCU for dshot
stop the PWM peripheral in rcout DMA swapping on IOMCU to prevent UART corruption
provide debugging options on iomcu dshot
support unshared DMA with iomcu dshot
optimize rcout on iomcu
tune iomcu stack for 8 channels
2023-08-15 06:53:48 +10:00
Andy Piper 3c42f1b7d9 AP_HAL_ChibiOS: disable stack checking on iomcu 2023-08-15 06:53:48 +10:00
Andy Piper 9611baf148 AP_Vehicle: soft reboot iomcu on soft reboot 2023-08-15 06:53:48 +10:00
Andy Piper 837c81af5e AP_HAL_ChibiOS: fix sending of dshot commands to all channels 2023-08-15 06:53:48 +10:00
Andy Piper e6e0543b8a AP_IOMCU: propagate dshot rates through to IOMCU
implement dshot ESC telemetry
add support for channel enablement/disablement
add stack checks and reporting for MSP stack
wait correct timeout in tickless mode
ensure that dshot sees all pwm updates as the occur in order to maintain periodicity
ensure dshot options are propagated on reset
implement dshot commands
ensure oneshot/125 and mode are setup correctly
add instrumentation for process stack
prevent illegal recursive locks
ignore requests for dshot 600
add support for soft reboot of iomcu
2023-08-15 06:53:48 +10:00
bugobliterator 9a21297cd1 AP_HAL_ChibiOS: add support for DShot on IOMCU
set timer counter size to be a byte wide
use HAL_DSHOT_ENABLED instead of DISABLE_DSHOT
build iomcu-dshot from existing iomcu
correct defines for DMAR size on iomcu
allow iomcu dshot rate to be configured from FMU
correct DMA allocation for dshot on iomcu
allow debug builds on iofirmware
ensure dshot is enabled on iomcu dshot
support proper iomcu dshot output thread triggered by FMU
allow selective disablement of serial LEDs and passthrough
disable serial LEDs and passthrough on iomcu-dshot
propagate ESC telemetry to iomcu
dshot_send_groups() for iomcu
remove use of ICU on iomcu for dshot. only allocate possible DMA channels
rename serial passthrough and dshot defines
update dshot docs
resize dshot iomcu main stack to minimum
correct dshot prescaler usage and bit_width_mul calculation
use ChibiOS in tickless mode on iomcu-dshot so that virtual timers can be used
propagate dshot commands to iomcu
passthrough oneshot125 to iomcu
2023-08-15 06:53:48 +10:00
Andy Piper f233a65580 AP_HAL_ChibiOS: add global interrupt handlers for TIM15 and TIM17 on F1 2023-08-15 06:53:48 +10:00
Andy Piper 9642343e8e AP_BLHeli: normalize motor index correctly for iomcu running dshot 2023-08-15 06:53:48 +10:00
Andy Piper 0b4838475d AP_SerialLED: configure serial LED feature based on hal availability 2023-08-15 06:53:48 +10:00
Andy Piper 4c8b346512 AP_BoardConfig: check IOMCU is enabled when checking dshot 2023-08-15 06:53:48 +10:00
Andy Piper 1b210f8ea9 AP_HAL: support accessors for dshot_period_us
add support for selectively disabling serial LEDs and passthrough
provide mutator to allow iomcu to set dshot rate
support HAL_SERIAL_ESC_COMM_ENABLED and DISABLE_SERIAL_ESC_COMM
update dshot docs
make default serial led enablement dependent on dshot
2023-08-15 06:53:48 +10:00
Andy Piper eacc29e81e AP_Math: do not use internal_error() on iofirmware 2023-08-15 06:53:48 +10:00
bugobliterator 4ce32c74de AP_HAL: add default DISABLE_DSHOT as false
use HAL_ENABLE_DSHOT instead of DISABLE_DSHOT
2023-08-15 06:53:48 +10:00
bugobliterator b8af6da623 AP_BoardConfig: add ability to change dshot firmware 2023-08-15 06:53:48 +10:00
bugobliterator ad428ac060 AP_IOMCU: add support for sending DShot function command
add support for dshot on iomcu
add support for updating to dshot iofirmware
2023-08-15 06:53:48 +10:00
Peter Barker 771f8855b7 AP_Logger: correct use of nullptr in SITL structure sanity checks
A developer might be able to craft a fault such that s could be nullptr here.  They would need to work at it, but we can do better.
2023-08-14 22:25:50 +10:00
Andrew Tridgell 0d97b308b2 GCS_MAVLink: fixed corruption of FTP reply component ID
this led to not being able to do FTP transfers with
support.ardupilot.org unless MissionPlanner used the same component ID
as the support engineer GCS
2023-08-14 22:25:23 +10:00
alexklimaj 738a4c638a hwdef: arkv6x default to no IO MCU 2023-08-14 12:06:25 +10:00
Peter Barker 90929205e9 SRV_Channel: correct RC channel failsafe mask
this is a 32-bit parameter.
2023-08-14 11:21:06 +10:00
Andrew Tridgell 484312df93 AP_NavEKF3: fixed race condition in updateFilterStatus()
filter status was initially set to zero then updated. This interacts
with the IMU filtering code which checks filter status from a
different thread to determine active_EKF_type(). When the race
condition is hit then the IMU we are running notch filters on changes
for a single sample, causing a notch filter glitch
2023-08-12 17:47:56 +10:00
Andy Piper 205e6bebc7 AP_HAL_ChibiOS: fix incorrect removal of HAL_I2C_INTERNAL_MASK undef in SkystarsH743HD 2023-08-12 14:00:11 +10:00
Michelle Rossouw e4d44c1006 SITL: Make SIM_Aircraft use double precision to stop SITL's short-range teleporting 2023-08-12 10:49:02 +10:00
Tom Pittenger 2b30fbcfb2 AP_HAL_ChibiOS: disable RPM by default on Periph 2023-08-11 13:31:45 -07:00
Tom Pittenger 0de754bff3 AP_RPM: prepare for AP_Periph 2023-08-11 13:31:45 -07:00
Tom Pittenger 41024b7f02 AP_TemperatureSensor: add Source Pitot_tube 2023-08-11 13:20:51 -07:00
olliw42 2f58d082f0 GCS_Common: brackets missing in switch case 2023-08-11 12:11:43 -07:00
arshPratap 47efaf9c62 AP_DDS: Added ROS 2 service support 2023-08-11 13:35:49 +10:00
arshPratap 5f17e33b39 AP_Arming: Added DDS Method for Arming/Disarming 2023-08-11 13:35:49 +10:00
Peter Barker 7f8df080f8 SITL: correct compilation for CubeOrange-SimOnHardware
../../libraries/SITL/SIM_GPS.cpp: In member function 'void SITL::GPS::send_gsof(const uint8_t*, uint16_t)':
../../libraries/SITL/SIM_GPS.cpp:1292:24: error: 'AP_InternalError' has not been declared
 1292 |         INTERNAL_ERROR(AP_InternalError::error_t::flow_of_control);
2023-08-11 12:40:59 +10:00
Ryan Friedman 5b21834827 AP_GPS: Switch to sparse endian to make it portable
* Instead of custom algorithm to reduce flash and code maintenance

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-11 11:21:41 +10:00
Peter Barker e638925ee0 AP_HAL_ChibiOS: chibios_hwdef.py: fix minor bugs
also mark as flake8-clean
2023-08-11 10:41:02 +10:00
Peter Barker 536f3ac922 chibios_hwdef.py: minor flake8 fixes
whitespace, long lines, ambiguous variables etc
2023-08-11 10:41:02 +10:00
Peter Barker 65cc16c51d SITL: add descriptions for simulated IMU scale factors 2023-08-11 10:34:02 +10:00
Andrew Tridgell 44c5754e36 AP_Airspeed: increased timeout on DroneCAN airspeed data
the data is sent at 20Hz, which means a single lost packet with 10Hz
reading resulted in an unhealthy sensor
2023-08-11 10:33:36 +10:00
Andrew Tridgell faa4d28851 AP_Airspeed: fixed handling of unhealthy airspeed
this fixes a bug introduced in
https://github.com/ArduPilot/ardupilot/pull/22416 which results in
using bad airspeed data on timeout. The prev_health variable is
updated by the get_pressure call
2023-08-11 10:33:36 +10:00
Peter Barker cbd2b199eb SITL: factor simulated GPS 2023-08-11 10:01:56 +10:00
olliw42 e2599252a1 AP_Mount: use backend instead of _backends[instance] 2023-08-11 07:55:05 +09:00
Andrew Tridgell 8ff37bc79c AP_Networking: fixed duplicate parameters in wiki
defining two parameter tables in one file causes duplicates
2023-08-10 13:34:14 -07:00
Andy Piper f787e940b3 AP_HAL_ChibiOS: change incorrect I2C internal mask from SkystarsH7HD bdshot 2023-08-10 16:16:16 +10:00
davidsastresas 767710340a AP_Mount: Viewpro sends gimbal_device_id in camera_information 2023-08-10 14:37:30 +09:00
davidsastresas 25e8bd1f42 AP_Mount: Xacti sends gimbal_device_id in camera_information 2023-08-10 14:37:30 +09:00
davidsastresas d242a968f3 AP_Mount: Siyi sends gimbal_device_id in camera_information 2023-08-10 14:37:30 +09:00
davidsastresas 55aa1b5a32 AP_Mount: Backend sends gimbal_device_id in device_attitude_status_send 2023-08-10 14:37:30 +09:00
davidsastresas 073e93dfec AP_Camera: MAVLinkCamV2 sends gimbal_device_id in camera_information 2023-08-10 14:37:30 +09:00
davidsastresas 9bca2740b2 AP_Camera: backend sends gimbal_device_id in camera_information 2023-08-10 14:37:30 +09:00
davidsastresas 6a9b457be3 GCS_Common: autopilot_state_for_gimbal_device sends angular_velocity_z 2023-08-10 14:37:30 +09:00
Ryan Friedman 578ba20df0 GCS_MAVLink: Use renamed visual odom function
* Now called pose instead of position

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-10 13:58:00 +09:00
Ryan Friedman 1615038e57 AP_VisualOdom: Change name from position to pose
* The function takes position (linear) + orientation (angular), therefore it's a pose, not a position

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-10 13:58:00 +09:00
Andrew Tridgell c8b2622f45 AP_BattMonitor: fixed reset_remaining() for INAxxx and LTC2946
these can use the generic reset_remaining() call in the backend
2023-08-10 07:43:25 +10:00
Andrew Tridgell 5722cb584d AP_Scripting: added BattEstimate lua script
this estimates state of charge from resting voltage while disarmed
2023-08-10 07:43:25 +10:00
Peter Barker 6097f1aa61 GCS_MAVLink: allow removal of preflight commands to fail the autopilot 2023-08-10 07:11:22 +10:00
Tom Pittenger aefc2a8492 AP_RPM: enable AP_RPM to set ESC Telemetry 2023-08-09 12:02:31 -07:00
Randy Mackay ee07d6bec8 AP_DroneCAN: get/set param timeout after 0.1 sec 2023-08-09 18:10:35 +10:00
Randy Mackay 6fe31396d9 AP_DroneCAN: improve get/set param comments 2023-08-09 18:10:35 +10:00
Peter Barker 77b8c96eae GCS_MAVLink: add build_options.py option to remove fencepoint protocol
also gate more code on defines

Saves ~2kB
2023-08-09 17:53:54 +10:00
Peter Barker e54baf41f6 AP_Frsky_Telem: add build_options.py option to remove fencepoint protocol
also gate more code on defines

Saves ~2kB
2023-08-09 17:53:54 +10:00
Peter Barker c300beae69 AC_Fence: add build_options.py option to remove fencepoint protocol
also gate more code on defines

Saves ~2kB
2023-08-09 17:53:54 +10:00
Andy Piper 9212a24248 AP_HAL_ChibiOS: properly support CRSF on HEEWING-F405
update HeeWing F405 README to reflect VTX pinout
2023-08-09 17:44:14 +10:00
Peter Barker aa5466c6e2 AP_Torqeedo: remove use of HAL_BUILD_AP_PERIPH
turn torqeedo off in chibios_hwdef.py instead for Periph
2023-08-09 17:39:49 +10:00
Peter Barker ceab0180ec AP_HAL_ChibiOS: remove use of HAL_BUILD_AP_PERIPH
turn torqeedo off in chibios_hwdef.py instead for Periph
2023-08-09 17:39:49 +10:00
Peter Barker a8bb397eb7 AP_MSP: remove references to HAL_BUILD_AP_PERIPH
HAL_MSP_ENABLED is already explicitly off in chibios_hwdef.py for Periph
2023-08-09 17:39:49 +10:00
Peter Barker fb0ebf75ca AP_RangeFinder: move rangefinder rotation default down into AP_Periph 2023-08-09 17:39:49 +10:00
Peter Barker 68e3b1e79b AP_HAL_ChibiOS: move rangefinder rotation default down into AP_Periph 2023-08-09 17:39:49 +10:00
Henry Wurzburg af34b1e43b AP_Vehicle: add failsafe protections to Mode Takeoff 2023-08-09 17:33:58 +10:00
Andrew Tridgell 2832f8ca76 AP_Arming: fixed auto-enable of fence with forced arm
when a user forced armed and had FENCE_AUTOENABLE=3 for enable on
arming then the fence did not enable
2023-08-09 16:08:42 +10:00
Tom Pittenger 0d0ba0f656 AP_TemperatureSensor: add support for MCP9601 2023-08-09 15:49:30 +10:00
Ryan Friedman 6a2a852450 SITL: Implement GSOF SIM
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-09 12:26:10 +10:00
Asif Khan f26528edba AP_Mount: fix GIMBAL_MANAGER_SET_PITCHYAW not working correctly when using multiple gimbals 2023-08-09 10:03:34 +09:00
Asif Khan 47977b1635 AP_Camera: add parameter CAMx_MNT_INST for associating camera with corresponding mount 2023-08-09 10:03:34 +09:00
Asif Khan ea9f4a79f5 AP_Mount: fix sending camera information and settings for each backend 2023-08-09 10:03:34 +09:00
Asif Khan 09e949173d AP_Camera: fix sending camera information and settings for each backend 2023-08-09 10:03:34 +09:00
Peter Barker 13c83ee9f8 GCS_MAVLink: enable sending of RELAY_STATUS message 2023-08-09 07:44:07 +10:00
Peter Barker 1e18ca595f AP_Relay: enable sending of RELAY_STATUS message 2023-08-09 07:44:07 +10:00
Peter Barker 67988320a7 hwdef: disable sending of RELAY_STATUS on mimimized boards 2023-08-09 07:44:07 +10:00
Ryan Friedman be5d846af0 AP_DDS: Switch topic to cmd_vel
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-08 15:35:43 +10:00
Ryan Friedman 9b0f485fee AP_DDS: Add velocity control DDS subscriber
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-08 15:35:43 +10:00
bnsgeyer 53100c8e96 SITL: fix vertical axis dynamics for autorotation 2023-08-07 22:10:09 -04:00
Andy Piper fe56a6aedd AP_HAL_ChibiOS: allow 8 bdshot channels on mRoControlZeroH7 2023-08-08 11:50:56 +10:00
Peter Barker 53d5d1b9a9 AP_HAL_ChibiOS: break out include files for firmware defaults 2023-08-08 11:45:50 +10:00
Peter Barker 5670b8a062 AP_RangeFinder: compile mavlink rangefinder in only if HAL_GCS_ENABLED 2023-08-08 11:39:45 +10:00
Peter Barker e6ac368972 AP_GPS: make AP_GPS_MAV dependent on HAL_GCS_ENABLED 2023-08-08 11:33:54 +10:00
Peter Barker 6ee9f01ffb AP_GPS: avoid use of mavlink constructs when GCS not compiled in 2023-08-08 11:33:54 +10:00
Peter Barker bf005731a9 AP_GPS: tidy is_healthy calculations
this removes some duplicate code and simplifies the flow of control
2023-08-08 11:31:18 +10:00
Peter Barker 009172685e AP_HAL_ChibiOS: avoid use of MINIMIZE_FEATURES define in Copter directory 2023-08-08 10:35:19 +10:00
Peter Barker 3fea8d16f1 AP_HAL: remove MINIMIZE_FEATURES define 2023-08-08 10:35:19 +10:00
Peter Barker 646704c5dc AP_HAL_ChibiOS: remove MINIMIZE_FEATURES define 2023-08-08 10:35:19 +10:00
Peter Barker d6979e62f0 GCS_MAVLink: handle mag cal as both COMMAND_LONG and COMMAND_INT 2023-08-08 10:06:13 +10:00
Peter Barker d50c429355 AP_Compass: handle mag cal as both COMMAND_LONG and COMMAND_INT 2023-08-08 10:06:13 +10:00
Tom Pittenger 1e83e61b25 AP_Networking: fix build for periph 2023-08-07 17:04:27 -07:00
Iampete1 5c09a16a80 AP_BattMonitor: add health logging 2023-08-08 10:04:12 +10:00
Michael du Breuil 935fad54ad AP_ESC_Telem: Fix some time wrap issues that can lead to using stale data if a ESC stops responding 2023-08-08 09:53:48 +10:00
Michael du Breuil c1e6f130dd AP_HAL_ChibiOS: CubeOrange map EXTERN_DRDY and !EXTERN_CS to ADC 2023-08-08 09:16:56 +10:00
Ryan Friedman 843a14ee57 SITL: Add heading and speed_2d utils
* These are also needed by the upcoming GSOF PR

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 08:40:58 -07:00
Henry Wurzburg 8d86503ed5 AP_Motors: correct metadata for H_DDFP_SPIN_MIN param 2023-08-07 07:36:47 -04:00
Ryan Friedman e0b23ddf8f AP_HAL_SITL: Rename LORD to MicroStrain
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 19:16:03 +10:00
Ryan Friedman 109c894929 AP_HAL: Rename LORD to MicroStrain
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 19:16:03 +10:00
Ryan Friedman 7c2baa75d9 SITL: Rename LORD to MicroStrain
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 19:16:03 +10:00
Ryan Friedman cb480d2855 AP_ExternalAHRS: Rename LORD to MicroStrain
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 19:16:03 +10:00
Peter Barker 5d52d7f78b SITL: add description for SIM_BATT_VOLTAGE 2023-08-07 15:32:31 +10:00
Iampete1 63666ea83a AP_Scripting: generator: fix dependancy start and end miss-match 2023-08-07 12:33:01 +10:00
muramura 9374b374de AP_Networking: Change message level from DEBUG to INFO 2023-08-06 17:37:17 -07:00
Peter Barker 37de51f1d4 hwdef: remove un-needed lines in KakuteH7 config
these are the default values, and KakuteH7 isn't minimized
2023-08-06 17:36:25 -07:00
Andrew Tridgell 0333e92cbc hwdef: update SIYI_N7 hwdef
the N7 isn't the same as the Durandal. It has 1 CAN bus, and 2 less
UARTs, and an extra compass. This fixes the hwdef.dat to match the
schematic
2023-08-06 09:23:45 +10:00
Andrew Tridgell e1fad5ee38 AP_Compass: allow override of IST8310 orientation
this allows for vendor GPS modules and internal compass which use a
different orientation
2023-08-06 09:23:45 +10:00
Andrew Tridgell 5af7fdf330 AP_Networking: use host byte order addresses internally
this should make the lua API easier to handle, as it can manipulate
uint32_t easily
2023-08-06 09:20:08 +10:00
Andrew Tridgell 8ddaf17184 AP_Vehicle: update networking at 10Hz 2023-08-06 09:20:08 +10:00
Andrew Tridgell fd70f5c7d7 AP_Networking: split ChibiOS code into its own backend 2023-08-06 09:20:08 +10:00
Andrew Tridgell 5705c68954 AP_Networking: cleanup parameter handling and fixed lwip config 2023-08-06 09:20:08 +10:00
Tom Pittenger 8bddd4168b AP_HAL_ChibiOS: update hwdefs for eth 2023-08-06 09:20:08 +10:00
Tom Pittenger d59c3d7de0 AP_HAL_ChibiOS: remove common_eth.ld 2023-08-06 09:20:08 +10:00
Tom Pittenger 772465fef3 AP_HAL_ChibiOS: fix whitespace 2023-08-06 09:20:08 +10:00
Tom Pittenger 1e9d00fecb AP_Networking: cleanup 2023-08-06 09:20:08 +10:00
bugobliterator f84572a545 AP_HAL_ChibiOS: remove legacy define WATCHDOG_DISABLED 2023-08-06 09:20:08 +10:00
bugobliterator 724b0908e0 AP_Networking: panic if bad memory alignment 2023-08-06 09:20:08 +10:00
bugobliterator cf6fd6717b AP_HAL_ChibiOS: fix alignment for Ethernet safe memory 2023-08-06 09:20:08 +10:00
Tom Pittenger 9698291920 AP_HAL_ChibiOS: fix unused var compile error 2023-08-06 09:20:08 +10:00
Tom Pittenger 6d3c5e7a61 AP_Networking: cleanup defines 2023-08-06 09:20:08 +10:00
bugobliterator 13acf60c7e AP_Networking: fix allocation of mac trx buffers 2023-08-06 09:20:08 +10:00
bugobliterator 5c657cad9a AP_HAL_ChibiOS: disable AP_Periph_Heavy for CubePilot-CANMod 2023-08-06 09:20:08 +10:00
bugobliterator 7bdee92d77 AP_HAL_ChibiOS: disable CAN2 on CubePilot-CANMod 2023-08-06 09:20:08 +10:00
bugobliterator 4e39318920 AP_HAL_ChibiOS: disable watchdog on CubePilot-CANMod 2023-08-06 09:20:08 +10:00
bugobliterator 50ae1ca7e8 AP_HAL_ChibiOS: update CubePilot-CANMod to support Networking 2023-08-06 09:20:08 +10:00
Tom Pittenger a4984cb595 AP_Networking: bugfixes for dynamic battery malloc 2023-08-06 09:20:08 +10:00
bugobliterator 558f0272d6 AP_Networking: dynamically allocate memory for MAC Peripheral 2023-08-06 09:20:08 +10:00
bugobliterator e6b51df7cd AP_HAL_ChibiOS: dynamically allocate memory for MAC Peripheral 2023-08-06 09:20:08 +10:00
Tom Pittenger 1aff011e52 AP_Networking: astyle changes 2023-08-06 09:20:08 +10:00
Tom Pittenger 90dc58be29 AP_Networking: Enable DHCP as default, add example to default netmasks 2023-08-06 09:20:08 +10:00
Tom Pittenger ec65b5175b AP_HAL_ChibiOS: update Networking hwdef's param defaults 2023-08-06 09:20:08 +10:00
Tom Pittenger f5a1525fd8 AP_Networking: new library 2023-08-06 09:20:08 +10:00
Tom Pittenger 291226eb5d AP_HAL_ChibiOS: hwdef add support for Networking 2023-08-06 09:20:08 +10:00
Tom Pittenger f66327d97d AP_HAL_ChibiOS: Ethernet related memory allocations 2023-08-06 09:20:08 +10:00
Tom Pittenger 3b79ff0ad3 AP_HAL_ChibiOS: add hooks to compile Networking 2023-08-06 09:20:08 +10:00
Tom Pittenger d841d250d8 AP_HAL_ChibiOS: allow HW without HW_RNG to SW-based create psuedo-random 2023-08-06 09:20:08 +10:00
Tom Pittenger 169a7b1c73 AP_Vehicle: add support for Networking 2023-08-06 09:20:08 +10:00
Henry Wurzburg 86afb1d66b AP_RangeFinder:correct nooploop max dist 2023-08-05 20:04:41 +10:00
Asif Khan 2141f06967 AP_Camera: add time based triggering support 2023-08-05 18:52:57 +10:00
Andrew Tridgell 3534417a12 AP_Terrain: fixed assumption that HOME is on the ground
this fixes height_above_terrain() to give a correct value when HOME is
not on the ground after the user has done a DO_SET_HOME with a
home position that is not at ground level
2023-08-05 08:31:02 +10:00
Karol Pieniący abc78d1169 libraries: fix delay after subsequent Robotis servo detections
This fix probably reflects the original intention of the code author, because without it delays set in detect_servos() are ignored.
Without this fix Dynamixel XC330-T288-T does not start and enters something like a "soft bricked" state (no errors reported, but not responding to any commands). This adds a delay after ping messages so that servos have time to respond to the pings and are ready to be configured further.
2023-08-04 08:55:55 +10:00
Peter Barker 8d30f84e73 GCS_MAVLink: move definition of HAL_HIGH_LATENCY2_ENABLED into config 2023-08-03 13:09:23 +10:00
Andrew Tridgell ce33149c9d AP_AHRS: fixed relative home functions to calculate without origin
this allows for FENCE_AUTOENABLE on planes with no compass
2023-08-03 13:08:21 +10:00
Andrew Tridgell b38fde2cf6 AP_AHRS: fixed comments on position functions 2023-08-03 13:08:21 +10:00
Lokesh Ramina b7a0f47853 AP_BATTMonitor: Reserve ID 28 for AD7091R5 I2C ADC
Reserving an ID for a Battmonitor type which reads the analog value from an I2C ADC IC.
2023-08-03 13:03:51 +10:00
rishabsingh3003 0969a28381 AP_Scripting: Add docs for proximity backend 2023-08-03 08:02:49 +09:00
rishabsingh3003 153ff58bd9 AP_Scripting: Add drivers for NoopLoop TOFSense-M CAN and Serial sensors 2023-08-03 08:02:49 +09:00
rishabsingh3003 b6a54bbef9 AP_Scripting: Add scripting proximity driver bindings 2023-08-03 08:02:49 +09:00
rishabsingh3003 601b01ed8b AP_Proximity: Add backend for scripted Lua Driver 2023-08-03 08:02:49 +09:00
Andy Piper 7238c603c1 AP_HAL_SITL: compile system as double so that time advances 2023-08-02 16:22:59 +01:00
Andy Piper f726ca1809 Filter: fix notch filter test. 2023-08-02 16:22:59 +01:00
Andrew Tridgell e97f5d8012 AP_Math: mark test_math_double.cpp as double precision source
fixed test_math_double
the wrap check needs to be wrap_PI() as otherwise rounding of 2*PI if
just over 6.28 will give a large error
ensure double tests are double
test_vector2
2023-08-02 16:22:59 +01:00
Andy Piper d94e36fccc AP_Common: ensure that constants are float not double if not otherwise declared
use correct DOUBLE_PRECISION_SOURCES definition
portably define qsort argument in tests
fix test_location
add test_location to double sources
2023-08-02 16:22:59 +01:00
Peter Barker 31281b5d11 AP_HAL_ChibiOS: eliminate use of MINIMIZE_FEATURES for Plane features 2023-08-02 17:48:25 +10:00
Peter Barker 00bc4a9e8b AP_GPS: add and use AP_GPS_DRONECAN_ENABLED 2023-08-02 17:46:30 +10:00
Andrew Tridgell 1723cca023 AP_CANManager: fixed owner of SLCAN UART
this broke when we moved to the unified AP_HAL locking system for
UARTs. The SLCAN code relied on the fact that the thread owner check
was not done for the read_locked() path. Now that we have a higher
level consistent API that check is done and SLCAN broke
2023-08-02 17:44:39 +10:00
Andrew Tridgell 0ed33653fc HAL_ChibiOS: added a method for just changing port owner 2023-08-02 17:44:39 +10:00
Andrew Tridgell a5fd60ec71 AP_CANManager: fixed usage of read_locked
this didn't actually cause an issue, but is wrong
2023-08-02 17:44:39 +10:00
Randy Mackay 9a29bf3f05 Mount: type param desc gets Viewpro 2023-08-02 17:25:25 +10:00
Peter Barker 117d99045d AP_Mount: correct ViewPro compilation under g++-7.5.0
non-trivial designators not implemented
2023-08-02 11:32:31 +09:00
Stephen Dade 50dc591b55 AP_Scripting: Account for nil battery in Rockblock and MAVLink_HL scripts 2023-08-02 12:18:46 +10:00
Andrew Tridgell 3cde2d964b hwdef: enable custom LED reset code 2023-08-01 11:38:03 +10:00
Andrew Tridgell 865be0df64 hwdef: support for Here4 GPS 2023-08-01 11:38:03 +10:00
Peter Barker 09a59bc934 AP_LandingGear: avoid use of MINIMIZE_FEATURES in AP_LandingGear_config.h 2023-08-01 10:44:59 +10:00
Peter Barker ac9fd6fcb6 AP_HAL_ChibiOS: avoid use of MINIMIZE_FEATURES in AP_LandingGear_config.h 2023-08-01 10:44:59 +10:00
Martin Luessi 459ea697d9 AP_HAL_ChibiOS: RADIX2HD target change Serial4 default protocol to ESC telemetry 2023-08-01 10:40:53 +10:00
Andrew Tridgell a8c17873fc AC_Fence: added option bit for union of inclusion areas
this allows for treating total inclusion area as union of all
inclusion areas. This is useful for:

- circles with corridors between them
- a fence for each flying site all loaded at once
- temporary addition of an extra area to a complex fence
2023-08-01 10:40:17 +10:00
Peter Barker 3ee2d24f1c AC_Fence: clarify bit 2 in FENCE_ENABLE parameter
these aren't just polygon fences ('though they used to be)
2023-08-01 10:17:54 +10:00
Peter Barker 17ec5f7d3b GCS_MAVLink: use long-to-int conversion code for SET_ROI_SYSID
also remove more code based on the mount-enabled define
2023-08-01 10:16:14 +10:00
Iampete1 b4cd3a4d26 AC_AttitudeControl: Heli: move integrate_bf_rate_error_to_angle_errors to private 2023-08-01 09:14:46 +09:00
Iampete1 6ece7ffb2e AC_AttitudeControl: Heli: remove unused flags 2023-08-01 09:14:46 +09:00
Iampete1 3e246c9d25 AP_Motors: Heli: remove loop rate "RSC control mode change failed" meassage 2023-08-01 09:12:51 +09:00
Iampete1 c5f3d5a98b AP_Motors: Heli: move heli parameter check to arming check 2023-08-01 09:12:51 +09:00
Henry Wurzburg 0aef2cc133 AP_AHRS:improve filter inconsistent messages
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2023-08-01 09:09:01 +09:00
Peter Barker 3f791ed734 hwdef: exclude landing library from SkyViper build 2023-08-01 10:07:28 +10:00
Peter Barker 10ef10da45 AP_Logger: trim LogStructure base off included code 2023-08-01 10:07:28 +10:00
Peter Barker a3aaaf3691 AP_Landing: trim LogStructure base off included code 2023-08-01 10:07:28 +10:00
Peter Barker ab15485968 hwdef: only one GPS receiver on SkyViper
notably that means no blending
2023-08-01 10:03:19 +10:00
Peter Barker 407cfc22ca AP_GPS: remove code if blended instance is not available 2023-08-01 10:03:19 +10:00
abaghiyan ae1eb93aec AP_L1_Control: Made changes to avoid zero division in proposed formula
According suggestion from Andrew Tridgell: https://github.com/ArduPilot/ardupilot/pull/24331#discussion_r1267798397
2023-08-01 10:01:47 +10:00
abaghiyan c2f4661b90 AP_L1_Control: Fixed formula in AP_L1_Control::nav_roll_cd
See details here: https://github.com/ArduPilot/ardupilot/issues/24319
2023-08-01 10:01:47 +10:00
Randy Mackay dbf5bfd707 AP_Scripting: add rover quicktune 2023-08-01 09:16:17 +10:00
Randy Mackay 0fd87667e5 AP_Scripting: AR_PosControl bindings 2023-08-01 09:16:17 +10:00
Randy Mackay 5e3c0d4ead AP_Scripting: add AR_AttitudeControl srate binding
also add AP_Vehicle:get_steering_and_throttle binding
2023-08-01 09:16:17 +10:00
Randy Mackay 99bfcb7498 AC_PID: AC_PID_2D integrates SlewCalculator2D 2023-08-01 09:16:17 +10:00
Randy Mackay 07ecbd18ec Filter: add SlewCalculator2D 2023-08-01 09:16:17 +10:00
Randy Mackay f91cda7b6e Filter: SlewLimiter definitions moved to cpp 2023-08-01 09:16:17 +10:00
Randy Mackay 1fd1a7f881 AP_Vehicle: add get_steering_and_throttle 2023-08-01 09:16:17 +10:00
Randy Mackay 57b54a4263 AR_PosControl: add singleton and get_srate 2023-08-01 09:16:17 +10:00
Randy Mackay 68e1769cc1 AR_AttitudeControl: add singleton and get_srate 2023-08-01 09:16:17 +10:00
Andrew Tridgell 5908508811 hwdef: default most boards to MAVLink2 for 2nd USB endpoint
only CubeOrange and CubeBlack left as SLCAN
2023-07-31 19:03:13 +10:00
Andrew Tridgell 9d5560fc42 hwdef: default 2nd USB endpoint to MAVLink2 2023-07-31 19:03:13 +10:00
Andrew Tridgell 217f073165 SITL: added simulated MSP GPS 2023-07-31 14:24:04 +10:00
Ryan Friedman 01c5f44556 AP_DDS: Add dynamic TF subscriber support
* This is the first step for GSOC Cartographer external odometry input
* Moved subscriber data members to class member variables

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-07-31 13:28:10 +10:00
bugobliterator 34494bb7d1 AP_DroneCAN: pass all the variables to AP_DroneCAN_DNA_Server by value
we were using the values by the AP_DroneCAN object, but the members might
not have been initialised if they are out of order
2023-07-29 08:27:27 +09:00
Rakesh Vivekanandan cacbb23c0b Sub: AC_AttitudeControl_Sub: Helper function to ensure that the vehicle reaches the target orientation with the desired yaw rate. 2023-07-27 14:29:10 -03:00
Willian Galvani 82bae765ff AP_Motors6DOF: scale pwm output linearly to MOT_PWM_MIN/MAX 2023-07-27 10:46:18 -03:00
Randy Mackay 617fb98eb6 AP_Mount: viewpro gets vehicle yaw in 0 to 360 range 2023-07-26 20:20:13 +09:00
Randy Mackay 0ccf41b525 AP_Mount: viewpro formatting fix 2023-07-26 20:20:13 +09:00
Randy Mackay 70cf9de970 AP_Mount: viewpro directly fills in packet structures 2023-07-26 20:20:13 +09:00
Randy Mackay cea0acdb01 AP_Mount: viewpro implements set lens
also reports model, firmware version and zoom to GCS
also gets recording status from gimbal
2023-07-26 20:20:13 +09:00
Randy Mackay 315d972c5d AP_Mount: add set lens support 2023-07-26 20:20:13 +09:00
Randy Mackay 1dc1d24f1e AP_Camera: add set lens support 2023-07-26 20:20:13 +09:00
Randy Mackay dd3376a808 RC_Channel: add camera lens aux function 2023-07-26 20:20:13 +09:00
robin luo 0137b1f31e AP_HAL_ChibiOS/hwdef: add controller ACNS-F405AIO
hwdef: add a new integrated flight controller ACNS-F405AIO
2023-07-26 18:35:29 +10:00
robin luo 9d0f7f2586 AP_HAL_ChibiOS/hwdef: add controller CM4Pilot
hwdef: add a new flight controller CM4Pilot
2023-07-26 18:33:43 +10:00
Randy Mackay 7de2dac9ca AP_Camera: TYPE param desc gets None value 2023-07-26 17:33:18 +10:00
Randy Mackay 380c20154f AP_Scripting: mount-djirs2 driver angle reporting fix 2023-07-26 17:33:18 +10:00
Randy Mackay 11a505f16f AP_Mount: Gremsy fix for attitude reporting 2023-07-26 17:33:18 +10:00
Randy Mackay a81f1cb993 AP_Scripting: viewpro driver fix for pitch angle reporting 2023-07-26 17:33:18 +10:00
Randy Mackay 2812b1e8bf AP_Mount: viewpro fix for pitch angle reporting 2023-07-26 17:33:18 +10:00
Asif Khan fd6db1ef45 AP_Mount: add MNT log msg for mount's actual and target angles logging 2023-07-26 17:33:18 +10:00
Asif Khan b5d1363c28 AP_Logger: add MNT log msg for mount's actual and target angles logging 2023-07-26 17:33:18 +10:00
Asif Khan a5d4133a2c AP_Camera: add MNT log msg for mount's actual and target angles logging 2023-07-26 17:33:18 +10:00
Peter Barker 7b83ccfdd1 AP_HAL_SITL: change SITL unbuffered writes to more-closely minim ChibiOS HAL
We don't ever actually do unbuffered writes in ChibiOS.  We just poke the relevant thread to say there's data available.  This kind of mimics that my instantly evoking the same routine the timer-tick method does, which may or may not get all of the bytes out in good order.
2023-07-26 17:06:27 +10:00
Peter Barker 2cb3265131 AP_HAL_SITL: factor _timer_tick into read/write methods 2023-07-26 17:06:27 +10:00
Andrew Tridgell a602473e89 hwdef: added SIYI NY flight controller
based on pinout of Durandal
2023-07-24 17:25:29 +10:00
Andy Piper f93295017a Revert "AP_HAL_ChibiOS: correct voltage sensor and current scale on speedybeef4v3"
This reverts commit 9f9be8da0f.
2023-07-24 13:16:52 +10:00
Andy Piper 9f9be8da0f AP_HAL_ChibiOS: correct voltage sensor and current scale on speedybeef4v3 2023-07-23 12:47:14 +10:00
Henry Wurzburg 3629037177 RC_Channel:clean up metadata for AUX switches 2023-07-21 11:16:47 +10:00
Peter Barker dd325a7aaf AP_HAL_ChibiOS: disable terrain unless SD card available 2023-07-19 17:25:18 +09:00
Peter Barker 5ee85b82f9 AP_Terrain: assume HAL_BOARD_TERRAIN_DIRECTORY is defined 2023-07-19 17:25:18 +09:00
Peter Barker 338a4d6b38 hwdef: remove HAL_BOARD_LOG_DIRECTORY and HAL_BOARD_TERRAIN_DIRECTORY defaults
these are now defaulted in chibios_hwdef.py
2023-07-19 17:25:18 +09:00
Peter Barker 092afa54a9 AP_HAL_ChibiOS: defaults for board log directory and terrain directory in chibios_hwdef.py 2023-07-19 17:25:18 +09:00
Peter Barker 274aedeaae GCS_MAVLink: rely on item conversion to run DO_SET_ROI_NONE when presented in COMMAND_LONG 2023-07-19 17:03:00 +09:00
Rhys Mainwaring 3bb6fb460e AP_DDS: fix reliable stream buffer size
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-07-19 16:59:38 +09:00
Andy Piper 15047ddfc7 AP_RCProtocol: rescan at CRSFv3 baud rates to avoid RX loss on soft reboot 2023-07-19 16:32:36 +09:00
Andy Piper 7a6065940d AP_RCProtocol: report tracer frame rate correctly 2023-07-19 16:32:36 +09:00
Andy Piper 016448ca40 AP_HAL_ChibiOS: correct comment in HEEWING-F405 v1 2023-07-19 16:29:47 +09:00
Andy Piper c2820b2d87 AP_HAL_ChibiOS: HEEWING-F405v2 which includes dataflash logging 2023-07-19 16:29:47 +09:00
Randy Mackay ca935ef47e AP_Mount: viewpro and xacti only enabled on boards 2mb flash 2023-07-18 21:02:02 +09:00
Randy Mackay d5977b6d96 AP_Mount: viewpro calc_crc len arg fix
Also remove one unnecessary length check
Also correct length check that meant last byte of buffer was unusable
2023-07-18 21:02:02 +09:00
Randy Mackay a8bb79b9ab AP_Mount: add viewpro cpp driver 2023-07-18 21:02:02 +09:00
Randy Mackay 75de6c0398 AP_Camera: mount backend implements set_tracking 2023-07-18 21:02:02 +09:00
Randy Mackay ddb91afdde AP_Mount: add set_tracking accessor 2023-07-18 21:02:02 +09:00
Randy Mackay 471f528233 AP_Mount: Xacti integrates get-date-and-time return of ms 2023-07-18 21:02:02 +09:00
Randy Mackay b5cbefc43a AP_RTC: get-date-and-time returns milliseconds 2023-07-18 21:02:02 +09:00
Randy Mackay 4b96c2f568 AP_AHRS: comment to clarify get-velocity-NED units 2023-07-18 21:02:02 +09:00