Commit Graph

4155 Commits

Author SHA1 Message Date
Andrew Tridgell
9ecd889e9d AP_InertialSensor: detect bad MPU6000 SPI transactions and lower bus speed
this uses bad data or bad INT_STATUS values from the MPU6000 to detect
the sensor running too fast and lower bus speed
2013-11-07 12:48:17 +11:00
Andrew Tridgell
d2deee07df AP_Math: fixed zero function for integer vectors 2013-11-07 12:48:16 +11:00
Andrew Tridgell
b98bcbf715 AP_InertialSensor: automatically lower bus speed on mpu6k bad reads 2013-11-07 12:48:16 +11:00
Andrew Tridgell
bdc40cc7df AP_InertialSensor: try to lower SPI bus speed on errors 2013-11-07 12:48:16 +11:00
Andrew Tridgell
11e1cf31c4 HAL_AVR: changed to 16 byte bulk transfer on SPI0 2013-11-07 12:48:16 +11:00
Andrew Tridgell
900ea5dde0 DataFlash: make the SITL dataflash log 4x larger 2013-11-07 10:18:38 +11:00
Andrew Tridgell
a86ec8c786 AP_Menu: fixed double display of prompt 2013-11-06 10:49:47 +11:00
Andrew Tridgell
45381e5341 AP_Menu: added check_for_input() API
this allows for async use of the menus, so that a main loop can run
while allowing the user to enter menu commands
2013-11-06 09:40:49 +11:00
Andrew Tridgell
46724db144 AP_Menu: zero buffer contents on allocation 2013-11-06 09:40:46 +11:00
Andrew Tridgell
470e5f570d AP_Menu: dynamically allocate the menu buffers
this saves memory when the menus are not used, and allows for the
commandline and argument limits to be changed
2013-11-06 09:40:40 +11:00
Andrew Tridgell
ff73773de4 AP_GPS: try harder to get 5Hz updates from a uBlox
check for getting at least one 5Hz update every 15s
2013-11-05 15:18:25 +11:00
Andrew Tridgell
56bcda7252 AP_AHRS: lower default roll and yaw drift correction speed
the gyros sustain accuracy over much longer time periods than
previously expected
2013-11-05 14:52:39 +11:00
Andrew Tridgell
24d1cf3bd6 HAL_PX4: don't check USB for data if not connected 2013-11-05 14:41:42 +11:00
Andrew Tridgell
8dc6b758f3 HAL_PX4: switch to delay_microseconds_semaphore() for UART timer
this may prevent some timing jitter on the GPS UARTs
2013-11-05 14:41:24 +11:00
Andrew Tridgell
1fb636d57f DataFlash: added APM time and GPS velz to logged GPS messages 2013-11-04 21:37:10 +11:00
Andrew Tridgell
b096881f81 AP_TECS: added time to TECS messages 2013-11-04 21:36:40 +11:00
Andrew Tridgell
ea9a2eda3f AP_L1_Control: reduced demanded bank angle by cos(pitch)
this prevents attempts to do too tight turns while at a steep pitch

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-11-04 21:21:42 +11:00
Andrew Tridgell
9b5cae2134 APM_Control: reduce roll compensation in pitch controller by cos(pitch)
This reduces the use of the pitch compensation when in a steep climb
or dive

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-11-04 21:21:42 +11:00
Andrew Tridgell
5e915fbde3 DataFlash: added timestamp to IMU and VelZ to GPS logging
both are very useful for analysis
2013-11-04 21:21:42 +11:00
Andrew Tridgell
02d6f012ce AP_AHRS: added accel sum delay buffer to account for GPS lag 2013-11-04 21:21:42 +11:00
Andrew Tridgell
55b7903456 AP_InertialNav: update for AHRS API changes 2013-11-04 21:21:42 +11:00
Andrew Tridgell
1cd070a2e7 AP_InertialSensor: use const reference returns
saves some vector copies
2013-11-04 21:21:42 +11:00
Andrew Tridgell
28a4b6ad9f AP_TECS: update for AHRS API change 2013-11-04 21:21:42 +11:00
Andrew Tridgell
4e82a8e1d4 DataFlash: use const ins reference
save some pointer dereferences
2013-11-04 21:21:42 +11:00
Andrew Tridgell
2930184680 AP_YawController: update for AHRS API change 2013-11-04 21:21:42 +11:00
Andrew Tridgell
979c6ae3b6 AC_Fence: update for AHRS API changes 2013-11-04 21:21:42 +11:00
Andrew Tridgell
d31e557983 AP_AHRS: save memory and reduce pointer references
use a refence for ins, and don't save gyro and accel between updates
2013-11-04 21:21:37 +11:00
Andrew Tridgell
cb52b6f367 AP_AHRS: removed limit on normalisation of accel reference vectors
this could lead to a bias in the accel drift correction
2013-11-04 21:20:41 +11:00
Andrew Tridgell
31eaaada62 AP_AHRS: removed vertical G limit on GPS velocity correction
this limit could lead to a bias in the accel drift correction, and is
frequenctly exceeded
2013-11-04 21:20:41 +11:00
Andrew Tridgell
a7931b1581 AP_AHRS: fixed wrapping bug in GPS based heading error
this bug could cause the GPS based yaw to use an expensive reset far
too often
2013-11-04 21:20:41 +11:00
Andrew Tridgell
17b27a47de AP_AHRS: prevent GPS yaw resets on compass errors
when we switch from compass heading to GPS heading we don't want to
trigger a sudden GPS yaw reset
2013-11-04 21:20:41 +11:00
Andrew Tridgell
fc5f825b6d AP_Notify: make APM2 ToshibaLED driver more efficient
use one I2C transfer, not 3
2013-11-04 17:48:53 +11:00
Robert Lefebvre
5d946be77c TradHeli: Change user description for COLYAW parameter. 2013-11-03 12:56:59 +09:00
Jason Short
1c7d9f43c1 InertialNav: fix for get_velocity_xy
forgot to sq
2013-11-03 10:14:01 +09:00
Jason Short
2de6dbd3d8 InertialNav: added get_velocity_xy 2013-11-02 21:34:45 +09:00
Paul Riseborough
71de4ddcd0 AP_Airspeed : Fixes bug that caused airspeed calibration to be sent a zero airspeed
This bug resulted in the airspeed ratio going to the maximum value of 4 and staying there. This could lead to a very slow flying model and a stall.
2013-11-02 21:41:11 +11:00
Andrew Tridgell
f4dde44b8d AP_InertialSensor: SITL doesn't use Oilpan code any more 2013-11-02 21:41:11 +11:00
Randy Mackay
330687a754 RC_Channel: formatting 2013-10-31 15:23:52 +09:00
Randy Mackay
bb1664185f Copter: correct @Range of MOT_TCRV_MAXPCT parameter 2013-10-30 20:53:21 +09:00
Andrew Tridgell
c64aa0e4de AP_Airspeed: fixed I2C semaphore handling for I2C airspeed
this affects MS4525DO on APM2
2013-10-29 14:55:38 +11:00
Randy Mackay
d09fd0d035 BattMonitor: add @Increment to CAPACITY description 2013-10-29 11:23:27 +09:00
Randy Mackay
24147a370a BoardLEDs: all leds off during init 2013-10-29 10:54:08 +09:00
Andrew Tridgell
580e7b8a4a HAL_AVR: switch back to 500kHz SPI for MPU6k until we understand the issues
this is for new plane release. We need for analysis before we can
re-enable high speed SPI
2013-10-28 16:55:22 +11:00
Andrew Tridgell
5800c2a2c8 HAL_PX4: prevent excessive writes on startup from blocking
this could cause copter on PX4 to hang on startup
2013-10-28 16:12:44 +11:00
Randy Mackay
c602f7da0c AC_Fence: fix example sketch 2013-10-27 21:53:22 +09:00
Andrew Tridgell
c5b36ef3d2 AP_InertialNav: fixed example build 2013-10-27 22:11:59 +11:00
Randy Mackay
4348a272bf AP_InertialNav: remove unused velocity fns
remove get_longitude_velocity and get_latitude_velocity
2013-10-27 13:41:55 +09:00
Randy Mackay
8fc16d5cdf AP_InertialNav: add comments, make ahrs const from neurocopter
These fixes are provided by neurocopter but with my name because of
merge conflicts
_position and _velocity vectors added to save some floating point add
operations
unused reference to ins in constructor removed
2013-10-27 13:41:50 +09:00
Tobias
0b181dd995 AP_Buffer: remove header/source separation to allow arbitrary template
parameters without explicit instantiation in the cpp file.

