Commit Graph

18022 Commits

Author SHA1 Message Date
Siddharth Purohit e824a9c360 HAL_ChibiOS: add hwdef files to support IOMCU 2018-09-19 12:14:15 +10:00
Andrew Tridgell f0b27c9b92 AP_IOMCU: support brushed output 2018-09-19 12:14:15 +10:00
Andrew Tridgell cfb10fbb2f AP_IOMCU: fixed oneshot support in IO firmware 2018-09-19 12:14:15 +10:00
Andrew Tridgell 2c7e27374f AP_IOMCU: use ioevents for oneshot in iofirmware 2018-09-19 12:14:15 +10:00
Andrew Tridgell ecfe06b9e4 AP_IOMCU: implement safety LED and switch in iofirmware 2018-09-19 12:14:15 +10:00
Andrew Tridgell 037a455784 AP_IOMCU: moved protocol structures to a common header 2018-09-19 12:14:15 +10:00
Andrew Tridgell 89bfd7e850 AP_IOMCU: added blue LED support on PH1 2018-09-19 12:14:15 +10:00
Siddharth Purohit 19c002baaf AP_IOMCU: add support for iofirmware update 2018-09-19 12:14:15 +10:00
Siddharth Purohit fe3dda74bd AP_IOMCU: remove optimize override from iofirmware 2018-09-19 12:14:15 +10:00
Siddharth Purohit 78ce5a3f70 HAL_Empty: fix ambiguity of UARTDriver with the one defined in ChibiOS 2018-09-19 12:14:15 +10:00
Siddharth Purohit 2341719929 AP_HAL_Empty: do not use ch as its used by ChibiOS globally 2018-09-19 12:14:15 +10:00
Siddharth Purohit 9a2eea9769 AP_HAL: disable float print methods for non FPU controllers 2018-09-19 12:14:15 +10:00
Siddharth Purohit 5e4f76886a AP_HAL: add chibios hal header to use uC specific defines 2018-09-19 12:14:15 +10:00
Siddharth Purohit c546bec999 AP_HAL: do not use ch for channel, its used as a global var under ChibiOS 2018-09-19 12:14:15 +10:00
Siddharth Purohit 4608e90913 IOMCU: add application for ioboard firmware 2018-09-19 12:14:15 +10:00
Andrew Tridgell 340f1b43e6 HAL_ChibiOS: fixed RSSI voltage from IOMCU 2018-09-15 16:08:32 +10:00
Leonard Hall 34c0656675 AC_AttitudeControl: Add missing variable initalisations 2018-09-15 11:00:29 +10:00
Leonard Hall 8c6a24450a AC_PID: Fix D term initialisation 2018-09-15 11:00:29 +10:00
Andrew Tridgell de02cb9c8b AP_AHRS: fixed synthetic airspeed to be along +ve X axis
this prevents us from thinking we have +ve airspeed when flying
backwards with no pitot tube
2018-09-14 19:28:29 +10:00
Michael du Breuil eb1f3b205f AC_AttitudeControl: Use reset_rate_controller_I_terms() helper 2018-09-14 12:16:58 +09:00
Andrew Tridgell 3ab7fe348a APM_Control: halve the default pitch D term for planes
this is based on feedback from the 3.9.1 release
2018-09-14 07:32:13 +10:00
Andrew Tridgell 8c33b4b97d HAL_ChibiOS: implement set_failsafe_pwm() 2018-09-13 08:15:02 +10:00
Andrew Tridgell 4314d0ea12 SRV_Channel: handle reversed channels in limit PWMs 2018-09-13 08:15:02 +10:00
Andrew Tridgell f22d5f0d40 AP_IOMCU: implement failsafe PWM 2018-09-13 08:15:02 +10:00
Leonard Hall b15b5516cb AC_PosControl: Fix divide by zero check in limit_vector_length 2018-09-12 15:51:30 +09:00
Leonard Hall 706ff85be7 AC_AttitudeControl: Add minimum angle limit for get_althold_lean_angle_max 2018-09-12 15:51:30 +09:00
Andrew Tridgell 490d6eea20 HAL_ChibiOS: fixed ADC bug
this caused bad analog readings when the number of channels being read
was more than the number of hw channels

