Commit Graph

35261 Commits

Author SHA1 Message Date
Andrew Tridgell 205fb22674 SITL: fixed precland simulator
fixed units of height, was mixed cm and m, now just m AMSL
2024-03-14 11:42:43 +11:00
Andrew Tridgell 43a29f66d0 AC_PrecLand: added get_target_location and get_target_velocity 2024-03-14 11:42:43 +11:00
Andrew Tridgell 8851a92dfd AP_TECS: fixed adjusting speed without airspeed sensor
the pitch trim variable that was not connected in aparm is needed to
allow tuning of the flight speed using PTCH_TRIM_DEG and
TRIM_THROTTLE.

This was broken in 4.4.x by this PR:

https://github.com/ArduPilot/ardupilot/pull/22191
2024-03-14 11:42:43 +11:00
Andy Piper 5a6a19560c AP_HAL_ChibiOS: BlitzF745AIO update to ICM-42688
enable OSD
use minimal FPV config
enable compass probing
pull uart pins high in bootloader for ELRS
2024-03-14 11:42:43 +11:00
Andrew Tridgell 767fb372a8 AP_HAL_SITL: fixed get_baud_rate() 2024-03-14 11:42:43 +11:00
Andrew Tridgell ae46038585 AP_HAL_Linux: fixed get_baud_rate() 2024-03-14 11:42:43 +11:00
Andrew Tridgell f4635e028d AP_HAL_ESP32: fixed get_baud_rate() 2024-03-14 11:42:43 +11:00
Andrew Tridgell 10aa028d15 AP_SerialManager: default GPS baud to 230400
this is the most common baudrate
2024-03-14 11:42:43 +11:00
Andrew Tridgell 3926927104 AP_GPS: do initial probe at default baudrate
this makes for much faster probe for most users
2024-03-14 11:42:43 +11:00
Peter Barker b30563e10b AP_GPS: correct check of reported antenna distance vs stated offset 2024-03-14 11:42:43 +11:00
Andrew Tridgell e979a9076c AP_GPS: added option to decode RTCM injected data
this allows for redundent RTCM links (eg. WiFi and SiK links for light
show drones) without causing corruption into the GPS.

