Commit Graph

3876 Commits

Author SHA1 Message Date
Andrew Tridgell ff0f6bcd42 AP_InertialSensor: fixed example build 2013-09-07 21:03:59 +10:00
Andrew Tridgell b8b72819c1 AP_Compass: ignore COMPASS_ORIENT for internal compass
this means if COMPASS_ORIENT is not 0 and the external compass fails
to start on boot we don't end up with a bad compass orientation
2013-09-07 16:49:51 +10:00
Andrew Tridgell 5484b97419 AP_GPS: reset _fix_count to 0 on nav settings update
this makes it run every 20s exactly
2013-09-04 13:18:00 +10:00
Andrew Tridgell 879d44f930 AP_GPS: use the mask bits to only set dynamic model
this ensures we don't try to change any other CFG_NAV5 settings
2013-09-04 13:17:20 +10:00
Andrew Tridgell fa107bdb58 PX4: moved UART handling to its own thread
this prevents slow writes to the SD card from interfering with MAVLink
or GPS serial communication
2013-09-04 13:15:27 +10:00
Andrew Tridgell 7082e0f8aa AP_HAL: added hold_in_bootloader parameter to scheduler->reboot() 2013-09-04 11:58:13 +10:00
Andrew Tridgell 1328316bfc AP_Airspeed: fixed saving of airspeed ratios 2013-08-31 10:26:27 +10:00
Paul Riseborough 1c7bdc40ec AP_Airspeed : Expanded range of ARSPD_RATIO adjustment 2013-08-31 08:03:11 +10:00
Andrew Tridgell e8fc8cea01 AP_Scheduler: updated docs 2013-08-30 15:33:30 +10:00
Andrew Tridgell 8d08f6d669 AP_Relay: document new relay pin numbers 2013-08-30 15:21:23 +10:00
Andrew Tridgell 5e33bbd197 PX4: fixed sense of relay pins 2013-08-30 15:05:29 +10:00
Andrew Tridgell c56017d8f1 AP_AHRS: added in new orientations 2013-08-30 14:19:17 +10:00
Andrew Tridgell 9320e82ac2 AP_Compass: added in new orientations 2013-08-30 14:19:03 +10:00
Andrew Tridgell fbf79c07f0 AP_Compass: added COMPASS_EXTERNAL option
this allows configuring of a compass as being externally attached
2013-08-30 14:02:09 +10:00
Andrew Tridgell 97b7130bb9 libraries: update license header to GPLv3
we switched to GPLv3 a long time ago, but neglected to update the
per-file license headers
2013-08-30 13:01:39 +10:00
Andrew Tridgell b29369bc03 AP_Notify: fixed examples build 2013-08-30 13:01:39 +10:00
Andrew Tridgell 905e07edf9 AP_Mount: fixed examples build 2013-08-30 13:01:39 +10:00
Andrew Tridgell 01387a1553 AP_Motors: fixed examples build 2013-08-30 13:01:39 +10:00
Andrew Tridgell 873e54deb1 AP_Math: fixed example build 2013-08-30 13:01:39 +10:00
Andrew Tridgell 5caf2e0ea4 AP_InertialSensor: fixed example build 2013-08-30 13:01:39 +10:00
Andrew Tridgell a2902d4a0f AP_InertialNav: fixed example build 2013-08-30 13:01:38 +10:00
Andrew Tridgell 83fbb29db1 HAL_PX4: fixed example build 2013-08-30 13:01:36 +10:00
Andrew Tridgell 0bfc18b72d HAL_AVR: fixed examples build 2013-08-30 13:01:36 +10:00
Andrew Tridgell e6bd3b65b9 AP_GPS: fixed examples build 2013-08-30 13:01:36 +10:00
Andrew Tridgell 517c44bbaa AP_Baro: fixed example build 2013-08-30 13:01:36 +10:00
Andrew Tridgell e6794239ca AC_Fence: fixed example build 2013-08-30 13:01:36 +10:00
Andrew Tridgell 6182571c21 AP_AHRS: fixed example build 2013-08-30 13:01:36 +10:00
Andrew Tridgell 69c8df3326 AP_Airspeed: fixed example build
removed Airspeed_Calibration test, as it is not useful
2013-08-30 13:01:36 +10:00
Andrew Tridgell b57af23933 DataFlash: fixed example build 2013-08-30 13:01:36 +10:00
Andrew Tridgell 7535ecb282 AP_Notify: enable board LEDs for ESC calibration
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-08-30 13:01:36 +10:00
Andrew Tridgell d67ad2c7ee AP_Notify: added missing files 2013-08-30 13:01:35 +10:00
Andrew Tridgell 67401294f4 GCS_MAVLink: added missing header 2013-08-30 13:01:35 +10:00
Andrew Tridgell 7b1e2b0e78 AP_GPS: don't need notify.h here 2013-08-30 13:01:35 +10:00
Andrew Tridgell 65a490c209 AP_InertialSensor: update for new notify API 2013-08-30 13:01:35 +10:00
Andrew Tridgell 495c4bbbbe AP_Notify: simplify interface to avoid timers and external calls
this changes AP_Notify to use updates via notify.update() at 50Hz,
avoiding the need for the 1kHz timer. It also creates a parent class
for ToshibaLED so that the I2C and PX4 ToshibaLED drivers can be
abstracted out.

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-08-30 13:01:35 +10:00
Randy Mackay 2658cda4bc Toshiba_LED_PX4: local #defines for led brightness 2013-08-30 13:01:35 +10:00
Randy Mackay 07abfc59ac AP_HAL_PX4: compile error fix 2013-08-30 13:01:35 +10:00
Randy Mackay 82b7b2cb3e GPS: integrate AP_Notify 2013-08-30 13:01:35 +10:00
Randy Mackay 5651bdbe3a INS: integrate AP_Notify 2013-08-30 13:01:35 +10:00
Randy Mackay 0797489ad8 Motors: use AP_Notify static flags variable 2013-08-30 13:01:35 +10:00
Randy Mackay 0c1db12538 AP_Notify: add ToshibaLED_PX4 2013-08-30 13:01:35 +10:00
Randy Mackay a52b1831ca AP_Notify: make flags static variable 2013-08-30 13:01:35 +10:00
Randy Mackay 496962f037 GPS: update notify 2013-08-30 13:01:35 +10:00
Randy Mackay 54007854a9 Notify: add ToshibaLED 2013-08-30 13:01:35 +10:00
Randy Mackay f8a872f01e AP_Motors: update notify 2013-08-30 13:01:34 +10:00
Randy Mackay ac36a09747 AP_HAL: add toggle to GPIO 2013-08-30 13:01:34 +10:00
Randy Mackay b1278fa006 AP_Notify: early draft of library 2013-08-30 13:01:34 +10:00
Andrew Tridgell 0527bae8cb PX4: support PX4IO relay pins
this allows the pins to be used in the relay code
2013-08-30 13:01:34 +10:00
Andrew Tridgell 0c06dff2db AP_Airspeed: constrain internal state of calibration code 2013-08-30 13:01:34 +10:00
Andrew Tridgell 3916a07dcf AP_Airspeed: added logging of airspeed calibration internals 2013-08-30 13:01:34 +10:00
Andrew Tridgell ce3fb290f1 AP_Airspeed: fixed initialisation of auto-calibration 2013-08-30 13:01:34 +10:00
Andrew Tridgell dd747505c5 DataFlash: report when DataFlash write fails 2013-08-30 13:01:34 +10:00
Andrew Tridgell 395739dded AP_Baro: simplify PX4 driver
we can now rely on queueing in NuttX driver
2013-08-30 13:01:34 +10:00
Andrew Tridgell 1ff669eb97 AP_Compass: simplify PX4 compass driver
we can now rely on queueing in the NuttX driver
2013-08-30 13:01:34 +10:00
Andrew Tridgell 4c752e4a94 AP_Math: simplify rotations test code 2013-08-30 13:01:34 +10:00
Andrew Tridgell 4662858077 DataFlash: we don't need AP_AHRS.h 2013-08-30 13:01:34 +10:00
Andrew Tridgell e2b0e07973 AP_Math: removed unused matrix rotation code
we only need to rotate vectors
2013-08-30 13:01:34 +10:00
Andrew Tridgell c6e29c9519 GCS_MAVLink: update to latest upstream mavlink headers 2013-08-30 13:01:34 +10:00
Andrew Tridgell a295a01bbc AP_Math: added missing 90 degree rotations
this ensures we can handle all 90 degree rotations of the compass and
main board. A test in examples/rotations shows that we have them all.
2013-08-30 13:01:33 +10:00
Andrew Tridgell c6c59174b3 AP_Airspeed: return when airspeed init fails 2013-08-30 13:01:33 +10:00
Andrew Tridgell 5607c89df0 AP_Baro: use fabs() not abs()
thanks to Randy for spotting this
2013-08-30 13:01:33 +10:00
Andrew Tridgell 31e1b7fcf6 AP_Airspeed: list MEAS airspeed in ARSPD_PIN docs 2013-08-30 13:01:33 +10:00
Andrew Tridgell 9b3c54fc39 PX4: ensure storage buffer is DMA aligned
this helps for boards which use DMA for FAT IO
2013-08-30 13:01:33 +10:00
Andrew Tridgell e5ad9dbd15 AP_InertialSensor: switch PX4 driver to fixed time per sample model
this makes the driver much simpler, and does away with the need for an
accumulate function
2013-08-30 13:01:33 +10:00
Andrew Tridgell 38fe89d661 AP_InertialSensor: switch to non-averaging system for PX4 IMUs
always use the latest value, based on a lowpass filter in the driver
2013-08-30 13:01:33 +10:00
Andrew Tridgell 2340bb6220 PX4: use a minimum transmit buffer for UARTs of 512 bytes
this avoids writes stalling on the GPS port. We can't afford this
memory on APM2, but we can on PX4, and it means that while the GPS is
blocking at startup it doesn't cause any scheduler slips
2013-08-30 13:01:33 +10:00
Andrew Tridgell e5f19e314d PX4: systemreset() now takes a boolean argument
this chooses whether to stay in the bootloader
2013-08-30 13:01:33 +10:00
Andrew Tridgell 46c5d18585 AP_InertialSensor: disable averaging on FMUv2
the new filter from Leonard means we shouldn't average values, and
instead just use the last value
2013-08-30 13:01:33 +10:00
Julian Oes c3b27629ec AP_InertialSensor: run PX4 FMUv2 at 800Hz
this gives much better noise suppression
2013-08-30 13:01:33 +10:00
Andrew Tridgell 4794d90bbb HAL_PX4: support up to 16 analog channels 2013-08-30 13:01:32 +10:00
Andrew Tridgell 3bc035d83a HAL_PX4: fixed GPIO build
don't use vehicle includes
2013-08-30 13:01:32 +10:00
Andrew Tridgell ef5a42fabc AP_HAL: added RCOutput example sketch
useful for testing all 14 channels via APM API
2013-08-30 13:01:32 +10:00
Andrew Tridgell 2b1fcc964f AP_Math: added a quick test of floating point location accuracy
just confirming some maths ...
2013-08-30 13:01:32 +10:00
Andrew Tridgell 0f677e3a10 HAL_PX4: fixed build on FMUv1 2013-08-30 13:01:32 +10:00
Andrew Tridgell 091b989b30 HAL_PX4: some GPIO functions are not available on FMUv2 yet 2013-08-30 13:01:32 +10:00
Julian Oes 56e94d70e9 PX4: Adaptations to latest build changes 2013-08-30 13:01:32 +10:00
Andrew Tridgell dc97a8eff7 AP_ADC: fixed license text
we are on GPLv3 now
2013-08-30 13:01:32 +10:00
Andrew Tridgell 587fb58720 AP_AHRS: fixed license text
APM is under GPL, not LGPL
2013-08-30 13:01:32 +10:00
Randy Mackay 45aeb1a921 Copter: split up loiter into 4 steps
Reduces disruption to the main loop but also introduces a delay of 30ms
to navigation output
2013-08-28 11:33:10 +09:00
Andrew Tridgell feac9d1306 AP_Compass: fixed a bug in the tilt compass calculation
The simplification applied a few months ago was incorrect
2013-08-18 21:08:52 +10:00
Andrew Tridgell a12991923e RC_Channel: prevent overwrite of memory on high RC_Channel constructor 2013-08-18 11:42:23 +10:00
Randy Mackay 04b84664e5 AC_Fence: add safety margin parameter
This will allow auto modes to proactively avoid breaching the fence
2013-08-15 16:05:38 +09:00
Andrew Tridgell 33cbe6151a SITL: support multiple instances of SITL running at once 2013-08-14 16:35:24 +10:00
Andrew Tridgell 3c967a9c71 AP_TECS: use a ahrs reference
saves a pointer access
2013-08-14 14:58:49 +10:00
Andrew Tridgell 144516c941 AP_L1_Control: set min groundspeed to 0.1
this works better for slow rovers
2013-08-14 14:57:23 +10:00
Andrew Tridgell c6e37aaec3 APM_Control: use a ahrs reference, not pointer
saves pointer check
2013-08-14 14:56:18 +10:00
Andrew Tridgell a98d7bd050 GCS_MAVLink: updated to latest upstream mavlink defintions 2013-08-14 14:36:44 +10:00
Andrew Tridgell b43bf44552 AP_GPS: improved the precision of the NMEA driver
this brings the NMEA driver to the same lat/lon precision as the uBlox
driver (approx 1cm)
2013-08-14 14:36:44 +10:00
Andrew Tridgell 97baec8bc7 SITL: update for new SIMSTATE message 2013-08-14 14:36:44 +10:00
Andrew Tridgell e75c48c029 SITL: added simulated NMEA GPS
useful for validating the NMEA GPS driver
2013-08-14 14:36:44 +10:00
Andrew Tridgell 31fce44063 AP_L1_Control: use a reference to AHRS
makes code a bit simpler
2013-08-13 13:49:26 +10:00
Andrew Tridgell 08ec43ef89 AP_L1_Control: use get_position() 2013-08-13 12:07:35 +10:00
Andrew Tridgell b74ed795f2 AP_L1_Control: removed _maxf() and _geo2planar() functions
not needed any more
2013-08-13 12:07:35 +10:00
Andrew Tridgell 653fa5a191 AP_L1_Control: adjust position for GPS lag
this should help for rovers
2013-08-13 12:07:35 +10:00
Andrew Tridgell 57d2dd814d AP_AHRS: added get_position_lag() call
provide position lag to libraries
2013-08-13 12:07:35 +10:00
Andrew Tridgell fd4bceaafe AP_L1_Control: avoid using float global coordinates
this increases the navigation precision of rovers using L1 control
down to the centimeter level
2013-08-13 12:07:35 +10:00
Andrew Tridgell 5434b2c017 AP_Math: update location code to avoid float rounding
this avoids manipulating global coordinates as float variables. Using
a float reduces our precision from 1cm to about 70cm.

