Commit Graph
100 Commits
Author SHA1 Message Date
Michael du Breuil 3fd2865857 Tools: AP_Periph: fix building of hwesc telem
This was broken by the APD support
2023-05-31 15:08:01 +10:00
Michael du Breuil e2d0cc55d0 AP_Periph: Support APD ESC telemetry 2023-05-25 17:35:27 -07:00
Michael du Breuil 32fd21592a AP_Math: Add fletcher16 CRC 2023-05-25 17:35:27 -07:00
Michael du Breuil 584a1f8c49 Tools: AP_Periph: Reduce the priority of outdoing ADS-B messages
We consume these at line rate from the transciever, don't allow this to
cause unnecessary congestion on the bus, as it may be used for flight
critical functions. A more proper solution would be to behave more like
the actual AP_ADSB library, and simple rate limit how often we send any
updates out to the host device, as well as filtering for distance, but
that requires more information then is currently readily available.
2023-05-25 16:59:32 -07:00
Michael du Breuil a934c90e69 GCS_MAVLink: Route MAVLink data to/from scripting 2023-05-24 19:03:28 +10:00
Michael du Breuil 598919d8ad AP_Scripting: Support sending MAVLink buffers from scripts 2023-05-24 19:03:28 +10:00
Michael du Breuil 63f57fcdb9 .editorconfig: Update for more standards aware editors 2023-05-23 09:56:28 +10:00
Michael du Breuil 29556ade25 Tools: Support MAX_RPM autotest 2023-05-02 10:23:55 +10:00
Michael du Breuil 04b16d1a79 Copter: Support checking max rpm in the takeoff check 2023-05-02 10:23:55 +10:00
Michael du Breuil 3de912f2b8 AP_ESC_Telem: Add support for a max rpm check on the motors running check 2023-05-02 10:23:55 +10:00
Michael du Breuil 24c5fe54df Plane: Support a long failsafe that goes straight to auto
This is very useful with an aircraft that is expected to be autonomously
operating in auto from takeoff to landing. It is convient to have a GCS
connected or RC, but the loss of either isn't considered a reason to
terminate the mission.
2023-04-28 09:37:12 +10:00
Michael du Breuil a9d696752d GCS_MAVLink: Factor accel cal work out to INS library 2023-04-21 21:33:16 +10:00
Michael du Breuil b76d6d827f AP_InertialSensor: Factor accel cal in from GCS_MAVLink 2023-04-21 21:33:16 +10:00
Michael du Breuil 58cdf8154a Tools: Support force erase for flash on uploader 2022-11-02 18:43:33 +11:00
Michael du Breuil b846bc9d77 AP_Bootloader: Add support for skipping the cleared flash check 2022-11-02 18:43:33 +11:00
Michael du Breuil 6b0dd7e689 AP_GPS: Fix novatel driver to handle DOP correctly, and fix overly optimistic horizontal accuracy estimate 2022-10-18 10:06:46 +11:00
Michael du Breuil b7a8852747 Plane: Allow reseting target airspeed to the parameter value 2022-10-04 10:04:13 +11:00
Michael du Breuil 18e374e687 AP_Logger: Fix an error in the doc string for the MAVC message 2022-09-15 09:45:33 +10:00
Michael du Breuil 9053e81140 Tracker: Don't send HWSTATUS by default 2022-09-13 14:27:06 +10:00
Michael du Breuil 0dcda81fe4 Rover: Don't send HWSTATUS by default 2022-09-13 14:27:06 +10:00
Michael du Breuil 1759dd6368 Blimp: Don't send HWSTATUS by default 2022-09-13 14:27:06 +10:00
Michael du Breuil e5a6e1133f Sub: Don't send HWSTATUS by default 2022-09-13 14:27:06 +10:00
Michael du Breuil 5c73cd581f Copter: Don't send HWSTATUS by default 2022-09-13 14:27:06 +10:00
Michael du Breuil dba90ec227 Plane: Don't send HWSTATUS by default 2022-09-13 14:27:06 +10:00
Michael du Breuil 98c4f1b323 AP_Arming: Expose ARMING_OPTIONS to all vehicles 2022-09-13 11:18:22 +10:00
Michael du Breuil 80d7bf9b11 Tools: Update autotest to accomodate accel cal changes 2022-09-09 08:52:14 +10:00
Michael du Breuil 5282dba42a GCS_MAVLink: Rate limit blocking accel calibrations
This allows us to drop any queued commands that may have arrived while
we were calibrating. Rather then entering a second and unexpected
calibration.
2022-09-09 08:52:14 +10:00
Michael du Breuil ff94ef1c60 GCS_MAVLink: Check for mission space before sending items 2022-09-07 17:52:23 +10:00
Michael du Breuil 0c73da5e79 AP_Logger: Strictly handle NACK/ACK
This is a change in bevaiour. The previous behaviour was to check for a
NACK, and if it wasn't a NACK it was assumed to be an ACK. This is a bad
assumption to let people get away with, because in the future if we ever
add other options to the enum we are more likely to have to cope with
bad implementation in the wild
2022-09-07 10:25:30 +10:00
Michael du Breuil f183b21fc5 Plane: Support vtol landing options on NAV_VTOL_LAND
This allows the same mission to contain both circular and straight
landing items, and doesn't require on the fly tweaking
2022-08-15 17:05:00 -07:00
Michael du Breuil f5ca2c9e7a AP_Mission: Support storing VTOL_LAND options 2022-08-15 17:05:00 -07:00
Michael du Breuil 041b2b594b AP_Compass: Fix compass priority instance message to make sense to users 2022-03-08 10:32:05 +11:00
Michael du Breuil 976e0ecc29 SRV_Channel: Changing servo functions are now reboot required
Changing from a PWM function to GPIO now requires a reboot.
2022-03-03 16:06:36 +11:00
Michael du Breuil 382cbb9b4d AP_Airspeed: Sanity check DLVR raw data before accumulating it
This is intended to help with really bad RF interference flipping bits on the I2C bus which can lead to some intresting results
2022-02-09 09:00:22 +11:00
Michael du Breuil f08866639e AP_GPS: Novatel respect the auto config disable parameter 2021-11-09 10:05:26 +11:00
Michael du Breuil eedcb9aded AP_GPS: Isolate the header to be only set once
Also wrap up some common whitespace issues
2021-11-09 10:05:26 +11:00
Michael du Breuil e3109e4b29 AP_Logger: Use actual MAVLink constant
This isn't a functional change, it just improves the readibility of the
file
2021-08-25 18:52:21 +10:00
Michael du Breuil b3a1e6a1ce AP_RangeFinder: Rearrange parameters to reduce memory usage
Saves 4 bytes per instance, and with 10 instances this gives us an extra
40 bytes of RAM
2021-06-22 10:08:02 +10:00
Michael du Breuil 0de9d3e759 AP_BattMonitor: Rearrange battery parameters to reduce memory usage
Saves 8 bytes per Params instance, which we have 9 of on every vehicle,
for a total saving of 72 bytes
2021-06-22 10:08:02 +10:00
Michael du Breuil fa7a89ef83 AP_Mission: Cleanup the header to reduce flash cost
Removes unneeded set's of memory that is already zero'd. It also changes
_flags to be all bool to match the actual usage, and removes the width
specifiers from them. This increases the RAM cost of AP_Mission by 4
bytes, but saves on flash. The RAM cost was eliminated by rearranging
members.
2021-06-22 10:08:02 +10:00
Michael du Breuil 29d6900888 AP_Airspeed: Remove unneeded initilization
We pre zero all memory
2021-06-22 10:08:02 +10:00
Michael du Breuil 60e47b56f5 AP_GPS: Nova: Remove unneeded injection override 2021-05-25 10:07:05 +10:00
Michael du Breuil 1288f4c81b AP_GPS: Support GPS_SBAS_MODE on SBF GPS units
Also swaps to using an AP_Enum for the SBAS type, and fixes up the fact
that the prearm/failure reasons should be using the config step, rather
then the init blob index
2021-05-18 09:52:07 +10:00
Michael du Breuil bde695d11f AP_Notify: UAVCAN_RGB_LED: don't init if no UAVCAN backends
This allows us to consider enabling UAVCAN_RGB_LED as a more general
default, as it won't consume one of our limited backend slots if UAVCAN
is not enabled.
2021-04-06 10:45:09 +10:00
Michael du Breuil c0017abb63 AP_Notify: Remove indirection on RGBLed of init()->hw_init()
Saves a bit of flash, and just makes the code a bit more obvious
2021-03-30 11:18:45 +11:00
Michael du Breuil e5de148ad1 AP_BattMonitor: Fix nullptr deref when resetting a battery 2021-03-30 09:47:44 +11:00
Michael du Breuil 9abf91c86e AP_Periph: Allow skipping the BatteryInfo model_name
This saves a shocking amount of bandwidth. On a CubeOrange-periph
build sending just baro data and 2 battery info's this results in 25%
less bandwidth being used. (Also given that we still have a instance id,
and can get the CAN node's descriptor in the general case this is not
costing us any information).
2021-03-19 17:35:54 +11:00
Michael du Breuil 06a40da355 AP_Periph: Send ardupilot.gnss.Status 2021-03-12 09:39:55 +11:00
Michael du Breuil a3ddf5264d AP_GPS: Support uavcan ardupilot.gnss.Status
Also makes the drive by change to make GPS_Backend::is_configured const
2021-03-12 09:39:55 +11:00
Michael du Breuil e47857a278 AP_UAVCAN: Add ardupilot.gnss.Status 2021-03-12 09:39:55 +11:00
Michael du Breuil f227d67d58 AP_GPS: Remove unused enum 2021-03-03 10:00:15 +09:00
Michael du Breuil 4c4e613f6a AP_GPS: Don't send SBF config unless there is free space in the port 2021-02-15 16:31:45 -07:00
Michael du Breuil c0da87c066 AP_HAL_ChibiOS: Update HitecMosaic to reflect changes to GPS config 2021-02-15 16:31:45 -07:00
Michael du Breuil 4d42996068 AP_GPS: Force the buadrate on SBF units 2021-02-15 16:31:45 -07:00
Michael du Breuil 50d80e9dc4 AP_Periph: Remove debug printf 2021-02-12 14:51:09 +11:00
Michael du Breuil 623951a262 AP_HAL_ChibiOS: Add some extra GPS SBF config 2021-02-05 11:52:29 -07:00
Michael du Breuil 5f3b1b92a4 AP_GPS: SBF don't send configuration until we've recieved a prompt
This fixes a configuration problem with SBF unit's where sometimes we
fail to detect the GPS unit continously, until it's been manually
configured. This was tested by doing a hard reset to the GPS unit.