thanks to @vierfuffzig for reporting!
2018-09-12 07:10:04 +10:00
Andrew Tridgell 1e0ca409d1 AP_OSD: check we have an airspeed object 2018-09-11 22:23:53 +10:00
vierfuffzig 2936f24814 AP_OSD: battery support improvements
adds airpseed temperatur item
adds secondary batt instance items
switches used capacities to Ah above 9999 mAh
volt / amp / distance symbols reworked and realigned to specific font styles
2018-09-11 22:23:53 +10:00
Andrew Tridgell d98110084d AP_OSD: updated fonts for new OSD items 2018-09-11 22:23:53 +10:00
Randy Mackay 7a7533724a AP_Arming: rename rudder_arming to get_rudder_arming_type 2018-09-11 19:34:39 +10:00
Randy Mackay f039c6d5f4 AP_Arming: minor format fix 2018-09-11 19:34:39 +10:00
Randy Mackay ba2b9f3d47 AP_Arming: add RUDDER parameter 2018-09-11 19:34:39 +10:00
Ammarf 2beb3a278a RC_Channel: add simple mode to aux functions 2018-09-11 16:43:17 +09:00
vierfuffzig 395820096a AP_OSD add external baro temperature item 2018-09-11 17:17:59 +10:00
Randy Mackay d7d6c6ab04 AR_AttitudeControl: clarify units of get_steering_out_heading argument
also update comments
2018-09-11 14:39:50 +09:00
Michael du Breuil 20c56f3e06 RC_Channel: Add an accessor for a channels range and type 2018-09-11 09:07:00 +10:00
Peter Barker be9235a581 AP_NavEKF3: fix writeOptFlowMeas signature
const some of the vectors, stop taking references to scalars that aren't
being changed
2018-09-11 09:03:22 +10:00
Peter Barker d8aa8d2b71 AP_NavEKF2: fix writeOptFlowMeas signature
const some of the vectors, stop taking references to scalars that aren't
being changed
2018-09-11 09:03:22 +10:00
Peter Barker 306a40bb77 AP_AHRS: fix writeOptFlowMeas signature
const some of the vectors, stop taking references to scalars that aren't
being changed
2018-09-11 09:03:22 +10:00
Michael du Breuil 7db5daadad AP_Mission: If a command fails to start immediately cycle to the next 2018-09-11 06:42:00 +10:00
Lucas De Marchi ad8ab97725 AP_HAL_Linux: SPIDevice: compile out debug stuff
This should at most be behind a flag. If the device is being used by
other process/drivers, it's a problem with that specific user/distro:
don't penalize everybody else. Besides, changing the mode is not atomic
and nothing guarantees the other side doesn't get scheduled and change
it back before we get to run.
2018-09-08 09:47:33 -07:00
Lucas De Marchi 2c6dd64c67 AP_HAL_Linux: create one thread per spi bus rather than device
Do not create one thread per chardev (i.e. bus + kernel's chip select).
Since the shared resources are actually the bus controller and the bus
lines, it makes sense to have 1 thread per bus, otherwise it will just
get locked again on the mutex in the kernel side.
2018-09-08 09:47:33 -07:00
Lucas De Marchi cf4fb09881 AP_HAL_Linux: Remove hole from SPIBus
Also handle a few coding style bikesheds.
2018-09-08 09:47:33 -07:00
Lucas De Marchi 4152b555fd AP_HAL_Linux: replace kernel_cs with subdev
They are the same thing. Using both names however is confusing.
2018-09-08 09:47:33 -07:00
cclauss 7291aa0d00 AP_OSD: Simplify with the code enumerate()
* Avoid hardcoding the path to the python executable on the shebang line
* Using __with open() as__ automates file close().
2018-09-08 20:24:42 +10:00
Pierre Kancir 5b0ae42725 SITL: limit on_ground() check to militer accuracy to prevent bouncing 2018-09-07 10:22:34 +10:00
Peter Barker 0cf12ad47e RC_Channel: add aux option to fly inverted for Plane 2018-09-07 09:07:40 +10:00
Andrew Tridgell d79386d574 AP_Baro: use GND_EXT_BUS to allow a specific bus to be probed 2018-09-07 08:36:02 +10:00
Andrew Tridgell dda8e7c35a AP_Baro: probe both i2c buses on CubeBlack for barometers 2018-09-07 08:36:02 +10:00
Andrew Tridgell eec3a2ab31 AP_HAL: added FOREACH_I2C_MASK() macro 2018-09-07 08:36:02 +10:00
Randy Mackay af6e2d2c8c AP_Baro: add PROBE_EXT param values
this makes it easier for users to select the external baro they want to use on GCSs that do not display the bitmasks
2018-09-07 08:36:02 +10:00
Randy Mackay 758331612f AP_Baro: probe for MS5611 on I2C addr 0x76 2018-09-07 08:36:02 +10:00
s0up 066cf90111 HAL_ChibiOS: Add speedybee hardware definition 2018-09-07 08:33:35 +10:00
Francisco Ferreira 5b383bae16
AP_HAL_Linux: force Thread stack to have minimum size
Check that Thread stack size is the minimum allowed

Also add 256k to HAL-independent request stack size
2018-09-06 19:07:13 +01:00
Paul Atkin bb99165221 HAL_ChibiOS: updates for KakuteF7
fixed PWM and added full tonealarm support
2018-09-06 10:11:34 +10:00
Peter Barker bd5cdf9e64 RC_Channel: update aux options for planes to include arm/disarm 2018-09-06 08:26:50 +10:00
Lucas De Marchi 93d99dacd1 AP_Compass: UAVCAN: remove additional semaphore
We already inherit from AP_Compass_Backend, so use the semaphore from
there to synchronize with the main thread, like the other backends.
2018-09-06 08:23:02 +10:00
Lucas De Marchi cb10d1d27b AP_Common: allow more than one WITH_SEMAPHORE per context
Let the variable have a random name since we are not going to reference
it. This allows more than one WITH_SEMAPHORE() per context and also to
avoid shadowing if we open inner contexts.
2018-09-06 08:23:02 +10:00
Lucas De Marchi 1715714488 AP_Common: make WithSemaphore use an AP_HAL::Semaphore reference
We don't need the specialized one inside WithSemaphore, so use the
abstract one which allows us to more easily convert between current API
and the HAL_Semaphore one.

While at it also remove additional pragma and allow constructor to
receive a pointer for convenience (we will just dereference it).
2018-09-06 08:23:02 +10:00
Lucas De Marchi cd9b08dbae AP_Compass: rename variable for more buses
"all_external" reflects better the fact that we can have more than 2
buses (and now we are using the foreach macro).
2018-09-06 08:23:02 +10:00
Lucas De Marchi de535dc573 AP_Compass: remove unused external and name arguments
Aka "fix copy and pasta".
2018-09-06 08:23:02 +10:00
Lucas De Marchi 4039b51810 AP_Compass: stop passing frontend pointer
Let AP_Compass_Backend call AP::compass() *once* instead of passing
the frontend pointer over and over.
2018-09-06 08:23:02 +10:00
Lucas De Marchi 585b6dce0d AP_Compass: support more external compasses on aerofc
Let it probe on external bus. Aerofc has an HMC5883 on internal bus, but
we don't want it enabled as it interferes with the internal baro. Also
the rotation for the compass that comes with Aero RTF is different from
the other that got added later. That means people would need to orient a
third party IST8310-based compass differently on Aero RTF than on other
boards... that's a problem of having orientation based on the chip that
can't be solved on this commit.
2018-09-06 08:23:02 +10:00
Andrew Tridgell 5de199bc01 AP_Baro: allow for external i2c baro on most boards
only disable on those with HAL_MINIMIZE_FEATURES enabled
2018-09-06 07:21:30 +10:00
Andrew Tridgell a9e29f7556 HAL_ChibiOS: added pullup/pulldown support on GPIO
using the convention of write() on an input pin to set pullup/pulldown
2018-09-06 07:20:46 +10:00
liang.tang 7885b267f0 AP_GPS: fix UAVCAN gps message handlers 2018-09-05 17:23:14 +10:00
liang.tang 2c0b9a16a5 AP_Compass: fix UAVCAN mag message handlers 2018-09-05 17:22:34 +10:00
liang.tang bcaa4901ed AP_UAVCAN: subscribe airspeed message 2018-09-05 17:22:08 +10:00
liang.tang 653766c4cc AP_Airspeed: uavcan airspeed supported 2018-09-05 17:22:08 +10:00
Peter Barker 10d7cc6bf4 RC_Channel: add Plane support for channel options 2018-09-05 13:47:19 +10:00
Peter Barker 9650846497 RC_Channel: treat UINT16_MAX as a value of 0 in set_override
This shouldn't really in in RC_Channels - when we move the mavlink
packet handling up to the GCS_MAVLink base class we should move this
into there.
2018-09-05 11:54:32 +10:00
Peter Barker 1c527df084 RC_Channel: note that Rover now has disable-gcs-overrides channel option 2018-09-05 11:54:32 +10:00
Peter Barker 047689981b RC_Channel: honour gcs_overrides_enabled as part of set_override
This will stop situations like we currently have where the
MANUAL_CONTROL GCS mavlink packets can still affect the vehicle

Also resolves an issue where has_new_overrides may not be set
appropriately
2018-09-05 11:54:32 +10:00
Peter Barker 7bdd9b1aea RC_Channel: move handling of disable-gcs-rc-overrides-channel-option 2018-09-05 11:54:32 +10:00
Andrew Tridgell b4ecc347d7 AP_HAL: always define HAL_WITH_UAVCAN on px4 2018-09-05 08:52:47 +10:00
Randy Mackay 96097586c3 AR_AttitudeControl: reset I if speed controller not called recently 2018-09-04 15:00:41 +09:00
Andrew Tridgell 135e37e1f4 AP_IOMCU: cope with IOMCU reset in flight
this copes with IOMCU reset when we have safety forced off
2018-09-04 15:24:12 +10:00
Leonard Hall 31d93f5914 AC_Loiter: reduce twitch on init 2018-09-04 13:37:28 +09:00
Leonard Hall 5863b84c35 AC_PosControl: reduce glitch on init 2018-09-04 13:37:28 +09:00
Leonard Hall 4ceabe4838 AC_PID_2D: add reset for filter and D term 2018-09-04 13:37:28 +09:00
Peter Barker 71bff63bff AP_Mission: remove erroneous comment about clear() 2018-09-04 10:32:26 +10:00
Peter Barker 3c8738b4d8 RC_Channel: add clear-waypoints option 2018-09-04 10:32:26 +10:00
Peter Barker 16b49399db AP_Mission: add singleton 2018-09-04 10:32:26 +10:00
Michael du Breuil f6cb196d53 AP_HAL_ChibiOS: Remove unimplemented force_safety_no_wait()
ChibiOS doesn't implement the method, so there is nothing to be gained
by calling the function.
2018-09-04 10:23:18 +10:00
Peter Barker d6fe9d47e0 AP_HAL_SITL: check return value from posix_memalign
Avoids return-value-must-be-checked compiler warning
2018-09-04 09:22:18 +10:00
Michael du Breuil f06b27e4a3 AP_Declination: Fixes ups for pyigrf 2018-09-04 09:02:25 +10:00
scivision 67a503d5d8 AP_Declination: 2to3, IGRF API update
use built-in IGRF total, incl, decl computations
2018-09-04 09:02:25 +10:00
Andrew Tridgell ebcdf4c9c6 AP_Notify: fixed oled probe on first bus
Thanks to Erwin Quilloy for helping to track this down
2018-09-03 18:15:05 +01:00
Peter Barker a7acc92663 RC_Channel: move rc-channel option for lost-vehicle sound up to base class 2018-09-03 16:57:25 +09:00
liang.tang f4a8006333 AP_Airspeed: fix spd3x correct pressure issue 2018-09-02 16:38:51 -07:00
Peter Barker 774b091611 AC_PID: get example working again 2018-08-31 21:08:11 +09:00
Peter Barker c54c2a2930 RC_Channel: fix and tidy example 2018-08-31 21:08:11 +09:00
Peter Barker 15ae453205 AP_HAL: fix RCInput example 2018-08-31 21:08:11 +09:00
Peter Barker 26e7abe6c4 GCS_MAVLink: use camera singleton to get camera rather than callback 2018-08-31 15:48:56 +10:00
Peter Barker d5f6911db7 GCS_MAVLink: use compass singleton instead of subclass callback 2018-08-31 15:48:56 +10:00
Michael du Breuil 70e587b572 AP_GPS: Fix accidental quantization to float on SBF logging 2018-08-31 01:16:31 +01:00
Hannes Verschore fefde53d58 AP_HAL_ChibiOS: Fix comment in Device.cpp
This was decreased to 100 in b07c599bf2 . I assume it would be best to also update the comment.
2018-08-31 08:36:47 +09:00
Peter Barker 822fab0f5a AP_RSSI: let HAL's attach_interrupt implementation handle board stuff 2018-08-31 08:32:08 +10:00
Peter Barker 9569abe57a AP_HAL_VRBRAIN: remove pointless attach_interrupt override 2018-08-31 08:32:08 +10:00
Peter Barker e7e2a78d35 AP_HAL_SITL: remove pointless attach_interrupt override 2018-08-31 08:32:08 +10:00
Peter Barker 42c711a5b2 AP_HAL_Linux: remove pointless attach_interrupt override 2018-08-31 08:32:08 +10:00
Peter Barker d868aab26a AP_HAL_Empty: remove pointless attach_interrupt override 2018-08-31 08:32:08 +10:00
Peter Barker fcacdb42bb AP_HAL: define base-class attach_interrupt to return false 2018-08-31 08:32:08 +10:00
Randy Mackay 305d927dd8 AP_OSD: resolve compiler warnings 2018-08-30 20:23:00 +09:00
Raouf 90a27520e9 AP_Rally: rover includes home by default 2018-08-30 09:55:06 +09:00
Siddharth Purohit ca54123b7d AP_GPS: move UAVCAN GPS related code to AP_GPS_UAVCAN backend 2018-08-29 22:54:59 +01:00
Siddharth Purohit 6e85003b56 AP_BattMonitor: move BattInfo message subscription and handling to AP_BattMonitor 2018-08-29 22:54:59 +01:00
Siddharth Purohit 14b701cff8 AP_Compass: move UAVCAN mag subscribers and handlers to Compass Backend 2018-08-29 22:54:59 +01:00
Siddharth Purohit 5ef5537371 AP_Baro: move Baro UAVCAN subscribers and handlers to AP_Baro_UAVCAN 2018-08-29 22:54:59 +01:00
Andrew Tridgell 62fbe13690 AP_UAVCAN: send ESCs when disarmed
we should only be checking the safety state
2018-08-29 22:54:59 +01:00
Siddharth Purohit 0125b2cdd2 AP_UAVCAN: remove UAVCAN sensors related code 2018-08-29 22:54:59 +01:00
Siddharth Purohit f01cc254d3 AP_UAVCAN: add Callback API to link UAVCAN backend callbacks 2018-08-29 22:54:59 +01:00
Andrew Tridgell c79650a8d8 AP_Notify: fixed remote play tune 2018-08-29 13:47:20 +10:00
Michael du Breuil 80597d5cba RC_Channel: Fix accidental quantization of override_timeout to 1 second 2018-08-28 14:18:54 +10:00
Randy Mackay 3e8d9f4131 RangeFinder: shorten comment 2018-08-28 09:23:38 +09:00
Randy Mackay 1b0f0a7559 AP_RangeFinder: support last_reading_ms
Benewake, LeddarOne, LightWareSerial, MAVLink, MaxsonarI2CXL, MaxsonarSerialLV, NMEA, PX4_PWM, uLanding and Wasp already stored the last read time so for these drivers, this change just moves that storage to the state structure
analog, BBB_PRU, Bebop, LightWareI2C, PulsedLightLRF, TeraRangerI2C, VL53L0X did not store the last read time so this was added
2018-08-28 09:23:38 +09:00
Randy Mackay 9e27b93538 AP_RangeFinder: move some backend implementations to cpp file 2018-08-28 09:23:38 +09:00
Randy Mackay 9a7b378ddd AP_RangeFinder: minor format change
lines up with parameter variables below
2018-08-28 09:23:38 +09:00
Michael du Breuil e878558d41 AP_Mission: Reduce the number of places _set_cmd is called from 2018-08-28 10:01:36 +10:00
Peter Barker 43f3d611b2 AP_Math: pragma away the float-equal test for the maths tests
There are legitimate reasons for doing direct equivalence in these files
2018-08-28 09:54:47 +10:00
Peter Barker 3e9294a2ae SITL: eliminate float-equals issues 2018-08-28 09:54:47 +10:00
Peter Barker 8fee27937a AP_Math: eliminate SITL float-equals issues 2018-08-28 09:54:47 +10:00
Peter Barker 04c36efdbf AP_InertialSensor: eliminate SITL float-equals issues 2018-08-28 09:54:47 +10:00
Peter Barker d968e27b45 AP_HAL_SITL: eliminate float-equals issues 2018-08-28 09:54:47 +10:00
Andrew Tridgell 8c962e6f0f HAL_ChibiOS: use a larger TX buffer on USB
this is needed for fast log download on vehicles with 50Hz main loop
2018-08-28 08:50:50 +10:00
Patrick José Pereira 0f42702910 AP_Mount: Remove unused check
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-08-27 23:35:34 +01:00
Patrick José Pereira fb7c46bda0 AP_HAL_SITL: Remove unused check
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-08-27 23:35:34 +01:00
Patrick José Pereira 10ffd89a0c AP_GPS: Remove unused operation
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-08-27 23:35:34 +01:00
Pierre Kancir 7d9c947b9b AP_HAL_SITL: update parameter with using command line speedup option 2018-08-28 07:26:26 +10:00
Randy Mackay 106b8abab7 AR_AttitudeControl: get_throttle_out_from_pitch accepts vehicle speed 2018-08-27 16:44:33 +09:00
Randy Mackay 785da8add9 AP_WheelRateControl: lib to control wheel rate with encoders 2018-08-27 16:44:33 +09:00
Randy Mackay 912dd0c4cc AP_WheelEncoder: update parameter descriptions 2018-08-27 16:44:33 +09:00
Randy Mackay 6b89c24cc6 AP_WheelEncoder: calculate rate from last iteration 2018-08-27 16:44:33 +09:00
Randy Mackay b381ae7bf3 AC_PID: support storing actual 2018-08-27 16:44:33 +09:00
Randy Mackay 397e035cf7 DataFlash: replace unused AFF with actual in PID_Info 2018-08-27 16:44:33 +09:00
Randy Mackay d5ef3c2e0f AR_AttitudeControl: get_throttle_out_from_pitch uses motor limits
This allows removing I-term build up from throttle hitting 100%
2018-08-27 16:44:33 +09:00
Randy Mackay 65b020eac3 AR_AttitudeControl: re-order pitch control to match other similar methods 2018-08-27 16:44:33 +09:00
Pierre Kancir 2661ad2ed3 GCS_Common: remove status text for gripper 2018-08-27 14:39:49 +10:00
Pierre Kancir 3ab635f100 AP_Gripper: use gripper_sim feedback 2018-08-27 14:39:49 +10:00
Pierre Kancir a5e2f96a59 SITL: Better gripper sim options 2018-08-27 14:39:49 +10:00
Peter Barker f258a25138 AP_Arming: remove double PreArm: in battery prearm report
Also use check_failed throughout
2018-08-27 11:12:52 +09:00
Randy Mackay a5c59ce36e AP_Motors: include boost_throttle in get_motor_mask 2018-08-27 10:35:02 +09:00
Randy Mackay f85e84cc89 AP_Motors: add override keyword to get_motor_mask 2018-08-27 10:35:02 +09:00
pierre-louis.k e62ed19759 AP_RangeFinder: Remove range enforcement on out of range 2018-08-27 10:25:51 +09:00
pierre-louis.k 5577b8b33c AP_RangeFinder: Rework function structure in TeraRanger driver 2018-08-27 10:25:49 +09:00
pierre-louis.k b6f1647c31 AP_RangeFinder: Rename function in TeraRanger driver 2018-08-27 10:25:47 +09:00
pierre-louis.k 1b990c116d AP_RangeFinder: Give back semaphore on whoami error 2018-08-27 10:25:45 +09:00
pierre-louis.k 4d45b68fa3 AP_RangeFinder: Clean TeraRanger driver 2018-08-27 10:25:43 +09:00
pierre-louis.k d162afb790 AP_RangeFinder: Add error codes rejection for TeraRanger sensors 2018-08-27 10:25:41 +09:00
Dr.-Ing. Amilcar do Carmo Lucas c9bbc2773d AP_ADSB: Add valid parameter range to squawk codes 2018-08-26 09:13:10 -07:00
Andrew Tridgell 33076be585 HAL_ChibiOS: fixed handling of 16 bit timers
when we have a 16 bit timer then systime_t is 16 bit, and we need to
handle wrap of get_systime_us32()
2018-08-26 18:34:26 +10:00
Dr.-Ing. Amilcar do Carmo Lucas b9df513705 GCS_MAVLink: remove redundant ret = true statements (NFC) 2018-08-26 18:21:45 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 9c97f35b19 AP_GPS: Use GPS_AUTO_SWITCH parameter to choose exacly which GPS to use 2018-08-26 01:05:09 -07:00
Andrew Tridgell 1762a2708c AP_Notify: removed unused hal variable 2018-08-26 07:57:05 +10:00
Andrew Tridgell 0289ad03df AP_Mission: added semaphore for thread access 2018-08-25 15:44:36 +10:00
Andrew Tridgell 935c9167ab AP_Avoidance: added semaphore 2018-08-25 15:44:36 +10:00
Andrew Tridgell 9897bf6127 AP_AHRS: support locked access to AHRS data 2018-08-25 15:44:36 +10:00
Andrew Tridgell 0aeceb22d9 AP_Common: added #pragma once to Semaphores.h 2018-08-25 15:44:36 +10:00
Andrew Tridgell dc20e2baed HAL_ChibiOS: support recursive semaphores 2018-08-25 15:44:36 +10:00
Andrew Tridgell edeab9d152 HAL_SITL: support HAL_Semaphore_Recursive 2018-08-25 15:44:36 +10:00
Andrew Tridgell 1397c85f8e HAL_PX4: added Semaphore_Recursive 2018-08-25 15:44:36 +10:00
Andrew Tridgell b347027e13 HAL_Linux: added Semaphore_Recursive 2018-08-25 15:44:36 +10:00
Andrew Tridgell 55dfefb2d6 AP_HAL: added HAL_Semaphore_Recursive 2018-08-25 15:44:36 +10:00
Patrick José Pereira ab31fcb8f4 AP_HAL_SITL: Makes scheduler compile under Mac OS
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-08-25 11:25:17 +10:00
pierre-louis.k bf274cd9db AP_Proximity: Change min and max range to support both 60m and 600Hz 2018-08-25 10:22:11 +09:00
Mateusz Sadowski 08332102fe AP_Proximity: Fix sensor order on TeraRanger Tower Evo 2018-08-25 10:22:11 +09:00
Mateusz Sadowski 4b8b8347f2 AP_Proximity: Correctly handle TeraRanger Tower Evo initialization 2018-08-25 10:22:11 +09:00
Mateusz Sadowski f1b550647d AP_Proximity: Change TeraRanger Tower Evo sequence mode to Tower 2018-08-25 10:22:11 +09:00
Mateusz Sadowski 2ca567f409 AP_Proximity: Add support for TeraRanger Tower Evo 2018-08-25 10:22:11 +09:00
Andrew Tridgell db9a8f16ed HAL_ChibiOS: enable terrain on Pixracer, minpx-v2 and mini-pix 2018-08-24 19:43:27 +10:00
Andrew Tridgell 3fd25ad548 AP_Baro: added HAL_BARO_ALLOW_INIT_NO_BARO 2018-08-23 13:29:59 +10:00
Andrew Tridgell 5526dac4fc HAL_ChibiOS: probe all i2c baros for revo-mini
this ensures we build this functionality in CI
2018-08-23 13:29:59 +10:00
Andrew Tridgell 1439b1a730 AP_Baro: added option to probe any i2c baro using GND_PROBE_EXT
This adds a hwdef.dat define HAL_PROBE_EXTERNAL_I2C_BAROS. When set,
we get a new parameter GND_PROBE_EXT that is a bitmask of i2c
barometers to look for.

This allows boards that have no builtin baro to work without
rebuilding
2018-08-23 13:29:59 +10:00
Andrew Tridgell f937589810 AP_Baro: fixed BMP085 probe 2018-08-23 13:29:59 +10:00
Michael du Breuil 8850e4b9a1 SRV_Channel: Remove the trim_all interface, constrain failsafes to non motor outputs 2018-08-23 13:19:08 +10:00
Andrew Tridgell 912e4f16ec AP_Common: added #pragma once 2018-08-23 08:21:48 +10:00
Andrew Tridgell b2cc992e0c AP_Baro: convert to use WITH_SEMAPHORE() 2018-08-23 08:21:48 +10:00
Peter Barker 3251e43f03 AP_Radio: adjust for namespacing of interrupt names 2018-08-21 20:34:01 +09:00
Peter Barker d9f393f42e AP_RSSI: convert to HAL attach_interrupt
AP_RSSI: add error reporting for attaching of interrupts

AP_RSSI: use detach_interrupt method
2018-08-21 20:34:01 +09:00
Peter Barker f2b8c9e501 RC_Channel: improve debug when failing to initialise RC channel 2018-08-21 20:34:01 +09:00
Peter Barker 2209e4a697 AP_HAL_ChibiOS: new HAL functor-based methods
AP_HAL_ChibiOS: adjust for irq-type enumeration change

AP_HAL_ChibiOS: implement attach-AP_HAL::Proc to interrupt interface
2018-08-21 20:34:01 +09:00
Peter Barker d366842d15 AP_WheelEncoder: move to using HAL's attach_interrupt methods
AP_WheelEncoder: add error reporting for attaching of interrupts

AP_WheelEncoder: use detach_interrupt method

AP_WheelEncoder: correct initialisation of wheelencoder instances

AP_WheelEncoder: make update_phase_and_error_count non-static

AP_WheelEncoder: use (uint8_t)-1 in place of 255
2018-08-21 20:34:01 +09:00
Peter Barker 20027bad17 AP_RPM: attach_interrupt now takes a functor
AP_RPM: move PX4 IRQ handling into AP_HAL_PX4

AP_RPM: correct RPM sensor initialisation

The initialisation code used the type from the wrong configuration
parameters (if the first rpm sensor wasn't configured then the sensing
for the second sensor would use the type from the first).

The packing of drivers[...] was done in a non-sparse manner - i.e. if a
sensor wasn't detected then it would not take up space in the array.
The PX4 PWM backend relies on the instance number (offset in the drivers
array) corresponding to the parameters, so making this sparse is
required.

The main detection block fills in drivers based on the number of
instances detected so far, but the nullptr check checks based on the
number of detected backends.  If the second instance wasn't configured we
wouldn't attempt to configure a third.

AP_RPM: add error reporting for attaching of interrupts

AP_RPM: use detach_interrupt method

AP_RPM: use (uint8_t)-1 in place of 255
2018-08-21 20:34:01 +09:00
Peter Barker 9b9ec4db40 AP_HAL_Empty: attach_interrupt now takes a functor
AP_HAL_Empty: add type-safety for interrupt types
2018-08-21 20:34:01 +09:00
Peter Barker 5180e025bb AP_HAL_SITL: attach_interrupt now takes a functor
AP_HAL_SITL: add type-safety for interrupt types
2018-08-21 20:34:01 +09:00
Peter Barker a7b79f7693 AP_HAL_VRBrain: attach_interrupt now takes a functor
AP_HAL_VRBRAIN: add type-safety for interrupt types
2018-08-21 20:34:01 +09:00
Peter Barker 8d5a9ead48 AP_HAL_Linux: attach_interrupt now takes a functor
AP_HAL_Linux: add type-safety for interrupt types
2018-08-21 20:34:01 +09:00
Peter Barker 4767666a2d AP_HAL_PX4: implement attach_interrupt 2018-08-21 20:34:01 +09:00
Peter Barker 74263f8412 AP_HAL: add attach_interrupt that takes a functor, not a AP_HAL::Proc
AP_HAL: add type-safety for interrupt types

AP_HAL: remove interrupt-low and interrupt-high, and interrupt-none

It is possible that the radio needs very tight timings - do not force
the use of the functor interface

AP_HAL: add detach_interrupt method
2018-08-21 20:34:01 +09:00
Peter Barker c846a13d12 AP_HAL: functor: add != override 2018-08-21 20:34:01 +09:00
Peter Barker a09154c45b AP_WheelEncoder: correct check for wheelencoder-max-instances 2018-08-21 20:34:01 +09:00
Peter Barker 21201b8816 AP_WheelEncoder: do not permit copies 2018-08-21 20:34:01 +09:00
Peter Barker 45ac3e6bb2 AP_BoardConfig: correct grammar in @DisplayName 2018-08-21 20:34:01 +09:00
Randy Mackay f536c53fa6 AP_MotorsMatrix: minor format fix 2018-08-21 13:34:07 +09:00
Michael du Breuil 588d1898cd AP_ServoRelayEvents: More robust check if a channel is available 2018-08-20 21:31:06 -07:00
Peter Barker df836ec70c AP_Notify: tidy and remove code duplications
Saves 60 bytes, too
2018-08-21 10:59:33 +10:00
Peter Barker 6daa241235 DataFlash: add sanity check for WritePrioritisedBlock size 2018-08-21 10:57:43 +10:00
Peter Barker 32bc1860de AP_Mission: starts_with_takeoff_cmd skips past mav_cmd_nav_delay 2018-08-20 14:15:40 +09:00
Peter Barker 9af11d79d1 AP_Mission: remove pointless else clauses 2018-08-20 14:15:40 +09:00
Andrew Tridgell 83f293305f AP_OSD: raise thread stack size to 1024
based on testing in SITL
2018-08-20 13:49:14 +10:00
Andrew Tridgell 836176297d HAL_SITL: added stack checking to SITL 2018-08-20 13:49:14 +10:00
Peter Barker 0a7399ae7d AC_PrecLand: use AHRS singleton, remove pointless initialisations 2018-08-17 21:14:57 +09:00
Peter Barker 898a46fe0e AP_Winch: undefine PASS_TO_BACKEND convenience function 2018-08-17 21:14:57 +09:00
Andrew Tridgell 60ec695f55 AP_TECS: set default pitch max to 15 2018-08-17 20:42:29 +10:00
Andrew Tridgell 7c57fb0c31 AP_L1_Control: lower default L1 period 2018-08-17 20:42:27 +10:00
Andrew Tridgell 9e2933df89 APM_Control: raised default PID gains for roll/pitch 2018-08-17 20:42:25 +10:00
Hwurzburg 53a28cdf18 AP_OSD: Adding efficiency and climb efficiency
and new font characters
2018-08-17 16:33:53 +10:00
Peter Barker e4d3ed7e39 RC_Channel: move handling of sprayer and gripper in from Copter 2018-08-17 15:33:35 +09:00
Peter Barker 4223d933d2 AC_Sprayer: add singleton 2018-08-17 15:33:35 +09:00
Andrew Tridgell 5988c3258f GCS_MAVLink: use Semaphore.h 2018-08-16 12:40:10 +10:00
Andrew Tridgell 5ac15714fd AP_Common: moved WITH_SEMAPHORE to Semaphore.h 2018-08-16 12:40:10 +10:00
Andrew Tridgell d3af854949 HAL_ChibiOS: fixed bootloader build 2018-08-16 12:40:10 +10:00
Andrew Tridgell a26e534654 GCS_MAVLink: use WITH_SEMAPHORE()
this is a suggestion from Peter, will need some discussion
2018-08-16 12:40:10 +10:00
Andrew Tridgell 6f058e8c0d AP_Common: added WithSemaphore class 2018-08-16 12:40:10 +10:00
Andrew Tridgell 048a52ebc0 GCS_MAVLink: make mavlink send from multiple threads safe
this takes a lock to prevent interleaving of mavlink msgs from
multiple threads
2018-08-16 12:40:10 +10:00
Andrew Tridgell 5de49aa5aa GCS_MAVLink: flush parameters on reboot 2018-08-16 12:40:10 +10:00
Andrew Tridgell f1e10b0a8f HAL_Linux: make uart writes thread safe 2018-08-16 12:40:10 +10:00
Andrew Tridgell b2b56c3e46 HAL_VRBRAIN: added support for HAL_Semaphore type 2018-08-16 12:40:10 +10:00
Andrew Tridgell 5d3b17db6b HAL_SITL: added support for HAL_Semaphore type 2018-08-16 12:40:10 +10:00
Andrew Tridgell fe93113240 HAL_PX4: added support for HAL_Semaphore type 2018-08-16 12:40:10 +10:00
Andrew Tridgell f005e60066 HAL_Linux: added support for HAL_Semaphore type 2018-08-16 12:40:10 +10:00
Andrew Tridgell dabdb969f6 HAL_ChibiOS: added support for HAL_Semaphore type 2018-08-16 12:40:10 +10:00
Andrew Tridgell 0a73c3492d AP_HAL: support HAL_Semaphore type 2018-08-16 12:40:10 +10:00
Andrew Tridgell 4d662a913a AP_Param: use background parameter save
this moves both the storage scan and the save code out of the main
thread and into the IO thread. It means that if we have more than 30
parameters saves in very rapid succession while armed that we can lose
parameter changes, but that is extremely unlikely.

This fixes an issue where parameter saves in flight can cause
considerable scheduling problems, sometimes several milliseconds
2018-08-16 12:40:10 +10:00
Hwurzburg 7c79175309 AP_OSD: add flytime item 2018-08-16 12:00:50 +10:00
Andrew Tridgell a0ce604721 AP_Stats: make singleton and add flighttime accessor 2018-08-16 12:00:50 +10:00
Hwurzburg 5f72c9040e AP_OSD: Adding flight distance and summary panels for OSD 2018-08-16 12:00:50 +10:00
Alexander Malishev eec34fc47d AP_OSD: add waypoint and xtrack_error items 2018-08-16 10:26:34 +10:00
vierfuffzig aae1054a94 AP_OSD: add hdop display 2018-08-16 09:39:02 +10:00
Peter Barker fa7ba7ddbc DataFlash: force messagewriters to completion
Setting a dataflash-file buffer size of less than or equal to 2kiB would
cause the startup-messagewriter to never push any messages other than
FMT out to the logs.

This is a combination of the return values of
critical_message_reserved_space and
non_messagewriter_message_reserved_space

This patch forces the startup messages out to the logs by ignoring the
space constraints every 100ms
2018-08-15 12:40:33 +10:00
Peter Barker fa5757f618 AP_Math: fix float-equals warnings 2018-08-15 12:16:49 +10:00
Alexander Malishev 05099b8b8b HAL_ChibiOS: restore default dataflash buffer size
This fix log corruption in copter
2018-08-15 10:15:09 +10:00
Andrew Tridgell 71988b49a4 AP_RSSI: allow override of RSSI pin 2018-08-15 09:51:30 +10:00
Andrew Tridgell c3cf8f5435 AP_Math: fixed a bug in segment_intersection()
we could get an intercept point beyond the end of the segment
2018-08-14 19:41:45 +10:00
Peter Barker 626467db14 AP_Math: add tests for line intersection 2018-08-14 19:41:45 +10:00
Francisco Ferreira 1b46104a98 AP_HAL_ChibiOS: fix warning when STDOUT is defined
../../libraries/AP_HAL_ChibiOS/UARTDriver.cpp:118:12: warning: 'int hal_console_vprintf(const char*, va_list)' defined but not used [-Wunused-function]
 static int hal_console_vprintf(const char *fmt, va_list arg)
            ^
2018-08-14 10:17:38 +10:00
Francisco Ferreira 62a4f08e12 AP_Arming: fix system check 2018-08-14 10:17:38 +10:00
mirkix c33b692f53 AP_HAL_ChibiOS: fix CubeYellow build 2018-08-14 06:26:22 +10:00
Lucas De Marchi 5068f2e8fd AP_HAL_Linux: fix log after tonealarm thread removal
../../libraries/AP_HAL_Linux/Scheduler.cpp: In member function ‘void Linux::Scheduler::_debug_stack()’:
../../libraries/AP_HAL_Linux/Scheduler.cpp:127:47: warning: format ‘%zu’ expects a matching ‘size_t’ argument [-Wformat=]
                 _uart_thread.get_stack_usage());
                                               ^