This also adds location_diff() which will be used in the L1 controller
to avoid global positions in floats
2013-08-13 12:07:34 +10:00
Andrew Tridgell df8e8c64e8 AP_L1_Control: use projected position for turns 2013-08-13 12:07:34 +10:00
Andrew Tridgell 9c88872ad0 AP_L1_Control: use a better ground speed estimate at low speeds
this should prevent a rover going in the wrong direction at the start
of a mission
2013-08-13 12:07:34 +10:00
Andrew Tridgell 953051b49e AP_L1_Control: added lateral acceleration interface
this will be used by the Rover code for steering
2013-08-12 13:38:38 +10:00
Randy Mackay 6969ab573d Copter: configurable max lean angle
ANGLE_MAX parameter allows limiting the roll and pitch angles during
manual and auto flight modes to anywhere from 10 to 80 degrees
2013-08-11 12:53:22 +09:00
Randy Mackay c7464f635c AC_Sprayer: turn on/off the spinner with the pump 2013-08-05 21:12:28 +09:00
Randy Mackay e4ca7d2fdf AC_Sprayer: first implementation 2013-08-05 21:11:09 +09:00
Andrew Tridgell 9cb6c987d4 AP_Math: fixed example build 2013-08-05 12:37:51 +10:00
Andrew Tridgell 0d36832b82 AP_AHRS: use const reference not pointers for locations
this makes life easier for the new AP_Mission library

Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:12 +10:00
Andrew Tridgell f3b3e23bbc AP_Camera: fix for new AP_Math API
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:09 +10:00
Andrew Tridgell 6b5ee80b70 AP_InertialNav: fix for new AP_Math API
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:06 +10:00
Andrew Tridgell cf4a74cfb8 AP_L1_Control: fix for new AP_Math API
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:02 +10:00
Andrew Tridgell 612ede81f4 AP_Limits: fix for new AP_Math API
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:23:57 +10:00
Andrew Tridgell 1d75b52411 AP_Math: use const references not pointers for location functions
this makes life a bit easier for the new AP_Mission library

Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:23:40 +10:00
Randy Mackay 47f5c9b7a4 AC_Fence: remove unused gps pointer 2013-08-03 19:04:59 +09:00
Andrew Tridgell b7e3851ef8 AP_Scheduler: prevent a divide by zero 2013-08-02 22:07:00 +10:00
Andrew Tridgell a7cbebbeba APM_Control: rename 'stabilize' to 'disable_integrator'
this better reflects what it does
2013-08-02 21:54:48 +10:00
Paul Riseborough 0c64c800b3 AP_L1_Control : Fixed bug in track capture angle limit 2013-08-02 21:47:45 +10:00
Paul Riseborough 34f0af25cc AP_TECS : Improvements and bug fixes to feed-forward throttle demand
This fixes a bug in the feed-forward throttle that prevented the bank to throttle compensation from working properly during descents.
It also adds bank to throttle compensation to the non-airspeed sensor throttle algorithm.
2013-08-02 21:47:01 +10:00
Randy Mackay 8d26fb5581 Copter Motors: by default spin motors at 65 when armed 2013-07-28 18:18:52 +09:00
Randy Mackay fe412437c2 Copter: add flags for upper and lower throttle limits
Freeze desired altitude when motors hit a limit
2013-07-28 18:18:39 +09:00
Randy Mackay de59ea3ddc Copter Fence: reduce circle @Range to 30m 2013-07-27 10:28:33 +09:00
Andrew Tridgell 57752df68e APM_Control: set a small D value by default
0.02 may help with some planes that have slow response

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-26 16:07:00 +10:00
Andrew Tridgell a192b9ee46 AP_Scheduler: added load_average() function
useful to give a load average in SYS_STATUS mavlink message
2013-07-26 16:07:00 +10:00
Andrew Tridgell fef6a76078 RC_Channel: rename 'Manual' to RCPassThru
this should make it clearer what it does
2013-07-26 16:07:00 +10:00
Randy Mackay f3a2db195e Copter Motors: remove old style stability patch 2013-07-25 15:34:04 +09:00
Andrew Tridgell 2874ec67c7 DataFlash: slight efficiency improvement
fixes issue #314