This also now accepts a set of defines from the hwdef, or build
environment, which allows us to specify extra config options.
2021-02-05 11:52:29 -07:00
Michael du Breuil d9ffd04a96 AP_GPS: Broadcast the detect message on AP_Periph over CAN 2021-02-05 11:52:29 -07:00
Michael du Breuil f854477efe AP_BattMonitor: Limit the scope of possible corruption if the NeoDesigns gets a bad cell count 2021-02-03 19:21:39 +11:00
Michael du Breuil 15ce4fb034 AP_Periph: Use the ArmingStatus broadcast to set the soft_armed state
This allows things like GPS_RAW_DATA 2 to start to work for SBF GPS's
2021-02-02 10:57:57 +11:00
Michael du Breuil 05b9aa2fa2 AP_UAVCAN: Broadcast ArmingStatus regularly 2021-02-02 10:57:57 +11:00
Michael du Breuil 0f363809f5 AP_GPS: Fix some unit errors with the GPS blended instance
Also add a static assert and some docs on the fact that blending only
works with 2 actual recievers at the moment

Also a small optimization to not call get_rate_ms() twice
2021-01-28 11:55:30 +11:00
Michael du Breuil 15fd8480f8 AP_EFI: Correct a bad conversion from Kelvin to Celsius
(was off by 0.15 degrees)
2021-01-20 11:10:25 +11:00
Michael du Breuil 2909623057 Plane: Ensure that only one form of throttle nudging is active at once 2021-01-03 12:47:14 +11:00
Michael du Breuil 60af6633cf AP_EFI: Add NWPMU CAN driver 2021-01-01 17:29:54 +11:00
Michael du Breuil f9b4e81702 Copter: Add ignore pilot yaw to guided, auto and RTL options 2020-11-19 07:22:54 +09:00
Michael du Breuil 5e2093b105 Copter: Allow the user to specify the GCS failsafe timeout 2020-11-17 09:24:07 +09:00
Michael du Breuil 53cbd86cbe AP_Scripting: Fix the lua scheduling rate to be referenced from the
start of the update

