Commit Graph

30273 Commits

Author SHA1 Message Date
Peter Barker
a840af1ff5 AP_Airspeed: stop using GCS_MAVLINK.h in header files 2022-08-16 09:45:51 +10:00
Peter Barker
cfb391dc2c AP_AHRS: stop using GCS_MAVLINK.h in header files
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Peter Barker
59c6207a47 AP_HAL_ChibiOS: enable hardware debugging pins in SimOnHardware parameters 2022-08-16 09:39:03 +10:00
Peter Barker
be0ce8c90a hwdef: make NucleoH743 SimOnHW by default
A user doesn't necessarily want to attach an IMU/baro to use their nucleo
2022-08-16 09:39:03 +10:00
Peter Barker
441d83f05e hwdef: split SimOnHW.inc from CubeOrange-SimOnHW config
makes this easier to reuse on other boards
2022-08-16 09:39:03 +10:00
TunaLobster
01035b81b3 AP_HAL_ChibiOS: Add macros for Fuel options
Adds macros for FuelFlow, FuelLevel_PWM, and FuelLevel_Analog. The features are enabled on all 2MB boards.
2022-08-16 09:36:31 +10:00
TunaLobster
aa2c6b8d17 AP_BattMonitor: Add macros for Fuel options
Adds macros for FuelFlow, FuelLevel_PWM, and FuelLevel_Analog. The features are enabled on all 2MB boards.
2022-08-16 09:36:31 +10:00
TunaLobster
6733f75542 AP_BattMonitor: Add Fuel Level Analog driver 2022-08-16 09:36:31 +10:00
Peter Barker
ecde9f8c3f AP_HAL_ChibiOS: make HAL_FLASH_PROTECTION a boolean, stop checking for definition 2022-08-16 08:10:16 +10:00
Andrew Tridgell
b6186db24e AP_OpenDroneID: report if we lose operator location 2022-08-15 12:45:06 +10:00
Andrew Tridgell
a9d97d90c4 hwdef: removed APP_DESCRIPTOR settings
not needed
2022-08-15 09:18:34 +10:00
Andrew Tridgell
8b9570975b hwdef: added AP_OPENDRONEID_ENABLED to hwdef-bl.dat 2022-08-15 09:18:34 +10:00
Andrew Tridgell
a8ab7c3865 HAL_ChibiOS: auto-define AP_CHECK_FIRMWARE_ENABLED for AP_Periph 2022-08-15 09:18:34 +10:00
Andrew Tridgell
f7e4b5c72d AP_Vehicle: use AP_CheckFirmware 2022-08-15 09:18:34 +10:00
Andrew Tridgell
aeb6d2ab89 AP_CheckFirmware: added library for checking firmware ID and CRC 2022-08-15 09:18:34 +10:00
Andrew Tridgell
68f05c7386 AP_OpenDroneID: added AP_OpenDroneID_config.h 2022-08-15 09:18:34 +10:00
Andrew Tridgell
673fed92c7 AP_OpenDroneID: fixed checking of payload space
this fixes DroneCAN operation without a mavlink channel set
2022-08-15 08:54:48 +10:00
Peter Barker
d092e767ea AP_Common: correct gtests
AFAIK it's invalid to new a zero-length array.
2022-08-15 07:39:39 +10:00
Andrew Tridgell
2a95ced697 GCS_MAVLINK: pass OPEN_DRONE_ID_SYSTEM_UPDATE to library 2022-08-14 22:02:43 +10:00
Andrew Tridgell
b52c280704 AP_OpenDroneID: check available tx space and fixed message rates
ensure we don't lose messages due to lack of serial TX space, and
fixed update rate of LOCATION and SYSTEM_UPDATE msgs
2022-08-14 22:02:43 +10:00
Andrew Tridgell
0fc6c813a1 AP_OpenDroneID: implement OPEN_DRONE_ID_SYSTEM_UPDATE
this is a bandwidth efficient way to update the OPEN_DRONE_ID_SYSTEM message data when there is limited uplink bandwidth. Testing on real vehicles shows that with RFD900x radios at an air data rate of 125kbit/s with OPEN_DRONE_ID messages with 1Hz update (as required by FAA RemoteID standard) that there is significant impact on the ability of the GCS to give commands to the flight controller. For example, I got a high degree of packet loss in downloading parameter pre-flight, and many/most in-flight commands failed from the GCS.
By using this message we can use the minimum required bandwidth for updating operator location while remaining FAA RemoteID standard compliant
2022-08-14 22:02:43 +10:00
Peter Barker
26d3ffc27d GCS_MAVLink: correct INS_generic example
segfaults due to lack of singletoin objects in examples
2022-08-13 20:53:29 +10:00
Peter Barker
a4773413e4 AP_InertialSensor: correct INS_generic example
segfaults due to lack of singletoin objects in examples
2022-08-13 20:53:29 +10:00
Andy Piper
3521090dd5 AP_HAL_ChibiOS: correct HAL_SPI_CHECK_CLOCK_FREQ build error 2022-08-12 20:53:36 +10:00
Andy Piper
a6312ac893 AP_InertialSensor: correctly detect bad frames on regular ICM42xxx 2022-08-12 20:53:36 +10:00
Andy Piper
2b7bb84838 AP_HAL_ChibiOS: increase ICM42xxx SPI clock to 16Mhz on MatekH743 2022-08-12 20:53:36 +10:00
Andy Piper
221ab9752e AP_InertialSensor: synchronise fifo reads on the ICM42xxx 2022-08-12 20:53:36 +10:00
Peter Barker
48fd37cd25 AP_DroneID: add missing element to constructor 2022-08-11 21:06:04 +01:00
Peter Barker
67a87800f9 AP_OpenDroneID: correct compilation under gcc 7.5.0 2022-08-11 13:31:59 +10:00
Peter Barker
f345c16fda AP_Math: add dignostic message for SCurve internal error 2022-08-10 22:18:42 +10:00
Peter Barker
5b3a6daa7b AP_Mission: rename contains_terrain_relative->contains_terrain_alt_items
can we rename "constains_terrain_relative" to "contains_terrain_alt"? No big deal of course but "terrain_alt" is what we use in Copter so it's more likely to show up in searches.
2022-08-10 18:04:22 +10:00
Peter Barker
6709c6d72d AP_Arming: rename contains_terrain_relative->contains_terrain_alt_items
can we rename "constains_terrain_relative" to "contains_terrain_alt"? No big deal of course but "terrain_alt" is what we use in Copter so it's more likely to show up in searches.
2022-08-10 18:04:22 +10:00
Peter Barker
1c7e2f5094 AP_HAL_SITL: correct bind-value SIM_RC_FAIL handling
If SITL is not receiving any sitl rc input (so _sitl_rc_in.recv(...) is allways returns -1 then the bind-values code would never be crossed so the RC input values would remain at their initialisation values rather than honouring the SIM_RC_FAIL setting which says they should go to bind values (notably throttle-to-950)
2022-08-10 17:14:21 +10:00
bugobliterator
fce49232b2 hwdef: disable power reset on peripheral line 2022-08-10 17:06:29 +10:00
Andrew Tridgell
cdf8cad801 AP_GPS: fixed undulation for DroneCAN GPS 2022-08-10 05:04:18 +10:00
Andrew Tridgell
74a66ede95 AP_OpenDroneID: prevent sending of lost transmitter msg too fast 2022-08-10 05:04:18 +10:00
Andrew Tridgell
0e037c99f3 hwdef: support moving baseline yaw with Holybro G4 CAN GPS 2022-08-09 21:05:08 +10:00
Andrew Tridgell
6c3de20569 hwdef: support moving baseline GPS yaw on MatekL431-Periph 2022-08-09 21:04:37 +10:00
Shiv Tyagi
998119d011 SITL: fix var naming for precland device center 2022-08-09 18:00:11 +10:00
Andrew Tridgell
23744819dc hwdef: added two OpenDroneID enabled builds 2022-08-09 14:37:08 +10:00
Andrew Tridgell
9ce11159b0 AP_UAVCAN: support OpenDroneID 2022-08-09 14:37:08 +10:00
Joshua Henderson
ed47b10e0c AP_Arming: add OpenDroneID Mandatory Arming Check 2022-08-09 14:37:08 +10:00
Roel Schiphorst
3bd792295c GCS_MAVLINK: add OpenDroneID messages 2022-08-09 14:37:08 +10:00
Joshua Henderson
c52ae2edb4 AP_Vehicle: add OpenDroneID library 2022-08-09 14:37:08 +10:00
Roel Schiphorst
d346633996 AP_OpenDroneID: add OpenDrone ID library 2022-08-09 14:37:08 +10:00
Joshua Henderson
378dff5568 AP_GPS: added get_undulation support 2022-08-09 14:37:08 +10:00
Peter Barker
541cfa022b AP_Terrain: fix bad prearms-pass-when-they-shouldn't issue
The squares surrounding the current location were only checked when we went to send a terrain request.  This means it was possible that:
 - the number of pending requests could go to zero
 - prearm checks would pass
 - vehicle arm is attempted by the user (or a script, or ....)
 - the code would call AP_Terrain::send_requests which would create more pending requests
 - the arming sequence would fail

It's also possible for the arming to succeed, and then we're flying in violation of the intended prearm checks.

Doing things in the update function has the additional advantage of making things more efficient as we can push out terrain requests more often.
2022-08-09 14:31:14 +10:00
Peter Barker
c2d91a3bdb AP_Mission: mark mission as changed upon mission clear 2022-08-09 14:31:14 +10:00
Peter Barker
50fb56a74f AP_Mission: memoise result of contains_terrain_relative
527 items takes ~2200us on CubeOrange which is way too long
2022-08-09 14:31:14 +10:00
Peter Barker
4c674b64fb AP_Terrain: correct wait-for-terrain prearm check
looking at pending is insufficient as we may have more mission items to check to see if they need other pieces of terrain.  That is, terr_pending can go to zero momentarily and then go back to a non-zero number as Terrain's update method checks the mission and rally libraries for more terrain requirements.

Without this patch the prearm checks can momentarily pass, allowing the vehicle to arm.  The vehicle could hit a terrain failsafe later if it doesn't manage to get the data while in flight.
2022-08-09 14:31:14 +10:00
Peter Barker
d688e6068b AP_Terrain: move terrain prearm checks to AP_Terrain 2022-08-09 14:31:14 +10:00
Peter Barker
96ef34acac AP_Arming: move terrain prearm checks to AP_Terrain 2022-08-09 14:31:14 +10:00
Peter Barker
3bcd4fa22a AP_Arming: make terrain checks common between Copter and Plane 2022-08-09 14:31:14 +10:00
Andrew Tridgell
bad0120d3c AP_Mission: added contains_terrain_relative()
used in plane arming check
2022-08-09 14:31:14 +10:00
Iampete1
2d06261be3 AP_Gripper: apply auto close to all backends. 2022-08-09 13:23:35 +10:00
Leonard Hall
4bf622dbaf AP_Gripper: Add feedback when already in state 2022-08-09 13:23:35 +10:00
Leonard Hall
64d69c5977 AP_Gripper: Servo Gipper enhancments 2022-08-09 13:23:35 +10:00
Tamas Nepusz
1ae299b717 RC_Channel: reserve RX aux functions 248-249 for Skybrush 2022-08-09 13:22:07 +10:00
Andy Piper
d6ba508cb9 AP_ESC_Telem: keep RPM updates in the correct order 2022-08-09 11:13:11 +10:00
Andy Piper
2c22bca1a9 AP_Vehicle: make sure that if ESC telemetry is missing notch updates are not misordered 2022-08-09 11:13:11 +10:00
Henry Wurzburg
a5b373e912 AP_AHRS: modify AHRS type check for compass-less setups 2022-08-09 11:02:24 +10:00
Leonard Hall
1e3e5e5577 AP_Math: Control: Add velocity limits to shaping functions 2022-08-08 20:54:37 -04:00
Peter Barker
f5a8561fde AP_Arming: display 'Arm: ' instead of 'PreArm: ' for arming failures
Before this patch we would display PreArm: even if the checks were being performed as part of the arming sequence.

This lets us distinguish betwee checks failing because the user is trying to arm the vehicle and when the prearms are running while disarmed (or triggered via GCS)
2022-08-09 10:18:52 +10:00
Henry Wurzburg
8b02f11c23 AP_Motors: refactor to allow frame type symbols to be created for ELF 2022-08-09 10:06:18 +10:00
Joshua Henderson
e338e4cdb6 AP_TECS: use TECS log bitmask in constructor 2022-08-09 09:44:50 +10:00
Henry Wurzburg
aafc0789f0 SITL: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Henry Wurzburg
a46c774698 AP_RangeFinder: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Henry Wurzburg
e682296b58 AP_HAL_SITL: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Henry Wurzburg
4c24b89dde AP_HAL: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Shiv Tyagi
5167cd1e48 SITL: set z component of precland device pos separately
The position vector passed to update method is relative to home and the precland device origin height is also relative to home. Hence, we
can set the height of precland origin separately in a 3d vec containing its position relative to home
2022-08-05 10:17:19 +10:00
Henry Wurzburg
50591d1adf AP_Landing: change logging to be designated as streaming 2022-08-05 10:16:18 +10:00
Iampete1
4e4bfda05d AP_InertialSensor: vector params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
b025a6d41d AP_Follow: vector params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
90780e52b3 AP_Param: remove AP_ParamV = operator 2022-08-03 13:43:48 +01:00
Iampete1
1a3391ebef AP_OpticalFlow: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
b3f09e5573 SITL: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
d62508b273 AP_Math: tests: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
79b44b2517 SITL: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
8618b085be PID: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
338779d27d Filter: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
67fd8a1e49 AR_Motors: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
5893df9d9e AP_WindVane: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
0ef78c2f8b AP_VideoTX: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
d03f917ef4 AP_Terrain: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
0cb825e64d AP_SmartRTL: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
a0fc8cc46a AP_Scheduler: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
63e58e4fa1 AP_PiccoloCAN: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
59d75813cc AP_Param: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
2241766ed6 AP_Parachute: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
28007bfc1e AP_OSD: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
47105f0b03 AP_Mount: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
c1a9f75034 AP_Motors: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
8352a7b2b3 AP_Logger: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
ea03ea320c AP_InertialSensor: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
3878e64f97 AP_GyroFFT: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
51540359e6 AP_GPS: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
0d32e6cbf3 AP_Follow: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
df470f6a34 AP_Compass: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
f3b2de9c15 AP_Camera: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1
7a5ff6b51f AP_BoardConfig: params always use set method 2022-08-03 13:43:48 +01:00