thanks Dongfang!
2013-07-23 09:46:02 +10:00
Andrew Tridgell 63873d6af3 HAL_AVR: fixed example build 2013-07-23 09:42:51 +10:00
Paul Riseborough ba009e55e3 AP_Baro : Fixed bug in temperature units in AP_Baro_HIL 2013-07-22 12:50:02 +10:00
Andrew Tridgell ebebee4f06 AP_Baro: extend the atmospheric model to higher altitudes 2013-07-22 12:50:02 +10:00
Paul Riseborough 5a68c515dc AP_Airspeed: Altitude Calibration - added constrain on P matrix diagonals 2013-07-22 12:50:02 +10:00
Andrew Tridgell 3ba0dec4b3 AP_Airspeed: fixed typo 2013-07-22 12:50:02 +10:00
Paul Riseborough d1805f4349 AP_Airspeed: Airspeed Calibration computational efficiency improvement 2013-07-22 12:50:02 +10:00
Andrew Tridgell 0c6725f289 AP_Baro: improved the accuracy of the barometer model 2013-07-22 12:50:01 +10:00
Andrew Tridgell c5028c04da APM_Control: scale controllers for altitude
this allows the attitude controllers to better handle a wider range of
altitudes

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-22 12:50:01 +10:00
Andrew Tridgell 097718e833 AP_L1_Control: scale loiter and wp radius with altitude
this should keep the aircraft stable in loiter at very high altitudes

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-22 12:50:01 +10:00
Andrew Tridgell e6d9d14fad AP_Airspeed: added example sketch for airspeed calibration 2013-07-22 12:50:01 +10:00
Andrew Tridgell 620d067ee1 AP_TECS: use ahrs EAS2TAS for true airspeed 2013-07-22 12:50:01 +10:00
Andrew Tridgell ec73fadc45 AP_AHRS: added true airspeed support in AHRS
use true airspeed for wind calculations, and allow other drivers to
ask for the current ratio
2013-07-22 12:50:01 +10:00
Andrew Tridgell 3c66cb8af1 AP_Airspeed: added EAS2TAS in airspeed driver
this keeps the true airspeed ratio in the airspeed driver, which seems
the most logical place
2013-07-22 12:50:01 +10:00
Andrew Tridgell 893d2da6f6 AP_Airspeed: added auto-calibration support
This uses a Kalman filter to calculate the right ARSPD_RATIO at runtime

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-22 12:50:01 +10:00
Andrew Tridgell 01c124d5f5 AP_GPS: added velocity_vector() method 2013-07-22 12:50:00 +10:00
Andrew Tridgell 468e55d425 AP_Math: added two new vector/matrix ops for kalman airspeed filter 2013-07-22 12:50:00 +10:00
Randy Mackay e2fbc00b52 LeadFilter: removed this unused library
This was used to project the GPS position forward to compensate for lag
but this has become unnecessary with the introduction of the inertial
nav in x and y axis.
2013-07-21 14:30:49 +09:00
Randy Mackay 43379f20c3 Copter Motors: replace limit bitmask with structure 2013-07-21 13:58:24 +09:00
Randy Mackay 0325ad5d0d AP_AHRS: use rotateXY for speed
Saves 0.1ms at 100hz
2013-07-20 18:00:36 +09:00
Randy Mackay 540ca25b84 AP_Math: add rotateXY 2013-07-20 17:59:06 +09:00
Robert Lefebvre c812d07993 TradHeli: Creating motor_runup_complete bool which is to confirm that the heli motor is running. This will be used for advanced features in the future. 2013-07-19 16:16:08 +09:00
Robert Lefebvre 957cb094ea TradHeli: Remove unused RSC Mode 3. 2013-07-19 16:16:06 +09:00
Andrew Tridgell c691e16139 HAL_AVR: fixed example build 2013-07-18 17:36:38 +10:00
Andrew Tridgell 3e21d0594c APM_Control: pass in aircraft parameters and expose coordinate rate offset
this will make it possible to do rate based pitch control without
having a coordinated turn, for in ACRO mode

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-18 14:53:26 +10:00
Andrew Tridgell fb0e48a25d AP_TECS: adapt for new airspeed variable names 2013-07-18 14:53:23 +10:00
Andrew Tridgell 42d107b0d9 AP_SpdHgtControl: rename flybywire_airspeed to airspeed
this variable applies to any automatic throttle mode, not just FBW
modes.

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-18 14:53:20 +10:00
Andrew Tridgell 5901b8b22a APM_Control: allow for a wider range of P values for roll/pitch
values above 1.0 are sometimes needed
2013-07-18 09:05:17 +10:00
Randy Mackay 336357fbaf Copter: ensure _spin_when_armed is not higher than _min_throttle 2013-07-16 15:25:57 +09:00
Randy Mackay 62f3eed4e0 Copter: fix to SPIN_ARMED parameter desciption 2013-07-16 12:59:38 +09:00
Randy Mackay b709b90a59 Copter: implement safety spin for Tricopters 2013-07-16 12:48:01 +09:00
Randy Mackay 6477c746cd Copter: renamed MOT_UNSAFE_THR to MOT_SPIN_ARMED
Removed special purpose spin_unsafe function
renamed _throttle_unsafe to _spin_when_armed and changed to an AP_Int8
2013-07-16 12:47:59 +09:00
Jonathan Challinger 2725f219cb Copter: Warn user with motors while copter is arming 2013-07-16 12:47:51 +09:00
Jonathan Challinger ae2b1e3b7e AP_Motors: Added MOT_UNSAFE_THR parameter - Throttle setting used to signal that the copter is armed or otherwise unsafe to approach 2013-07-16 12:47:49 +09:00
Andrew Tridgell 2ee43a694c APM_Control: fixed YAW2SRV_IMAX handling
thanks to Steven G for noticing this!
2013-07-16 09:44:23 +10:00
Andrew Tridgell 032cc513ca DataFlash: fixed example build 2013-07-15 14:10:58 +10:00
Andrew Tridgell 206ed04e76 AP_Mount: fixed example build 2013-07-15 14:10:50 +10:00
Andrew Tridgell 47450a9b40 AP_InertialNav: fixed example build 2013-07-15 14:10:40 +10:00
Andrew Tridgell 98d6331387 AP_Airspeed: fixed example build 2013-07-15 14:10:27 +10:00
Andrew Tridgell 1bd6849d00 AP_AHRS: fixed example build 2013-07-15 14:10:17 +10:00
Andrew Tridgell 82152c058e AC_WPNav: disabled broken example build
this test doesn't actually do anything yet
2013-07-15 14:09:48 +10:00
Andrew Tridgell 04835b095f AC_Fence: fixed examples build 2013-07-15 14:09:18 +10:00
Andrew Tridgell c7141c4851 AP_GPS: fixed examples build 2013-07-15 14:09:07 +10:00
Andrew Tridgell 0f72eae216 AP_Camera: removed 3 camera trigger types that do not work
the trigger by wp distance, trigger with throttle off and trigger a
transistor all don't work, and are not structured correctly, plus are
dangerous.