2018-08-12 20:29:35 -07:00
Francisco Ferreira f69638f24f
AP_UAVCAN: add configuration of hardware filters 2018-08-12 13:35:04 +01:00
Francisco Ferreira 3cb8421aa6
AP_UAVCAN: reorganize header and code
Also a bit more cleanup
2018-08-12 13:35:04 +01:00
Francisco Ferreira ee8e2923ae
AP_UAVCAN: cleanup code 2018-08-12 13:35:04 +01:00
Francisco Ferreira 8c382b6904
AP_UAVCAN: adapt to new CANProtocol interface
This includes creating own thread

Also adapts example
2018-08-12 13:35:03 +01:00
Francisco Ferreira 126f1379d3
AP_UAVCAN: fix bug introduced in #7863 2018-08-12 13:35:03 +01:00
Francisco Ferreira 7e8abc92fe
AP_UAVCAN: adapt to changes in AP_BoardConfig_CAN 2018-08-12 13:35:03 +01:00
Francisco Ferreira 861e1a0a54
SRV_Channel: adapt to changes in AP_BoardConfig_CAN 2018-08-12 13:35:03 +01:00
Francisco Ferreira 3b61a31bb4
AP_Notify: adapt to changes in AP_BoardConfig_CAN 2018-08-12 13:35:03 +01:00
Francisco Ferreira f468602baf
AP_Notify: revert wrong commit 228058e089
Also change the order of logical OR so that led_write in UAVCAN_RGB_LED is called for all UAVCAN instances and not only first one
2018-08-12 13:35:03 +01:00
Francisco Ferreira b29369eb82
AP_GPS: adapt to changes in AP_BoardConfig_CAN 2018-08-12 13:35:03 +01:00