Commit Graph

14109 Commits

Author SHA1 Message Date
Matt fc3406d07f AP_Notify: OreoLED rework
Reworked the process flow.  Created the aviation vs rover themes.
Created visual operator feedback for prearm checks, GPS, EKF, gyro init,
radio failsafe, and low battery. This also includes work by Hugh Eaves
to open up the full extended properties of the Oreo LEDs.  Not only are
far more functions available, but you can override and do custom things
via mavlink.
2017-06-15 10:26:06 +09:00
Matt ddd327e365 AP_Notify: Complete rework of notify device selection
Jaime did the hard work on this one.  He reworked notify device
selection to take place on init rather than on compile like before.  The
notify decivces are mostly set on compile using preprocessor directives
based on board type.  I created NTF_OREO_THEME.  This will allow the
user to enable/disable the OreoLED driver. And it also allows you to
select between aircraft and rover lighting themes. This allows the Solo
to use the OreoLEDs, and doesn't waste the memory on vehicles not
equipped with Oreo LEDs. The OreoLED driver is restricted to Pixhawk 2
FCs by proprocessor directive due to memory constraints. So it will
never work by accident on another board.

There is also a new notify flag for GPS Fusion.  This flag is true when
the EKF is happy with the GPS, actively using it for position
information.
2017-06-15 10:26:03 +09:00
Peter Barker 4adf8a83a6 AP_Notify: remove non-required initialisation of variables
These objects are dynamically allocated, and we zero the memory
as we allocate them
2017-06-15 10:25:38 +09:00
Peter Barker 49b8d8319c AP_Notify: simplify scrolling code 2017-06-15 10:25:35 +09:00
mirkix d106726dee AP_Notify: enable display for BeagleBone Blue 2017-06-15 10:25:24 +09:00
Matt 61931fd326 AP_AHRS: Set the new gps_fusion notify flag
Uses EKF filter state to set the new gps_fusion notify flag. This allows
the GCS and notify devices to specifically be notified if the GPS is or
is not usable.
2017-06-15 10:13:41 +09:00
Matt 22d0f41b1b AP_Notify: Remove solo specific tones, align with px4 tones
Evaluated solo specific tones file vs standard px4 tones files.  The
only thing the Solo had that standard ArduPilot does not have is the GPS
unplugged tone and the power off tone.
* Some tones have a different tune, which is fine. We want the Solo to
sound like ArduPilot if it is running ArduPilot.
* GPS unplugged tone abandoned. Determined to be unnecessary.
* Power off tone merged into standard px4 tones file. Smart battery
signalling a power off will make use of this tone. Has application for
any smart battery equipped vehicle, not just Solo.
* Removed all references and dependencies to `ToneAlarm_PX4_Solo.cpp`
and `ToneAlarm_PX4_Solo.h`
* Deleted `ToneAlarm_PX4_Solo.cpp` and `ToneAlarm_PX4_Solo.h` since
they're no longer needed.
2017-06-15 10:13:38 +09:00
priseborough 46b4c55fdc AP_NavEKF2: Fix bug in declination fusion 2017-06-15 10:12:57 +09:00
mirkix b4c1ecf9ce AP_HAL: BeagleBone Blue fix HMC5843 I2C bus number 2017-06-15 10:12:13 +09:00
mirkix 5cf9b1e985 AP_Compass: BeagleBone Blue add external compass HMC5843 2017-06-15 10:12:10 +09:00
Leonard Hall 23f594ef7d AP_InertialSensor: reduce accel filter to 10hz 2017-06-15 10:11:50 +09:00
Leonard Hall 406a7739a6 AC_AttControl: adjust default rate IMAX and Yaw Filt
Increase Roll, Pitch and Yaw IMAX from 0.444 or 0.222 to 0.5
Decrease Yaw Filter from 5hz to 2.5hz based on the results of autotunes on many vehicles which always seems to produce values between 2 and 3hz
2017-06-15 10:11:43 +09:00
Randy Mackay b43f23561f AP_Proximity: validate range finder distances 2017-06-15 10:11:03 +09:00
murata 4dc3833a4e AP_Avoidance: Change the determination place of the index value. 2017-06-15 10:10:06 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas f97c76cbd9 AC_WPNav: correct min limit 2017-06-15 10:08:48 +09:00
Michael du Breuil 78a463472d AP_Mission: Prohibit resuming mission waypoints that are no longer in the mission 2017-05-25 12:02:45 +09:00
Andrew Tridgell 6ce42a429b AP_BoardConfig: drop target temperature for cube to 45
getting to 60 was taking far too long (15 minutes or so). 45 is more
achievable.

This is a result of the fix to the invensense temperature detection
code
2017-05-25 11:30:40 +09:00
Andrew Tridgell 0ce9b9ded4 AP_BoardConfig: cope with bad config of pixhawk2
don't allow FMUv2 firmware on cube, and force temperature if incorrect
2017-05-25 11:30:32 +09:00
Lucas De Marchi d062b5b8f2 AP_HAL_Linux: RCInput_RPI: ignore unwanted signals
We are setting a termination handler for some signals which are of not
interest.  Just ignore them.  Ignoring SIGWINCH allows for example to
run on a screen and change the window size later without killing
ardupilot.
2017-05-25 11:28:41 +09:00
Lucas De Marchi c1984451e7 AP_HAL_Linux: Scheduler: increase stack for scheduler threads
RPI-based boards that use RCInput_RPI need more stack space otherwise we
end up with stack corruption. This leads to crash particularly when also
using GPIO_RPI since it may change what that driver is poking on memory.