The existing relay support can (correctly!) handle the resistor case
without hard-wiring a pin. The "turn off throttle to trigger" idea is
badly broken, it would crash a copter if it worked. We can make it
work properly on planes if there is demand. As it was it didn't work
anyway. 

The triggger by wp distance method was broken, and had no way to
initiate a trigger anyway
2013-07-15 09:55:38 +10:00
Randy Mackay bd6a60f28b AP_Math: add M_PI_2 definition
Required when building under arduino
2013-07-14 15:57:26 +09:00
Randy Mackay 8545071a21 GCS_MAVLink: include AP_Math.h
Required because mavlink_conversions's mavlink_dcm_to_euler function
uses atan2
2013-07-14 15:56:58 +09:00
Randy Mackay 9b40ba98d7 GCS_MAVLink: regenerated messages 2013-07-14 15:52:55 +09:00
Randy Mackay 6bcbcc0382 GCS_MAVLink: add DO_SET_ROI to common.xml 2013-07-14 15:49:17 +09:00
Andrew Tridgell d9f13b6b8c GCS_MAVLink: merge in changes from upstream mavlink repo 2013-07-14 16:02:29 +10:00
Andrew Tridgell b1202ccbff GCS_MAVLink: merge in latest upstream XML changes 2013-07-14 15:41:25 +10:00
Andrew Tridgell 9d66adae13 AP_Airspeed: added get_airspeed_ratio() and set_airspeed_ratio()
This is to help Paul develop an automatic tuning system for airspeed
ratio
2013-07-13 21:53:38 +10:00
Andrew Tridgell cc778a68ae APM_Control: changed attitude controllers to take angular error not angle
this makes it easier for ACRO mode
2013-07-13 21:45:58 +10:00
Andrew Tridgell b721bcc129 AP_AHRS: removed get_roll_rate_earth() and get_pitch_rate_earth()
these are not used any more
2013-07-13 21:45:58 +10:00
Andrew Tridgell 21859f9364 RC_Channel: fixed dead_zone for range channels
The dead_zone was being used inconsistently, used in PWM space in one
place, and in control output space in another.