http://stackoverflow.com/questions/495021/why-can-templates-only-be-implemented-in-the-header-file
2013-10-27 13:41:43 +09:00
Randy Mackay
e23135faa1 AP_InertialNav: bug fix for gps delay handling 2013-10-27 13:41:40 +09:00
Tobias
cfaaf4b1e7 AP_InertialNav: rename AP_Buffer functions, fix delay handling bug
The most recent value was used instead of the intended historical value
as indicated by the comment.
2013-10-27 13:41:38 +09:00
Tobias
dc62398821 AP_Buffer: add comments and rename functions to conform with the
STL-container naming conventions
Comment format changes by Randy
2013-10-27 13:41:36 +09:00
Tobias
6c825eace2 AP_InertialNav: move variable definitions to elide unused default
construction of objects (saves 106 bytes)
2013-10-27 13:41:32 +09:00
Tobias
c3309d909c AC_WPNav: make more member pointers const 2013-10-27 13:41:29 +09:00
Tobias
bb5cf4a311 AC_WPNav: make member pointer to AP_InertialNav object const since it's
never modified
2013-10-27 13:41:23 +09:00
Tobias
b94d6848de AC_Fence: replace "_ina->geT_position().z" with more efficent
"_inav->get_altitude()"
2013-10-27 13:41:19 +09:00
Tobias
596c7a25b7 AC_Fence: make member pointer to AP_InertialNav const, remove unused
gps-pointer member
2013-10-27 13:41:09 +09:00
Randy Mackay
f56d00ebb6 AC_Sprayer: add doxygen info 2013-10-27 13:40:57 +09:00
Tobias
1ecb583dd9 AC_WPNav: replace unnecessary objects with const refs 2013-10-27 13:40:53 +09:00
Tobias
c62f2e3d0c AC_Sprayer: replace unnecessary object with const ref 2013-10-27 13:40:44 +09:00
Tobias
e2c3ea0f56 AC_Sprayer: add consts, update comments
* removed some comments that were left over from the classes this class
was copypasta'ed from
2013-10-27 13:39:32 +09:00
Tobias
f4000e66e6 Filter: add consts 2013-10-27 13:39:28 +09:00
Tobias
7855d242c7 AP_Baro: add time-unit comment 2013-10-27 13:39:23 +09:00
Tobias
c9f68fcd1b AP_InertialNav: remove unused AP_InertialSensor pointer 2013-10-27 13:39:10 +09:00
Tobias
cbff58e2ed AP_InertialNav: add comments, rename incorrectly named member,
initialize member, remove redundant assignment
adjustments to original commit by randy
2013-10-27 13:39:08 +09:00
Andrew Tridgell
5af51140a9 HAL_Linux: fixed scheduler initialisation bug in Linux HAL as well 2013-10-26 18:25:27 +11:00
Andrew Tridgell
622f0dcc1d HAL_PX4: prevent threads running before subsystems are initialised
this fixes a bug where the timer thread would hang waiting for the
console on startup. This caused the "hit enter" behaviour with recent
PX4 bugs, as AnalogIn tried to read from fd==0, which was a console
read
2013-10-26 18:12:35 +11:00
Paul Riseborough
97cdd36dd8 APM_Control : Moved scaler on roll and pitch integrator to be before integrator
This means that the value of aileron and elevator trim offset won't change with airspeed
2013-10-25 22:37:49 +11:00
Randy Mackay
0049351f2f GCS_MAVLink: generate after adding RC reciever to SYS_STATUS enum 2013-10-24 16:32:49 +09:00
Randy Mackay
d1906abb5c GCS_MAVLink: add RC receiver to SYS_STATUS enum 2013-10-24 16:32:09 +09:00
Andrew Tridgell
de96ad9445 AP_GPS: fixed date handling in NMEA driver 2013-10-24 14:22:48 +11:00
Andrew Tridgell
65ebdfa786 HAL_SITL: fixed time strings in simulated NMEA GPS 2013-10-24 14:22:48 +11:00
Andrew Tridgell
6b2222c32e DataFlash: show timestamps on flash logs 2013-10-24 14:22:48 +11:00
Andrew Tridgell
34cde1a640 HAL_PX4: implement set_system_clock() 2013-10-24 14:22:48 +11:00
Andrew Tridgell
0ca82d5e3c AP_HAL: added set_system_clock() API 2013-10-24 14:22:48 +11:00
Andrew Tridgell
744819cec8 AP_GPS: added fake time to fake GPS lock 2013-10-24 14:22:48 +11:00
Andrew Tridgell
d7a9888e26 DataFlash: updates for new GPS API 2013-10-24 14:22:47 +11:00
Andrew Tridgell
19ba07a3f9 AP_InertialNav: updates for new GPS API 2013-10-24 14:22:47 +11:00
Andrew Tridgell
b7b9efd120 HAL_SITL: properly emulate timestamps on ublox and MTK 2013-10-24 14:22:47 +11:00
Andrew Tridgell
6f5ac1d553 AP_GPS: added support for GPS time in week/millisec
also adds time_epoch_usec() for MAVLink SYSTEM_TIME
2013-10-24 14:22:47 +11:00
Andrew Tridgell
6438be74e0 HAL_SITL: get the ublox GPS timestamps right in SITL 2013-10-24 14:22:47 +11:00
Andrew Tridgell
f34b1c280d AP_BattMonitor: added set_monitoring() API
needed for test sketch
2013-10-23 09:40:42 +11:00
Andrew Tridgell
d305dd5946 AP_AHRS: debounce the GPS/compass consistency test
we will only consider the compass inconsistent with GPS if it is off
for more than 2 seconds
2013-10-23 09:40:42 +11:00
texlan
78acea820f Copter: fix symmetry in stability patch for Tricopters
Removes the "Increase opposing motors by 1/2 the overage of the high
motor" logic and merely moves all 3 motors down by the same amount if
one is over out_max. This eliminates the asymmetric scaling of
the previous logic when more than one motor is over out_max. This
resolves #537
2013-10-21 20:12:53 +09:00
Randy Mackay
8f4665c4c7 ToshibaLED: ignore I2C errors during init 2013-10-21 20:01:34 +09:00
Randy Mackay
443023bbbf AP_HAL: add ignore_errors to I2C driver 2013-10-21 20:01:32 +09:00
Randy Mackay
943d7374f6 Copter: slow start motors from 0 to min throttle 2013-10-20 14:51:35 +09:00
texlan
53553751d1 Copter: Correctly set limit.lower flags for Tricopters
Resolves #536
2013-10-19 23:08:25 +09:00
Andrew Tridgell
1c091cbca5 HAL_PX4: fixed a scheduler bug that affects UART IO
we need to detect if we are in a timer task using a PID, not a
flag. This is the same type of bug I fixed last week, but now fixed
properly.