This increases stack size to 1M which is overkill for most of other
boards with a more controllable stack usage. However this exposes that
on multiple different HWs a single point for stack size decision may not
be the best.  This can be improved in future.
2017-05-25 11:28:38 +09:00
Randy Mackay f618359041 AC_WPNav: sanity check wpnav-radius
Occasionally users accidentally set the wpnav-radius to 0 and the vehicle gets stuck at waypoints
2017-05-25 11:27:28 +09:00
Randy Mackay 945a7bfaed AP_Beacon: minor formatting fixes for marvelmind 2017-05-25 11:26:38 +09:00
Karthik Desai 4daba8e98a AP_Beacon: order the stationary beacons in ascending order of address 2017-05-25 11:26:35 +09:00
Karthik Desai 677aa88e33 AP_Beacon: transform Marvelmind ENU to ArduPilot NED coordinates
Cache beacon positions to speed-up distance calculations
Only pass data to EKF after both hedgehog and beacon positions are known
Add license and credit Marvelmind
Re-order code around to minimize diff with upstream marvelmind code
Integrated review requests
2017-05-25 11:26:33 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 43f22cf502 AP_Beacon: added units in the comments documentation, to make the API easier to use 2017-05-25 11:26:31 +09:00
karthik.desai 653ecfc4cb AP_SerialManager: Rename Pozyx Beacon to Beacon 2017-05-25 11:26:28 +09:00
Peter Barker 6105452ccb GCS_MAVLink: count parameters in param thread
This helps avoid counting parameters on the main thread,
avoiding long-loops
2017-05-15 14:23:34 +09:00
Andrew Tridgell 37166301c9 HAL_PX4: use sensor_config_error() 2017-05-03 11:37:02 +10:00
Andrew Tridgell cbea29ad71 AP_Baro: use sensor_config_error() 2017-05-03 11:37:01 +10:00
Andrew Tridgell e32e2f5b5d AP_BoardConfig: added sensor_config_error()
used to notify user of fatal sensor setup error
2017-05-03 11:37:01 +10:00
Randy Mackay bffc5daeb0 AC_WPNav: unset yaw when setting new origin and destination
This ensures that old yaw targets are not used in the short interval before they are initialised in advance_wp_target_along_track or advance_spline_along_track
2017-05-03 09:15:01 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 1691a39b36 AP_GPS: spell in comments 2017-05-03 08:45:08 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 23b7f1e645 AP_NavEKF3: Improve comments, typos 2017-05-03 08:45:01 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas ce37517268 AP_NavEKF2: Improve comments, typos 2017-05-03 08:44:49 +09:00
Pierre Kancir a6eb337438 AP_Notify: remove unused variables 2017-05-02 18:14:40 +01:00
Andrew Tridgell bfd8d151c8 AP_InertialSensor: lower slave rate with fast sampling
On an invensense IMU with fast sampling we need to lower the slave
sample rate for slave sensors such as the built-in AK8963 compass on a
MPU9250.

The slave rate is set as a multiple of the main rate, so it needs to be
much lower for fast sampling. If we leave it high then it greatly
impacts on IMU sample rate.

Without this change a MPU9250 with fast sampling and a compass enabled
will give a gyro rate of around 7200Hz. With this change it gets 7760Hz
2017-05-02 12:11:08 +10:00
Peter Barker ece0e84ddf AP_Notify: reindent (NFC) 2017-05-02 08:50:41 +10:00
Peter Barker ce5739f1a0 AP_Notify: remove semaphores protecting pixels
The semaphore-take-forevers were absolutely killing performance.

We can take some random pixel corruption to avoid vehicles crashing.
2017-05-02 08:50:41 +10:00
Andrew Tridgell 519a293af9 AP_InertialSensor: fixed instance usage in set_gyro_oversampling()
thanks Francisco!
2017-05-02 08:27:11 +10:00
Andrew Tridgell 112b22516a AP_InertialSensor: fixed use of accel2_noise
thanks Francisco!
2017-05-02 08:24:50 +10:00
Peter Barker a3f4a523b2 AP_Notify: convert unknown characters to spaces 2017-05-01 16:21:55 +01:00
Peter Barker 5a02219642 AP_HAL_Linux: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Peter Barker 3ff4cd8c07 AP_HAL_PX4: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Peter Barker b11ca5d538 AP_HAL_QURT: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Peter Barker 2f79a5bd90 AP_HAL_SITL: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Peter Barker 85e5de15c4 AP_HAL_VRBRAIN: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas 5b67b33310 AP_GPS: Remove un-used AP_GPS::inject_data_all() function 2017-05-01 13:06:18 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas 5261654756 AP_GPS: Only inject RTCM data to the selected GPS device defined in GPS_INJECT_TO parameter 2017-05-01 13:06:18 +01:00
Michael du Breuil 12f83ecf75 AP_GPS: SBF if RAW_DATA is enabled check that the GPS is succeeding at logging 2017-05-01 13:04:52 +01:00
Peter Barker ac1484f60e DataFlash: clear format sent mask when backend starts new log 2017-05-01 19:16:47 +10:00