The fix required us to move the index number of the RC channel eeprom
value for RCn_DZ, as users will have a throttle deadzone of 3 set in
their eeprom due to a bug that Randy just fixed that caused the value
to always be saved to eeprom. In plane we then need to fix the
deadzone for the throttle to be 30

this fixes issue #303

Thanks to Soren Kuula for spotting this!
2013-07-13 13:18:54 +10:00
Andrew Tridgell 086e8f80dc AP_AHRS: fixed spin rate gain conversion from degrees to radians
fixes issue #433

Thanks Jurgen!
2013-07-13 12:36:25 +10:00
Randy Mackay effc829790 INS: relax accel offset check to 3.5 m/s/s
One user, Dusty, has found that even with offsets of 3.1 m/s/s
successful alt hold and loiter are possible
2013-07-13 10:43:07 +09:00
Randy Mackay 110966c186 AP_TECS: compile error fix for size_of(log_tuning) 2013-07-12 11:45:02 +09:00
Randy Mackay fb5ada38c0 RC: example sketch uses set_default_dead_zone 2013-07-12 11:44:58 +09:00
Randy Mackay 47437b9ddf RC: set dead zone only if parameter has not been set by user 2013-07-12 11:44:16 +09:00
Randy Mackay 012d7b0c0a OptFlow: initialisation fix
Thanks to DongFang (aka Soren) for finding the issue and the solution
2013-07-11 14:14:37 +09:00
Andrew Tridgell 131aa53e42 AP_Relay: update for new PX4 relay pin 2013-07-11 13:50:23 +10:00
Andrew Tridgell 83b13c3d88 HAL_PX4: fixed definition of relay and piezo pins 2013-07-11 13:50:23 +10:00
Andrew Tridgell 0916388ab5 HAL_PX4: retry opening UARTs up to 5 times
this seems to help a lot with the USB port on PX4
2013-07-11 13:50:23 +10:00
Marco Bauer 72d0721721 AP_Relay: setup pin for PX4 relay support 2013-07-11 13:50:22 +10:00
Marco Bauer a3b216bce3 HAL_PX4: added GPIO driver 2013-07-11 13:50:22 +10:00
Randy Mackay bf5a50f738 WPNav: stopping point projection uses wp_leash 2013-07-11 11:39:44 +09:00
Andrew Tridgell f2316747f5 APM_Control: re-work to allow for rate based control 2013-07-11 09:10:41 +10:00
Randy Mackay 345924ddec WPNav: replace LOITER_ACCEL_MAX with parameter
Also removed unused _lean_angle_max variable
2013-07-10 20:00:32 +09:00
Randy Mackay 204f613467 WPNav: bug fix to reported distance to target
This value is for reporting purposes only
2013-07-10 18:21:08 +09:00
Randy Mackay 518eba0729 WPNav: bug fix to loiter accel calculation
Contribution from Leonard Hall
2013-07-10 17:52:12 +09:00
Randy Mackay c4f17b3235 WPNav: rounding error fix in loiter
Contributed by Leonard Hall
2013-07-10 16:24:37 +09:00
Randy Mackay 5d23d5aaa7 WPNav: reduce loiter speed used to correct pos error
Contributed by Leonard Hall
This should reduce the aggressiveness of the response when we experience
a GPS glitch
2013-07-10 15:52:18 +09:00
Randy Mackay 7860d06b91 AHRS: typo fix for ORIENTATION param description 2013-07-10 14:56:48 +09:00
Andrew Tridgell 0f72401d8d AP_Baro: added GND_ALT_OFFSET parameter
used for automatic barometric adjustment by a ground station equipped
with a barometer
2013-07-10 14:38:57 +10:00
Andrew Tridgell 469736e6bc DataFlash: changes for GPS field changes 2013-07-10 14:04:22 +10:00
Andrew Tridgell 279f6d00f0 AP_AHRS: changes for GPS field changes 2013-07-10 14:04:22 +10:00
Andrew Tridgell 7dbb898264 AP_GPS: switch fields to add units suffix
altitude -> altitude_cm
ground_speed -> ground_speed_cm
ground_course -> ground_course_cd