This allows specifying a return value like "return update, 10" to run
at a near perfect 100Hz, where as before it would be run 10 ms after the
script had completed it's loop, which can be highly variable as the
script experiences interupts from the system, as well as needing the
script author to take responsibility for calculating the desired update
rate at the end. This was always intended to be fixed, but I pushed it
back during the initial development, however people are begining to run
scripts that have enough processing, or are rate sensitive enough that
we are now needing to start correcting this, or scripts will have to do
their best to guess the time, which will be inferior to us providing it.

As a note if you exceeded the time expected we will be rescheduling the
script immediately, thus it will have a schedule time in the past and
will be slotted in. This can't indefinetly starve other scripts as they
will still be slotted in, but if you request an update in 1 ms, but took
100ms to run we will simply slide you back into the queue 1ms after when
you started running.
2020-11-17 10:19:13 +11:00
Michael du Breuil 960437d446 Tools: Add the SFML configuration flags as needed for joysticks 2020-11-13 15:38:22 +11:00
Michael du Breuil 350fe3ed8d wscript: Add configure option for SFML joystick 2020-11-13 15:38:22 +11:00
Michael du Breuil 58ee8f62e2 AP_HAL_SITL: Support SFML joystick input 2020-11-13 15:38:22 +11:00
Michael du Breuil 892fb74c96 SITL: Add parameters for SFML_Joystick 2020-11-13 15:38:22 +11:00
Michael du Breuil b30c55b3f3 AP_GPS: Support yaw from moving base station on SBF drivers 2020-11-03 11:12:20 +11:00
Michael du Breuil 4161e2eb28 AP_GPS: Factor out moving base offset helper 2020-11-03 11:12:20 +11:00
Michael du Breuil 0f5179d204 AP_Scheduler: Emit last internal error line 2020-11-03 11:04:13 +11:00
Michael du Breuil 25ca2a0828 AP_Logger: Reserve space in PM for last internal error line 2020-11-03 11:04:13 +11:00
Michael du Breuil 051640e2b2 AP_Math: Log line numbers on constrain_nan's for constrain float 2020-11-03 11:04:13 +11:00
Michael du Breuil 1a1a5e69dd AP_Scripting: Add setmetatable back to the lua sandbox 2020-10-27 10:25:56 +11:00
Michael du Breuil a61444cec0 AP_GPS: Don't reset the entire buffer when handling RTCM data
This is a micro optimization intended to just make handling GPS
corrections a bit faster.
2020-10-25 14:21:39 +11:00
Michael du Breuil c86dcf91d6 AP_InertialSensor: Run vibration monitoring on all instances 2020-10-24 09:54:04 +11:00
Michael du Breuil b04844ca13 AP_Logger: Log all vibration instances 2020-10-06 14:20:49 +11:00
Michael du Breuil 50dfe3f197 Copter: Add AUTO_OPTIONS and support arming and throttle bypass
This allows you to arm the copter without any extra GCS commands while
in auto, and can be done from both the GCS, or the RC Tx. This is useful
for creating a simpler workflow.