If the GPS_DRV_OPTION bit is set then we instantiate a separate RTCM3
decoder per mavlink channel, and only inject when we get a full packet
that passes the RTCM 24 bit CRC
2024-03-14 11:42:43 +11:00
Andrew Tridgell 49731fcf3b GCS_MAVLink: pass channel number to AP_GPS on RTCM injection 2024-03-14 11:42:43 +11:00
Andrew Piper a779dfc15d AP_GPS: fragments_received is a bitmask not a count 2024-03-14 11:42:43 +11:00
Paul Riseborough 5156509d3c AP_TECS: Remove unused variable 2024-03-14 11:42:43 +11:00
Paul Riseborough f73dd09162 AP_TECS: Add /0 protection 2024-03-14 11:42:43 +11:00
Paul Riseborough f47f44ce88 AP_TECS: Add option for speed to increase up to FBW max during descent 2024-03-14 11:42:43 +11:00
lthall 0f4f780f6e Copter: AC_AttitudeControl: RP_FILT_HZ to RPY_FILT_HZ 2024-03-14 11:42:43 +11:00
lthall dd70afd24c AC_CustomControl: RP_FILT_HZ to RPY_FILT_HZ 2024-03-14 11:42:43 +11:00
Andy Piper 2c26c9c38c AC_AttitudeControl: ensure yaw gets a FLTD default 2024-03-14 11:42:43 +11:00
Iampete1 e140fea834 AC_AttitudeControl: fix reset_target_and_rate method 2024-03-14 11:42:43 +11:00
Randy Mackay 885dd15cd1 AP_Camera: fix video recording while armed 2024-03-14 11:42:43 +11:00
Andrew Tridgell 23e69995af AP_Param: fixed build of CubeOrange-periph 2024-03-14 11:42:43 +11:00
Andrew Tridgell 7665f919aa AP_Param: fixed cygwin build
the cygwin build is not generating binaries failing with:

   undefined reference to `AP_Param::load_param_defaults(char const volatile*, int, bool)

there is a 2nd problem that the CI test for cygwin doesn't fail when
the build fails. That will be addressed separately
2024-03-14 11:42:43 +11:00
Peter Barker de78a4311f AP_BattMonitor: fix compilation when scripting in but scripted-battery out
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-03-14 11:42:43 +11:00
Rhys Mainwaring 0145fbf6b8 AP_DDS: use msg_prefix in GCS_SEND_TEXT
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-03-14 11:42:43 +11:00
Rhys Mainwaring f57d42e188 AP_DDS: use microxrcedds_gen default-container-prealloc-size
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-03-14 11:42:43 +11:00
Rhys Mainwaring c6966a1dcb AP_DDS: remove unused TFMessage variable
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-03-14 11:42:43 +11:00
Peter Barker 3fd12a8936 AP_RCProtocol: CRSF: use subtraction with times, not time+timedelta 2024-03-14 11:42:43 +11:00
Andrew Tridgell 96b59987b2 AP_RCProtocol: decode high duty-cycle CRSF frames using frame markers rather than timeouts
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-03-14 11:42:43 +11:00
Peter Barker e5a154c0f5 AP_RCProtocol: correct CSRF->CRSF
Co-authored-by: Andy Piper <github@andypiper.com>
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-03-14 11:42:43 +11:00
Andy Piper bca40640f2 AP_RCProtocol: add tests for CRSF and fix protocol test
fixed RCProtocolTest on SITL and make it pass/fail with an exit code

Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-03-14 11:42:43 +11:00
rishabsingh3003 9acbe2fc6a AC_Avoid: Remove sensor status checks 2024-03-14 11:42:43 +11:00
rishabsingh3003 6cb654c5a2 AP_Proximity: Improve get_status handling 2024-03-14 11:42:43 +11:00
rishabsingh3003 22ace12538 AP_RangeFinder: move multican to AP_CANSensor 2024-03-14 11:42:43 +11:00
rishabsingh3003 f32e6b733b AP_Proximity: move mutlican to AP_CANSensor 2024-03-14 11:42:43 +11:00
rishabsingh3003 31b59ebe98 AP_Arming: Remove MR72 2024-03-14 11:42:43 +11:00
rishabsingh3003 e520fa0dc2 AP_CANManager: Add multiCAN interface 2024-03-14 11:42:43 +11:00
rishabsingh3003 3f6091fb80 AP_Arming: Add check for CAN MR72 2024-03-14 11:42:43 +11:00
rishabsingh3003 c9a829ddf7 AP_Proximity: Add support for CAN MR72 2024-03-14 11:42:43 +11:00
rishabsingh3003 9655ce1c3a AP_CANMangaer: Add support for CAN MR72 2024-03-14 11:42:43 +11:00
bugobliterator 3e09c17552 AP_GPS: broaden the acceptance criteria for GPS Yaw measurement 2024-03-14 11:42:42 +11:00
Iampete1 6841c31e1b AP_Parachute: do relay conversion if ever enabled 2024-03-14 11:42:42 +11:00
Andrew Tridgell 3047c1ed92 HAL_ChibiOS: fixed CANFD timings (again!)
the timing table was not correct, thanks to APD for pointing this out.

This is recalculated from
https://www.kvaser.com/support/calculators/can-fd-bit-timing-calculator,
with transmitter timing delay compensation added and tested with Salae
captures to ensure we are getting the right bit rates
2024-03-14 11:42:42 +11:00
Andrew Tridgell f1fedaac72 AP_Param: fixed setting of defaults for dynamic param trees
when we load a VARPTR subtree we need to re-scan the parameter
defaults file from @ROMFS/defaults.parm in case there are defaults
applicable to this subtree
2024-03-14 11:42:42 +11:00
yjuav 7f98c7f737 hwdef: add YJUAV_A6Ultra board support 2024-03-14 11:42:42 +11:00
Randy Mackay 4a4521379d Mount: Siyi waits for non-zero cam firmware version 2024-03-14 11:42:42 +11:00
David O'Connor 8621495480 hwdef: add AnyLeaf H7 board 2024-03-14 11:42:42 +11:00
Andy Piper c9c25f5468 AP_RCProtocol: discriminate GHST and CRSF based on first byte
do not change to GHST baudrate unless it has been specifically configured
2024-03-14 11:42:42 +11:00
Andrew Tridgell 0638eae1d9 HAL_Linux: fixed float calc of time for onboard flow 2024-03-14 11:42:42 +11:00
Andrew Tridgell 992eba3a36 HAL_SITL: use integer maths for clocks
same fix as for HAL_Linux
2024-03-14 11:42:42 +11:00
Andrew Tridgell 093f6e4a00 HAL_Linux: fixed time function to use integer maths
avoid floating point rounding errors after long uptimes.

thanks to Richard (RSAXVC) for finding this
2024-03-14 11:42:42 +11:00
Andrew Tridgell 4424f4e9f8 AP_Scripting: prevent double close in web server 2024-03-14 11:42:42 +11:00
Andrew Tridgell decd6c91ad AP_Scripting: prevent re-use of closed socket
this prevents a null pointer dereference after a close of a network
socket
2024-03-14 11:42:42 +11:00
Andrew Tridgell a3143ab009 AP_Param: don't enable param backup on all boards
this fixes an issue with resetting of parameters when going between
4.4.x and 4.5.x on MatekH743, and on any other board using flash
storage where the storage size has increased from 16k to 32k between
4.4.x and 4.5.x

The problem is that when you update to 4.5.x the parameter code stored
a backup of parameters in the StorageParamBak storage region which is
in the last section of storage. When you downgrade to 4.4.x the
AP_FlashStorage::load_sector() code tries to load this data and gets
an error as it is beyond the end of the available 16k storage. This
triggers an erase_all() and loss of parameters
2024-01-28 08:43:14 +11:00
Andrew Tridgell 6e3369611e HAL_ChibiOS: enable clock management on G4
this allows for a different clock tree in the main fw from the
bootloader
2024-01-25 11:44:52 +11:00
Andrew Tridgell 06a8aef998 HAL_ChibiOS: switched G4 FDCAN clock to 80MHz
this requires main CPU clock at 160 MHz instead of 168 MHz
2024-01-25 11:44:44 +11:00
Andrew Tridgell 2d965684f6 HAL_ChibiOS: fixed CANFD timings
our CANFD timings were resulting in a lot of busoff errors. Here is an
example of master at 1Mbit/5MBit:

Getting @SYS/can0_stats.txt as -
------- Clock Config -------
CAN_CLK_FREQ:   80MHz
Std Timings: bitrate=1000000 presc=7
sjw=0 bs1=7 bs2=0 sample_point=90.00000%
FD Timings:  bitrate=5000000 presc=1
sjw=0 bs1=5 bs2=0 sample_point=90.00000%
------- CAN Interface Stats -------
tx_requests:    2689
tx_rejected:    0
tx_overflow:    443
tx_success:     7
tx_timedout:    2232
tx_abort:       0
rx_received:    18470
rx_overflow:    0
rx_errors:      0
num_busoff_err: 34439
num_events:     18477
ECR:            F8
fdf_rx:         18467
fdf_tx_req:     2182
fdf_tx:         0

here is an example with the new timings:

------- Clock Config -------
CAN_CLK_FREQ:   80MHz
Std Timings: bitrate=1000000 presc=8
sjw=1 bs1=8 bs2=1 sample_point=90.00000%
FD Timings:  bitrate=8000000 presc=2
sjw=3 bs1=8 bs2=3 sample_point=80.00000%
------- CAN Interface Stats -------
tx_requests:    3023
tx_rejected:    0
tx_overflow:    0
tx_success:     3023
tx_timedout:    0
tx_abort:       0
rx_received:    27865
rx_overflow:    0
rx_errors:      0
num_busoff_err: 0
num_events:     30888
ECR:            0
fdf_rx:         27862
fdf_tx_req:     3016
fdf_tx:         3016

I am testing between a CubeOrange and a Pixhawk6X. I tested 1, 2, 4, 5
and 8 MBit (which are the only valid FD bitrates in our parameters)

Many thanks to Kai from Salient Motion for finding this issue and
providing the corrected timing table
2024-01-25 11:44:32 +11:00
Peter Barker f18e196fa9 GCS_MAVLink: use virtual method for GCS_MAVLink::handle_message
use more appropriate naming for the method.
2024-01-24 09:07:41 +11:00
Peter Barker 475ef8a06d AP_Mission: fix use of uninitialised stack data
loading missions via FTP ends up using uninitialised stack data when storing missions.
2024-01-24 09:04:28 +11:00
Hayden Donald a81f2785aa AP_HAL_ChibiOS: Use correct pin config for ADC2 and ADC3 2024-01-24 08:03:24 +11:00
MallikarjunSE 873e2eac7d AP_HAL_ChibiOS: update truenav hwdef 2024-01-24 07:58:09 +11:00
J.R. Bronkar 784a21bcab AP_Mission: fractional Loiter Turn Support
Adds special storage handling for loiter turns. Fractional Loiter
Turns 0<N<1 are stored by multiplying the turn number by 256, then
dividing that number by 256 on retrieval.
2024-01-22 20:27:20 -08:00
Andrew Tridgell 50b95c81ca AP_Param: whitespace fix 2024-01-23 15:00:30 +11:00
Andrew Tridgell b051719836 SITL: fixed name of pitch limit parameters 2024-01-23 15:00:30 +11:00
Andrew Tridgell e714f0a7a3 AP_HAL_ChibiOS: fixed name of pitch limit parameters 2024-01-23 15:00:30 +11:00
Andrew Tridgell 315f4963cc SITL: fixed parameter names 2024-01-23 15:00:30 +11:00
Andrew Tridgell 4f182f3194 AP_Scripting: fixed parameter names 2024-01-23 15:00:30 +11:00
Andrew Tridgell 061ac459f8 RC_Channel: tidy a comment for LAND_PITCH_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell f51fa31aae AP_TECS: fixed param names in comments 2024-01-23 15:00:30 +11:00
Andrew Tridgell 77877584f8 AP_Scripting: fixed example script 2024-01-23 15:00:30 +11:00
Andrew Tridgell 15a9909127 SITL: tidy TRIM_PITCH to PTCH_TRIM_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 3643eb6d2a AP_Vehicle: tidy TRIM_PITCH to PTCH_TRIM_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 04d72d3adc SITL: convert param files for LAND_PITCH_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 2c73c56403 AP_TECS: convert LAND_PITCH_CD to LAND_PITCH_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 3fddc487df AP_Landing: convert LAND_PITCH_CD to LAND_PITCH_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell bea9102d72 SITL: convert param files LIM_ROLL_CD -> ROLL_LIMIT_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell a6bceccd82 AP_HAL_ChibiOS: convert param files LIM_ROLL_CD -> ROLL_LIMIT_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell cfc30fac44 AP_Vehicle: change LIM_ROLL_CD to ROLL_LIMIT_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 0430923639 APM_Control: change LIM_ROLL_CD to ROLL_LIMIT_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 74e455ef6a SITL: convert param files for pitch limits 2024-01-23 15:00:30 +11:00
Andrew Tridgell 862b0ed8d6 AP_HAL_ChibiOS: convert param files for pitch limits 2024-01-23 15:00:30 +11:00
Andrew Tridgell 718fff0e96 AP_Vehicle: convert LIM_PITCH_MIN/MAX -> PTCH_LIM_MIN/MAX_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 7d5685c55f AP_TECS: convert LIM_PITCH_MIN/MAX -> PTCH_LIM_MIN/MAX_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 93c4b75a60 APM_Control: convert LIM_PITCH_MIN/MAX -> PTCH_LIM_MIN/MAX_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell d0757b5aec SITL: param rename for CRUISE_ALT_FLOOR 2024-01-23 15:00:30 +11:00
Andrew Tridgell 54f38b7570 SITL: convert ALT_HOLD_RTL and ALT_HOLD_FBWCM 2024-01-23 15:00:30 +11:00
Andrew Tridgell a0c2f5eadb AP_Scripting: convert ALT_HOLD_RTL to RTL_ALTITUDE 2024-01-23 15:00:30 +11:00
Andrew Tridgell 5147ccd4e1 AP_OSD: convert ALT_HOLD_RTL to RTL_ALTITUDE 2024-01-23 15:00:30 +11:00
Andrew Tridgell e5199a71d6 AP_HAL_ChibiOS: convert ALT_HOLD_RTL to RTL_ALTITUDE 2024-01-23 15:00:30 +11:00
Andrew Tridgell 1f7f4bac73 AP_Vehicle: convert MIN_GNDSPEED_CM to MIN_GROUNDSPEED 2024-01-23 15:00:30 +11:00
Andrew Tridgell c2038ee18e AP_Landing: convert MIN_GNDSPEED_CM to MIN_GROUNDSPEED 2024-01-23 15:00:30 +11:00
Andrew Tridgell a87dea0139 SITL: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell d65809ffc1 AP_TECS: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell 8fd0bc6f6a AP_Scripting: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell fdf286f0b0 AP_OSD: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell 180a738e19 AP_Landing: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell f935cbaead AP_HAL_ChibiOS: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell 06401fdcbf AP_Airspeed: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell c8813677b3 AP_TECS: convert remaining uses of TRIM_ARSPD_CM to AIRSPEED_CRUISE 2024-01-23 15:00:30 +11:00
Andrew Tridgell 79ab474c51 AP_Soaring: convert remaining uses of TRIM_ARSPD_CM to AIRSPEED_CRUISE 2024-01-23 15:00:30 +11:00