this helps prevent unit mixups
2013-07-10 14:04:22 +10:00
Paul Riseborough 66d60953df TECS: added height update_pitch call 2013-07-10 14:04:22 +10:00
Andrew Tridgell 9959f6b2df AP_Camera: removed incorrect mavlink sends
these sends did nothing, as MAVLINK_COMM_3 is not connected to
anything. If it was connected they would be dangerous, as a blocking
serial write could cause the stabilization of a copter not to run. If
the serial port was non-blocking it would corrupt the packet.

If we needed something like this it would have to use the MAVLink
packet queueing logic we use elsewhere
2013-07-10 11:51:40 +10:00
Craig@3DR f5154d9e7a AP_Camera: changed update_location() to return true for camera trigger
Makes the main vehicle code responsible for taking a photo so logging can occur
2013-07-10 08:39:56 +10:00
Andrew Tridgell 7fa1fe8590 AP_Param: use 0xFFFF not __UINT16_MAX__
MacOS doesn't have __UINT16_MAX__
2013-07-09 20:51:06 +10:00
Paul Riseborough 2c5db9a165 TECS: added support for throttle nudging 2013-07-09 20:50:37 +10:00
Paul Riseborough 9c431b4a04 TECS: use altitude supplied by mainline code
this allows for use of ALT_OFFSET and ALT_MIX
2013-07-09 09:25:53 +10:00
Paul Riseborough d8fedf994a AP_SpdHgtControl: added height above field parameter 2013-07-09 09:05:22 +10:00
Tobias 4a75351bd3 AP_Param: fixed a compiler warning with -Wsign-conversion 2013-07-08 14:57:33 +10:00
Tobias 27a5c28851 AP_Param: fixed some compiler warnings
* added comment
* replaced "~0" with the appropriate macro
* resolved -Wconversion
* saved some space by modifying AP_Param::add_vector_suffix (writing
behind buffer could happen, if buffer_size is almost uint16_max but this
can surely be ignored)