This also allows you to set the auto_armed flag internally, which
bypasses the need to raise the throttle stick for the copter to start a
takeoff.

This exposed a problem where we would start running the controllers
before the EKF was at all initialized, if you switched into auto to
early. This now has a check that prevents us from running the mission
state machine until after the origin has been set. This was a suggestion
from @rmackay9.

When combined these options allow you to have the vehicle on the ground,
disarmed in auto with a takeoff waypoint loaded, then just arm the
aircraft and watch it takeoff. This is a feature we've had on quadplanes
for quite awhile now, and it has proven to be very nice for operators.
2020-10-01 08:46:29 +09:00
Michael du Breuil d905282c1e AP_HAL: Don't redefine allowing double math in SITL/Linux if already defined 2020-09-03 09:56:29 +10:00
Michael du Breuil 6a8680d31d AP_GPS: Send RTK baseline data from SBF 2020-09-03 09:56:29 +10:00
Michael du Breuil 6027553b85 AP_SerialManager: Add missing baud rate documentation 2020-09-01 10:42:30 +10:00
Michael du Breuil 08d4e1c062 AP_GPS: Support configuring the SBF com port 2020-08-13 15:04:38 +10:00
Michael du Breuil 6dc77c97ce GCS_MAVLink: Remove redundant check for private channels
We can't learn the route for sending to a private channel, so we
shouldn't need to actually check it when iterating the routes.
2020-08-11 09:49:42 +10:00
Michael du Breuil 99ad126986 Plane: Fix redundant call to SpdHgt_Controller->get_land_airspeed() 2020-08-11 09:47:24 +10:00
Michael du Breuil 376494027b Copter: Support higher resolution percent based motor tests 2020-08-09 13:47:48 +10:00
Michael du Breuil 1c789c66c3 AP_Scripting: Fix generator for nullable types with multiple return values 2020-07-28 16:22:17 -07:00
Michael du Breuil 6773821b3b GCS_MAVLink: Don't forward MAVLink data on channels marked private, make private channels more private 2020-07-22 07:17:49 +10:00
Michael du Breuil 2cdaf421d8 AP_SerialManager: Add a helper to report if a serial link should have it's MAVLink data forwarded 2020-07-22 07:17:49 +10:00
Michael du Breuil 1fef30eef1 AP_HAL: Extend UART options to include forwarding MAVLink telemetry 2020-07-22 07:17:49 +10:00
Michael du Breuil 08f8a41ecb Copter: Support DO_LAND_START as an adhoc MAVLink command 2020-07-17 09:15:05 +09:00
Michael du Breuil 6c6e4eff67 Plane: adhoc MAVLink DO_LAND_START changing mode to auto is known to be a GCS reason 2020-07-17 09:15:05 +09:00
Michael du Breuil 955a05c4d5 Plane: Refactor mav_cmd_do_reposition to be consistent with copter 2020-07-07 10:34:19 +10:00
Michael du Breuil c971fe0ca4 Copter: Support MAV_CMD_DO_REPOSITION on COMMAND_INT 2020-07-07 10:34:19 +10:00
Michael du Breuil ff007dd017 AP_Scripting: Allow generator to cope with windows line endings
Also fixes allowing an extra new line on the depends entries to be
emitted, as well as a possible stack overflow in the generator if
you inserted a malicious comment.
2020-06-24 09:37:36 -07:00
Michael du Breuil e4d0484b75 RC_Channel: Cope with selective overrides and no RC reciever in a healthier way 2020-06-23 09:33:30 +10:00
Michael du Breuil e02145efa0 AP_Arming: Use control_in rather then in_trim_dz() to cope with override only vehicles 2020-06-23 09:33:30 +10:00