Commit Graph

35203 Commits

Author SHA1 Message Date
Andrew Tridgell
ae13e7dd2e AP_GPS: do initial probe at default baudrate
this makes for much faster probe for most users
2024-03-14 09:33:55 +09:00
Peter Barker
1e4c291d33 AP_GPS: correct check of reported antenna distance vs stated offset 2024-03-14 09:33:55 +09:00
Andrew Tridgell
09401ca316 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 09:33:55 +09:00
Andrew Tridgell
127ea4ab95 GCS_MAVLink: pass channel number to AP_GPS on RTCM injection 2024-03-14 09:33:55 +09:00
Andrew Piper
66ccaee83b AP_GPS: fragments_received is a bitmask not a count 2024-03-14 09:33:55 +09:00
Paul Riseborough
de080b2499 AP_TECS: Remove unused variable 2024-03-14 09:33:55 +09:00
Paul Riseborough
1654bacc2b AP_TECS: Add /0 protection 2024-03-14 09:33:55 +09:00
Paul Riseborough
1aeb0ba23c AP_TECS: Add option for speed to increase up to FBW max during descent 2024-03-14 09:33:55 +09:00
lthall
002bd5b1ea Copter: AC_AttitudeControl: RP_FILT_HZ to RPY_FILT_HZ 2024-03-14 09:33:54 +09:00
lthall
ef45942a8a AC_CustomControl: RP_FILT_HZ to RPY_FILT_HZ 2024-03-14 09:33:54 +09:00
Andy Piper
3721b434e1 AC_AttitudeControl: ensure yaw gets a FLTD default 2024-03-14 09:33:54 +09:00
Iampete1
f1821ce4fc AC_AttitudeControl: fix reset_target_and_rate method 2024-03-14 09:33:54 +09:00
Randy Mackay
9ec47e0651 AP_Camera: fix video recording while armed 2024-03-14 09:33:54 +09:00
Andrew Tridgell
ef911d30d8 AP_Param: fixed build of CubeOrange-periph 2024-03-14 09:33:54 +09:00
Andrew Tridgell
dd1e91528d 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 09:33:54 +09:00
Peter Barker
08a45293f2 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 09:33:54 +09:00
Rhys Mainwaring
1110dd7a7b AP_DDS: use msg_prefix in GCS_SEND_TEXT
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-03-14 09:33:54 +09:00
Rhys Mainwaring
ed0a7d5e6e AP_DDS: use microxrcedds_gen default-container-prealloc-size
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-03-14 09:33:54 +09:00
Rhys Mainwaring
9a01419c27 AP_DDS: remove unused TFMessage variable
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-03-14 09:33:54 +09:00
Peter Barker
3f2e3615e5 AP_RCProtocol: CRSF: use subtraction with times, not time+timedelta 2024-03-14 09:33:54 +09:00
Andrew Tridgell
fd6b3cda0e 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 09:33:54 +09:00
Peter Barker
7b727a8ac1 AP_RCProtocol: correct CSRF->CRSF
Co-authored-by: Andy Piper <github@andypiper.com>
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-03-14 09:33:54 +09:00
Andy Piper
69d3968b9f 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 09:33:54 +09:00
rishabsingh3003
40068358c5 AC_Avoid: Remove sensor status checks 2024-03-12 11:30:17 +11:00
rishabsingh3003
a42f537e61 AP_Proximity: Improve get_status handling 2024-03-12 11:30:17 +11:00
rishabsingh3003
6a87f59d59 AP_RangeFinder: move multican to AP_CANSensor 2024-03-12 11:30:17 +11:00
rishabsingh3003
488bcf6125 AP_Proximity: move mutlican to AP_CANSensor 2024-03-12 11:30:17 +11:00
rishabsingh3003
f552247d4e AP_Arming: Remove MR72 2024-03-12 11:30:17 +11:00
rishabsingh3003
4aaefb7b9e AP_CANManager: Add multiCAN interface 2024-03-12 11:30:17 +11:00
rishabsingh3003
19b6b3bef9 AP_Arming: Add check for CAN MR72 2024-03-12 11:30:17 +11:00
rishabsingh3003
771a2da715 AP_Proximity: Add support for CAN MR72 2024-03-12 11:30:17 +11:00
rishabsingh3003
03ad0b9631 AP_CANMangaer: Add support for CAN MR72 2024-03-12 11:30:17 +11:00
bugobliterator
6fa4259b21 AP_GPS: broaden the acceptance criteria for GPS Yaw measurement 2024-02-14 09:21:15 +09:00
Iampete1
eba74e53c7 AP_Parachute: do relay conversion if ever enabled 2024-02-14 09:21:15 +09:00
Andrew Tridgell
e36a6226a8 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-02-14 09:21:15 +09:00
Andrew Tridgell
e2bccebfb8 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-02-14 09:21:15 +09:00
yjuav
9bf73db55e hwdef: add YJUAV_A6Ultra board support 2024-02-14 09:21:15 +09:00
Randy Mackay
1c41244fe5 Mount: Siyi waits for non-zero cam firmware version 2024-02-14 09:21:15 +09:00
David O'Connor
ef10be5918 hwdef: add AnyLeaf H7 board 2024-02-14 09:21:15 +09:00
Andy Piper
3f8c4770b0 AP_RCProtocol: discriminate GHST and CRSF based on first byte
do not change to GHST baudrate unless it has been specifically configured
2024-02-14 09:21:15 +09:00
Andrew Tridgell
2c378f4ba0 HAL_Linux: fixed float calc of time for onboard flow 2024-02-14 09:21:15 +09:00
Andrew Tridgell
350be1b24f HAL_SITL: use integer maths for clocks
same fix as for HAL_Linux
2024-02-14 09:21:15 +09:00
Andrew Tridgell
55d2404e4c 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-02-14 09:21:15 +09:00
Andrew Tridgell
c51d326f53 AP_Scripting: prevent double close in web server 2024-02-14 09:21:15 +09:00
Andrew Tridgell
d98036990e AP_Scripting: prevent re-use of closed socket
this prevents a null pointer dereference after a close of a network
socket
2024-02-14 09:21:15 +09:00
Andrew Tridgell
7c47049076 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:57 +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