further reading:
http://stackoverflow.com/questions/809227/is-it-safe-to-use-1-to-set-all-bits-to-true
2013-07-08 14:57:33 +10:00
Tobias ab311d1dd4 AP_Compass: removed comparison out of range compiler warning
uint_ >= 0 (-Wtype-limits)
2013-07-08 14:57:25 +10:00
Tobias c95072ea25 AP_GPS: added explicit cast to omit [-Wconversion] warning 2013-07-08 14:53:20 +10:00
Andrew Tridgell 8c49ed78a5 AP_Math: make the rotation numbers easier to find 2013-07-08 12:17:59 +10:00
Andrew Tridgell a6c7bd3612 AP_Compass: fixed rotations for COMPASS_ORIENT
this matches AHRS_ORIENTATION again
2013-07-08 12:17:59 +10:00
Tobias 338c054da2 Filter: validity of array index was checked AFTER accessing the element.
(correction decreased Program size by 12 bytes)
2013-07-08 12:17:59 +10:00
Tobias d3ea88e8c7 AP_HAL: resolved -Woverloaded-virtual warning
the function:
virtual size_t AP_HAL::Print::write(const uint8_t *buffer, size_t size);

was hidden in all derived classes by their
virtual size_t write(uint8_t) = 0; implementations.

To solve this, a non-virtual write(const uint8_t *, size_t) that calls a
virtual write_implementation was added.

This isn't necessary atm, because the derived classes don't call
write(const uint8_t *, size_t), BUT this decreases the apm2-quad Program
size by 40 bytes :D and removes warnings.
2013-07-08 12:17:34 +10:00
tobias 1bf135b36f AP_AHRS: make some more functions const 2013-07-08 12:07:50 +10:00
Tobias ce6529734c HAL_AVR: reorder parameters to remove a warning with -Wreorder 2013-07-08 12:07:50 +10:00
tobias 4e7fea787b HAL_AVR: corrected includes to replace #include "$HEADER" with #inlcude "utility/$HEADER"
adding -I for EVERY DIRECTORY isn't desirable