The bug could well be the "USB bug" that Craig has been chasing
2013-10-19 16:50:38 +11:00
Randy Mackay
e0c4785b2a Copter: OctaQuad H-frame support 2013-10-18 10:41:07 +09:00
Andrew Tridgell
3393a5c99e AP_Baro: prevent a race condition in the SITL baro driver 2013-10-17 17:22:19 +11:00
Andrew Tridgell
86afc26609 HAL_SITL: decrease wind with altitude
this prevents JSBSim crash on the runway
2013-10-17 17:22:19 +11:00
Andrew Tridgell
98d391efa0 AP_Camera: added note on DO_SET_CAM_TRIGG_DIST in docs 2013-10-15 10:09:39 +11:00
Andrew Tridgell
ede927f68a HAL_SITL: added airspeed noise control 2013-10-14 15:40:45 +11:00
Mike McCauley
c524a7c717 AP_HAL_FLYMAPLE: remove obsolete debugging code from RCInput 2013-10-14 11:34:47 +10:00
Mike McCauley
6f04e5f2e7 AP_HAL_FLYMAPLE: RCInput now more robust in the face of connect/disconnect of
a PPM-SUM source

Also remove some left over debug code.
2013-10-14 11:34:47 +10:00
Mike McCauley
ce1a8fb831 AP_HAL_FLYMAPLE: Added new example test sketch RCInput.pde 2013-10-14 11:34:47 +10:00
Mike McCauley
3226a81611 AP_HAL_FLYMAPLE: Improvements to RCInput
More reasonable sync pulse times, add input filter to prevent false triggering
2013-10-14 11:34:47 +10:00
Mike McCauley
fe6cacf081 AP_InertialSensor: Minor correction to comments in AP_InertialSensor_Flymaple.cpp 2013-10-14 11:34:47 +10:00
Mike McCauley
0920d9ac49 AP_HAL_FLYMAPLE: UARTDriver Use new libmaple TX buffers.
Caution: requires latest libmaple from
git@github.com:mikemccauley/libmaple.git
2013-10-14 11:34:47 +10:00