Commit Graph

4128 Commits

Author SHA1 Message Date
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
Mike McCauley
38512e3756 AP_HAL_FLYMAPLE: I2CDriver improvements to interrupt hygiene 2013-10-14 11:34:47 +10:00
Mike McCauley
8e5a9b06fb AP_HAL_FLYMAPLE: Fix example Scheduler.pde fo recent changes to API 2013-10-14 11:34:47 +10:00
Mike McCauley
bc55a2844c AP_HAL_FLYMAPLE: Fix example Scheduler.pde to compile with recent changes to
scheduler API
2013-10-14 11:34:47 +10:00
Andrew Tridgell
72b97168c9 AP_RangeFinder: improved SONAR_PIN docs 2013-10-14 10:03:52 +11:00
Andrew Tridgell
7831113f84 AP_InertialSensor: yield the CPU for the right time in wait_for_sample()
this improves timing performance
2013-10-14 08:45:58 +11:00
Andrew Tridgell
d973730b88 HAL_PX4: use hrt timer and semaphores to improve timing
this gives much more accurate microsecond delays, while also ensuring
we yield the CPU when possible
2013-10-14 08:29:30 +11:00
Andrew Tridgell
8532e2bff8 AP_InertialSensor: fixed timing of PX4 sensor samples 2013-10-13 22:15:50 +11:00
Andrew Tridgell
c4d62f6b92 AP_Scheduler: fixed SCHED_DEBUG docs 2013-10-13 21:41:01 +11:00
Andrew Tridgell
0f4da25e68 AP_Scheduler: make sure we run remaining tasks on overrun
when a task overruns its time, we can still run the rest of the tasks
in the task list
2013-10-13 21:41:01 +11:00
Andrew Tridgell
a5788dde8f HAL_AVR: added Scheduler.set_timer_speed() support 2013-10-13 11:03:37 +09:00
Andrew Tridgell
7ef187fcfd AP_HAL: added optional set_timer_speed() scheduler API
will be used by copter to reduce interrupt load on APM2
2013-10-13 11:03:35 +09:00
Andrew Tridgell
4de2a654ab AP_Mount: changed ahrs to be a const reference
saves a bit of code
2013-10-13 11:03:24 +09:00
Andrew Tridgell
34770fe6bf HAL_AVR: fixed SPI bus speed switching
this fixes a bug in changing the bus speed between devices
2013-10-13 11:03:17 +09:00
Randy Mackay
f2f61af125 HAL_AVR: scheduler interrupt 500hz for APM2 2013-10-13 11:03:13 +09:00
Andrew Tridgell
9833900f91 AP_InertialSensor: run MPU6000 sensor register reads at 8MHz
run other register IO at 500kHz
2013-10-13 11:03:08 +09:00
Andrew Tridgell
04836ea763 HAL_AVR: set initial bus speed on MPU6k to 500kHz, then change to 8MHz
this should allow us to work even with older chips. See the MPU6000
product specification, which says max 20MHz for sensor and interrupt
regs, and max 1MHz for all other regs
2013-10-13 11:03:06 +09:00
Andrew Tridgell
5ccf8409b4 AP_HAL: added an optional spi.set_bus_speed() API
this will be used by MPU6000 on APM2 to change speed after init
2013-10-13 11:03:04 +09:00
Andrew Tridgell
4dc2f4bd58 HAL_AVR: spi3 at 8mhz for mpu6k and ms5611 2013-10-13 11:03:02 +09:00
John Arne Birkeland
f6038f36bf HAL_AVR: Improved AVRTimer micros() and millis()
- More efficient code by using 16-bit timer
- micros() now has proper 1 us resolution and less overhead
- millis() has less overhead
- removed unneeded/unwanted initializatin of timers in AVRTimer::init()
2013-10-13 11:03:00 +09:00
Andrew Tridgell
5ba34b38c1 HAL_AVR: added specialised transfer functions for MPU6k and APM1 ADC
this saves quite a lot of time in interrupts
2013-10-13 11:02:57 +09:00
Andrew Tridgell
d60a68fd9c AP_Baro: check baro at exactly 100Hz
prevent waits for samples
2013-10-13 11:02:53 +09:00
Randy Mackay
499bc52c5b Perfmon: fixes to work with HAL 2013-10-13 11:02:49 +09:00
Andrew Tridgell
e34cc6dd9a HAL_PX4: added some UART debugging
this may help to track down USB issues
2013-10-13 12:43:25 +11:00
Andrew Tridgell
55ba536331 HAL_SITL: fixed a warning 2013-10-12 13:13:00 +11:00
Andrew Tridgell
84336bc74e AP_TECS: added initial flight_stage handling 2013-10-12 13:12:43 +11:00
Andrew Tridgell
2b80df6319 AP_SpdHgtControl: added FightStage parameter to update_pitch_throttle()
will be used for special landing handling
2013-10-12 13:12:16 +11:00
Andrew Tridgell
0f0b040891 AP_Camera: added set_trigger_distance() call 2013-10-11 21:37:27 +11:00