http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
2013-07-08 12:07:50 +10:00
Randy Mackay 649cbf6b68 WPNav: reduce default WP_ACCEL and LOITER_SPEED 2013-07-07 16:00:13 -10:00
Randy Mackay ded31582de AP_AHRS: add Roll90Yaw90 to parameter description
Thanks to Rainer Walther for spotting this
2013-07-07 13:06:40 -10:00
rmackay9 073e2c9f15 ACMotors: bug fix to yaw limit 2013-07-05 13:51:59 -10:00
John Boiles bb2a6b8a22 HAL_SITL: Fixing SITL build for OSX. 2013-07-05 22:36:57 +10:00
Paul Riseborough a694b781c7 AP_TECS: Add non airspeed sensor pitch to throttle mode lost during integration 2013-07-05 22:16:39 +10:00
Andrew Tridgell 25f8983383 HAL_AVR: don't initialise TWBR twice 2013-07-05 12:59:14 +10:00
Andrew Tridgell 87f6cc715d AP_TECS: fixed parameter doc formatting 2013-07-04 17:52:40 +10:00
Paul Riseborough 8082122053 TECS-WIP : Fixed bug in initialisation of DT value 2013-07-04 16:57:50 +10:00
Andrew Tridgell 904e6b5b8f AP_TECS: for _DT to at most 0.1 2013-07-04 16:56:57 +10:00
Andrew Tridgell 68232a10f9 AP_TECS: updates to use new aircraft parameter structure 2013-07-04 16:56:57 +10:00
Andrew Tridgell 89271b7774 AP_SpdHgtControl: added speed/height control interface
this will be used by TECS
2013-07-04 16:56:57 +10:00
Andrew Tridgell 80e0f8044c AP_AHRS: added airspeed_sensor_enabled() function 2013-07-04 16:56:57 +10:00
Paul Riseborough 5b0129e02b AP_TECS: first implemention of TECS altitude control library 2013-07-04 16:56:56 +10:00
Paul Riseborough 7bdb098e77 AP_Baro: added get_EAS2TAS()
this provides the scaling factor between equivalent and true airspeed
based on altitude
2013-07-04 16:56:56 +10:00
Andrew Tridgell 61361dac9b AP_Baro: added units to baro documentation 2013-07-04 16:56:56 +10:00
Paul Riseborough 3b98bbd159 AP_Baro: more precise altitude calculation on PX4
if not using an AVR CPU then use a more computationally expensive
altitude calculation, which is more precise at higher altitudes
2013-07-04 16:56:56 +10:00
Andrew Tridgell fff777bda2 MAVLink: update to latest upstream message defintions XML
this adds new HIL support for airspeed, and common SIM_STATE and
RADIO_STATUS messages
2013-07-01 15:38:45 +10:00
Andrew Tridgell 6b7b69a048 RC_Channel: added secondary rudder support
this is used when nose wheel steering needs different reverse/range
from rudder
2013-06-29 17:31:03 +10:00
Randy Mackay b16ce5e523 AVR I2C: bug fix
Fix provided by both Jason Short and lucafedechen independently
2013-06-28 07:09:05 -10:00
phokur b00e5d95c9 Update AnalogIn.cpp
Fixed AnalogIn.cpp:42: undefined references

Full error msgs:
/cygdrive/c/MAVPRO~1/ardupilot/libraries/AP_HAL_Empty/AnalogIn.cpp:42: undefined reference to `Empty::EmptyAnalogSource::set_stop_pin(unsigned char)'
/cygdrive/c/MAVPRO~1/ardupilot/libraries/AP_HAL_Empty/AnalogIn.cpp:42: undefined reference to `Empty::EmptyAnalogSource::set_settle_time(unsigned short)'
2013-06-26 23:22:08 -10:00
Craig@3DR 1a3ed2d80b AP_Compass: Corrected COMPASS_ORIENT Parameter Description 2013-06-26 19:14:24 -07:00
Randy Mackay 6cd18868c2 AirSpeed: fix example sketch compile error 2013-06-25 22:45:30 +09:00
Randy Mackay 20ed00dcc9 AP_InertialSensor: relax accel offset sanity check 2013-06-25 14:19:42 +09:00
Andrew Tridgell 7d42a0562d AP_AHRS: cope better with large GPS yaw changes
this should cope better with bungee launches when using only GPS for
yaw.
2013-06-25 12:44:26 +10:00
Andrew Tridgell 169b5a30a5 AP_Camera: added CAM_TRIGG_DIST parameter
for triggering every N meters of GPS distance travelled
2013-06-25 12:44:26 +10:00
Andrew Tridgell 7902d57877 AP_Relay: added RELAY_PIN parameter
makes it easier to choose a pin
2013-06-24 22:39:18 +10:00
Paul Riseborough 2204b30e66 Plane: Added APM_Control integrator limits to table used to covert old PID values 2013-06-22 21:59:47 +10:00
Paul Riseborough 147856e73c APM_Control: Added integrator limiting adjustable by an advanced user parameter
this is compatible with the old IMAX settings
2013-06-22 21:55:27 +10:00
Paul Riseborough d8dab7b5c7 APM_Control: Pitch Control - Reduced the speed below which the integrator is locked
This is to allow for slow speed flare manoeuvres in FBW modes
2013-06-22 21:49:40 +10:00
Randy Mackay aa2b10f044 AP_Baro: TEMP parameter comment fix 2013-06-18 11:28:36 +09:00
Randy Mackay dde19c9585 WPNav: add acceleration parameter
WP_ACCEL added to allow user control of acceleration during missions.
Loiter acceleration made to be half of loiter max speed
2013-06-16 11:40:51 +09:00
Randy Mackay 272f0e5032 Copter: reduce twitch when entering CIRCLE mode
Set loiter target and prev iterations velocity when circle mode is
started
Start circling from projected stopping point
2013-06-15 18:18:30 +09:00
Andrew Tridgell d7d87f827e HAL_PX4: support voltage monitoring on multi-connector pin 5 2013-06-05 08:24:20 +10:00